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] бөлігіндегі функцияның максимальды және минимальды мәндерін табайық }
y1:=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.
№7 тапсырманың бағдарламасына басқа функцияның графигі тұрғызылатындай өзгеріс енгізіңіздер. Бағдарламаны барлық диапазонда тек оң немесе тек теріс мәндер қабылдайтын функцияның графигін тұрғызатындай етіп өзгертіңіздер.
№1 тапсырмасындағы қосымша сияқты синус функциясының графигін тұрғызатын қосымша құрыңыздар.
Бағдарлама терезесінің шекарасымен сол жақтан оң жағына қарай бағытта жылжитын шеңбердің қозғалысын көрсететін бағдарлама құрыңыздар (TCanvas класының әдістерін қолданыңыздар).
Суреттің орын ауыстыруын қамтамасыз ету өте қарапайым түрде ұйымдастырылады: ең алдымен суретті шығару керек, содан соң бірнеше уақыттан кейін оны өшіріп, қайта шығару керек, бірақ ол алдыңғы орынына қарағанда бірнеше ара қашықтықтан кейін шығады. Шеңберді қайта - қайта салуды ұйымдастыратын процедураны периодты түрде шақырып тұру үшін пішінге System парағынан Timer көрнекі емес құрауышын орналастырыңыздар.
Бұл пәннің типтік бағдарламасы бойынша курстық жұмыс қарастырылмаған
ӘДЕБИЕТТЕР ТІЗІМІ
Негізгі әдебиеттер тізімі
Бекбаева Р.С. Delphi ортасында бағдарламалау. Әдістемелік құрал. Шәкәрім атындағы СМУ, 2009
Кандзюба С.П. Delphi 6\7. Базы данных и приложения. Лекции и упражнения. Спб.: ООО «ДиаСофтЮП», 2002. –576с.
Архангельский А.Я. Object Pascal в Delphi. -М., 2002г.
Гофман В.Э., Хомоненко А.Д. Delphi 5. –СПб.: БХВ – Санкт-Петербург, 1999. – 800 с.:ил.
Дарахвелидзе П.Г., Марков Е.П., Котенок О.А. Программирование в Delphi 5. –СПб.: БХВ-Питербург, 2001.
Епанешников А.М., Епанешников В.А. Delphi 5. Язык Object Pascal. –М: «Диалог –МИФИ» 2000
Епанешников А.М., Епанешников В.А. Программирование в среде Delphi: Часть 3. Проектирование программ. –М: «Диалог –МИФИ» 1998
Культин Н. Delphi 6. Программирование на языке Object Pascal.
Қосымша әдебиеттер тізімі
Дарахвелидзе П.Г., Марков Е.П. Delphi-среда визуального программирования. Спб.: BHV - Санкт-Петербург, 1996г.
Архангельский А.Я. Приемы программирования в Delphi. –М.: ООО «Бином-Пресс», 2003 г. –784 с.
Джон Матчо, Дэвид Р. Фолкнер. Delphi на примерах. –М.: БИНОМ, 1995г.
Орлик С.В. Секреты на примерах: –М.: Восточная книжная компания, 1996г.
Конопка Рэй Создание оригинальных компонент в среде Delphi. Киев: DiaSoft Ltd, 1996г. -512с.
Епанешников А.М., Епанешников В.А. Программирование в среде Delphi: Часть 4. Работа с базами данных. Организация справочной системы. –М: «Диалог –МИФИ» 1998
Пономарев В.А. COM и ActiveX в Delphi. –СПб.: БХВ-Питербург, 2001.
Елманов Н.З., Трепалин С.В. Delphi 4. Технология COM, OLE, ActiveX, Automation, MIDAS, Microsoft Transaction Server. –М.: Диалог-МИФИ, 1999 –320с.
Федоров А., Елманов Н. ADO в Delphi. Пер. с англ. –СПб.: БХВ-Питербург, 2002.
Достарыңызбен бөлісу: |