Зертханалық жұмыс №1 «Delphi интерфейсінің элементтері»


unit Grfunc_1; interface



жүктеу 2,2 Mb.
бет118/118
Дата04.01.2022
өлшемі2,2 Mb.
#36255
1   ...   110   111   112   113   114   115   116   117   118
Зертханалы ж мыс №1 «Delphi интерфейсіні элементтері»

    Навигация по данной странице:
  • System
unit Grfunc_1;

interface

uses

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



type

TForm1 = class(TForm)



procedure FormPaint(Sender: TObject);

procedure FormResize(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;



Implementation

{$R *.DFM}

procedure Gr0fFunc; {Функцияның графигін тұрғызу}

var

x1,x2:real; // функция аргументінің өзгеру шекарасы

y1,y2:real; // функция мәнінің өзгеру шекарасы

x:real; //функция аргументі

y:real; // х нүктесіндегі функцияның мәні

dx:real; // аргументтің ауысуы

l,b:integer; // графикті шығару аймағының сол жақ төменгі бұрышы

w,h:integer; // графикті шығару аймағының биіктігі мен ені

mx,my:real; // X және Y осьтері бойынша координаталар

x0,y0:integer; // нүкте - координата басы



{Графикті тұрғызатын функция}

function f(x:real):real;

begin

f:=2*sin(x)*exp(x/5);



end;

begin

// Графикті шығару аймағы

l:=10; // Х – сол жақ жоғарғы бұрыштың координатасы

b:=Form1.ClientHeight-20; // Y – сол жақ жоғарғы бұрыштың координатасы

h:=Form1.ClientHeight-40; // биіктігі

w:=Form1.ClientWidth-40; // ені

x1:=0; //аргумент диапазонының төменгі шекарасы

x2:=25; //аргумент диапазонының төменгі шекарасы

dx:=0.01; // аргумент қадамы



{[x1,x2] бөлігіндегі функцияның максимальды және минимальды мәндерін табайық }

y 1:=f(x1); // минимум

y2:=f(x1); // максимум

x:=x1;


repeat

y:=f(x);


if ythen y1:=y;

if y>y2 then y2:=y;

x:=x+dx;


until (x>=x2);

my:=h/abs(y2-y1);



// Y осі бойынша масштаб

mx:=w/abs(x2-x1);



// X осі бойынша масштаб

{остер}

Gr0fFunc процедурасы арқылы тұрғызылған график

x0:=1;


y0:=b-abs(Round(y1*my));

with form1.Canvas do

begin

// оси

MoveTo(l,b); LineTo(l,b-h);

MoveTo(x0,y0); LineTo(x0+w,y0);

TextOut(l+5,b-h,FloatToStrF(y2,ffGeneral,6,3));

TextOut(l+5,b,FloatToStrF(y1,ffGeneral,6,3));

// построение графика

x:=x1;


repeat

y:=f(x);


Form1.Canvas.Pixels[x0+Round(x*mx),y0-Round(y*my)]:=clRed;

x:=x+dx;


until (x>=x2);

end;

end;

procedure TForm1.FormPaint(Sender: TObject);

begin

Gr0fFunc;



end;

procedure TForm1.FormResize(Sender: TObject);

begin

// очистить форму

with form1 do

Canvas.FillRect(Rect(0,0,ClientWidth,ClientHeight));



Gr0fFunc;

end;

end.

  1. № 7 тапсырманың бағдарламасына басқа функцияның графигі тұрғызылатындай өзгеріс енгізіңіздер. Бағдарламаны барлық диапазонда тек оң немесе тек теріс мәндер қабылдайтын функцияның графигін тұрғызатындай етіп өзгертіңіздер.

  2. №1 тапсырмасындағы қосымша сияқты синус функциясының графигін тұрғызатын қосымша құрыңыздар.

  3. Бағдарлама терезесінің шекарасымен сол жақтан оң жағына қарай бағытта жылжитын шеңбердің қозғалысын көрсететін бағдарлама құрыңыздар (TCanvas класының әдістерін қолданыңыздар).

Суреттің орын ауыстыруын қамтамасыз ету өте қарапайым түрде ұйымдастырылады: ең алдымен суретті шығару керек, содан соң бірнеше уақыттан кейін оны өшіріп, қайта шығару керек, бірақ ол алдыңғы орынына қарағанда бірнеше ара қашықтықтан кейін шығады. Шеңберді қайта - қайта салуды ұйымдастыратын процедураны периодты түрде шақырып тұру үшін пішінге System парағынан Timer көрнекі емес құрауышын орналастырыңыздар.




жүктеу 2,2 Mb.

Достарыңызбен бөлісу:
1   ...   110   111   112   113   114   115   116   117   118




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау