Если в программе возникает необходимость неоднократно выполнить некоторые операторы, то используются операторы повтора (цикла). В языке Паскаль различают три вида операторов цикла: while, repeat, for. Они используются для организации циклов различных типов. Выражение, управляющее повторениями, должно иметь булевский тип.
Если число повторений оператора (составного оператора) заранее неизвестно, а задано лишь условие его повторения (или окончания), используются операторы while, repeat. Оператор for используется, если число повторений заранее известно.
Оператор while. Оператор while (пока) часто называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в самом начале оператора.
while <условие продолжения повторений> do
<тело цикла>;
Условие — булевское выражение, тело цикла— простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходят выход из цикла и переход к первому после while оператору.
Примером работы while может служить программа DemoWhile, которая производит суммирование 10 произвольно введенных целых чисел.
program DemoWhile;
Const
Limit 10;{Ограничение на количество вводимых чисел}
Var
Count, Item, Sum: integer;
Begin
Count:=0; {Счетчик чисел}
Sum:=0; {Сумма чисел}
while (Count < Limit) do{Условие выполнения цикла}
Begin
Count:= Count+1;
Write('Введите ', Count, ' — целое число: '); Readln(Item); {Ввод очередного числа с клавиатуры)
Sum:= Sum+Item;
end;
Writeln('Сумма введенных чисел равна ', Sum);
End.
В данном примере в разделе описания констант описана константа Limit=10, задающая ограничение на количество вводимых чисел. В разделе описания переменных описаны переменные Count, Item, Sum целочисленного типа.