09/07/09 19:36:57
>>412
% Prolog
% テーマ findallを使った集約処理
t412(_各科目の最高点,_各科目の最低点,_各学生の3教科の平均点,_各科目の平均点) :-
findall([A,B,C],(repeat,read(A),(A=end_of_file,!,fail;read(B),read(C))),Y),
findall(AVG,(member(L,Y),findavg(A,member(A,L),AVG)),_各学生の3教科の平均点),
行列の転置(Y,Y2),
findall((Max,Min),(member(L1,Y2),max(L1,Max),min(L1,Min)),_各科目の最高点と最低点),
findall(AVG3,(member(L3,Y2),findavg(A,member(A,L3),AVG3)),_各科目の平均点).