go :- hypothesize(Animal),
write('hastalığınız bu olabilir: '),
write(Animal),
nl,
undo.
hypothesize(grip) :- grip,!.
hypothesize(astim) :- astim,!.
hypothesize(akciger_kanseri) :- akciger_kanseri,!.
hypothesize(losemi) :- losemi,!.
hypothesize(bobrek_iltihabi) :- bobrek_iltihabi,!.
hypothesize(bilinmiyor).
grip :- ates,
verify(titreme),
agri,
verify(yorgunluk),
verify(bulantı),
kusma,
verify(ishal).
akciger_kanseri :-
oksuruk,
agri,
nefes,
verify(pozitif_lab_sonucu).
astim:-
oksuruk,
nefes,
verify(hısiltili_solunum).
losemi:-
agri,
kusma,
verify(kas_zayıflaması),
ates,
verify(hatirlama_guclugu),
verify(istahsizlik),
verify(burun_kanamasi),
verify(yuksek_kan_degeri),
oksuruk.
bobrek_iltihabi:-
agri,
verify(yuksek_tansiyon),
verify(kilo_kaybi),
verify(kansizlik).
ates:- verify(yuksek_ates).
nefes:- verify(nefes_darligi).
agri:- verify(bas_agrisi),!.
agri:- verify(eklem_agrisi),!.
agri:- verify(gogus_agrisi),!.
agri:- verify(agrili_idrar).
kusma:-verify(kusma),!.
kusma:- verify(kanli_kusma).
oksuruk:-verify(kanli_oksuruk),!.
oksuruk:- verify(kuru_oksuruk).
ask(Question) :-
write('Hastaliginizda su belirti var mi : '),
write(Question),
write('? '),
read(Response),
nl,
( (Response == yes ; Response == y)
->
assert(yes(Question)) ;
assert(no(Question)), fail).
:- dynamic yes/1,no/1.
verify(S) :-
(yes(S)
->
true ;
(no(S)
->
fail ;
ask(S))).
undo :- retract(yes(_)),fail.
undo :- retract(no(_)),fail.
undo.
Hiç yorum yok:
Yorum Gönder