В большинстве задач цикл вычислений приходиться выполнять неизвестное число раз. Вычисление значения должно прекратиться при выполнении какого либо условия. Для проведения подобных вычислений удобно использовать условный оператор цикла:
while условие do
тело цикла
- while, do - зарезервированные слова;
- условие - произвольное логическое выражение;
- тело цикла - любой оператор, в большинстве составной оператор.
Проверка условия происходит до выполнения тела цикла, следовательно при ложном условии тело цикла не выполниться ни разу. Тело цикла вычисляется до тех пор пока условие не получит значение FALSE.
Используя данную конструкцию надо быть уверенным что условие рано или поздно станет ложным, иначе программа может зависнуть (зациклиться). И для такого случая необходимо будет предусмотреть прерывание с помощью оператора break или функциями Exit или Abort.
Создадим приложение в котором будем рассчитывать сумму первых десяти чисел: 1+2+3+ + 10. Расположим на форме кнопку и Label для вывода информации. Для кнопки сделаем такой обработчик:
procedure TForm1.Button1Click(Sender: TObject); var i, sum : integer; begin i := 1; sum := 0; while (i < 11) do begin sum := sum + i; i := i + 1; end; label1.Caption := IntToStr(sum); end;
i это наши числа от 1 до 10 с каждым шагом цикла будет происходить увеличение на единицу. sum - накапливаемая сумма.
Перед применением в цикле необходимо задать начальные значения, где сумма первоначально будет равна нулю.
Итог: нами был рассмотрен оператор языка Delphi оператор цикла while и его применение.