Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

 
 

Панель диалога будет иметь следующий вид (рис. 7.1).

Тексты модуля и вызывающей программы приведены ниже.

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

unit Matfu;

interface

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

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

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

implementation

Function Tg;

begin

Result:=Sin(x)/Cos(x);

end;

Function Ch;

begin

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

end;

Function Sin2;

begin

Result:=sqr(sin(x));

end;

end.

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

unit Unit1;

interface

uses

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

StdCtrls, Buttons, ExtCtrls,MatFu;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Memo1: TMemo;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

RadioGroup1: TRadioGroup;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Type

fun = function(x:extended):extended; // Объявление типа функция

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text:='0';

Edit2.Text:='3';

Edit3.Text:='0,3';

Memo1.Clear;

RadioGroup1.ItemIndex:=0;

end;

procedure Tabl(f:fun;xn,xk,h:extended); // Расчет таблицы

var x,y: extended;

begin

x:=xn;

repeat

y:=f(x);

Form1.Memo1.Lines.Add('x='+FloatToStrf(x,fffixed,8,3)+

' y='+FloatToStrf(y,fffixed,8,3));

x:=x+h;

until (x>xk);

end;

procedure TForm1.BitBtn1Click(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);

2: Tabl(sin2,xn,xk,h);

end;

end;

end.





Дата публикования: 2014-11-04; Прочитано: 355 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.073 с)...