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

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

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





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

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




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


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


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


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

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

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