このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1320365280/114
#  [1] 授業単元: c言語 
#  [2] 問題文 
#  main関数の中で char cs[] [6] = {"Turbo","NA","DOHC"}; 
#  と配列cs が設定されている 文字列を逆順にし大文字の英字を小文字に変換させ表示させるプログラム 
#  例st[0] ==>" obrut のような感じで 
#  

cs(['Turbo','NA','DOHC']).

'csに設定されたならびの中の文字列を逆順にし大文字の英字を小文字に変換させ表示させる' :-
        cs(_文字列ならび),
        append(L0,[_文字列|R],_文字列ならび),
        文字列を逆順にし大文字の英字を小文字に変換させる(_文字列,_変換された文字列),
        表示させる(_文字列,_変換された文字列),
        R = [].

文字列を逆順にし大文字の英字を小文字に変換させる(_文字列,_変換された文字列) :-
        atom_chars(_文字列,_文字ならび),
        文字ならびを逆順にし大文字の英字を小文字に変換させる(_文字ならび,[],_変換された文字ならび),
        atom_chars(_変換された文字列,_変換された文字ならび).

文字ならびを逆順にし大文字の英字を小文字に変換させる(_文字ならび,_変換された文字ならび,_変換された文字ならび) :- !.
文字ならびを逆順にし大文字の英字を小文字に変換させる([_文字|R],_変換された文字ならび_1,_変換された文字ならび) :-
        大文字の英字を小文字に変換する(_文字,_変換された文字),
        to_lower(_文字,_変換された文字),
        文字ならびを逆順にし大文字の英字を小文字に変換させる(R,[_変換された文字|_変換された文字ならび_1],_変換された文字ならび),!.

表示させる(L0,_変換された文字列) :-
        length(L0,_csでの位置),
        writef('cs[%t]==>%t\n',[_csでの位置,_変換された文字列]).