uses crt,graph;
var xc,yc,rc:integer;
{----------------------khoi tao do hoa---------------------------- }
procedure Khoitao;
var gd,gm:integer;
Begin
gd:=detect;
initgraph(gd,gm,'d:\tp\bgi');
if graphresult <> grok then
Begin
writeln('Loi khoi tao do hoa, kiem tra lai duong dan');
readln;
halt(1);
End;
End;
{------------Dung Hinh----------------}
procedure DungHinh;
Begin
repeat until keypressed;
End;
{---------ket thuc do hoa----}
procedure Ketthuc;
Begin
closegraph;
End;
{-------nhap toa do 1 diem---}
procedure NhapDiem(var x,y:integer;ten:char);
Begin
Writeln('Nhap toa do cho diem ',ten);
write(ten,'(x,y)=');readln(x,y);
End;
{-------------Ve duong tron Midpoint---}
procedure put8pixel(x,y,xi,yi,m:integer);
Begin
putpixel(x+xi,y+yi,m);
putpixel(-x+xi,y+yi,m);
putpixel(x+xi,-y+yi,m);
putpixel(-x+xi,-y+yi,m);
putpixel(y+xi,x+yi,m);
putpixel(-y+xi,x+yi,m);
putpixel(y+xi,-x+yi,m);
putpixel(-y+xi,-x+yi,m);
End;
Procedure MidCircle(xt,yt,r,m:integer);
var x,y:integer;
P:real;
Begin
putpixel(xt,yt,m);
outtextxy(xt+5,yt,'I');
x:=0;
y:=r;
P:=1.25-r;
put8pixel(x,y,xt,yt,m);
while x<y do
begin
if p<0 then p:=p+2*x+3
else
begin
p:=p+2*(x-y)+5;
y:=y-1;
end;
x:=x+1;
put8pixel(x,y,xt,yt,m);
end;
End;
{-------------Nhap DL duong tron--------}
procedure Nhaptron(var xt,yt,rt:integer);
Begin
writeln('Nhap thong so duong tron');
write('Tam duong tron I(x,y)= ');readln(xt,yt);
write('Nhap ban kinh duong tron R= ');readln(rt);
End;
{---------------CHUONG TRINH CHINH---------------------}
BEGIN
clrscr;
Nhaptron(xc,yc,rc);
khoitao;
Midcircle(xc,yc,rc,yellow);
dunghinh;
ketthuc;
END.