1. Для кодирования одного из 256 символов требуется log(2)256 = 8 бит (2^8=256). Информационный объем сообщения = 100*8 бит = 100*8 / 8 байт = 100 байт.
3. Для записи одного из 64 символов требуется log(2)64 = 6 бит (2^6=64) Количество символов в тексте = 7*16*56 Объем информации = 7*16*56*6 бит = 7*16*56*6 / 8 байт = 7*2*56*6 байт = 4704 байт = 4704/1024 Кбайт ≈ 4,6 Кбайт
4. Для записи одного из 120 номеров требуется log(2)120 ≈ 7 бит (2^7=128). Информационный объем сообщения о результатах 64 лыжников = 64*7 бит = 64*7/8 байт = 56 байт
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),2,5); a.Println; var b:=a.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0]) .Select(t->t[1]).ToArray; Writeln('Сдано на 5: ',b[3]); Writeln('Сдано на 4: ',b[2]); Writeln('Сдано на 3: ',b[1]); Writeln('Не допущено: ',b[0]) end.
Пример n= 20 4 4 3 5 4 5 2 4 4 4 5 4 3 3 4 2 3 2 2 2 Сдано на 5: 3 Сдано на 4: 8 Сдано на 3: 4 Не допущено: 5
2. 1/512 Мбайт = 1024*1/512 Кбайт = 2 Кбайта = 2*1024 байт = 2*1024*8 бит.
Объем одного символа = 2*1024*8 / 2048 = 8 бит
Мощность алфавита = 2^8 = 256 символов
3. Для записи одного из 64 символов требуется log(2)64 = 6 бит (2^6=64)
Количество символов в тексте = 7*16*56
Объем информации = 7*16*56*6 бит = 7*16*56*6 / 8 байт = 7*2*56*6 байт = 4704 байт = 4704/1024 Кбайт ≈ 4,6 Кбайт
4. Для записи одного из 120 номеров требуется log(2)120 ≈ 7 бит (2^7=128). Информационный объем сообщения о результатах 64 лыжников = 64*7 бит = 64*7/8 байт = 56 байт
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),2,5); a.Println;
var b:=a.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0])
.Select(t->t[1]).ToArray;
Writeln('Сдано на 5: ',b[3]);
Writeln('Сдано на 4: ',b[2]);
Writeln('Сдано на 3: ',b[1]);
Writeln('Не допущено: ',b[0])
end.
Пример
n= 20
4 4 3 5 4 5 2 4 4 4 5 4 3 3 4 2 3 2 2 2
Сдано на 5: 3
Сдано на 4: 8
Сдано на 3: 4
Не допущено: 5