Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Цикл с параметром.





Формат оператора цикла с параметром:

for (выражение_1; выражение_2; выражение__3) оператор;

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

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

Обратите внимание на то, что после вычисления выражения 3 происходит возврат к вычислению выражения 2 — проверке условия повторения цикла.

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

F=l;

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

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

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

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

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

Ниже показан еще один вариант вычисления N!. В нем на месте тела цикла находится пустой оператор, а вычислительная часть внесена в выражение 3.

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

Этот же оператор можно записать в следующей форме:

for (F=l,i=l;i<=N;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 (x=2;x<=9;x++)

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

cout<<”\n”<<x<<<<*<<y<<” = “<<x*y;

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

2*2 = 4

2*3 = 6

………

9*8=72

9*9=81

Оператор continue. Если выполнение очередного шага цикла требуется завершить до того, как будет достигнут конец тела цик­ла. используется оператор continue. Следующий фрагмент про­граммы обеспечивает вывод на экран всех четных чисел в диапа­зоне от 1 до 100.

for(i = l; i<=100;i++)

{if (i%2) continue;cout<<”\t”<<i; }

Для нечетных значений переменной / остаток от деления на 2 будет равен единице, этот результат воспринимается как значе­ние «истина» в условии ветвления, и выполняется оператор continue. Он завершит очередной шаг цикла, выполнение цикла перейдет к следующему шагу.

Ниже показан пример программы на языке Си, которая выводит на экран монитора буквы латинского алфавита от "A" до "Z".

 

#include <stdio.h>

#include <windows.h>

#include <conio.h>

main()

{

char str[50];

unsigned char ch;

textbackground(4);

textcolor(15);

clrscr();

for(ch='A'; ch<='Z'; ch++) printf("%c", ch);

CharToOem("\nДля выхода нажмите любую клавишу", str);

printf(str);

getch();

}

Результат выполнения рассмотренной программы, написанной на языке Си.

// Пример №7

Int c;

c=1;

while (c!=0)

{

cin>>c;

if (c==2)







Дата добавления: 2015-08-12; просмотров: 439. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...

Studopedia.info - Студопедия - 2014-2026 год . (0.011 сек.) русская версия | украинская версия