Как можно переписать код, чтобы при невыполнении правила что-то выводилось? - Prolog
Формулировка задачи:
Как можно переписать вывод, или где-то что-то добавить, чтобы после выполнения этого кода вывелось "No".
Т.е. у Димы нет компьютера, он останавливается на первом правиле, и ничего не выводит. Но если написать, что у него есть компьютер, но нет игры, то уже выводит "No"
Решение задачи: «Как можно переписать код, чтобы при невыполнении правила что-то выводилось?»
textual
Листинг программы
clauses
turn_on_PC(Name):- wants_play(Name), have_desktop(Name);have_laptop(Name).
plays_game(Name):- if wants_play(Name), turn_on_PC(Name), (have_game(Name);download_game(Name)) then console::write("Yes") else console::write("No") end if.
download_game(Name):- wants_play(Name), turn_on_PC(Name), have_internet(Name), not(have_game(Name)).
clauses
wants_play("Dima").
wants_play("Lena").
have_desktop("Lena").
have_game("Lena").
clauses
run() :-
console::init(),
console::nl,
console::write(" -- Lena будет играть? "), console::nl,
plays_game("Lena"), console::nl,
succeed().
end implement main
goal
mainExe::run(main::run).