このディレクトリの索引 http://pc12.2ch.net/test/read.cgi/tech/1258158172/368 # [1] 授業単元: プログラミング実習 # [2] 問題文(含コード&リンク): # http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10180.txt # # 〜課題4〜 # 文字型配列 str='ABCDEFG'が初期設定されている。このstrのデータを英大文字から、英小文字に変換しなさい。 # str('ABCDEFG'). %%%%%%% 普通は以下の定義で済ます%%%%%%%%%%%% 英大文字から、英小文字に変換 :- str(Str1), to_lower(Str1,Str2), write_formatted('%t',[Str2]). &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 英大文字から、英小文字に変換 :- str(Str1), atom_codes(Str1,Codes1), findall(C,(member(A,Codes),C is A - 32),Codes2), atom_codes(Str2,Codes2), write_formatted('%t',[Str2]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 英大文字から、英小文字に変換 :- str(Str1), atom_codes(Str1,Codes1), 英大文字から、英小文字に変換(Codes1,Codes2), atom_codes(Str2,Codes2), write_formatted('%t',[Str2]). 英大文字から、英小文字に変換([],[]). 英大文字から、英小文字に変換([C1|R1],[C2|R2]) :- C2 is C1-32,英大文字から、英小文字に変換(R1,R2)