Для того чтобы обработать несколько однотипных элементов, совершить несколько одинаковых действий и т. п., разумно воспользоваться оператором цикла. Оператор цикла повторяет некоторую последовательность операторов заданное число раз, которое может быть определено и динамически, т.е. во время работы программы.
Часто встречаются задачи, когда число повторений в цикле неизвестно, а задано только некоторое условие его продолжения или окончания. Для программирования таких алгоритмов в Паскале существуют два типа операторов - оператор цикла с предусловием и оператор цикла с постусловием.
Оператор цикла с предусловием имеет следующий синтаксис:
while <логическое выражение> do <оператор>
Здесь внутренний <оператор> выполняется в цикле до тех пор, пока условие продолжения цикла (<логическое выражение>) истинно. Если же <логическое выражение> становится ложным, то цикл прекращает функционировать и выполняется оператор, следующий за оператором while. Если условие продолжения цикла ложно с самого начала, то внутренний оператор не выполняется ни разу. Условие продолжения цикла вычисляется и анализируется перед каждым шагом выполнения цикла, отсюда и термин «предусловие». Если в теле цикла необходимо выполнять несколько операторов, то эту группу следует объединить в один составной оператор с помощью операторных скобок begin и end.
При программировании циклов с предусловием или постусловием необходимо соблюдать следующие рекомендации:
а) перед каждым выполнением цикла условие окончания или продолжения цикла должно быть определено, т. е. иметь конкретное значение;
б) тело цикла должно содержать хотя бы один оператор, влияющий на условие окончания или продолжения, иначе цикл будет продолжаться бесконечно;
в) условие окончания цикла должно быть, в конце концов, удовлетворено;
г) условие вычисляется при каждом выполнении цикла и поэтому должно быть по возможности наиболее простым.