Формат оператора прост:
while выражение do оператор Выражение должно быть логического типа. Например, это может быть операция отношения или просто логическая переменная. Если результат вычисления выражения paBeHtrue, выполняется расположенный после служебного слова do простой или составной оператор. Эти действия повторяются до того момента, пока результатом выражения не станет значение false. После окончания цикла управление передается на следующий за ним оператор.
ВНИМАНИЕ
Если в теле цикла необходимо выполнить более одного оператора, необходимо заключить их в блок с помощью begin и end.
Пример Написать программу печати таблицы значений функции.
для аргумента, изменяющегося в заданных пределах с заданным шагом.
Опишем алгоритм в словесной форме.
- 1. Ввести исходные данные.
- 2. Взять первое значение аргумента.
- 3. Определить, какому из интервалов оно принадлежит.
- 4. Вычислить значение функции по соответствующей формуле.
- 5. Вывести строку таблицы.
- 6. Перейти к следующему значению аргумента.
- 7. Если оно не превышает конечное значение, повторить шаги 3−6, иначе закончить.
Шаги 3−6 повторяются многократно, поэтому для их выполнения надо организовать цикл. Назовем в программе начальное значение аргументаХп, конечное значение аргумента хk, шаг изменения аргумента dX, параметр — t. Все величины вещественные. Программа выводит таблицу, состоящую из двух столбцов — значений аргумента и соответствующих им значений функции.
ПРИМЕЧАНИЕ
Из эстетических соображений можно заменить символы, которыми выполняется графление таблицы, на псевдографические. Чтобы ввести символ с помощью его кода, надо нажать левую клавишу Alt и, не отпуская ее, ввести код символа на дополнительной клавиатуре. При отпускании клавиши Alt символ отобразится на экране.
program tabl_fun;
var Xn, Xk, dX, t, x, y: real;
begin.
writeln ('Введите Xn, Xk, dX, t'); readln (Xn, Xk, dX, t);
writeln (' ');
writeln (1 X I Y);
writeln (' ');
x:= Xn; {Начальные установки} while x <= Xk do begin {Заголовок цикла} if x < 0 then y:= t;
if (x >= 0) and (x = 10 then y:= 2 * t; writeln (T, х:9:2/ Г, у:9:2/ ?;
x:= x + dX; {Модификация параметра цикла} end;
writeln (' ');
end.