• gmseeer
  • Комментариев: 0
  • Просмотров: 499
  • 16-06-2015, 23:55

Дано вершины треугольника, программа вычисляет медиану и радиус описаного круга.

program Trykutnyk_mediana;

uses Crt;

var xl,yl,x2,y2,x3,y3,a,b,c,mediana,r,x,y,p,s: real;

begin

 clrscr;

 writeln('Введите координаты: ');

 readln(xl,yl,x2,y2,x3,y3);

 a:=sqrt(sqr(x3-x2)+sqr(y3-y2));

 b:=sqrt(sqr(xl-x3)+sqr(yl-y3));

 c:=sqrt(sqr(xl-x2)+sqr(yl-y2));

 x:=(xl+x3)/2;                               

 y:=(yl+y3)/2;                               

 mediana:=sqrt(sqr(x-x2)-sqr(y-y2)); 

 p:=(a+b+c)/2;       

 s:=sqrt(p*(p-a)*(p-b)*(p-c));         

 r:=a*b*c/(4*s);                            

 writeln('mediana=',mediana:3:3);                

 writeln('r=',r:3:3);                        

 readln 

end.

 

Crt- модуль, содержащий ряд процедур- очистка экрана, смена цвета символов, подпрограммы. Модуль дает возможность управления текстовым режимом.

Clrscr- функция очистки экрана.

Функция Sqr(x) возвращает квадрат числа “x”, может быть целого или вещественного типа.

Функция Sqrt(x) возвращает квадратный корень числа “x”. может быть целого или вещественного типа.

Комментарий:

 

Находим стороны треугольника.

a:=sqrt(sqr(x3-x2)+sqr(y3-y2));

b:=sqrt(sqr(xl-x3)+sqr(yl-y3));

c:=sqrt(sqr(xl-x2)+sqr(yl-y2));

 

Находим координаты средины стороны b.

x:=(xl+x3)/2;

y:=(yl+y3)/2;

 

Находим медиану.

mediana:=sqrt(sqr(x-x2)-sqr(y-y2));

 

Находим полупериметр.               

p:=(a+b+c)/2;

 

Находим площадь треугольника.

s:=sqrt(p*(p-a)*(p-b)*(p-c));

 

Находим радиус описаного круга.

r:=a*b*c/(4*s);

Далее вывод результатов.