Вычисление числа Пи
Задача о вычислении числа Пи интересна не самими значениями этого числа, которые фактически никому не нужны. Интерес к этой задаче подогревается возможностями протестировать вычислительные возможности компьютера и использованного алгоритма вычисления этого трансцендентного числа. Студентам очень часто предлагают такую задачку в качестве лабораторной работы или курсовой работы. Приводим пример программы на языке Делфи, вычисляющей число Пи с заданной точностью. Описание программы в комментариях.
unit pi_;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit; // точность вычисления
Button1: TButton; // кнопка Вычислить
Label1: TLabel;
Label2: TLabel; // поле выода результата
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
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.