В качестве примера равномерного кода можно назвать ASCII-таблицу, где каждому из 256 символов сопоставлено двоичное значение от 00000000 до 11111111. Независимо от вероятности появления символа на его представление отводится 1 байт, или 8 бит. Как известно, национальные языки обладают большой избыточностью, то есть разницей между энтропией источника и максимально возможной энтропией, обусловленной равной вероятностью появления любого символа из алфавита. Например, избыточность русского языка составляет 70%, а английского – 50%. Это в частности означает, что некоторые буквы появляются в тексте гораздо чаще других и поэтому использовать равномерное кодирование нерационально.
При неравномерном кодировании часто встречающимся символам сопоставляются более короткие кодовые последовательности, редко встречающимся – более длинные. За счет этого удается значительно сократить объем файла без потерь информации. Существует несколько методов неравномерного кодирования, важнейших из которых является метод Шеннона-Фано.
Надеюсь понятно?
Поделитесь своими знаниями, ответьте на вопрос:
Составить программу, которая в заданном тексте букву "а" заменяет на букву "о", а букву "о" — на букву "а".
S : String;
i : Byte;
Begin
Readln(S);
For i:=1 to Length(S) do
If S[i]='о' then S[i]:='а' else
If S[i]='а' then S[i]:='о';
Writeln(S);
end.