procedure p(x:integer; var st:string); type name = array[0..9] of String[50]; const s1 : name = (' ноль ',' один ',' два ',' три ',' четыре ',' пять ',' шесть ',' семь ',' восемь ',' девять '); s2: name = (' ',' десять ',' двадцать ',' тридцать ',' сорок ',' пятьдесят ',' шестьдесят ',' семьдесят ',' восемьдесят ',' девяносто '); s3: name = (' ',' сто ',' двести ',' триста ',' четыреста ',' пятьсот ',' шестьсот ',' семьсот ',' восемьсот ',' девятьсот '); s4 : name = (' ',' одиннадцать ',' двенадцать ',' тринадцать ',' четырнадцать ',' пятнадцать ',' шестнадцать ',' семнадцать ',' восемнадцать ',' девятнадцать '); var s,d,e : Integer; begin s:= x div 100; x:=x mod 100; st:=s3[s]; d:= x div 10; e:=x mod 10; if (d=1) and (e<>0) then st:=st+s4[e] else st:=st+s2[d]+s1[e]; end; var x:integer; st:string; Begin Write('Введите число [0..999] :'); Readln(x); p(x,st); writeln(st); End.
Пример: <span>Введите число [0..999] : 714 семьсот четырнадцать</span>
1. В высказывании 52 символа (включая пробелы и точку). Значит объем равен 52*8 = 416 бит
2. В первом тексте каждый символ кодируется 4-мя битами, т.к. 2^4=16, во втором тексте каждый символ кодируется 8-ю битами, т.к. 2^8=256. Длины одинаковые, значит информационный объем первого текста в два раза меньше.
Program xax; var i:shortint; a,b: array [-10..10] of byte; begin randomize; for i:=-10 to 10 do begin a[i]:=random(100); write(a[i],' '); end; writeln; for i:=-10 to -1 do b[i]:=a[-11-i]; for i:=1 to 10 do b[i]:=a[11-i]; b[0]:=a[0]; for i:=-10 to 10 do write(b[i],' '); <span>end.</span>