Оператор со счетчиком циклов (For..To..Do – в Паскаль, For..Next – в Бейсик), выполняет заданную команду некоторое количество раз. В качестве счетчика цикла используется переменная любого целочисленного типа, а в качестве начального и конечного значения – любые допустимые для типа счетчика цикла значения.
Пример:
Создадим цикл с параметрами В Паскаль:
Program par;
Var R:integer;
begin
Writeln(‘4islo koren’);
For R=1 to 100 do
writeln(r,’ ’,sqr(R));
End.
ШАГ цикла - это число, которое прибавляется к значению счетчика. После выполнения тела цикла счетчику прибавляется значение шага после чего выполняется проверка счетчика на конечное значение. И в зависимости от этого цикл повторяется или заканчивается.
В Паскаль можно организовать как прямой так и обратный отсчет значения счетчика (to и Downto соответственно).
Второй способ (цикл с предусловием):
Условный оператор (While..do) предназначен для зацикливания фрагмента программы таким образом, что перед очередным (в том числе и первым) проходом зацикливаемого фрагмента происходит проверка необходимости его прохода. Данный оператор называется условным оператором цикла с предусловием.
|
|
While <условие> do <команда>
Суть цикла состоит в том, что пока заданное условие выполняется, то происходит выполнение тела цикла. При каждом выполнение цикла счетчик увеличивается на значение шага и проверяется условие. Если заданное условие не выполняется при первом вхождении в цикл, то тело цикла так и не выполняется.
Пример:
Program predysl;
Var R:integer;
begin
Writeln(‘4islo koren’);
While R<=100 do
Begin writeln(r,’ ’,sqr(R)); R=R+1;
End;
End.
Третий способ (цикл с постусловием):
В некоторых алгоритмах необходимо реализовать зацикливание таким образом, чтобы тело цикла, было выполнено хотя бы один раз. Такого рода зацикливание организуется с помощью условных операторов цикла с постусловием.
В Паскаль предусмотрен один условный оператор с постусловием – Reapeat…Until (повторять до тех пор пока не…). Он имеет следующий вид:
Repeat <тело цикла> Until <условие>
Зацикленный фрагмент программы выполнится один раз, затем проверится условие, и в случае его истинности происходит повторное выполнение тела цикла.
Пример:
Program predysl;
Var R:integer;
begin
Writeln(‘4islo koren’);
Repeat
Begin writeln(r,’ ’,sqr(R)); R=R+1;
End;
Until R<=100;
End.