いろんな言語で宿題 第五編at TECH
いろんな言語で宿題 第五編 - 暇つぶし2ch175:デフォルトの名無しさん
10/07/01 09:00:30
>>170
% Prolog (その一) 整列と併合を除く外殻だけ。
オンメモリ整列限界数(1000).

ファイルに保存された会員情報を指定された項目をキーとしてソートする(_対象ファイル,_鍵項目番号,_ソート方法) :-
    オンメモリ整列限界数(_オンメモリ整列限界数),
    open(_対象ファイル,read,Input),
    ふたつの仮ファイルの取得と交互からくり生成,
    入力出力ファイルを交互しながらの繰り返し(_,_仮出力ファイル,InputT,OutputT),
    対象ファイルから読み込む(Input,_オンメモリ整列限界数,Lines,_診断),
    鍵・昇降順・指定整列(Lines,_鍵項目番号,_ソート方法,_整列されたLines),
    鍵項目番号とソート方法をしてファイル併合(_整列されたLines,_鍵項目番号,_ソート方法,InputT,OutputT),
    _診断 = end_of_file,close(Input),
    仮出力ファイルの内容を整理しながら標準出力に表示する(_仮出力ファイル,_鍵項目番号).

入力出力ファイルを交互しながらの繰り返し(_仮ファイルA,_仮ファイルB,InputT,OutputT) :-
    仮ファイルからくり(_仮ファイルA,_仮ファイルB),
    open(_仮ファイルA,read,InputT),
    open(_仮ファイルB,write,OutputT).

仮ファイルからくり(X) :- 仮ファイルからくり(X).

ふたつの仮ファイルの取得と交互からくり生成 :-
    tmpnam(_仮ファイル1),open(_仮ファイル1,write,Output1),close(Output1),
    tmpnam(_仮ファイル2),opne(_仮ファイル2,write,Output2),close(Output2),
    asserta(仮ファイルからくり(_仮ファイル2,_仮ファイル1)),
    asserta(仮ファイルからくり(_仮ファイル1,_仮ファイル2)).



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch