Помощь в решении задачи

В этой теме 1 ответ, 2 участника, последнее обновление  Васильев Владимир Сергеевич 6 мес., 2 нед. назад.

  • Автор
    Сообщения
  • #3983

    werservers
    Участник

    На языке логического программирования написать программу со следующими фактами, правилами и целями.
    Факты: Треугольник A имеет углы – 60, 60, 60; треугольник B имеет углы – 45, 45, 90.
    Правило: Треугольник является прямоугольным, если один из его углов равен 90 градусам.
    Цель: являются ли треугольники A и B прямоугольными?

    Нужен только исходный код, заранее благодарен.

  • #3985

    Не указан диалект пролога, напишу на SWI Prolog схематично:

    triangle(a, angles(60, 60, 60)).
    triangle(b, angles(45, 45, 90)).
    
    is_rightangled_triangle(angles(90, _, _)).
    is_rightangled_triangle(angles(_, 90, _)).
    is_rightangled_triangle(angles(_, _, 90)).
    
    goal:-
      triangle(a, AnglesA),
      triangle(b, AnglesB),
      is_rightangled_triangle(AnglesA),
      is_rightangled_triangle(AnglesB).

    Тут мы сначала описали два треугольника, описание содержит имя и набор углов. Предикат проверки треугольника на наличие прямого угла принимает набор углов и завершается удачей если хоть один из них равен 90 градусам. Наконец, цель сводится к получению углов треугольников a и b и проверки что оба они являются прямоугольными.

Для ответа в этой теме необходимо авторизоваться.