Программирование циклических алгоритмов
Ключевые слова:
• while (цикл-ПОКА)
• repeat (цикл-ДО)
3.5.1. Программирование циклов с заданным условием продолжения работы
Цикл с заданным условием продолжения работы (цикл-ПОКА) программируется в языке Паскаль с помощью оператора while. Общий вид оператора:
while <условие> do <оператор>
Здесь:
<условие> — логическое выражение; пока оно истинно, выполняется тело цикла;
<оператор> — простой или составной оператор, с помощью которого записано тело цикла.
Запишем на языке Паскаль рассмотренный в п. 2.4.3 (пример 14) алгоритм получения частного q и остатка r от деления натурального числа x на натуральное число y без использования операции деления.
program n_14;
var x, у, q, r: integer;
begin
writeln ('Частное и остаток');
write (' Введите делимое х»') ;
readln (x);
write ('Введите делитель у»');
read (у);
г:=х;
q:=0;
while r>=y do
begin
r:=r-y;
q:=q+l
end;
writeln ('Частное q='/ q);
writeln ('Остаток r=', r)
end.
Каким будет результат выполнения программы при х = -10 и у = 3? Как вы можете объяснить этот результат?
3.5.2. Программирование циклов с заданным условием окончания работы
Цикл с заданным условием окончания работы (цикл-ДО) программируется в языке Паскаль с помощью оператора repeat. Общий вид оператора:
repeat <оператор1; оператор2; ...;> until <условие>
Здесь:
<оператор1>; <оператор2>; ... — операторы образующие тело цикла.
<условие> — логическое выражение; если оно ложно, то выполняется тело цикла.
Запишем на языке Паскаль рассмотренный в п. 2.4.3. (пример 17) алгоритм решения задачи о графике тренировок спортсмена.
program n_15;
var i: integer; x: real;
begin
writeln ('График тренировок');
i:=1;
x:=10;
repeat
i:=i+1;
x:=x+0.1*x;
until x>=25;
writeln ('Начиная с ', i, '-го дня спортсмен будет пробегать 25 км')
end.
Самое главное
В языке Паскаль имеются три вида операторов цикла: while (цикл-ПОКА), repeat (цикл-ДО), for (цикл с параметром). В этом уроке мы познакомились с двумя операторами: while и repeat. Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.