このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1274827528/456
#  (1) 【main 関数のみ】 
#        int型配列 x[101] を定義し、キーボードから人数 N と N 人分の点数を入力し、平均点と 
#       偏差値を計算し、結果を画面に出力するプログラムを作成せよ。 
#        ◆ 条件 
#              人数 N に負の値や101以上の値が入力されたときには、再入力するものとす 
#                る。 
#              点数 x[i] に負の値や100点を超える値が入力されたときには、再入力する 
#                ものとする。 
#        ◆ 偏差値 Ti の計算式 
#                  10( xi   ) 
#             Ti                     50 
#                            
#             ただし 
#                      N 
#                  1 
#                    x 
#                            i 
#                  N  i 1 
#                          N 
#                    1 
#                         (x 
#                                 )2 
#                                i 
#                    N    i 1 
#             ここに、N :データの数 xi :個々の点数 μ:平均 σx:標準偏差 
#   
# 
# 

'int型配列 x[101] を定義し、キーボードから人数 N と N 人分の点数を入力し、平均点と偏差値を計算し、結果を画面に出力する' :-
        キーボードから人数Nを入力(N),
        キーボードからN人分の点数を入力(N,L),
        相加平均(L,_相加平均),
        標準偏差(L,_標準偏差),
        偏差値(L,_相加平均,_標準偏差,_偏差値),
        write_formatted('平均点は%4.1f点です。\n',[_相加平均]),
        write_formatted('偏差値は%4.1fです。\n',[_偏差値]).        

キーボードから人数Nを入力(N) :-
        repeat,get_integer(N),N>=0,N=<100,!.

キーボードからN人分の点数を入力(0,[]) :- !.
キーボードからN人分の点数を入力(N,[I|R]) :-
        get_integer(I),
        I >= 0,I =< 100,
        N1 is N - 1,
        キーボードからN人分の点数を入力(N1,R),!.
キーボードからN人分の点数を入力(N,L) :- キーボードからN人分の点数を入力(N,L).
% 相加平均/3,標準偏差/2,偏差値/4の定義は http://nojiriko.asia/prolog/suchikeisan.html を参照してください。