Var
p, num: integer;
begin
p := 1;
while p <= 1000 do
begin
read(num);
p := p*num;
end;
writeln(p);
end.
<span>Не важно, как кодируется один символ. Фактически в этом сообщении 3,95 бита информации. Но в несжатом виде на диске это сообщение займёт 44 * 16 / 8 = 44 * 2 = 88 байтов.
"Какое количество информации оно несет ?" - тут мы знать не можем, не имея перед собою это сообщение. Но можем такую же характеристику посчитать, как для предыдущего сообщения. Считаем число битов, нужных для 12-символьного алфавита:
log2(12) ~= 3,6, округляем вверх, итого 4 бита.
4 * 120 = 480 битов. Если учесть возможность записи по два 4-битовых символа в один байт, то получаем 60 байтов.</span>
<em>// PascalABC.NET 3.2, сборка 1483 от 14.06.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var s:=ReadlnString('Вводите:');
Delete(s,4,1); Delete(s,2,1);
Writeln(s)
end.
<u>Пример</u>
Вводите: Удаление пары символов
Уаение пары символов
8 сигналов - кодируются 3 разрядами (2^3=8)
Следовательно один сигнал = 3 бита.
80*3=240 бит --> 30 байт
Var chisl:array [1..5]of integer;
i,max:integer;
begin
for i:=1 to 5 do begin
Write(i,'-число='); Readln(chisl[i]); end;
max:=0;
for i:=1 to 5 do begin
if chisl[i]>max then max:=chisl[i]; end;
writeln'max chislo=',max);
end.