このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1276873238/611
#  問題 
#  与えられた文字列の奇数番目を大文字に偶数番目を小文字にせよ。 
#  例 
#  Hello => HeLlO 
#  end => EnD 
# 
# 

'与えられた文字列の奇数番目を大文字に偶数番目を小文字にせよ。'(_与えられた文字列,_奇数番目を大文字に偶数番目を小文字にした文字列) :-
        findall(_変換した文字,(
                    sub_atom(_文字列,_0起点位置,1,_,_文字),
                    奇数番目を大文字に偶数番目を小文字に(_0起点位置,_文字,_変換した文字)),
                _奇数番目を大文字に偶数番目を小文字にした文字ならび),
        atom_chars(_奇数番目を大文字に偶数番目を小文字にした文字列,_奇数番目を大文字に偶数番目を小文字にした文字ならび).

奇数番目を大文字に偶数番目を小文字に(_0起点位置,_文字,_小文字) :-
        奇数番目を(_0起点位置),
        小文字に(_文字,_小文字).
奇数番目を大文字に偶数番目を小文字に(_0起点位置,_文字,_大文字) :-
        偶数番目を(_0起点位置),
        大文字に(_文字,_大文字).

奇数番目を(_0起点位置) :-
        1 is (_0起点位置 + 1) mod 2.

偶数番目を(_0起点位置) :-
        0 is (_0起点位置 + 1) mod 0.

小文字に(_文字,_小文字) :-
        to_lower(_文字,_小文字).

大文字に(_文字,_大文字) :-
        to_upper(_文字,_大文字).