Поговорим еще об одной инструкции — инструкции while Delphi, обеспечивающей реализацию цикла. Инструкция while Delphi применяется тогда, когда некоторая последовательность действий выполняется несколько раз, при этом необходимое количество повторений в процессе разработки программы заранее не известно (его можно определить лишь в момент работы программы).
В качестве примеров на применение цикла while можно считать вычисление с заданной точностью (например, eps=0.000001), осуществление поиска в массиве, поиск в файле. Общий вид инструкции while Delphi представляется следующим образом:
откуда условие означает выражение типа Boolean, устанавливающее условие, при котором будут выполнены инструкции цикла.
Последовательность выполнения инструкции while в Delphi такова:
- Вначале происходит вычисление значения выражения условие;
- Если условие принимает значение False (значение Ложь — условие не выполнено), то инструкция while завершает свое выполнение;
- В случае значения True (значение Истина — условие выполнено) осуществляется выполнение инструкций тела цикла, находящихся между служебными словами begin и end. Далее вновь проводится проверка выражения условия. Если и это условие выполнено, то вновь повторяются инструкции цикла, расположенные между зарезервированными словами begin и end. Так будет продолжаться до тех пор, пока значение выражения условие не примет значение False.
Алгоритм, реализующий инструкцию while, проиллюстрирован на рисунке ниже:
Пример программы на цикл while Delphi:
В качестве примера приведем программу, вычисляющая значение числа ПИ с некоторой точностью, задающейся пользователем в процессе работы программы.
Основу алгоритма составляет тот факт, что сумма числового ряда: 1 — 1/3 + 1/5 — 1/7 + 1/9 + … стремится к числу ПИ/4 с большим числом элементов. Нетрудно определить n-й член рассматриваемого числового ряда: An = 1/(2*n — 1).
Знак «-» ставится перед очередным элементом ряда, если n представляет собой четное число — это можно установить делением числа n на 2: если остаток от деления равен нулю — n четно, в противном случае число n является нечетным. Вычисление значения числа ПИ заканчивается в том случае, если значение некоторого члена ряда меньше заданной точности вычисления. Диалоговое окно программы в процессе ее работы представлено иллюстрацией ниже:
Как Вы можете заметить, пользователь сначала осуществляет ввод в поле Edit1 точности вычисления. При нажатии пользователем на командную кнопку Вычислить (Button1) программа производит вычисление значения числа ПИ и впоследствии выводит полученный результат в поле метки Label1. Листинг данной программы Вы можете скачать по этой ссылке.