русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

For (выражение_1; выражение_2; выражение_3)


Дата добавления: 2015-01-16; просмотров: 1055; Нарушение авторских прав


оператор;

Выражение 1 выполняется только один раз в начале цикла. Обычно оно определяет начальное значение параметра цикла (инициализирует параметр цикла). Выражение 2 – это условие выполнения цикла. Выражение 3 обычно определяет изменение параметра цикла, оператор – тело цикла, которое может быть простым или составным. В последнем случае используются фигурные скобки.

Алгоритм выполнения цикла for представлен на блок-схеме на рисунке 9.

 

 

 

 

Рисунок 11 – Алгоритм цикла с параметром

 

С помощью цикла for нахождение N! можно организовать следующим образом:

F=l;

for(i=l;i<=N;i++) F=F*i;

Используя операцию «запятая», можно в выражение 1 внести инициализацию значений сразу нескольких переменных:

for(F=1,i=l;i<=N;i++) F=F*i;

Некоторых элементов в операторе for может не быть, однако разделяющие их точки с запятой обязательно должны присутствовать. В следующем примере инициализирующая часть вынесена из оператора for:

F=l;

i=l;

for(i=1;i<=N;i++) F=F*i;

В языке Си оператор for является достаточно универсальным средством для организации циклов. С его помощью можно программировать даже итерационные циклы, что невозможно в Паскале. Вот пример вычисления суммы элементов гармонического ряда, превышающих заданную величину е:

for(n=l,S=0;1.0/n>eps && n<INT_MAX;n++) S+=1.0/n;

//И наконец, эта же самая задача с пустым телом цикла:

for(n=l,S=0;1.0/n>eps && n<INT_MAX; S+=l.0/n++);

Следующий фрагмент программы на Си содержит два вложенных цикла for. В нем запрограммировано получение на экране таблицы умножения.

for(х=2;х<=9;х++)

for(y=2;y<=9;y++)

printf("\n %d*%d=", x*y);

На экране будет получен следующий результат:

2*2=4

2*3=6

9*8=72

9*9=81

Пример 1. Составить программу вычисления K первых членов арифметической прогрессии, заданных рекуррентной формулой



An+1 = An+2, где A1=5, K=6.

Решение:

введем обозначения:

x – член арифметической прогрессии an;

k – количество членов прогрессии;

n – параметр цикла.

Блок-схема алгоритма приведена на рисунке 12

Программа:

#include <conio.h>

#include <stdio.h>

void main () {

//раздел описания переменных

int n,k; float x;

k=6;

printf(“/n x=”); scanf(“%f”,&x);

//начало цикла

for (n=2;n<=k; n++)

{

//вычисление членов прогрессии

x=x+2;

printf(“x=%f”, x);

};//конец цикла

getch(); }

 

 

Рисунок 12 – Блок-схема алгоритма решения задачи из примера 1

 

Результат выполнения программы:

x= 5.00

x= 7.00

x= 9.00

x=11.00

x=13.00

x=15.00

 

Пример 2. Среди первых 1000 членов последовательности An найти номер и значение первого положительного члена, если An=-100--n+n3. Предусмотреть случай, когда последовательность не содержит искомого элемента.

Решение:

 

Рисунок 13 – Блок-схема алгоритма решения задачи из примера 2

Программа:

#include <stdio.h>

#include <conio.h>

void main () {

int n,pr; float a;

pr=0;

for (n=1; n<=1000; n++) {

a=-100-n+pow(n,3);

if a>0 {

printf(“a=%f n=%d”,a,n);

pr=1;

break;

}

}

if (pr=0) printf(“положительных значений нет”); getch(); }

 

 



<== предыдущая лекция | следующая лекция ==>
Вопрос 14. Цикл с постусловием | Вопрос 18


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.084 сек.