Циклы
- инструкция for используется для организации циклов с фиксированным, определяемым во время разработки программы, числом повторений;
- количество повторений цикла определяется начальным и конечным значениями переменной-счетчика;
- переменная-счетчик должна быть целого типа (integer);
- вместо НачальноеЗначение и КонечноеЗначение может стоять выражение или
переменная;
- если значение Счетчик в самом цикле изменяться не будет, то после выполнения Инструкции значение переменной увеличивается на единицу.
Вариант 1 (с увеличением счетчика):
for Счетчик :=
НачальноеЗначение to КонечноеЗначение do begin
(*Инструкции
*)
end;
Инструкции между begin и end выполняются [{КонечноеЗначение — НачальноеЗначение) + 1] раз.
Если НачальноеЗначение больше, чем КонечноеЗначение, то инструкции между begin и end не выполняются.
Примечание:
Если между begin и end находится только одна инструкция, то слова
begin и end можно не писать.
Вариант 2 (с уменьшением счетчика):
for Счетчик := НачальноеЗначение downto КонечноеЗначение do begin
{ Инструкции }
end;
Инструкции между begin и end выполняются [{НачальноеЗначение — КонечноеЗначение) +1] раз.
Если НачальноеЗначение меньше, чем КонечноеЗначение, то инструкции между begin и end не выполняются.
- число повторений инструкций цикла repeat определяется ходом выполнения программы;
- инструкции цикла repeat выполняются до тех пор, пока условие, стоящее после слова until, ложно;
- после слова until надо записывать условие завершения цикла;
- для завершения цикла repeat в теле цикла обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла;
- цикл repeat — это цикл с постусловием, т. е. инструкции тела цикла будут выполнены хотя бы один раз;
- цикл repeat, как правило, используется для организации приближенных вычислений, задач поиска и обработки данных, вводимых с клавиатуры или из файла.
repeat
begin
{ Инструкции }
end until Условие;
Выполняются инструкции, находящиеся между begin и end (инструкции цикла), после этого проверяется значение выражения Условие. Если оно равно False (т. е. условие не выполняется), то инструкции цикла выполняются еще раз. И так продолжается до тех пор, пока Условие не станет истинным. Таким образом, после слова until записывается условие завершения цикла.
Примечание:
Если между begin и end
находится только одна инструкция, то слова begin и end можно не писать.
- число повторений инструкций цикла while определяется ходом выполнения программы;
- инструкции цикла while выполняются до тех пор, пока условие, записанное после слова while, истинно;
- после слова while надо записывать условие выполнения инструкций цикла;
- для завершения цикла while в теле цикла обязательно должны присутствовать инструкции, влияющие на условие выполнения инструкций цикла;
- цикл while — это цикл с предусловием, т. е. инструкции тела цикла вообще могут быть не выполнены;
- цикл while, как правило, используется для организации приближенных вычислений, задач поиска и обработки данных, вводимых с клавиатуры или из файла.
while Условие do begin
( Инструкции }
end;
Проверяется значение выражения Условие, если оно равно True (условие выполняется), то выполняются инструкции, находящиеся между begin и end (инструкции цикла). Затем снова проверяется значение выражения Условие, и так продолжается до тех пор, пока значение выражения Условие не станет равным False. Таким образом, после слова while записывается условие выполнения инструкций цикла.
Примечание:
Если между begin и end находится только одна инструкция, то слова
begin и end можно не писать.
Еще примеры к инструкции while...
Операторы завершения цикла
Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода.
В версии Турбо Паскаль 7.0 определены стандартные процедуры:
BreakПроцедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.
Continue
Заметим, что хотя и существует возможность выхода из цикла с помощью
оператора безусловного перехода goto, делать этого не желательно. Во всех
случаях можно воспользоваться специально предназначенными для этого процедурами
Break и Continue.