116
WriteLn('To`trburchakni chap yuqori qirrasi koordinatalarini kiriting:');
Write('x= '); ReadLn(x); Write('y= '); ReadLn(y);
Setbkcolor(2); Setcolor(14); Rectangle(x, y, x+trunc(a), y+trunc(b));
Setcolor(4); Fillellipse(x+trunc(a/2), y+trunc(b/2), trunc(XR), trunc(YR));
ReadLn; CloseGraph;
End.
Natijaning ekrandagi ko‘rinishi:
175*. Berilgan (X0,Y0) butun koordinatali nuqtani markazi butun koordinatali
(X,Y) nuqtadagi R butun qiymatli radiusli doiraga tegishli yoki tegishli emasligini
aniqlovchi dastur tuzing.
Yechim:
Masala yechimi chiziqli tuzilma ko‘rinishida tashkil etilishi anchagina
qiziqarli. Buning uchun Paskal dasturining
va undagi miqdorlarning
xususiyatlarini tasavvur eta olish kerak.
Berilgan qiymatlarning barchasi butun bo‘lgani uchun grafika imkoniyatidan
foydalanamiz. Masala yechimi asosan 3 ta xususiyat asosida tashkil etiladi:
1) ixtiyoriy nuqtalar to‘plamini ekran markaziga parallel ko‘chirishda bir-
biriga nisbatan joylashishi o‘zgarmasligi;
2) grafik ekrandagi
ixtiyoriy nuqtani rangini GetPixel(X,Y)
protsedurasi
yordamida aniqlash;
3) rang qiymatlari va javobni massiv yordamida bog‘lanishi.
Dasturi:
Uses graph;
Var
gd,gm,X,Y,X0,Y0,R: integer;indeks:byte; a:array[0..1] of string;
Begin
a[0]:='Yotmaydi!!!'; a[1]:='Yotadi!!!';
Write('R= '); ReadLn(R);
Write('X= '); ReadLn(X); Write('Y= '); ReadLn(Y);
Write('X0= '); ReadLn(X0); Write('Y0= '); ReadLn(Y0);
Gd:=0; Initgraph(Gd, Gm,''); Setbkcolor(0); Setcolor(1); Setfillstyle(1,1);
Fillellipse(x+abs(320-x),y+abs(240-y),R,R);
Do'stlaringiz bilan baham: