115
qiymatini klaviaturadan kiritish uchun Readln(R) operatori yoziladi. Shakllar
chizish protseduralari piksellarning butun qiymatlarida ishlagani uchun a o‘rniga
trunc(a) va R o‘rniga trunc(R) qaraladi.
Dasturi:
Uses Graph;
Var x, y, gd, gm: Integer; a, R: real;
Begin gd:=0; Init
Graph(gd, gm, ‘‘);
Write(‘R= ‘); ReadLn(R); a:=2*R;
WriteLn(‘Aylana
markazi koordina-
tasini kirit
ing:‘);
Write(‘x= ‘); ReadLn(x);
Write(‘y= ‘); ReadLn(y);
Setbkcolor(2); Setcolor(14);
Rectangle(x
–trunc(R), y–trunc(R),
x+trunc(R), y+trunc(R));
Setcolor(4); Circle(x, y, trunc(R));
ReadLn; CloseGraph;
End.
Natijaning ekrandagi ko‘rinishi:
174*. Tomonlarining uzunligi a va b bo‘lgan to‘g‘ri to‘rtburchak va unga ichki
chizilgan ellips chizish dasturi tuzilsin. a va b ning qiymati muloqot usulida kiri-
tilsin.
Yechim:
Ma’lumki, FillEllipse(X,Y,XR,YR) protsedurasi markazi (X,Y) koordinata-
li nuqtada, X va Y o‘qlari bo‘yicha radiuslari (eni va
bo‘yi) mos ravishda XR va YR ga teng, joriy rang va
usulda bo‘yalgan ellips chizadi.
Chizmaga asosan
a=2∙XR, b=2∙YR yoki XR=
2
a
, YR=
2
b
.
Kvadratning
chap yuqori qirrasi koordinatasi (x, y) bo‘lsa, u holda
quyi o‘ng qirrasi (x+a, y+b) bo‘ladi. Demak, ellips
markazi koordinatalari
kesmani teng ikkiga bo‘lish qoidasiga asosan quyidagicha bo‘ladi:
2
b
y
,
2
a
x
2
b
y
2
,
2
a
x
2
2
b
y
y
,
2
a
x
x
.
Dasturda a o‘zgaruvchini qiymatini klaviaturadan kiritish uchun Readln(a)
operatori yoziladi. Shakllar chizish protseduralari
piksellarning butun
qiymatlarida ishlagani uchun a o‘rniga trunc(a), b o‘rniga trunc(b), XR o‘rniga
trunc(XR) va YR o‘rniga trunc(YR) qaraladi.
Dasturi:
Uses Graph;
Var x, y, gd, gm: Integer; a,b, XR, YR: real;
Begin gd:=0; InitGraph(gd, gm, '');
Write('a= '); ReadLn(a); XR:=a/2; Write('b= '); ReadLn(b); YR:=b/2;