double arrow

Подключение модуля

Для того чтобы подключить модуль к проекту необходимо в меню Project выбрать опцию Add to Project... и выбрать файл, содержащий модуль. После этого в разделе Uses добавить имя подключаемого модуля - MatFunc. Теперь в проекте можно использовать функции, содержащиеся в модуле.

Форма приложения приведена на рисунке 7.1.

Рисунок 7.1 – Форма приложения

Тексты модуля:

Unit MatFunc;

Interface

Function Tg(x: extended): extended; //Функция для вычисления тангенса

Function Ch(x: extended): extended; //Функция для вычисления гиперболического

//синуса

Function Sin2(x: extended): extended;//Функция для вычисления квадрата синуса

Implementation

Function Tg(x: extended): extended;

begin

Result:= sin(x)/cos(x);

end;

Function Ch(x: extended): extended;

begin

Result:= (exp(x)-exp(-x))/2;

end;

Function Sin2(x: extended): extended;

begin

Result:= sqr(sin(x));

end;

end.

Текст вызывающей программы:

Unit LabRab_7;

Interface

Uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, MatFunc;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Memo1: TMemo;

Button1: TButton;

Button2: TButton;

RadioGroup1: TRadioGroup;

Procedure FormCreate(Sender: TObject);

Procedure Button1Click(Sender: TObject);

Procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

func = function(x:extended): extended;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text:= '0';

Edit2.Text:= '2';

Edit3.Text:= '0.2';

Memo1.Clear;

RadioGroup1.ItemIndex:= 0;

end;

procedure Tabl(f: func; xn, xk, h: extended);

var

x, y: extended;

begin

x:= xn;

Repeat

y:= f(x);

Form1.Memo1.Lines.Add('x=' + FloatToStrF(x,ffFixed, 8, 2) +

' y=' + FloatToStrF(y, ffFixed, 8, 2));

x:= x + h;

Until (x > xk);

end;

procedure TForm1.Button1Click(Sender: TObject);

var

xn, xk, h: extended;

begin

xn:= StrToFloat(Edit1.Text);

xk:= StrToFloat(Edit2.Text);

h:= StrToFloat(Edit3.Text);

Case RadioGroup1.ItemIndex of

0: Tabl(tg, xn, xk, h);

1: Tabl(ch, xn, xk, h);

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Halt; //Завершение приложения

end;

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: