Найти длины высот треугольника - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д