このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/945
#  [1] 授業単元:C  
#  [2] 問題文(含コード&リンク):  
#  strcmp()を利用し、input.txtを読み込み、キーボードから英単語を1つ入力し、その単語が、input.txtに何個含まれるかを出力するプログラムを作成しなさい。  
#  

'input.txtを読み込み、キーボードから英単語を1つ入力し、その単語が、input.txtに何個含まれるかを出力する' :-
        'input.txtを読み込み'(LL),
        キーボードから英単語を1つ入力し(_英単語),
        英単語から何個含まれるか(LL,_英単語,_何個),
        writef('英単語%tはinput.txtに%t個含まれる\n',[_英単語,_何個]).
        
'input.txtを読み込み'(LL) :-
       see('input.txt'),
       readln(X,_終了状態),
       'input.txtを読み込み'(X,_終了状態,LL),
       seen.

'input.txtを読み込み'(_,end_of_file,[]) :- !.
'input.txtを読み込み'(L,_,[L|R]) :-
       readln(L2,_終了状態2),
       'input.txtを読み込み'(L2,_終了状態2,R).

キーボードから英単語を1つ入力し(_英単語) :-
       get_line(_英単語),!.

英単語から何個含まれるか(LL,_英単語,_何個) :-
        flatten(LL,L),
        count(member(_英単語,L),_何個).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

count(P,N) :-
        findsum(1,P,F),
        N is truncate(F).

findsum(_選択項,_項,_合計値) :-
        findall(_選択項,_項,_値ならび),
        sum(_値ならび,_合計値),!.

sum([],0) :- !.
sum([N|R],X) :-
        sum(R,Y),
        X is N + Y.


% split/3の定義