Цикл с предусловием «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.

 

Сайт создан в системе uCoz