Prolog 有人吗?

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.

维护变量 对不起,我的英语不好

这是我的密码

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.


(并相应地更新
stampa_diagnosi

也许用意大利语写下你的问题,并使用translate.google.com,如果这是家庭作业标签,很难看出你在问什么或问题所在
peso(N, X) :-
    write('Possibile cura: '), cura1(X), nl, write(' ----- '), nl,spiegacome.