このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1305867431/207
#  すみません、もう1問お願いします 
#   
#  [1] 授業単元:プログラミング 
#  [2] 問題文(含コード&リンク): 
#  寒暖の差が大きい順番に並び替えて、ファイルkadai07.datへ出力するプログラムkadai07.c を作成せよ。 
#  寒暖の差: 最高の最高気温? 最低の最低気温 
#  

'寒暖の差が大きい順番に並び替えて、ファイルkadai07.datへ出力する' :-
        '寒暖の差が大きい順番に並び替えて、'(_差が大きい順寒暖の差ならび),
        'ファイルkadai07.datへ出力する'(_差が大きい順寒暖の差ならび).

'40年間気温情報ならび'(_40年間気温情報ならび) :-
        get_split_lines('気温データ',[' '],_40年間気温情報ならび).

'寒暖の差が大きい順番に並び替えて、'(_差が大きい順寒暖の差ならび) :-
        '40年間気温情報ならび'(_40年間気温情報ならび),
        '寒暖の差ならび'(_40年間気温情報ならび,_寒暖の差ならび),
        sort(_寒暖の差ならび,_差が小さい順寒暖の差ならび),
        reverse(_差が小さい順寒暖の差ならび,_差が大きい順寒暖の差ならび).

'寒暖の差ならび'(_40年間気温情報ならび,_寒暖の差ならび) :-
        findall([_年温度差,_年度],(
                    append(_,[_年気温情報ならび|_],_40年間気温情報ならび),
                    寒暖の差(_年気温情報ならび,_年度,_年温度差)),
                _寒暖の差ならび).

寒暖の差(_年気温情報ならび,_年度,_年温度差) :-
        nth1(1,_年気温情報ならび,_年度),
        nth1(4,_年気温情報ならび,_年最高気温),
        nth1(11,_年気温情報ならび,_年最低気温),
        _年温度差 is _年最高気温 - _年最低気温.

'ファイルkadai07.datへ出力する'(_差が大きい順寒暖の差ならび) :-
        tell('kadai07.dat'),
        append(_,[[_寒暖差,_年度]|R],_差が大きい順寒暖の差ならび),
        writef('%t %t\n',[_年度,_寒暖差]),
        R = [],
        told.