- 463 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 05:40:58 ]
- >>462 もう一度書き直し。すみません。
'5 人の学生の身長を読み込んで、その平均身長を求める' :- '5 人の学生の身長を読み込んで、'(_身長ならび), sum(_身長ならび,_合計), _平均身長 is _合計 / 5, write_formatted('平均身長: %t\n',[_平均身長]), '5 人の学生の身長を読み込んで、'(_身長ならび) :- findall(_身長,(for(1,N番目,5),身長を得る(N番目,_身長)),_身長ならび). 身長を得る(N番目,_身長) :- write_formatted('%t 番: ',[N番目]), 数値を得る(_身長), 身長として適切な数値であるか検査する(_身長),!. 身長を得る(N番目,_身長) :- 身長を得る(N番目,_身長). 身長として適切な数値であるか検査する(_身長) :- _身長 > 0.0,_身長 < 230.0,!. 身長として適切な数値であるか検査する(_身長) :- write_formatted('%tは身長として適切な数値ではありませんでした。再入力が必要 です\n',[_身長]),fail. 数値を得る(_数値) :- get_line(_改行までの文字列), atom_to_term(_改行までの文字列,_数値,_), number(_数値).
|

|