Найти длины высот треугольника - Prolog

Узнай цену своей работы

Формулировка задачи:

Что-то не хочет запускаться у меня программа Турбо Пролог. Возможно вина пиратской винды 7. Потому у меня вопрос к знающим. Условие задачи: Длины сторон треугольника а, b, c. Найдите длины Нa,Нb,Нc его высот. Решение. Найдем площадь по формуле Герона p=(a+b+c)/2, s=sqrt(p*(p-a)*(p-b)*(p-c)). И высоты по формулам Ha=2*s/a, Hb=2*s/b, Hc=2*s/c. Тест1 (a=3,b=4,c=5 ответ Ha=4,Hb=3,Hc=2.4) Тест2 (a=5,b=4,c=5 ответ Ha=3.66,Hb=4.58,Hc=3.66)

Решение задачи: «Найти длины высот треугольника»

textual
Листинг программы
predicates
area(real, real, real, real)
height(real,real,real)
task(real,real,real)
 
clauses
area(A,B,C,S) :- P=(A+B+C)/2, S=sqrt(P*(P-A)*(P-B)*(P-C)).
height(A,S,H) :- H=2*S/A.
task(A,B,C)    :- A<B+C, B<A+C, C<A+B, area(A,B,C,S), 
                       height(A,S,HA), write("Ha="),write(HA),nl,
                       height(B,S,HB), write("Hb="),write(HB),nl,
                       height(C,S,HC), write("Hc="),write(HC),nl.
task(A,B,C)    :- write("Bad data"),nl,fail.
        
goal
 
task(3,4,5).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы