program pulsujace_kolo;
uses crt,graph;
var x,y,skok,r,i:integer;
sterownik, tryb:integer;
begin
sterownik:=detect;
InitGraph(sterownik, tryb,'d:\tp\bgi');
x:=getmaxx div 2; y:=getmaxy div 2;
r:=50; i:=1; skok:=5;
repeat
begin
circle(x,y,r);
r:=r+skok;
if ((x+r>=getmaxx) OR (r<=0)) then
skok:=-skok;
delay(10);
cleardevice;
i:=i+1;
i:=i mod 30;
end
until(keypressed);
readln;
end.
program odbijane_kolo;
uses crt,graph;
var x,y,skokx,skoky,r,i:integer;
sterownik, tryb:integer;
begin
sterownik:=detect;
InitGraph(sterownik, tryb,'d:\tp\bgi');
x:=51; y:=51;
r:=50; i:=1; skokx:=5; skoky:=5;
repeat
begin
circle(x,y,r);
x:=x+skokx;
y:=y+skoky;
if ((x+r>=getmaxx) OR (x-r<=0)) then
skokx:=-skokx;
if ((y+r>getmaxy) OR (y-r<=0)) then
skoky:=-skoky;
delay(10);
cleardevice;
i:=i+1;
i:=i mod 30;
end
until(keypressed);
readln;
end.