![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток всем.
Есть такая задача
Сравнить полученные значения, в качестве критерия сравнения использовать количество членов ряда, необходимых для вычисления числа π. ************ Начал писать программу, запнулся на ряде Лейбница, да и Эйлера тоже, что-то я неправильно пишу походу - значения неверные выдаёт ![]() Помогите пожалуйста, я первый раз сам пишу программу. Код:
unit VichisleniePi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) Sharp: TEdit; Leybnitc: TEdit; Eyler: TEdit; Calc: TBitBtn; lbl1: TLabel; lbl2: TLabel; lbl3: TLabel; lbl4: TLabel; Tochnost: TEdit; lbl5: TLabel; procedure CalcClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CalcClick(Sender: TObject); var i, n, sign1: integer; s, curr:Extended; BEGIN begin n := StrToInt(Tochnost.Text); s := 0; curr := 1; for i := 1 to n do begin s := s + 1 / (curr * (2 * i - 1)); curr := - curr * 3; end; s := s * sqrt(12); Sharp.Text:=FloatToStr(s); end; begin s :=0; sign1 := 1; for i := 0 to n do ; begin s := s + sign1 * 4 / ( 2*i + 1); sign1:= -sign1; end; Leybnitc.Text:=FloatToStr(s) end; begin s:= 0; for i := 1 to n do begin s:= 1/sqr(n) ; end; s:= Sqrt (6*s) ; Eyler.Text:=FloatToStr(s) end; END; end. |