このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1357748713/586
#  [1] 授業単元: プログラミングC 
#  [2] 問題文(含コード&リンク): 
#  キーボードから半角英数で文字列を入力し、英字については大文字を小文字に、小文字を大文字にするプログラムを作成せよ。 
#   
#  実行例 文字列入力 :AbCdEfG123 
#      変換文字列 :aBcDeFg123 
#  

'キーボードから半角英数で文字列を入力し、英字については大文字を小文字に、小文字を大文字にする' :-
        rawmode,
        'キーボードから半角英数で文字列を入力し、英字については大文字を小文字に、小文字を大文字にする',
        norawmode.

'キーボードから半角英数で文字列を入力し、英字については大文字を小文字に、小文字を大文字にする' :-
        repeat,
        get_char(_文字),
        文字を変換して(_文字,_変換された文字),
        表示する(_変換された文字),
        _文字 = '\n'.

文字を変換して('\n','\n') :- !.
文字を変換して(_文字,_変換された文字) :-
        大文字(_文字),
        大文字小文字変換(_文字,_変換された文字).
文字を変換して(_文字,_変換された文字) :-
        小文字(_文字),
        大文字小文字変換(_変換された文字,_文字).

大文字小文字変換('A',a) :- !.
大文字小文字変換('B',b) :- !.
大文字小文字変換('C',c) :- !.
大文字小文字変換('D',d) :- !.
大文字小文字変換('E',e) :- !.
大文字小文字変換('F',f) :- !.
大文字小文字変換('G',g) :- !.
大文字小文字変換('H',h) :- !.
大文字小文字変換('I',i) :- !.
大文字小文字変換('J',j) :- !.
大文字小文字変換('K',k) :- !.
大文字小文字変換('L',l) :- !.
大文字小文字変換('M',m) :- !.
大文字小文字変換('N',n) :- !.
大文字小文字変換('O',o) :- !.
大文字小文字変換('P',p) :- !.
大文字小文字変換('Q',q) :- !.
大文字小文字変換('R',r) :- !.
大文字小文字変換('S',s) :- !.
大文字小文字変換('T',t) :- !.
大文字小文字変換('U',u) :- !.
大文字小文字変換('V',v) :- !.
大文字小文字変換('W',w) :- !.
大文字小文字変換('X',x) :- !.
大文字小文字変換('Y',y) :- !.
大文字小文字変換('Z',z) :- !.

大文字(_文字) :-
        _文字 @>= 'A',
        _文字 @=< 'Z'.

小文字(_文字) :-
        _文字 @>= 'a',
        _文字 @=< 'z'.

表示する('\n') :- !.
表示する(_変換された文字) :-
        writef('%t',[_変換された文字]).