ПРИМЕР 1_6.
Program number1_6;
{Дана окружность. Вписать в окружность треугольник.
Окружность задается радиусом и координатами центром}
uses graph;
var dr,md:integer;
ch:char;
p:boolean;
x,y,x1,y1,x2,x3,y2,y3,r:integer;
function coord(r,k,z,x,y:integer):integer;
var a:real;
Begin
a:=k*sqrt(sqr(r)-sqr(z-x))+y;
coord:=trunc(a);
end;
Begin
initgraph(dr,md,'c:\tpp\bgi');
if graphresult<>0 then
Begin
writeln('ошибка инициализации графики');
halt;
end;
Repeat
cleardevice;
setcolor(red);
setbkcolor(black);
Repeat
p:=true;
outtextxy(1,1,'Input point of centre');
readln(x,y);
readln(r);
if ((x+r)>getmaxX) or ((y+r)>getmaxY) then
Begin
p:=false; moveto(1,10);
outtextxy(1,10,'Repeat Input of pointer ');
end;
until p;
{Вычисляем координаты вершин
вписанного треугольника}
x1:=x-(r div 2);
y1:=coord(r,1,x1,x,y);
x2:=x;
y2:=coord(r,-1,x2,x,y);
x3:=x+(2*r div 3);
y3:=coord(r,1,x3,x,y);
cleardevice;
circle(x,y,r);
line(x1,y1,x2,y2);
line(x2,y2,x3,y3);
line(x3,y3,x1,y1);
readln;
cleardevice;
outtextxy(1,20,'Будете вводить новые данные?');
readln(ch);
until ch='n';
closegraph;
End.
РАЗДЕЛ 2