Оператор цикла while
ЦИКЛЫ И ВЕТВЛЕНИЯ
Цикл используется для многократного повторения одних и тех же действий над данными. Циклы позволяют описывать длинные последовательности операций в виде коротких алгоритмов.
Задача 2.1. Составить программу табулирования функции
f(x)= 3+2x ( шаг табулирования = 0.1).
/* Программа 2.1. Табулирование функции (в стиле С) */
#include <stdio.h>
main ()
{ int n, i; // количество строк, номер строки
float x; // текущее значение х
scanf (“%f %d”, &x, &n);
printf ("\n X F(X) ");
i=1;
while (i <= n)
{ printf(“\n%5.2f %5.2f”, x, 3+2*x);
i =i + 1; x = x + 0.1;
}
return 0;
}
Тест. Вычислить 5 значений функции, начиная с х = 0.2.
Вход: 0.2 5
Выход:
X F(X)
0.2 3.40
0.3 3.60
0.4 3.80
0.5 4.00
0.6 4.20
Пояснения к программе.
1. Вводится начальное значение величины х и количество строк.
2. Выводится заголовок таблицы значений.
3. while - оператор цикла c предусловием. Позволяет повторить действия в { } n раз, т.е. вычислить и вывести n строк со значением функции. Переменная i – счетчик текущей строки.
Оператор while – оператор цикла с предусловием имеет вид
while (выражение - условие)
оператор s;
Сначала вычисляется выражение, значением которого должно быть целое число. Если значение выражение ≠ 0, условие цикла истинно, иначе - ложно. Оператор s повторяется ≥ 0 раз, пока истинно условие цикла. Если условие сразу ложно, то оператор не выполнится ни разу.
Схема работы оператора цикла while представлена на рис.2.1.
Рис.2.1. Схема работы оператора цикла while
Повторяющаяся часть в схеме работы оператора называется телом цикла. Оператор s в теле цикла может быть простой или составной.
Составной оператор ограничивается фигурными скобками { }, состоит из одного или более операторов любого типа. Все операторы, кроме составного, завершаются ; (точкой с запятой).
Если в теле цикла должно быть более одного простого оператора, то эти операторы нужно объединить в составной оператор (рис.2.2.).
Рис.2.2. Составной оператор { }
Схема алгоритма программы «Табулирование функции» представлена на рис. 2.3.
Рис.2.3. Схема алгоритма программы 2.1. «Табулирование функции»
Условия в циклах и ветвлениях задаются в виде целочисленного выражения языка С в скобках. Условие истинно, если значение выражения ≠ 0, ложно в противном случае.
Примеры условий:
while ( a>0 ) истинно, если а>0
while ( a ) истинно, если а ≠ 0
while ( a!=0 ) истинно, если а ≠ 0
while ( !a ) истинно, если а = 0
while ( a+b ) истинно, если а+b ≠ 0
сложные условия
while ( a && b ) истинно, если а ≠ 0 и b ≠0
while (a > 0 ||b >0) истинно, если a > 0 или b > 0 и т.п.