このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1349527750/161
#  [1] 授業単元:プログラミング言語  
#  [2] 問題文  
#     1.空白、タブ、改行を数えるプログラムを書け。 
#     2.二つ以上の空白を一つの空白に置き換えながら、入力を出力にコピーするプログラムを書け。 
#  

'空白、タブ、改行を数える'(_文字列,_空白数,_タブ数,_改行数) :-
        空白を数える(_文字列,_空白数),
        タブを数える(_文字列,_タブ数),
        改行を数える(_文字列,_改行数).

空白を数える(_文字列,_空白数) :-
        count(sub_atom(_文字列,_,1,_,' '),_空白数).

空白を数える(_文字列,_タブ数) :-
        count(sub_atom(_文字列,_,1,_,'\t'),_タブ数).

改行を数える(_文字列,_改行数) :-
        count(sub_atom(_文字列,_,1,_,'\n'),_改行数).