Пример 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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: