Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Цикл, управляемый инструкцией while

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

В общем случае цикл, управляемый инструкцией while, может состоять из трех частей. К первой части цикла относятся элементы его инициализации. Вторую часть составляет сама инструкция while, а последнюю часть, часто называемую телом, – любая инструкция языка Си. Говорят, что инструкция while управляет работой тела цикла. В случае, когда в теле цикла должны находиться несколько инструкций, их следует объединить в составную инструкцию. Таким образом, в общем случае цикл, построенный на основе инструкции while, имеет следующий формат:

 

Инструкции_инициализации

while (выражение) /* Инструкция while */
инструкция /* Единственная инструкция */
продолжение_программы

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

Работу цикла удобно пояснить фрагментом схемы алгоритма, приведенным ниже.

 

 

Тело цикла выполняется пока остается истинным выражение, проверяемое в инструкции while. Легко убедиться в том, что цикл, управляемый инструкцией while, относится к категории циклов с предусловием.

Приведем пример применения цикла, управляемого инструкцией while.

Постановка задачи. Последовательность положительных чисел произвольной длины вводится с клавиатуры. Вычислить сумму вводимых чисел.

Решение. Для решения этой задачи требуется организация цикла, в теле которого следует выполнять два действия:

· Вводить очередное число x,

· Увеличивать текущее значение суммы summa на величину введенного числа.

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

Ниже приводится программа, реализующая требуемые вычисления. В программе использованы следующие локальные переменные: summa - искомая сумма, x – очередное введенное число. В комментариях к программе определены функциональные компоненты цикла.

 

//Файл summa2.c
#include<stdio.h>

int main(void)
{
double x, summa = 0;

 

// Инициализация цикла
printf(“Введите положительное число (для завершения “
“вычислений введите отрицательное число)”);
scanf(“%lf”, &x);


while (x > 0) //Инструкция while (Заголовок цикла)
{ // начало тела цикла
summa += x;
printf(“Введите положительное число(для завершения“
“вычислений введите отрицательное число)”);
scanf(“%lf”, &x);
} // Конец тела цикла

printf(“summa=%10.3g\n”, summa);
return 0;
}

31. Цикл, управляемый инструкцией do … while

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

Цикл, управляемый инструкцией do while, имеет следующий формат:

Инструкции_инициализации

do /* Начало инструкции while */
инструкция /* Единственная инструкция (тело цикла)*/
while( выражение ); /* Конец инструкции while */
продолжение_программы

Работу цикла удобно пояснить схемой алгоритма, приведенной ниже.

 

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

 

Рассмотрим пример задачи, решение которой приводит к целесообразности применения цикла, управляемого инструкцией do while.

<== предыдущая лекция | следующая лекция ==>
Принципы организации арифметических циклов | Решение. Последовательность целых чисел ai (i = 1,2, ) формируется в соответствии со следующим правилом:
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 582; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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