- 176 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 11:24:56 ]
- >>200
% Prolog 学校のホームページに載っている休講情報に接続して、それから先生の名前と日にちだけ取り出す(URL,_休講情報ならび) :- w3c(URL,Lines), 先生の名前と日にちだけ取り出す(Lines,_休講情報ならび),!. 先生の名前と日にちだけ取り出す(Lines,_休講情報ならび) :- append(L0,[A|R1],Lines), sub_atom(A,_,2,_,先生), 月日を取り出す(L0,_月,_日), ある日の休講情報ならびを得る([A|R1],_月,_日,_ある日の休講となる情報ならび,_残りならび), 先生の名前と日にちだけ取り出す(_残りならび,R), append(_ある日の休講となる情報ならび,_休講情報ならび),!. 先生の名前と日にちだけ取り出す(_,[]) :- !. 月日を取り出す(Lines,_月,_日) :- append(_,[A|_],Lines),sub_atom(A,S,1,_,月),sub_atom(A,0,S,_,_月), append(_,[B|_],Lines),sub_atom(A,S,1,_,日),sub_atom(B,0,S,_,_日),!. ある日の休講情報ならびを得る([],_,_,[],[]) :- !. ある日の休講情報ならびを得る(['\n'|R],_,_,[],R) :- !. ある日の休講情報ならびを得る([A|R1],_月,_日,[[_氏名,_月,_日]|R2],_残りならび) :- sub_atom(A,_,2,_,先生), split(A,[' '],[_姓,_名,先生]), concat_atom([_姓,_名],_氏名), ある日の休講情報ならびを得る(R1,_月,_日,R2,_残りならび).
|

|