Алгоритмическая структура «цикл»

В алгоритмические структуры цикл входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла.

Циклические алгоритмические структуры бывают двух типов:

— циклы с параметром, в которых тело цикла выполняется определенное количество раз;

— циклы с условием, в которых тело цикла выполняется до тех пор, пока выполняется условие.

Алгоритмическая структура цикл может быть зафиксирована различными способами:

— графически, с помощью блок-схемы;

— на языке программирования,.

Цикл с параметром

В тех случаях, когда количество повторений известно заранее (до начала цикла), обычно бывает удобнее использовать цикл с параметром. Он выполняется следующим образом: переменная-параметр (её также называют счетчиком) принимает последовательные значения в заданных пределах и при каждом из них выполняются операторы тела цикла.

В Pascal оператор цикла с параметром выглядит следующим образом:

For параметр := начальное to конечное do

оператор;

For параметр := начальное to конечное do

begin

оператор;

оператор;

end;

(в таком случае параметр будет увеличиваться). Если необходимо, чтобы значения параметра убывали, оператор немного изменяется:

For параметр := начальное downto конечное do

оператор;

Пример 1:

for i := 1 to 20 do

writeln(i:3, i*i*i:5);

Пример 2:

for c := 'z' downto 'a' do

write(c);

Циклы с условием

Циклы с условием обычно используются в тех случаях, когда число повторений заранее неизвестно. Нужно повторять действия еще раз либо цикл должен быть завершен, определяется условием.

Если условие проверяется перед выполнением действий тела цикла, то такой цикл называют циклом с предусловием или циклом «пока» («повторять пока истинно условие»). В Pascal он выглядит следующим образом:

while условие do

оператор;

while условие do

begin

оператор; оператор;

end;

Пример:

while a > 10 do

a := sqrt(a);

Такая запись обозначает: пока значение переменной a превосходит 10, из него следует извлекать квадратный корень. Предположим, что до начала цикла переменная имела значение 10000. Поскольку 10000 > 10, из него будет извлечен корень; переменная получит значение 100. С этим значением вновь проверяется условие повторения. 100 больше 10, поэтому квадратный корень извлекается еще раз; переменная получает значение 10. Опять проверяется условие, но на этот раз 10 не больше 10, значит цикл будет завершен, и компьютер перейдет к исполнению следующего оператора.

Другой тип цикла с условием — цикл с постусловием, в котором проверка условия происходит после выполнения операторов тела цикла. Действия повторяются до того момента, когда условие станет истинным. В Pascal он записывается следующим образом:

repeat

операторы

until условие;

Пример:

repeat

write('Введите положительное число:');

readln(x)

until x > 0;

Этот фрагмент программы осуществляет ввод исходных данных с проверкой их корректности. Запрос будет повторяться до тех пор, пока пользователь не введет значение, удовлетворяющее поставленному условию (в данном случае — положительное).