Цикл с предусловием
«While».
Цикл с предусловием «Пока» используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причём необходимое число повторений неизвестно и может быть определено только во время работы.
Формат записи:
While условие do
begin
//
выполняемые операторы
end;
Действие цикла: Если значение условия равно False (условие не выполняется), цикл не выполняется и управление передаётся следующим за end операторам. Если условие выполняется, будут выполнены операторы цикла, затем условие опять проверяется и т.д.
Задача. Используя в качестве примера приложение
«Цикл While» из папки «Задание», составить проект
вычисления числа ПИ с заданной точностью.
Код программы:
Примечание: в программе используется функция MOD, значением которой является остаток от деления двух целых чисел.
procedure TForm1.Button1Click(Sender: TObject);
var
pi:real; // вычисляемое значение ПИ
t:real; // точность вычисления
n:integer; // номер члена ряда
elem:real; // значение члена ряда
begin
pi:=0;
n:=1;
t:=StrToFloat(edit1.text);
elem:=1; // чтобы начать цикл
while elem >= t do
begin
elem:=1/(2*n-1);
if n MOD 2 = 0
then pi:=pi-elem
else pi:=pi+elem;
n:=n+1;
end;
pi:=pi*4;
label1.caption:= 'ПИ равно '+ FloatToStr(pi) + #13
+ 'Просуммировано '+IntTostr(n)+' членов ряда.';
end;
end.