Вывод решения в виде последовательности или дерева - Prolog

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

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

Собственно, задание тривиальное.
Загвоздка в том. что требуется ещё вывести полный вывод решения в виде последовательности или дерева. Как это сделать в SWIProlog я не знаю.
Попробую просто использовать trace...

Решение задачи: «Вывод решения в виде последовательности или дерева»

textual
Листинг программы
main :- 
    be(Z, 'hiker'),  
    write('hiker found: '), write(Z), nl,
    write('testing if '), write(Z), write(' is skier'), nl,
    not(be(Z, 'skier')), 
    writeln(Z).

Объяснение кода листинга программы

В данном коде на языке Prolog реализована простая логическая задача. Вот её постановка:

  1. У нас есть два вида людей: «скиер» и «турист».
  2. «Скиер» — это человек, который может заниматься лыжным спортом.
  3. «Турист» — это человек, который может заниматься пеших туризмом.
  4. У нас есть переменная Z, которая может принимать значения «скиер» или «турист».
  5. Требуется вывести значение переменной Z, если известно, что она является «скиером».
  6. Если значение переменной Z является «туристом», то требуется вывести сообщение о том, что «турист» не является «скиером». Теперь посмотрим на код:
  7. У нас есть факт be(Z, 'hiker'), который говорит о том, что переменная Z принимает значение «турист».
  8. Далее следует последовательность действий, которые выполняются только в том случае, если переменная Z является «туристом»: a. Выводим сообщение «турист найден: », а затем значение переменной Z. b. Выводим сообщение «тестирование, является ли », а затем значение переменной Z, « лыжником». c. Отрицаем факт be(Z, 'skier'), то есть говорим, что переменная Z не является «скиером». d. Выводим значение переменной Z. В итоге получается, что данный код выводит значение переменной Z, если она является «туристом», и выводит сообщение об отрицании факта, что «турист» является «скиером», в противном случае.

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


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

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

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