Нарисовать эллипс, не используя оператор CIRCLE - Turbo Pascal

Формулировка задачи:

Нарисовать эллипс, не используя оператор CIRCLE. Уравнение эллипса X2/A2 + Y2/B2 = 1
 
program laba13;
uses graph,crt;
var x,y,i,gd,gm,a,b:integer;
begin
clrscr;
writeln('Vvedit a');
readln(a);
writeln('Vvedit b');
readln(b);
gd:=0;
initgraph(gd,gm,'');
x:=getmaxx div 2;
y:=getmaxy div 2;
setcolor(red);
if b>a then moveto(x+b,y-a) else moveto(b div 2,y);
for i:=0 to 360 do
lineto(x-round(a*cos(i*pi/180)),y+round(b*sin(i*pi/180)));
readkey;
closegraph;
 
end.
Вот часть не знаю что дальше.

Код к задаче: «Нарисовать эллипс, не используя оператор CIRCLE - Turbo Pascal»

textual
uses graph,crt;
var x0,y0,x,y,a,b:integer;
    u:real;
begin
clrscr;
repeat
write('a[50..300] a=');
readln(a);
until(a>=50)and(a<=300);
repeat
write('b[50..200] b=');
readln(b);
until(b>=50)and(b<=200);
initgraph(x0,y0,'');
x0:=getmaxX div 2;
y0:=getmaxY div 2;
u:=0;
moveto(x0+round(a*cos(u)),y0-round(b*sin(u)));
setcolor(12);
while u<=2*pi do
 begin
  lineto(x0+round(a*cos(u)),y0-round(b*sin(u)));
  u:=u+0.01
 end;
readln
end.

8   голосов, оценка 3.750 из 5


СОХРАНИТЬ ССЫЛКУ