このディレクトリの索引

# 出典 :: Rubyの宿題教えてください。2限目 #745 # # [1] 授業単元:プログラミング初歩 # # [2] 問題文(含コード&リンク): # # ・文字列を,a ならば z,b ならば y,c ならば x のように,小文字も大文字もアルファベットの逆順の出現文字に置き換えるプログラムを作りなさい. # ・文字列が与えられたとき,アルファベットを大文字,小文字を区別せずに出現頻度順に小文字で並べた文字列を返すプログラムを作りなさい. # '文字列を,a ならば z,b ならば y,c ならば x のように,小文字も大文字もアルファベットの逆順の出現文字に置き換える'(_文字列,_アルファベットの逆順に変換された文字列) :- atom_chars(_文字列,_文字ならび), アルファベット逆順変換(_文字ならび,_アルファベットの逆順に変換された文字ならび), atom_chars(_アルファベットの逆順に変換された文字列,_アルファベットの逆順に変換された文字ならび). アルファベット逆順変換([],[]). アルファベット逆順変換(L1,L2) :- 一文字ずつアルファベット逆順変換をして行く(L1,L2). 一文字ずつアルファベット逆順変換をして行く([A|R1],[B|R2]) :- 逆順アルファベット探索(A,B), アルファベット逆順変換(R1,R2). 逆順アルファベット探索(A,B) :- 逆順アルファベット探索(abcdefghijklmnopqrstuvwxyz,'ABCDEFGHIJKLMNOPQRSTUVWXYZ',A,B). 逆順アルファベット探索(_小文字アルファベット文字列,_大きい文字アルファベット文字列,A,B) :- 'Aが小文字アルファベットならば'(_小文字アルファベット文字列,A,B). 逆順アルファベット探索(_小文字アルファベット文字列,_大きい文字アルファベット文字列,A,B) :- 'Aが大文字アルファベットならば'(_大きい文字アルファベット文字列,A,B). 'Aが小文字アルファベットならば'(_小文字アルファベット文字列,A,B) :- sub_atom(_小文字アルファベット文字列,S,1,R,A), sub_atom(_小文字アルファベット文字列,R,1,S,B). 'Aが大文字アルファベットならば'(_大きい文字アルファベット文字列,A,B) :- sub_atom(_大文字アルファベット文字列,S,1,R,A), sub_atom(_大文字アルファベット文字列,R,1,S,B).