このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1339338438/734
#  [1] 授業単元:プログラミング演習 
#  [2] 問題文 
#  1)5科目の得点(整数)を入力し、合格科目(60点以上)の合計点(整数)と平均点(単精度浮動小数点数,float)を出力する。 
#  2)繰り返しはfor文とwhile文どちらを使用してもよい 
#  3)平均点は小数点以下1桁まで出力する(計算方法に注意) 
#  4)全科目不合格の場合にも対応すること(その場合、平均点は出力しない) 
#  5)コメントを簡単に書く 
#  6)フローチャートを作成する 
#  7)可能であれば全科目の合計点と平均点も出力する 
#  【実行例】 
#  1科目目の得点を入力してください。 80 
#  --->入力された得点は80点です 
#  2科目目の得点を入力してください。 50 
#  --->入力された得点は50点です 
#  3科目目の得点を入力してください。 100 
#  --->入力された得点は100点です 
#  4科目目の得点を入力してください。 40 
#  --->入力された得点は40点です 
#  5科目目の得点を入力してください。 70 
#  --->入力された得点は70点です 
#   
#  合格科目は3科目で合格科目の合計は250点です 
#  合格科目の平均は83.3点です 
#  

'5科目の得点(整数)を入力し、合格科目(60点以上)の合計点(整数)と平均点(単精度浮動小数点数,float)を出力する。' :-
        '5科目の得点(整数)を入力し'(_5科目の得点ならび),
        '合格科目(60点以上)の合計点(整数)と平均点(単精度浮動小数点数,float)を出力する。'(_5科目の得点ならび).

'5科目の得点(整数)を入力し'(_5科目の得点ならび) :-
         length(_5科目の得点ならび,5),
         findall(_得点,(
                     nth1(_n,_5科目の得点ならび,_),
                     '_n科目の得点を入力する'(_n,_得点)),
                 _5科目の得点ならび).

'_n科目の得点を入力する'(_n,_得点) :-
        swritef(S,'%t科目の得点を入力してください。  ',[_n]),
        整数を得る(S,_得点),
        writef('入力された得点は %t です。\n',[_得点]).

'合格科目(60点以上)の合計点(整数)と平均点(単精度浮動小数点数,float)を出力する。'(_5科目の得点ならび) :-
        '合格科目(60点以上)の合計点(整数)を出力する'(_5科目の得点ならび),
        '平均点(単精度浮動小数点数,float)を出力する。'(_5科目の得点ならび).

'合格科目(60点以上)の合計点(整数)を出力する'(_5科目の得点ならび) :-
        findall(_得点,(
                    '合格科目(60点以上)の得点'(_5科目の得点ならび,_得点)),
                _合格科目の得点ならび),
        length(_合格科目の得点ならび,_合格科目数),
        sum(_合格科目の得点ならび,_合格科目の合計点),
        writef('合格科目数は %t で、合格科目の合計点は %t 点です。\n',[_合格科目数,_合格科目の合計点]).

'合格科目(60点以上)の得点'(_5科目の得点ならび,_得点) :-
        member(_得点,_5科目の得点ならび),
        _得点 >= 60.

'平均点(単精度浮動小数点数,float)を出力する。'(_5科目の得点ならび) :-
        相加平均(_5科目の得点ならび,_平均点),
        writef('平均点は %t です。\n',[_平均点]).