いろんな言語で宿題 第五編at TECH
いろんな言語で宿題 第五編 - 暇つぶし2ch191:デフォルトの名無しさん
10/07/02 06:10:53
>>189
% Prolog 問題B 問題B.1

_学籍番号+_氏名+_誕生_月+_誕生_日 :-
    open('data_b.txt',append,Output),
    write_formatted(Output,'%t %t %t %t\n',[_学籍番号,_氏名,_誕生_月,_誕生_日]),
    close(Output).

'data_b.txtを読み込み、4月1日を年初めとして、誕生日の早いもの順にソートし、その結果を「output_b.txt」ファイルに出力する' :-
    get_split_lines([' '],'data_b.txt',LL),
    鍵項目の付加(LL,LL2),
    整列(LL2,LL3),
    鍵項目を除去しながら出力する(LL3).

鍵項目の付加([],[]) :- !.
鍵項目の付加([[_学籍番号,_氏名,_誕生_月,_誕生_日]|R1],[_誕生_月_2,_誕生_日,_学籍番号,_氏名,_誕生_月,_誕生_日]|R2]) :-
    '1-3月を13-15月に修正'(_誕生_月,_誕生月_2),
    鍵項目の付加(R1,R2).

'1-3月を13-15月に修正'(_誕生_月,_誕生月_2) :- _誕生_月 >= 1,_誕生_月 =< 3,_誕生_月_2 is _誕生_月 + 12,!.
'1-3月を13-15月に修正'(_誕生_月,_誕生月).

鍵項目を除去しながら出力する([]) :- !.
鍵項目を除去しながら出力する([[_,_|L]|R]) :-
    open('out_b.txt',append,Output),
    write_formatted(Output,'%t %t %t月 %t日\n',L),
    close(Output),
    鍵項目を除去しながら出力する(R).



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