Delphi tilida


procedure TForml.Button2Click(Sender: TObject);  var



Yüklə 3,41 Mb.
səhifə64/133
tarix07.01.2024
ölçüsü3,41 Mb.
#210126
1   ...   60   61   62   63   64   65   66   67   ...   133
sodapdf-converted (1)

procedure TForml.Button2Click(Sender: TObject); 
var 
pol: array[1..3] of TPoint; 
begin 
pol[l].x := 10; 
polfl].y := 50;
pol[2].x := 40; 
pol[2].y := 10; 
pol[3].x := 70;
pol[3].y := 50; 
Forml .Canvas.Polygon(pol); 
end; 



Sektor 

Ellips yoki aylana sektori pie usuli bilan chizilib, chaqirish 
instruksiyasi quyidagi umumiy ko‘rinishga ega: 



Nuqta 

Canvas obyektining pixels xossasi tipidagi ikki olchovli massiv 
bo‘lib. har bir soha nuqtasining rangi haqidagi ma’lumotni o‘z ichiga 
oladi. Pixels xossasidan foydalanib ixtiyoriy nuqta rangini o‘zgartirish. 
ya’ni nuqta chizish mumkin. Misol uchun: 

126 

y = 2- Sinx • e|- funksiyasi grafigini chiqaradi. 

TForml = class(TForm) 
Buttonl: TButton; 
procedure ButtonlClick(Sender: TObject); 
private 
{ Private declarations } 
public 
{ Public declarations } 
end; 
Var 
Forml: TForml; 
implementation 
{$R *.dfm} 
Function f(x:real):real; 
Begin 
f:=2*Sin(x)*exp(x/5) ; 
end; 
Procedure GrOfFunc; 
Var 
xl,x2:real; 
yl,y2:real; 
x:real; 
y:real; 
dx:real; 
l,b:Integer; 
w,h:Integer; 
mx,my:real; 
xO,yO:Integer; 
Begin 
1:=10; 
b:=Forml.ClientHeight-20; 

127 

h:=Form1. ClientHeight-40; 
w:=Forml.Width-40; 
xl:=0; 
x2:=25; 
dx:=0.01; 
yl:=f(xl); 
y2:=f(xl); 
x:=xl; 
Repeat 
y := f (x); 
if y < yl then yl:=y; 
if y > y2 then y2:=y; 
x:=x+dx; until (x >= x2); 
my:=h/abs(y2-yl); 
mx:=w/abs(x2-xl); 
x0:=l; 
yO:=b-Abs(Round(yl*my)); 
with forml.Canvas do 
Begin 
/ / °si 
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(yl,ffGeneral,6,3)); 
x:=xl; repeat 
y:=f(x); 
Pixels[xO+Round(x*mx),y0 - Round(y*my)]:=clRed; 
x:=x+dx; 
Until (x >= x2); 
end; 
end; 
procedure TForml.ButtonlClick(Sender: TObject); 
begin 
Buttonl.Visible:=false; 
GrOfFunc; 
end; 
end. 
Asosiy vazifani GrOfFunc protsedurasi bajaradi. Awal [xl,x2] 
oraliqda funksiyaning maksimal (y2) va minimal (yl) qiymatlari 
hisoblanadi. So‘ngra koordinatalar y ki bo‘yicha masshtab hisoblanadi. 
Shundan so‘ng protsedura grafikni quradi. 

128 

jiDI il

GrOfFunc protsedurasi tomonidan qurilgan grafik. 


Keltirilgan dastur universal xarakterga ega. 0 ‘zga funksiya grafigini 
chizish uchun f (x) tanasini o‘zgartirish yetarli. 
Dastur to‘g‘ri ishlaydi, agar funksiya ham musbat, ham manfiy 
qiymatlami qabul qilsa. 




Yüklə 3,41 Mb.

Dostları ilə paylaş:
1   ...   60   61   62   63   64   65   66   67   ...   133




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2025
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin