Prolog编程有人

  • 本文关键字:编程 Prolog prolog
  • 更新时间 :
  • 英文 :


维护一个变量对不起我的英语

这是我的代码

stampa_diagnosi(X) :- gia_chiesto(S, 'si'), sintomo(S, M), not(sintomo(S, X)), M = X,
nl, write('Una possibile diagnosi è: '), write(X), nl,
write('il paziente ha un peso minore di 65 KG? (1, 2, 3) '),nl,read(P),peso(P), nl.
peso(1) :- write('Possibile cura: '), cura1(X), nl, write(' ----- '), nl,spiegacome.
peso(2) :- write('Possibile cura: '), cura2(X), nl, write(' ----- '), nl,spiegacome.
peso(3) :- write('Possibile cura: '), cura3(X), nl, write(' ----- '), nl,spiegacome.
cura1(centaurea_minore) :- write('La cura è di 10 gocce .').
cura2(centaurea_minore) :- write('La cura è di 30 gocce .').
cura3(centaurea_minore) :- write('La cura è di 40 gocce .').
cura1(agnocasto) :- write('La cura è di 10 gocce .').
cura2(agnocasto) :- write('La cura è di 30 gocce .').
cura3(agnocasto) :- write('La cura è di 40 gocce .').

当我问病人的体重问题时,我如何保持诊断的X值?

我的问题要求我一旦我找到了基于重量的治疗方法,我必须像我一样选择正确的方法??

显然我对每三个解都很关心和关心

当我问病人的体重问题时,我如何保持诊断的X值?

非常简单。遵循DRY原则,使用输出参数并重写

peso(1) :- write('Possibile cura: '), cura1(X), nl, write(' ----- '), nl,spiegacome.
peso(2) :- write('Possibile cura: '), cura2(X), nl, write(' ----- '), nl,spiegacome.
peso(3) :- write('Possibile cura: '), cura3(X), nl, write(' ----- '), nl,spiegacome.

peso(N, X) :-
    write('Possibile cura: '), cura1(X), nl, write(' ----- '), nl,spiegacome.

(并更新stampa_diagnosi)

最新更新