このディレクトリの索引

# 出典 :: Rubyの宿題教えてください。2限目 #745 # # [1] 授業単元:プログラミング初歩 # # [2] 問題文(含コード&リンク): # # ・文字列を,a ならば z,b ならば y,c ならば x のように,小文字も大文字もアルファベットの逆順の出現文字に置き換えるプログラムを作りなさい. # ・文字列が与えられたとき,アルファベットを大文字,小文字を区別せずに出現頻度順に小文字で並べた文字列を返すプログラムを作りなさい. # '文字列を,a ならば z,b ならば y,c ならば x のように,小文字も大文字もアルファベットの逆順の出現文字に置き換える'(_文字列,_アルファベットの逆順に変換された文字列) :- atom_chars(_文字列,_文字ならび), アルファベット逆順変換(_文字ならび,_アルファベットの逆順に変換された文字ならび), atom_chars(_アルファベットの逆順に変換された文字列,_アルファベットの逆順に変換された文字ならび). アルファベット逆順変換([],[]). アルファベット逆順変換([A|R1],[B|R2]) :- 逆順アルファベット探索(A,B), アルファベット逆順変換(R1,R2). 逆順アルファベット探索(A,B) :- アルファベットと逆順アルファベット(_,L1,L2), append(L0,[A|_],L1), length(L0,Len), length(L3,Len), append(L3,[B|_],L2). アルファベットと逆順アルファベット(小文字,[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z],[z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a]). アルファベットと逆順アルファベット(大文字,['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'], ['Z','Y','X','W','V','U','T','S','R','Q','P','O','N','M','L','K','J','I','H','G','F','E','D','C','B','A']).