09/07/13 05:16:24
>>460
% Prolog
% URLリンク(nojiriko.asia)
'5 人の学生の身長を読み込んで、その平均身長を求める' :-
'5 人の学生の身長を読み込んで、'(_身長ならび),
sum(_身長ならび,_合計),
_平均身長 is _合計 / 5,
write_formatted('平均身長: %t\n',[_平均身長]),
'5 人の学生の身長を読み込んで、'(_身長ならび) :-
findall(_身長,(for(1,N番目,5),身長を得る(N番目,_身長)),_身長ならび).
身長を得る(N番目,_身長) :-
write_formatted('%t 番: ',[N番目]),
数値を得る(_身長),
_身長 > 0.0,
_身長 < 220.0,!.
身長を得る(N番目,_身長) :-
write('身長が適切な数値ではありませんでした。再入力が必要です\n'),
身長を得る(N番目,_身長).
数値を得る(_数値) :-
get_line(_改行までの文字列),
atom_to_term(_改行までの文字列,_数値,_),
number(_数値).