Главная страница
Навигация по странице:

  • Выполнил

  • Задание

  • Построения графиков с tсhart


    Скачать 0.6 Mb.
    НазваниеПостроения графиков с tсhart
    Анкорlaba_10.docx
    Дата13.09.2018
    Размер0.6 Mb.
    Формат файлаdocx
    Имя файлаlaba_10.docx
    ТипОтчет
    #24493

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

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

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

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

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

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

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

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

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

    Минск 2013

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

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

    Ход работы:

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

    Примерный вид программы быглядит так .(см. риунок 1)c:\users\toshiba\desktop\безимени-1.jpg

    Рисунок 1.

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

    Рисунок 2.

    d:\untitled2.png

    Рисунок 3.

    d:\untitled3.pngРисунок 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.


    написать администратору сайта