09/06/21 19:21:42
>>259
% Prolog
計算ドリル :-
write('五問出題します。すぐに答えてください\n'),
質問(L1),
正解(L2),
計算ドリル(L1,L2,0,X),
write_formatted('%t問正解です\n',[X]).
計算ドリル([],_,N,N) :- !.
計算ドリル([A|R1],[B|R2],N,X) :-
write(A),
get_line(S),
atom_to_term(S,B),
M is N + 1,
計算ドリル([A|R1],[B|R2],M,X),!.
計算ドリル([_|R1],[_|R2],N,X) :-
計算ドリル(R1,R2,N,X).
質問(['12×(3+4)=',
'(1+1÷9)×9=',
'(29‐5)÷(17‐11)=',
'2の10乗=',
'(3×9+44÷2)のルート=',
'8の階乗=']).
正解([84,10,4,1024,7,40320]).