- 194 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 07:05:19 ]
- >>193 (>>189)
% Prolog また、改行ミスがあった。 'output_b.txtを読み込み、ある誕生日を入力したときに、その学生の学籍番号、氏名、誕生月、誕生日を二分探索法により出力する'(_誕生_月,_誕生_日) :- get_split_lines('output_b.txt',[' ',月,日],LL), 二分探索法(LL,_誕生_月,_誕生_日,[_学籍番号,_氏名,_誕生_月,_誕生_日]), write_formatted('%t %t %t %t月%t日\n',[_学籍番号,_誕生_月,_誕生_日]). 二分探索法(LL,_誕生_月,_誕生_年,[_学籍番号,_氏名,_誕生_月,_誕生_日]) :- '1-3月を13-15月に修正'(_誕生_月,_誕生月_0), length(LL,Len), Len0 is Len // 2, append(L0,[[_学籍番号_1,_氏名_1,_誕生_月_1,_誕生_日_1|L1],LL), length(L0,Len0), '1-3月を13-15月に修正'(_誕生_月_1,_誕生月_10), 二分探索法(L0,L,L1,_誕生_月_0,_誕生_日,_誕生_月_10,_誕生_日_1,[_学籍番号,_氏名,_誕生_月,_誕生_日]). 二分探索法(L0,L,L1,_誕生_月,_誕生_日,_誕生_月,_誕生_日,L) :- !. 二分探索法(L0,L,L1,_誕生_月_0,_誕生_日,_誕生_月_10,_誕生_日_1,[_学籍番号,_氏名,_誕生_月,_誕生_日]) :- [_誕生_月_0,_誕生_日] @> [_誕生_月_10,_誕生_日_1],!, 二分探索法(L0,_誕生_月,_誕生_年,[_学籍番号,_氏名,_誕生_月,_誕生_日]). 二分探索法(L0,L,L1,_誕生_月_0,_誕生_日,_誕生_月_10,_誕生_日_1,[_学籍番号,_氏名,_誕生_月,_誕生_日]) :- [_誕生_月_0,_誕生_日] @< [_誕生_月_10,_誕生_日_1],!, 二分探索法(L1,_誕生_月,_誕生_年,[_学籍番号,_氏名,_誕生_月,_誕生_日]).
|

|