Даны длины а,в,с сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. PASCAL ABC Нужно написать программу, используя процедуру(ы) и функцию(ы). Пожалуйста, помо...

Даны длины а,в,с сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. PASCAL ABC Нужно написать программу, используя процедуру(ы) и функцию(ы). Пожалуйста, помогите! :)
Гость
Ответ(ы) на вопрос:
Гость
type   num=double; { в этом месте можно сменить тип на иной } function Legal(a,b,c:num):boolean;   { возвращает True, если из отрезков длиной a,b,c     можно построить треугольник } begin   Legal:=(a+b>c) and (a+c>b) and (b+c>a) end; function Med(a,b,c:num):num;   { возвращает длину медианы, проведенную к стороне а } begin   Med:=sqrt(2*(sqr(b)+sqr(c))-sqr(a))/2 end; procedure Med3(a,b,c:num; var m1,m2,m3:num);   { возвращает длины m1,m2,m3 всех медиан треугольника,     построенного из отрезков длиной a,b,c.     При этом m1- длина медианы, проведенной к стороне а,     m2- дилна медианы,проведенной к стороне b и т.д.     Если треугольник построить нельзя, m1=m2=m3=0 } begin   if Legal(a,b,c) then   begin m1:=Med(a,b,c); m2:=Med(b,a,c); m3:=Med(c,a,b) end   else begin m1:=0; m2:=0; m3:=0 end end; { основная программа } var   a,b,c,m1,m2,m3:num; begin   Write('Введите длины сторон треугольника: '); Readln(a,b,c);   Med3(a,b,c,m1,m2,m3);   if m1>0 then begin     Med3(m1,m2,m3,m1,m2,m3);     if m1>0 then Writeln('Длины медиан: ',m1,', ',m2,', ',m3)     else Writeln('Из полученных медиан нельзя построить треугольник.')     end   else     Writeln('Невозможно построить треугольник с такими сторонами.') end. Тестовое решение: Введите длины сторон треугольника: 14.3 18.9 8.6 Длины медиан: 10.725, 14.175, 6.45
Не нашли ответ?
Ответить на вопрос
Похожие вопросы