このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1320365280/605
#  【質問テンプレ】 
#  [1] 授業単元:アルゴリズム 
#  [2] 問題文(含コード&リンク):標準入力から文字型の配列str[3][20]に3つの文字列を入力し入力した順番に標準出力する。 
#  

'標準入力から3つの文字列を入力し、入力した順番に標準出力する' :-
        '標準入力から3つの文字列を入力し、入力した順番に標準出力する'(L,_),
        writef('%t\n%t\n%t\n',L).         

'標準入力から3つの文字列を入力し、入力した順番に標準出力する'(L,R) :-
        '標準入力から文字型の配列str[3][20]に3つの文字列を入力し、入力した順番に標準出力する'([],L,R).

'標準入力から3つの文字列を入力し、入力した順番に標準出力する'(L1,L,R) :-
        length(L,3),
        append(L,R,L1),!.
'標準入力から3つの文字列を入力し、入力した順番に標準出力する'(L1,L) :-
        readln(L),
        append(L1,L,L2),
        '標準入力から3つの文字列を入力し、入力した順番に標準出力する'(L2,L).

%  
%  readln/1の典型的な使い方。
%  標準入力から一行あたり、一つの文字列の入力は勿論、カンマまたは空白区切りで
%  複数文字列を入力することも可能。
%  文字列が3文字列以上になると先頭から3文字列だけ取得する。
%  4文字列以上取得しながら、それを捨ててしまうことは普通しない。
%  '標準入力から3つの文字列を入力し、入力した順番に標準出力する'と云う述語は
%  /0/2/3引数と用意されているが、普通は2引数のものを利用する。
%  これだとRから4文字列以後のものを利用できる。
%