このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1354070278/439
#  [1] プログラム演習  
#  [2] 入力した文字列をASCIIコードに応じた2進数に変換するプログラムを作成せよ。 
#  (注釈:百文字程度の変換を行えるようにすること) 
#  例:abc→011000010110001001100011 
#  また、2進数から文字列に戻す変換を行うプログラムも作成せよ。 
#  例:011000010110001001100011→abc 
#  

'入力した文字列をASCIIコードに応じた2進数に変換する' :-
        入力した文字列を(_入力したASCIIコードならび),
        'ASCIIコードならび2進数ビットならび変換'(_入力したASCIIコードならび,_2進数ビットならび),
        atomic_list_concat(_2進数ビットならび,_2進数列),
        writef('%t\n',[_2進数列]).

'2進数から文字列に戻す変換'(_2進数ビットならび,_ASCIIコードならび) :-
        入力した2進数列(_入力した2進数列),
        入力したASCIIコードを2進数ビットならびに変換(_入力したASCIIコードならび,_2進数ビットならび),
        'ASCIIコードならび2進数ビットならび変換'(_ASCIIコードならび,_2進数ビットならび),
        atom_codes(_ASCII文字列,_ASCIIコードならび),
        writef('%t\n',[_ASCII文字列]).

入力した文字列を(_入力したASCIIコードならび) :-
        read_line_to_codes(_入力したASCIIコードならび).

入力した2進数列(_入力した2進数列) :-
        read_line_to_codes(_入力した2進数列).

'ASCIIコードならび2進数ビットならび変換'([],[]).
'ASCIIコードならび2進数ビットならび変換'([_文字コード|R1],[_b1,_b2,_b3,_b4,_b5,_b6,_b7,_b8|R2]) :-
        'ASCIIコード2進数表'(_ASCIIコード,[_b1,_b2,_b3,_b4,_b5,_b6,_b7,_b8]),
        'ASCIIコードならび2進数ビットならび変換'(R1,R2).

'ASCIIコード2進数'(0,[0,0,0,0,0,0,0,0]).
'ASCIIコード2進数'(1,[0,0,0,0,0,0,0,1]).
'ASCIIコード2進数'(2,[0,0,0,0,0,0,1,0]).
'ASCIIコード2進数'(3,[0,0,0,0,0,0,1,1]).
'ASCIIコード2進数'(4,[0,0,0,0,0,1,0,0]).
'ASCIIコード2進数'(5,[0,0,0,0,0,1,0,1]).
'ASCIIコード2進数'(6,[0,0,0,0,0,1,1,0]).
'ASCIIコード2進数'(7,[0,0,0,0,0,1,1,1]).
'ASCIIコード2進数'(8,[0,0,0,0,1,0,0,0]).
'ASCIIコード2進数'(9,[0,0,0,0,1,0,0,1]).
'ASCIIコード2進数'(10,[0,0,0,0,1,0,1,0]).
'ASCIIコード2進数'(11,[0,0,0,0,1,0,1,1]).
'ASCIIコード2進数'(12,[0,0,0,0,1,1,0,0]).
'ASCIIコード2進数'(13,[0,0,0,0,1,1,0,1]).
'ASCIIコード2進数'(14,[0,0,0,0,1,1,1,0]).
'ASCIIコード2進数'(15,[0,0,0,0,1,1,1,1]).
'ASCIIコード2進数'(16,[0,0,0,1,0,0,0,0]).
'ASCIIコード2進数'(17,[0,0,0,1,0,0,0,1]).
'ASCIIコード2進数'(18,[0,0,0,1,0,0,1,0]).
'ASCIIコード2進数'(19,[0,0,0,1,0,0,1,1]).
'ASCIIコード2進数'(20,[0,0,0,1,0,1,0,0]).
'ASCIIコード2進数'(21,[0,0,0,1,0,1,0,1]).
'ASCIIコード2進数'(22,[0,0,0,1,0,1,1,0]).
'ASCIIコード2進数'(23,[0,0,0,1,0,1,1,1]).
'ASCIIコード2進数'(24,[0,0,0,1,1,0,0,0]).
'ASCIIコード2進数'(25,[0,0,0,1,1,0,0,1]).
'ASCIIコード2進数'(26,[0,0,0,1,1,0,1,0]).
'ASCIIコード2進数'(27,[0,0,0,1,1,0,1,1]).
'ASCIIコード2進数'(28,[0,0,0,1,1,1,0,0]).
'ASCIIコード2進数'(29,[0,0,0,1,1,1,0,1]).
'ASCIIコード2進数'(30,[0,0,0,1,1,1,1,0]).
'ASCIIコード2進数'(31,[0,0,0,1,1,1,1,1]).
'ASCIIコード2進数'(32,[0,0,1,0,0,0,0,0]).
'ASCIIコード2進数'(33,[0,0,1,0,0,0,0,1]).
'ASCIIコード2進数'(34,[0,0,1,0,0,0,1,0]).
'ASCIIコード2進数'(35,[0,0,1,0,0,0,1,1]).
'ASCIIコード2進数'(36,[0,0,1,0,0,1,0,0]).
'ASCIIコード2進数'(37,[0,0,1,0,0,1,0,1]).
'ASCIIコード2進数'(38,[0,0,1,0,0,1,1,0]).
'ASCIIコード2進数'(39,[0,0,1,0,0,1,1,1]).
'ASCIIコード2進数'(40,[0,0,1,0,1,0,0,0]).
'ASCIIコード2進数'(41,[0,0,1,0,1,0,0,1]).
'ASCIIコード2進数'(42,[0,0,1,0,1,0,1,0]).
'ASCIIコード2進数'(43,[0,0,1,0,1,0,1,1]).
'ASCIIコード2進数'(44,[0,0,1,0,1,1,0,0]).
'ASCIIコード2進数'(45,[0,0,1,0,1,1,0,1]).
'ASCIIコード2進数'(46,[0,0,1,0,1,1,1,0]).
'ASCIIコード2進数'(47,[0,0,1,0,1,1,1,1]).
'ASCIIコード2進数'(48,[0,0,1,1,0,0,0,0]).
'ASCIIコード2進数'(49,[0,0,1,1,0,0,0,1]).
'ASCIIコード2進数'(50,[0,0,1,1,0,0,1,0]).
'ASCIIコード2進数'(51,[0,0,1,1,0,0,1,1]).
'ASCIIコード2進数'(52,[0,0,1,1,0,1,0,0]).
'ASCIIコード2進数'(53,[0,0,1,1,0,1,0,1]).
'ASCIIコード2進数'(54,[0,0,1,1,0,1,1,0]).
'ASCIIコード2進数'(55,[0,0,1,1,0,1,1,1]).
'ASCIIコード2進数'(56,[0,0,1,1,1,0,0,0]).
'ASCIIコード2進数'(57,[0,0,1,1,1,0,0,1]).
'ASCIIコード2進数'(58,[0,0,1,1,1,0,1,0]).
'ASCIIコード2進数'(59,[0,0,1,1,1,0,1,1]).
'ASCIIコード2進数'(60,[0,0,1,1,1,1,0,0]).
'ASCIIコード2進数'(61,[0,0,1,1,1,1,0,1]).
'ASCIIコード2進数'(62,[0,0,1,1,1,1,1,0]).
'ASCIIコード2進数'(63,[0,0,1,1,1,1,1,1]).
'ASCIIコード2進数'(64,[0,1,0,0,0,0,0,0]).
'ASCIIコード2進数'(65,[0,1,0,0,0,0,0,1]).
'ASCIIコード2進数'(66,[0,1,0,0,0,0,1,0]).
'ASCIIコード2進数'(67,[0,1,0,0,0,0,1,1]).
'ASCIIコード2進数'(68,[0,1,0,0,0,1,0,0]).
'ASCIIコード2進数'(69,[0,1,0,0,0,1,0,1]).
'ASCIIコード2進数'(70,[0,1,0,0,0,1,1,0]).
'ASCIIコード2進数'(71,[0,1,0,0,0,1,1,1]).
'ASCIIコード2進数'(72,[0,1,0,0,1,0,0,0]).
'ASCIIコード2進数'(73,[0,1,0,0,1,0,0,1]).
'ASCIIコード2進数'(74,[0,1,0,0,1,0,1,0]).
'ASCIIコード2進数'(75,[0,1,0,0,1,0,1,1]).
'ASCIIコード2進数'(76,[0,1,0,0,1,1,0,0]).
'ASCIIコード2進数'(77,[0,1,0,0,1,1,0,1]).
'ASCIIコード2進数'(78,[0,1,0,0,1,1,1,0]).
'ASCIIコード2進数'(79,[0,1,0,0,1,1,1,1]).
'ASCIIコード2進数'(80,[0,1,0,1,0,0,0,0]).
'ASCIIコード2進数'(81,[0,1,0,1,0,0,0,1]).
'ASCIIコード2進数'(82,[0,1,0,1,0,0,1,0]).
'ASCIIコード2進数'(83,[0,1,0,1,0,0,1,1]).
'ASCIIコード2進数'(84,[0,1,0,1,0,1,0,0]).
'ASCIIコード2進数'(85,[0,1,0,1,0,1,0,1]).
'ASCIIコード2進数'(86,[0,1,0,1,0,1,1,0]).
'ASCIIコード2進数'(87,[0,1,0,1,0,1,1,1]).
'ASCIIコード2進数'(88,[0,1,0,1,1,0,0,0]).
'ASCIIコード2進数'(89,[0,1,0,1,1,0,0,1]).
'ASCIIコード2進数'(90,[0,1,0,1,1,0,1,0]).
'ASCIIコード2進数'(91,[0,1,0,1,1,0,1,1]).
'ASCIIコード2進数'(92,[0,1,0,1,1,1,0,0]).
'ASCIIコード2進数'(93,[0,1,0,1,1,1,0,1]).
'ASCIIコード2進数'(94,[0,1,0,1,1,1,1,0]).
'ASCIIコード2進数'(95,[0,1,0,1,1,1,1,1]).
'ASCIIコード2進数'(96,[0,1,1,0,0,0,0,0]).
'ASCIIコード2進数'(97,[0,1,1,0,0,0,0,1]).
'ASCIIコード2進数'(98,[0,1,1,0,0,0,1,0]).
'ASCIIコード2進数'(99,[0,1,1,0,0,0,1,1]).
'ASCIIコード2進数'(100,[0,1,1,0,0,1,0,0]).
'ASCIIコード2進数'(101,[0,1,1,0,0,1,0,1]).
'ASCIIコード2進数'(102,[0,1,1,0,0,1,1,0]).
'ASCIIコード2進数'(103,[0,1,1,0,0,1,1,1]).
'ASCIIコード2進数'(104,[0,1,1,0,1,0,0,0]).
'ASCIIコード2進数'(105,[0,1,1,0,1,0,0,1]).
'ASCIIコード2進数'(106,[0,1,1,0,1,0,1,0]).
'ASCIIコード2進数'(107,[0,1,1,0,1,0,1,1]).
'ASCIIコード2進数'(108,[0,1,1,0,1,1,0,0]).
'ASCIIコード2進数'(109,[0,1,1,0,1,1,0,1]).
'ASCIIコード2進数'(110,[0,1,1,0,1,1,1,0]).
'ASCIIコード2進数'(111,[0,1,1,0,1,1,1,1]).
'ASCIIコード2進数'(112,[0,1,1,1,0,0,0,0]).
'ASCIIコード2進数'(113,[0,1,1,1,0,0,0,1]).
'ASCIIコード2進数'(114,[0,1,1,1,0,0,1,0]).
'ASCIIコード2進数'(115,[0,1,1,1,0,0,1,1]).
'ASCIIコード2進数'(116,[0,1,1,1,0,1,0,0]).
'ASCIIコード2進数'(117,[0,1,1,1,0,1,0,1]).
'ASCIIコード2進数'(118,[0,1,1,1,0,1,1,0]).
'ASCIIコード2進数'(119,[0,1,1,1,0,1,1,1]).
'ASCIIコード2進数'(120,[0,1,1,1,1,0,0,0]).
'ASCIIコード2進数'(121,[0,1,1,1,1,0,0,1]).
'ASCIIコード2進数'(122,[0,1,1,1,1,0,1,0]).
'ASCIIコード2進数'(123,[0,1,1,1,1,0,1,1]).
'ASCIIコード2進数'(124,[0,1,1,1,1,1,0,0]).
'ASCIIコード2進数'(125,[0,1,1,1,1,1,0,1]).
'ASCIIコード2進数'(126,[0,1,1,1,1,1,1,0]).
'ASCIIコード2進数'(127,[0,1,1,1,1,1,1,1]).
'ASCIIコード2進数'(128,[1,0,0,0,0,0,0,0]).
'ASCIIコード2進数'(129,[1,0,0,0,0,0,0,1]).
'ASCIIコード2進数'(130,[1,0,0,0,0,0,1,0]).
'ASCIIコード2進数'(131,[1,0,0,0,0,0,1,1]).
'ASCIIコード2進数'(132,[1,0,0,0,0,1,0,0]).
'ASCIIコード2進数'(133,[1,0,0,0,0,1,0,1]).
'ASCIIコード2進数'(134,[1,0,0,0,0,1,1,0]).
'ASCIIコード2進数'(135,[1,0,0,0,0,1,1,1]).
'ASCIIコード2進数'(136,[1,0,0,0,1,0,0,0]).
'ASCIIコード2進数'(137,[1,0,0,0,1,0,0,1]).
'ASCIIコード2進数'(138,[1,0,0,0,1,0,1,0]).
'ASCIIコード2進数'(139,[1,0,0,0,1,0,1,1]).
'ASCIIコード2進数'(140,[1,0,0,0,1,1,0,0]).
'ASCIIコード2進数'(141,[1,0,0,0,1,1,0,1]).
'ASCIIコード2進数'(142,[1,0,0,0,1,1,1,0]).
'ASCIIコード2進数'(143,[1,0,0,0,1,1,1,1]).
'ASCIIコード2進数'(144,[1,0,0,1,0,0,0,0]).
'ASCIIコード2進数'(145,[1,0,0,1,0,0,0,1]).
'ASCIIコード2進数'(146,[1,0,0,1,0,0,1,0]).
'ASCIIコード2進数'(147,[1,0,0,1,0,0,1,1]).
'ASCIIコード2進数'(148,[1,0,0,1,0,1,0,0]).
'ASCIIコード2進数'(149,[1,0,0,1,0,1,0,1]).
'ASCIIコード2進数'(150,[1,0,0,1,0,1,1,0]).
'ASCIIコード2進数'(151,[1,0,0,1,0,1,1,1]).
'ASCIIコード2進数'(152,[1,0,0,1,1,0,0,0]).
'ASCIIコード2進数'(153,[1,0,0,1,1,0,0,1]).
'ASCIIコード2進数'(154,[1,0,0,1,1,0,1,0]).
'ASCIIコード2進数'(155,[1,0,0,1,1,0,1,1]).
'ASCIIコード2進数'(156,[1,0,0,1,1,1,0,0]).
'ASCIIコード2進数'(157,[1,0,0,1,1,1,0,1]).
'ASCIIコード2進数'(158,[1,0,0,1,1,1,1,0]).
'ASCIIコード2進数'(159,[1,0,0,1,1,1,1,1]).
'ASCIIコード2進数'(160,[1,0,1,0,0,0,0,0]).
'ASCIIコード2進数'(161,[1,0,1,0,0,0,0,1]).
'ASCIIコード2進数'(162,[1,0,1,0,0,0,1,0]).
'ASCIIコード2進数'(163,[1,0,1,0,0,0,1,1]).
'ASCIIコード2進数'(164,[1,0,1,0,0,1,0,0]).
'ASCIIコード2進数'(165,[1,0,1,0,0,1,0,1]).
'ASCIIコード2進数'(166,[1,0,1,0,0,1,1,0]).
'ASCIIコード2進数'(167,[1,0,1,0,0,1,1,1]).
'ASCIIコード2進数'(168,[1,0,1,0,1,0,0,0]).
'ASCIIコード2進数'(169,[1,0,1,0,1,0,0,1]).
'ASCIIコード2進数'(170,[1,0,1,0,1,0,1,0]).
'ASCIIコード2進数'(171,[1,0,1,0,1,0,1,1]).
'ASCIIコード2進数'(172,[1,0,1,0,1,1,0,0]).
'ASCIIコード2進数'(173,[1,0,1,0,1,1,0,1]).
'ASCIIコード2進数'(174,[1,0,1,0,1,1,1,0]).
'ASCIIコード2進数'(175,[1,0,1,0,1,1,1,1]).
'ASCIIコード2進数'(176,[1,0,1,1,0,0,0,0]).
'ASCIIコード2進数'(177,[1,0,1,1,0,0,0,1]).
'ASCIIコード2進数'(178,[1,0,1,1,0,0,1,0]).
'ASCIIコード2進数'(179,[1,0,1,1,0,0,1,1]).
'ASCIIコード2進数'(180,[1,0,1,1,0,1,0,0]).
'ASCIIコード2進数'(181,[1,0,1,1,0,1,0,1]).
'ASCIIコード2進数'(182,[1,0,1,1,0,1,1,0]).
'ASCIIコード2進数'(183,[1,0,1,1,0,1,1,1]).
'ASCIIコード2進数'(184,[1,0,1,1,1,0,0,0]).
'ASCIIコード2進数'(185,[1,0,1,1,1,0,0,1]).
'ASCIIコード2進数'(186,[1,0,1,1,1,0,1,0]).
'ASCIIコード2進数'(187,[1,0,1,1,1,0,1,1]).
'ASCIIコード2進数'(188,[1,0,1,1,1,1,0,0]).
'ASCIIコード2進数'(189,[1,0,1,1,1,1,0,1]).
'ASCIIコード2進数'(190,[1,0,1,1,1,1,1,0]).
'ASCIIコード2進数'(191,[1,0,1,1,1,1,1,1]).
'ASCIIコード2進数'(192,[1,1,0,0,0,0,0,0]).
'ASCIIコード2進数'(193,[1,1,0,0,0,0,0,1]).
'ASCIIコード2進数'(194,[1,1,0,0,0,0,1,0]).
'ASCIIコード2進数'(195,[1,1,0,0,0,0,1,1]).
'ASCIIコード2進数'(196,[1,1,0,0,0,1,0,0]).
'ASCIIコード2進数'(197,[1,1,0,0,0,1,0,1]).
'ASCIIコード2進数'(198,[1,1,0,0,0,1,1,0]).
'ASCIIコード2進数'(199,[1,1,0,0,0,1,1,1]).
'ASCIIコード2進数'(200,[1,1,0,0,1,0,0,0]).
'ASCIIコード2進数'(201,[1,1,0,0,1,0,0,1]).
'ASCIIコード2進数'(202,[1,1,0,0,1,0,1,0]).
'ASCIIコード2進数'(203,[1,1,0,0,1,0,1,1]).
'ASCIIコード2進数'(204,[1,1,0,0,1,1,0,0]).
'ASCIIコード2進数'(205,[1,1,0,0,1,1,0,1]).
'ASCIIコード2進数'(206,[1,1,0,0,1,1,1,0]).
'ASCIIコード2進数'(207,[1,1,0,0,1,1,1,1]).
'ASCIIコード2進数'(208,[1,1,0,1,0,0,0,0]).
'ASCIIコード2進数'(209,[1,1,0,1,0,0,0,1]).
'ASCIIコード2進数'(210,[1,1,0,1,0,0,1,0]).
'ASCIIコード2進数'(211,[1,1,0,1,0,0,1,1]).
'ASCIIコード2進数'(212,[1,1,0,1,0,1,0,0]).
'ASCIIコード2進数'(213,[1,1,0,1,0,1,0,1]).
'ASCIIコード2進数'(214,[1,1,0,1,0,1,1,0]).
'ASCIIコード2進数'(215,[1,1,0,1,0,1,1,1]).
'ASCIIコード2進数'(216,[1,1,0,1,1,0,0,0]).
'ASCIIコード2進数'(217,[1,1,0,1,1,0,0,1]).
'ASCIIコード2進数'(218,[1,1,0,1,1,0,1,0]).
'ASCIIコード2進数'(219,[1,1,0,1,1,0,1,1]).
'ASCIIコード2進数'(220,[1,1,0,1,1,1,0,0]).
'ASCIIコード2進数'(221,[1,1,0,1,1,1,0,1]).
'ASCIIコード2進数'(222,[1,1,0,1,1,1,1,0]).
'ASCIIコード2進数'(223,[1,1,0,1,1,1,1,1]).
'ASCIIコード2進数'(224,[1,1,1,0,0,0,0,0]).
'ASCIIコード2進数'(225,[1,1,1,0,0,0,0,1]).
'ASCIIコード2進数'(226,[1,1,1,0,0,0,1,0]).
'ASCIIコード2進数'(227,[1,1,1,0,0,0,1,1]).
'ASCIIコード2進数'(228,[1,1,1,0,0,1,0,0]).
'ASCIIコード2進数'(229,[1,1,1,0,0,1,0,1]).
'ASCIIコード2進数'(230,[1,1,1,0,0,1,1,0]).
'ASCIIコード2進数'(231,[1,1,1,0,0,1,1,1]).
'ASCIIコード2進数'(232,[1,1,1,0,1,0,0,0]).
'ASCIIコード2進数'(233,[1,1,1,0,1,0,0,1]).
'ASCIIコード2進数'(234,[1,1,1,0,1,0,1,0]).
'ASCIIコード2進数'(235,[1,1,1,0,1,0,1,1]).
'ASCIIコード2進数'(236,[1,1,1,0,1,1,0,0]).
'ASCIIコード2進数'(237,[1,1,1,0,1,1,0,1]).
'ASCIIコード2進数'(238,[1,1,1,0,1,1,1,0]).
'ASCIIコード2進数'(239,[1,1,1,0,1,1,1,1]).
'ASCIIコード2進数'(240,[1,1,1,1,0,0,0,0]).
'ASCIIコード2進数'(241,[1,1,1,1,0,0,0,1]).
'ASCIIコード2進数'(242,[1,1,1,1,0,0,1,0]).
'ASCIIコード2進数'(243,[1,1,1,1,0,0,1,1]).
'ASCIIコード2進数'(244,[1,1,1,1,0,1,0,0]).
'ASCIIコード2進数'(245,[1,1,1,1,0,1,0,1]).
'ASCIIコード2進数'(246,[1,1,1,1,0,1,1,0]).
'ASCIIコード2進数'(247,[1,1,1,1,0,1,1,1]).
'ASCIIコード2進数'(248,[1,1,1,1,1,0,0,0]).
'ASCIIコード2進数'(249,[1,1,1,1,1,0,0,1]).
'ASCIIコード2進数'(250,[1,1,1,1,1,0,1,0]).
'ASCIIコード2進数'(251,[1,1,1,1,1,0,1,1]).
'ASCIIコード2進数'(252,[1,1,1,1,1,1,0,0]).
'ASCIIコード2進数'(253,[1,1,1,1,1,1,0,1]).
'ASCIIコード2進数'(254,[1,1,1,1,1,1,1,0]).
'ASCIIコード2進数'(255,[1,1,1,1,1,1,1,1]).