![]() |
|
#1
|
|||
|
|||
![]() Вечер добрый ребят, помогите пожалуйста подключить модуль функции чтобы работали функции S(x), Y(x) сижу мучаюсь не знаю как подключить и как прописать одно в другое...
Код программы: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Edit4: TEdit; Label5: TLabel; Button1: TButton; RadioGroup1: TRadioGroup; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); const xn = 0.1; xk = 0.5; h = 0.1; e = 0.0001; var x, y, t, s: real; n: Integer; begin Memo1.Clear; Memo1.Lines.Add('Результаты ст. гр. 5В011100 Гулов Е.В.'); Memo1.Lines.Add('xn=0.1'); Memo1.Lines.Add('xk=0.5'); Memo1.Lines.Add('h=0.1'); Memo1.Lines.Add('e=0.0001'); x := xn; while x <= xk do begin n := 0; t := x; s := t; while Abs(t) / (2 * n + 1) > e do begin n := n + 1; t := -t * x * x; s := s + t / (2 * n + 1); end; y := arctan(x); Memo1.Lines.Add('При х=' + formatfloat('0.0', x) + ' сумма=' + formatfloat ('0.0000', s) + ' y=' + formatfloat('0.0000', y) + ' N=' + inttostr (n + 1)); x := x + h; end; end; procedure TForm1.FormCreate(Sender: TObject); begin memo1.Clear; RadioGroup1.ItemIndex:=0; end; end. код модуля Код:
unit Unit2; interface uses StdCtrls, SysUtils; Type fun = function(x : extended):extended; // Объявление типа функция {Расчет таблицы функции f (табуляция функции)} procedure Tabl(f:fun;xn,xk:extended; m: word; Memo1 : TMemo); implementation procedure Tabl; var x,y,h: extended; i : integer; begin x:=xn; h:=(xn-xk)/m; for i:=1 to m+1 do begin y:=f(x); Mem1.Lines.Add(' x='+FloatToStrf(x,fffixed,8,3)+ ' y='+FloatToStrf(y,fffixed,8,3)); x:=x+h; end; end; end. |