Лекция 20.
Repeat
Оператор цикла REPEAT.
Оператор цикла WHILE.
Оператор WHILE называется оператором цикла с предусловием, так как проверка условия выполнения тела цикла идет перед его выполнением. Число повторений тела цикла заранее не известно, она зависит от заданного условия.
Общий вид оператора:
WHILE <выражение>DO<тело цикла>
Где <выражение> - условие продолжения повторений, представляет собой логическое выражение; тело цикла - один или несколько операторов.
Перед каждым выполнением тела цикла вычисляется значение выражения. Если выражение имеет значение TRUE, тело цикла выполняется. Если значение выражения FALSE, происходит выход из цикла и выполняется первый после WHILE оператор.
Пример, вывод на экран чисел от 1 до 100
k: =0;
wile k<100 do
begin
k: =k+1;
writeln (k);
end;
WHILE True DO WRITE (′Бесконечный цикл′);
WHILEI=I DO WRITE (′Бесконечный цикл′);
PROGRAM Demo_ WHILE ;{ заголовок программы}
Var I, Sum: integer; {объявление переменных}
BEGIN {начало раздела операторов}
I: =0; Sum: 0 ;{ обнуление I, Sum}
WHILE I<12 DO BEGIN {начало оператора WHILE}
WRITELN (′I=′, I) ;{ текущее значение I}
Sum: =Sum+I; {наращивание суммы}
I: =I+2 {увеличение I (0, 2, 4, 6, 8, 10)}
END; {конец оператора WHILE}
WRITELN (′Сумма четырех чисел′, Sum) {вывод результата}
END. {конец программы}
Операторы завершения цикла. Для всех операторов цикла выход цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода GOTO и выхода. В версии ТУРБО ПАСКАЛЬ 7,0 определены стандартные процедуры BREAK и CONTINUE. Процедура BREAK выполняет безусловный выход из цикла. Процедура CONTINUE обеспечивает переход к началу новой итерации цикла.
Цикл типа Repeat называется циклом последующего условия, т.е. операторы входящие в тело цикла выполняются, по крайней мере, один раз.
Общий вид оператора:
<оператор>
until <условие>
Между Repeat и until можно помещать любое количество операторов, в том числе и не одного. Слова Repeat и until сами являются операторами-скобками, поэтому операторы, расположенные между ними не обязательно заключать в скобки Begin-end;
Цикл продолжается до тех пор, пока условия заданные после until не станет истинным, как только оно станет истинным, цикл прекращается.
Применение цикла последующего условия целесообразно в тех условиях, когда операторы, формирующие значение условного цикла, составляют достаточно большую последовательность, и их нецелесообразно дублировать вне цикла.
Цикл Repeat until Keypressed-удерживает картинку на экране.
Пример, вывод на экран чисел от 1 до 100
k:=0;
repeat
k:=k+1
writeln (k);
until k>100;
PROGRAM Demo_REPEAT; { заголовок программы}
Var I, Sum: integer; {объявление переменных}
BEGIN {начало раздела операторов}
I: =0; Sum: 0 ;{ обнуление I, Sum}
REPEAT {начало оператора REPEAT}
WRITELN (′I=′, I) ;{ вывод текущее значение I}
Sum: =Sum+I; {наращивание суммы}
I: =I+2 {увеличение I (0, 2, 4, 6, 8, 10)}
UNTIL (I>10) ;{ конец оператора REPEAT}
WRITELN (′Сумма четырех чисел′, Sum) {вывод результата}
END. {конец программы}
Контрольные вопросы.
1.С помощью каких операторов можно организовать циклические вычисления?
2.Когда используется оператор FOR?
3.Когда используется цикл WHILE?
4.Каков общий вид оператора REPEAT?
Тема: «Понятие подпрограмм. Процедуры и функции».