Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
делфи.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
9 Мб
Скачать
☆

Interface

function Yx(x:Extended):extended;

Implementation

function Yx(x:Extended):extended;

begin

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

end;

end.

Результат работы программы:

  1. При запуске программы появляется следующее окно:

  1. После нажатия кнопки «пуск»:

Выводы: изучили возможности DELPHI для написания подпрограмм и создания модулей. Составили и отладили программу, использующую внешний модуль Unit с подпрограммой.

Лабораторная работа 8

Разработка приложения с выдачей результатов вычислений в виде графиков

Постановка задачи:

Разработать приложение отображения результатов вычислений в виде графика

Задание: Построить графики функций для соответствующих вариантов из работы №1. Таблицу данных получить путем изменения параметра X с шагом h. Вывод исходных данных организовать через окна TЕdit. Самостоятельно выбрать удобные параметры настройки.

Текст программы:

unit lr1;

Interface

uses

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

Dialogs, StdCtrls, Buttons, ExtCtrls, TeeProcs, TeEngine, Chart, Series;

type

TForm1 = class(TForm)

edt2: TEdit;

edt3: TEdit;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

btn1: TButton;

Chart1: TChart;

Edit1: TEdit;

BitBtn1: TBitBtn;

Series1: TLineSeries;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

procedure FormCreate(Sender: TObject);

procedure btn1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Xmin, Xmax, Ymin, Ymax, Hx, Hy, h : extended;

Implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

edt2.Text := '10'; // значение Y

edt3.Text := '10'; // значение Z

Xmin := 0;

Xmax := 20;

Ymin := 0;

Ymax := 3;

Hx := 1;

Hy := 0.2;

h := 0.01;

Edit1.Text := FloatToStr(Xmin);

Edit2.Text := FloatToStr(Xmax);

Edit3.Text := FloatToStr(Ymin);

Edit4.Text := FloatToStr(Ymin);

Edit5.Text := FloatToStr(Hx);

Edit6.Text := FloatToStr(Hy);

Edit7.Text := FloatToStr(h);

Chart1.BottomAxis.Automatic := False;

Chart1.BottomAxis.Minimum := Xmin;

Chart1.BottomAxis.Maximum := Xmax;

Chart1.LeftAxis.Automatic := False;

Chart1.LeftAxis.Minimum := Ymin;

Chart1.LeftAxis.Maximum := Ymax;

Chart1.BottomAxis.Increment := Hx;

Chart1.LeftAxis.Increment := Hy;

end;

procedure TForm1.btn1Click(Sender: TObject);

var

X, y, z : real;

a, b, u, c : real;

begin

y := StrToFloat(Edt2.Text); // Считывается значение y

z := StrToFloat(Edt3.Text); // Считывается значение z

Series1.Clear;

Xmin := StrToFloat(Edit1.Text);

Xmax := StrToFloat(Edit2.Text);

h := StrToFloat(Edit7.Text);

x := Xmin;

Repeat

a := Exp(-x*ln(2));

b := Sqrt((x+Exp(1/4*ln(Abs(y)))));

u := Exp(1/3*ln(Exp((x-1/sin(z)))));

c:= a*b*u;

Series1.AddXY(x, c, '', clTeeColor);

x := x + h;

Until (x > Xmax);

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Halt //Exit

end;

end.

Результат работы программы: