09/07/03 16:21:10
>>333
% Prolog (1/2)
t333(_点数ならび,_平均点,_標準偏差,_点数順ならび) :-
算術平均(_点数ならび,_平均点),
標準偏差(_点数ならび,_標準偏差),
quicksort(_点数ならび,_点数順ならび).
算術平均([],N,S,M) :- M is S / N,!.
算術平均([A|R],N,S,M) :- S1 is S + A,算術平均(R,N,S1,M) .
算術平均(L,M) :- length(L,N),算術平均(L,N,0.0,M).
標準偏差([],N,M,S,V) :- V is sqrt(S / (N - 1)),!.
標準偏差([A|R],N,M,S,V) :- S1 is (A - M) ^ 2,S2 is S + S1,標準偏差(R,N,M,S2,V).
標準偏差(L,V) :- length(L,N),算術平均(L,M),標準偏差(L,N,M,0.0,V) .