Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

laba_10

.docx
Скачиваний:
9
Добавлен:
31.05.2015
Размер:
631.18 Кб
Скачать

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

АВТОТРАКТОРНЫЙ ФАКУЛЬТЕТ

КАФЕДРА: ТРАКТОРЫ

Отчёт о лабораторной работе №10 по информатике

По теме: «Построения графиков с TСhart»

Выполнил: студент группы №10109112

Чернушевич Сергей Владимирович

Принял: доцент кафедры тракторы

  Коваль Виталий Александрович

Минск 2013

Цель: изучить возможности построения графиков с помощью компонента отображения графической информации TСhart. Написать и отладить программу построения на экране графика заданной функции.

Задание: Написать и отладить программу построение графика функции.

Ход работы:

В качестве f(x) использовать по выбору: sh(x), x2, ex.

Примерный вид программы быглядит так .(см. риунок 1)

Рисунок 1.

На рисунках 2-4 представлен алгоритм поставленной задачи.

Рисунок 2.

Рисунок 3.

Рисунок 4.

Код программы

unit Unit1;

interface

uses

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

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

Series, math, matfu ;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button1: TButton;

RadioGroup1: TRadioGroup;

Edit7: TEdit;

Label7: TLabel;

Chart1: TChart;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

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

u: integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Xmin:=0;

Xmax:=0;

Ymin:=0;

Ymax:=0;

Hx:=0;

Hy:=0;

h:=0.01;

Edit1.Text:=FloatToStr(Xmin);

Edit2.Text:=FloatToStr(Xmax);

Edit3.Text:=FloatToStr(Ymin);

Edit4.Text:=FloatToStr(Ymax);

Edit5.Text:=FloatToStr(Hx);

Edit6.Text:=FloatToStr(Hy);

Edit7.Text:=FloatToStr(h);

Chart1.BottomAxis.Automatic:=False;

Chart1.BottomAxis.Maximum:=Xmax;

Chart1.LeftAxis.Automatic:=False;

Chart1.LeftAxis.Minimum:=Ymin;

Chart1.LeftAxis.Maximum:=Ymax;

Chart1.BottomAxis.Increment:=Hx;

Chart1.LeftAxis.Increment:=Hy;

button2.hide;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Xmin:=StrToFloat(Edit1.Text);

Xmax:=StrToFloat(Edit2.Text);

Ymin:=StrToFloat(Edit3.Text);

Ymax:=StrToFloat(Edit4.Text);

Hx:=StrToFloat(Edit5.Text);

Hy:=StrToFloat(Edit6.Text);

Chart1.BottomAxis.Minimum:=Xmin;

Chart1.BottomAxis.Maximum:=Xmax;

Chart1.LeftAxis.Minimum:=Ymin;

Chart1.LeftAxis.Maximum:=Ymax;

Chart1.BottomAxis.Increment:=Hx;

Chart1.LeftAxis.Increment:=Hy;

button2.Show;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

x,y1,j: extended;

y: array [1..3] of extended;

f: fun ;

begin

Series1.Clear;

Series2.Clear;

Series3.Clear;

Xmin:=StrToFloat(Edit1.Text);

Xmax:=StrToFloat(Edit2.Text);

h:=StrToFloat(Edit7.Text);

x:=Xmin;

case RadioGroup1.ItemIndex of

0: u:=1;

1: u:=2;

2: u:=3;

end;

x:=Xmin;

y[u]:=0;

repeat

If (x>0.5) and (x<10) then

begin if u=1 then

y[u]:=e(x);

if u=2 then

y[u]:=x2(x);if u=3 then

y[u]:=sh(x);

y1:=exp(y[u]-abs(x));

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

end;

x:=x+h;

until (x>Xmax);

x:=Xmin;

y[u]:=0;

repeat

j:=x;

if (x>0.1) and (x<0.5) then

begin

if u=1 then

y[u]:=e(j);

if u=2 then

y[u]:=x2(j);

if u=3 then

y[u]:=sh(j);y1:=sqrt(abs(y[u]+x));

Series2.AddXY(x,y1,'',clTeeColor);

end;

x:=x+h;until (x>Xmax);

x:=Xmin;y[u]:=0;repeat

if (x<0.1) or (x>10) then

begin

if u=1 then

y[u]:=e(x);

if u=2 then

y[u]:=x2(x);

if u=3 then

y[u]:=sh(x);

y1:=2*y[u]*y[u];

Series3.AddXY(x,y1,'',clTeeColor);

end;

x:=x+h;

until (x>Xmax);

end;

end.

unit matfu;

interface

Function e(x:extended) : extended;

Function Sh(x:extended) : extended;

Function x2(x:extended) : extended;

implementation

Function e;

begin

Result:=exp(x);

end;

Function sh;

begin

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

end;

Function x2;

begin

Result:=x*x;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]