このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/555
#  {1] 授業単元:プログラミング演習  
#  [2] 問題文:  
#  文字型配列moji[3][10]={"coffee","black tea","green tea"};で初期化し、 
#  整数型変数aが入力された場合には「coffee」、1が入力された場合には「black tea」、 
#  2が入力された場合には「green tea」が出力されるプログラムを作成しなさい。 
#  <入力例>0 : coffee  1 : black tea  2 : green tea?  0 
#  <出力例>coffee 
#  

'文字型配列moji[3][10]={"coffee","black tea","green tea"};で初期化し'(LL) :-
        length(LL,3),
        findall(L,(
                    member(_文字列,[coffee,'black tea','green tea']),
                    atom_chars(_文字列,Chars),
                    length(L,10),
                    append(Chars,_,L)),
               LL).

'整数型変数aに0が入力された場合には「coffee」、1が入力された場合には「black tea」、2が入力された場合には「green tea」が出力される'(_a) :-
        '文字型配列moji[3][10]={"coffee","black tea","green tea"};で初期化し'(LL),
        '整数型変数aに0が入力された場合には「coffee」、1が入力された場合には「black tea」、2が入力された場合には「green tea」が出力される'(_a,LL).

'整数型変数aに0が入力された場合には「coffee」、1が入力された場合には「black tea」、2が入力された場合には「green tea」が出力される'(_a,LL) :-
        length(Ln,_a),
        append(Ln,[L|_],LL),
        実データ部を切り取る(L,Chars),
        atom_chars(_文字列,Chars),
        writef('%t\n',[_文字列]).

実データ部を切り取る([],[]).
実データ部を切り取る([V|_],[]) :-
        var(V),!.
実データ部を切り取る([A|R1],[A|R2]) :-
        実データ部を切り取る(R1,R2).