このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1289913298/7
#  [1] 授業単元:プログラミング 
#  [2] 問題文 
#  ・キーボードから入力した文字列をすべて大文字(小文字は大文字に、大文字はそのままに)に変換して表示するプログラムを作成しなさい。 
#  ただし、文字を大文字に変換する関数を作成し、それを利用すること。 
#  

'キーボードから入力した文字列をすべて大文字(小文字は大文字に、大文字はそのままに)に変換して表示する' :-
キーボードから入力した文字列を(_文字コードならび),
すべて大文字に変換して(_文字コードならび,_大文字に変換された文字コードならび),
表示する(_大文字に変換された文字コードならび).

キーボードから入力した文字列を(_文字コードならび) :-
write('文字列を入力してください : '),
read_line_to_codes(user_input,_文字コードならび).

すべて大文字に変換して([],[]).
すべて大文字に変換して(L1,L2) :-
小文字場合は大文字に変換する(L1,L2).

小文字場合は大文字に変換する([_文字コード|R1],[_変換されたコード|R2]) :-
小文字の場合は大文字に変換して(_文字コード,_変換されたコード),
すべて大文字に変換して(R1,R2).

小文字の場合は大文字に変換して(_文字コード,_変換されたコード) :-
小文字の場合は(_文字コード),
大文字に変換して(_文字コード,_変換されたコード).
小文字の場合は大文字に変換して(_文字コード,_文字コード) :-
小文字でない場合は変換せずに(_文字コード).

小文字の場合は(_文字コード) :-
between(97,121,_文字コード).

大文字に変換して(_文字コード,_変換されたコード) :-
_大文字コード is _文字コード - 32.

小文字でない場合は変換せずに(_文字コード) :-
\+(小文字の場合は(_文字コード)).

表示する(_大文字に変換された文字コードならび) :-
atom_codes(_文字列,_大文字に変換された文字コードならび),
writef('%w\n',[_文字列]).