Оператор цикла 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 и т.п.