Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Порядок выполнения задания. Задание: написать программу вывода на экран таблицы функции, которую, оформить в виде процедуры




Задание: написать программу вывода на экран таблицы функции, которую, оформить в виде процедуры. В качестве функции использовать по выбору Tg(x), Ch(x) и sin (x).

 

Создание модуля

 

Создавая модуль, следует обратить внимание на то, что он не должен иметь своей формы. Система DELPHI при начальной загрузке автоматически создает шаблон программы, имеющий в своем составе форму, файл проекта и т.д. Так как модуль состоит только из одного файла, то необходимо перед его созданием уничтожить заготовку файла проекта и форму. Для этого в меню File выбрать Close All, файл проекта не сохранять.

Для создания модуля в меню File выбрать File New, и затем в репозитории – пиктограмму. В результате будет создан файл с заголовком Unit Unit1. Имя модуля можно сменить на другое, отвечающее внутреннему содержанию модуля, например Unit Matfu;. Затем необходимо сохранить файл с именем, совпадающим с именем заголовка модуля: Matfu.pas. Следует обратить внимание на то, что имя файла должно совпадать с именем модуля, иначе DELPHI несможет подключить его к другой программе.

 

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

 

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

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

 
 

Фиг.7.1

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

 

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

Unit Matfu;

Interface

Function Tg(x: extended): extended;

//Функция для вычисления тангенса

Function Ch(x: extended): extended;

//Функция для вычисления гиперболического синуса

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

//квадрата синуса

Iplementation

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, 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.

 





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 523 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2483 - | 2177 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.