このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1339338438/978
#  [1] 授業単元:C言語演習 
#  [2] 問題文: 
#  ../test/read.cgi/tech/1339338438/976のプログラムを修正して、メッセージ転送時間の平均値を計算するaverage関数を追加し、main関数側で平均メッセージ転送時間も出力するようにせよ。 
#  

'実験データは、あるコンピュータAのメッセージ発生時刻と、そのメッセージが宛先コンピュータBに到着した時刻である。メッセージの転送時間の平均値を出力する'(_実験データファイル) :-
        実験データは(_実験データファイル,_実験データ行ならび),
        'あるコンピュータAのメッセージ発生時刻と、そのメッセージが宛先コンピュータBに到着した時刻である。メッセージ毎の転送時間を出力する'(_実験データ行ならび).

実験データは(_実験データファイル,_実験データ行ならび) :-
        get_split_lines(_実験データファイル,_実験データ行ならび).
        
'あるコンピュータAのメッセージ発生時刻と、そのメッセージが宛先コンピュータBに到着した時刻である。メッセージの転送時間の平均値を出力する'(_実験データ行ならび) :-
        findavg(_転送時間,(
                    member(_行文字列,_実験データ行ならび),
                    メッセージ毎の転送時間(_行文字列,_メッセージの転送時間)),
                _転送時間の平均値),
        writef('転送時間の平均値は %t 秒です\n',[_転送時間の平均値]).

メッセージ毎の転送時間(_行文字列,_メッセージの転送時間) :-
        split(_行文字列,[' '],[_メッセージ番号,_メッセージの発生時刻,_メッセージの到達時刻]),
        _メッセージの転送時間 is _メッセージの到達時刻 - _メッセージの発生時刻.