Дано - A=0000; D=0001; I=0010; L=0011; M=0100; N=0101; R=0111; S=1111. Написать программу, которая расшифрует любой код
Категория: Delphi/Pascal
2012-02-23 21:45:59
Сделать так, чтобы код расшифровки оказался минимальным (оптимизированным). К примеру, код “0101001100100100011” можно расшифровать как “NLIML”
code: #pascal
Program p4; const A=0000; D=0001; I=0010; L=0011; M=0100; N=0101; R=0111; S=1111; function rasifr(str:string):string; var x:string; cis,code:integer; begin x:=''; repeat val (copy (str,1,4),cis,code); case cis of A:x:=x+'A'; I:x:=x+'I'; M:x:=x+'M'; R:x:=x+'R'; D:x:=x+'D'; L:x:=x+'L'; N:x:=x+'N'; S:x:=x+'S'; end; DELETE (str,1,4); until str=''; rasifr:=x; end; var str:string; BEGIN str:='0101001100100100011'; {TUT Vvedite chislovoy shifr } writeln (rasifr(str)); end.
Поделиться: