Цикл со счетчиком for, рассмотренный в предыдущей теме, отлично выполняет свои функции, когда число повторений тела цикла известно к моменту ето начала (или известны начальное и конечное значения счетчика, что, впрочем, то же самое).
Однако такая «радужная» картина встречается в программировании далеко не всегда. Часто приходится решать задачи, когда число повторений цикла неизвестно и определяется лишь постепенно, после некоторого количества повторений тела цикла.
В этом случае применяют другую разновидность цикла — цикл с условием.
В языке Паскаль циклов с условием предусмотрено два: условие цикла может проверяться перед телом цикла или после него.
Цикл с предусловием
В первой разновидности цикла условие проверяется перед выполнением тела цикла. Поэтому данное условие правильно будет назвать условием продолжения цикла. Цикл такого вида называется циклом с предусловием.
Цикл будет повторяться до тех пор, пока проверка этого условия будет давать результат «истина» (true), то есть пока условие выполняется. Если условие сразу оказывается ложным, цикл не будет выполнен ни разу.
Описание цикла с предусловием
Запишем цикл с предусловием на языке блок-схем (рис. 7.1).

Вот как этот тип цикла реализуется на языке Паскаль:
While логическое условие> do <оператор-тело_цикла>
Так же как при использовании цикла for и оператора if, после служебного слова do предполагается только один оператор.
Если в теле цикла нужно выполнить несколько операторов, оно оформляется как блок begin ... end.
ЗАПОМНИТЕ!
После служебных слов then, else, do (в операторах if, for, while) должен стоять только один оператор! Если необходимо выполнить несколько операторов, они должны быть взяты в операторные скобки (перед операторами нужно поставить begin, после — end).
Точка с запятой не ставится ни перед служебными словами then, else, do, ни после них!