Операторы повтора (цикла) языка Pascal
Циклы позволяют многократно выполнять отдельный оператор или последовательность операторов, причем при этом нет необходимости записывать в тексте программы одинаковые операторы несколько раз.
Оператор цикла For
Конструкция For … To (DownTo) …Do называется перечисляемым циклом, или циклом со счетчиком.
Синтаксис:
For <Переменная цикла> :=<Нач. значение> To (DownTo) <Кон. значение> Do
Begin
<блок операторов>
End;
<Переменная цикла> (счетчик цикла) автоматически увеличивается на единицу (от начального значения до конечного) после каждого выполнения <блока операторов> (тела цикла). Счетчик цикла может быть целочисленного, символьного или логического типа.
Если требуется, чтобы <Переменная цикла> не увеличивалась, а уменьшалась, то вместо слова To используется слово DownTo.
Повторение цикла прекращается, если значение <Переменной цикла> превысит <Кон. значение>. Если заданы "противоречивые" начальное и конечное значения счетчика цикла, то цикл может не выполниться ни разу (for i:=1 to 0 do …).
Пример: печать первых десяти натуральных чисел на экран.
for i:=1 to 10 do
begin
writeln(i);
end;
Оператор цикла Repeat..Until
Конструкция Repeat..Until называется циклом с постусловием.
Синтаксис:
Repeat
<блок операторов>;
Until <условие>;
Выполняется <блок операторов>, затем проверяется условие выхода из цикла, записанное после слова Until. Если условие выполняется, то цикл завершается, в противном случае вновь выполняется <блок операторов> и вновь проверяется условие и т. д.
Особенности:
1. <Блок операторов> обязательно выполнится хотя бы один раз.
2. Внутри конструкции Repeat..Until не нужны операторные скобки Begin..End, хотя их использование не запрещается.
3. В теле цикла (в отличие от цикла For) необходимо предусмотреть изменение значения параметра цикла!!!
Примеры: 1. печать первых десяти натуральных чисел.
i:=1; {присвоение начального значения параметру цикла}
repeat
writeln(i);
i:=i+1; {изменение значения параметра цикла}
until (i<=10);
2. Задержка выполнения программы до нажатия любой клавиши.
…
Writeln("Нажмите любую клавишу");
Repeat
Until KeyPressed;
Readkey;
…
Оператор цикла While..Do
Конструкция While..Do называется циклом с предусловием.
Синтаксис:
While <условие> Do
Begin
<блок операторов>;
End;
Сначала проверяется <условие>; если оно истинно, то выполняется <блок операторов>. Затем вновь проверяется <условие>. <Блок операторов> будет выполняться до тех пор, пока <условие> не станет ложным. Если <условие> изначально ложно, то <блок операторов> не выполнится ни разу.
В теле цикла необходимо предусмотреть изменение значения параметра цикла!!!
Пример: печать первых десяти натуральных чисел.
i:=1;
While (i<=10) Do
Begin
WriteLn(i);
i:=i+1;
End;
Достарыңызбен бөлісу: |