このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/775
#  1] 授業単元: プログラミング 
#  [2] 問題文(含コード&リンク):以下の実行例のように,標準入力からgetchar 関数 
#  を使って文字を次々と読み込み,Ctrl-d などで入力が 
#  終了するまでに入力された行数(改行の数)を表示する 
#  プログラムを作成せよ 
#   
#  実行例 
#  Hello! 
#  I’m Taro KOUKA. 
#  I was born in Tokyo in 1991. 
#  <--(Ctrl-d で入力終了) 
#  行数: 3 
#   
#  

'標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を表示する' :-
        標準入力から文字を読み込み(_文字),
        '標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'(_文字,0,0,_行数),
        入力された行数(改行の数)を表示する'(_行数).

'標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'(end_of_file,0,_行数,_行数) :- !.
'標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'(end_of_file,_行頭からの文字数,_行数_1,_行数) :-
        _行頭からの文字数 > 0,
        _行数 is _行数_1 + 1,!.        
'標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'('\n',_,_行数_1,_行数) :-
        _行数_2 is _行数_1 + 1,
        標準入力から文字を読み込み(_文字_2),
        '標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'(_文字_2,0,_行数_2,_行数),!.
'標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'(_文字,_行頭からの文字数,_行数_1,_行数) :-
        _行頭からの文字数_2 is _行頭からの文字数_1 + 1,
        標準入力から文字を読み込み(_文字_2),
        '標準入力からgetchar 関数を使って文字を次々と読み込み,Ctrl-d などで入力が終了するまでに入力された行数(改行の数)を'(_文字_2,_行頭からの文字数_2,_行数_1,_行数).

'入力された行数(改行の数)を表示する'(_行数) :-
        writef('行数: %t\n',[_行数]).