このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1309076891/620
#  【 課題 】(源列を入力すると16進数が表示されるプログラム 
#        (例)I have a dream と入力するとI have a dreamが16進数で出力される。 
#        16進数を入力すると文字列が表示されるプログラム(,竜侫弌璽献腑) 
#  【 形態 】Javaアプリケーション(main()で開始) 
#  【 GUI  】SWT  
#  【 期限 】12/20 まで 
#  【 Ver  】1.6.0_24  
#  【 補足 】プログラム中でどのような操作がされているか 
#        コメントをつけてくださると嬉しいです。 
#             よろしくお願いします。  
# 
# 

'文字列を入力すると16進数が表示される' :-
        write('文字列を入力して下さい : '),
        get_line(_文字列),
        '文字列を16進数表記ならびに変換する'(_文字列,_16進数表記ならび),
        表示される(_16進数表記ならび).

'文字列を16進数表記ならびに変換する'(_文字列,_16進数表記ならび) :-
        atom_codes(_文字列,Codes),
        文字コードを16進数に変換(Codes,_16進数表記ならび),

文字コードを16進数に変換([],_16進数表記ならび,_16進数表記ならび).
文字コードを16進数に変換([Code|R1],R2,_16進数表記ならび) :-
        Code < 256,
        文字コードを16進文字表記に変換(Code,_16進数文字表記),
        文字コードを16進数に変換([Code|R1],[_16進数文字表記|R2],_16進数表記ならび).
文字コードを16進数に変換([Code|R1],R2,_16進数表記ならび) :-
        Code >= 256,
        Code1 is Code // 256,
        Code2 is Code mod 256,
        文字コードを16進数に変換([Code1,Code2|R1],R2,_16進数表記ならび).

文字コードを16進文字表記に変換(Code,_16進数文字表記) :-
        Code1 is Code // 16,
        Code2 is Code mod 16,
        '10進数16進文字表記'(Code1,CodeA),
        '10進数16進文字表記'(Code2,CodeB),
        atom_concat(CodeA,CodeB,_16進数文字表記).

'10進数16進文字表記'(0,'0').
'10進数16進文字表記'(1,'1').
'10進数16進文字表記'(2,'2').
'10進数16進文字表記'(3,'3').
'10進数16進文字表記'(4,'4').
'10進数16進文字表記'(5,'5').
'10進数16進文字表記'(6,'6').
'10進数16進文字表記'(7,'7').
'10進数16進文字表記'(8,'8').
'10進数16進文字表記'(9,'9').
'10進数16進文字表記'(10,'A').
'10進数16進文字表記'(11,'B').
'10進数16進文字表記'(12,'C').
'10進数16進文字表記'(13,'D').
'10進数16進文字表記'(14,'E').
'10進数16進文字表記'(15,'F').

表示される(_16進数表記ならび) :-
        concat_atom(_16進数表記ならび,_表示文字列),
        writef('%t\n',[_表示文字列]).