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










Комментариев нет:
Отправить комментарий