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

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

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





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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

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