我想写:
if (KSO<20) then {
printf( "Is there NO3 in the water (yes/no)");
scanf("%s",NUMKSOVALUE_value);
}
在prolog中。
到现在为止我写道:
write('Is there NO3 in the water (yes/no)?'),
nl, read(NUMKSOVALUE_value),
member(NUMKSOVALUE_value,[yes,no]). :- (number(KSO_labvalue),KSO_labvalue < 20).
但它不被接受。有人可以帮帮我吗?
答案 0 :(得分:0)
开始学习Prolog的好地方是:http://www.learnprolognow.org/
对于您的问题,以下代码将帮助您入门:
no3_present_in_water :-
write('Enter KSO value:'), nl,
read(V),
process_response(V,Outcome),
write('NO3 present: '), write(Outcome), nl.
process_response(A,B) :-
A =< 20,
B = 'no'.
process_response(A,B) :-
A > 20,
B = 'yes'.
测试:
?- no3_present_in_water.
Enter KSO value:
|: 10.
NO3 present: no
yes
?- no3_present_in_water.
Enter KSO value:
|: 30.
NO3 present: yes
yes