Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стариченко Б.Е. Теоретические основы информатик...doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
11.63 Mб
Скачать

Контрольные вопросы и задания

  1. Приведите примеры обратимого и необратимого кодирования помимо рассмотренных в тексте.

  2. В чем смысл первой теоремы Шеннона для кодирования?

  3. Первичный алфавит содержит 8 знаков с вероятностями: «пробел» - 0,25; «?» - 0,18; «&» - 0,15; «*» - 0,72; «+» - 0,1; «%» - 0,08; «#» - 0,07 и «!» - 0,05. В соответствии с правилами, изложенными в п.3.2.1, предложите вариант неравномерного алфавитного двоичного кода с разделителем знаков, а также постройте коды Шеннона-Фано и Хаффмана; сравните их избыточности.

  4. Постройте в виде блок-схемы последовательность действий устройства, производящего декодирование сообщения, коды которого удовлетворяют условию Фано. Реализуйте программно на каком-либо языке программирования.

  5. Является ли кодирование по методу Шеннона-Фано и по методу Хаффмана однозначным? Докажите на примере алфавита А, описанного в п.3.2.1.

  6. С помощью электронных таблиц проверьте правильность данных о средней длине кода К(А,2) для всех обсуждавшихся в п.3.2.1. примерах неравномерного алфавитного кодирования.

  7. Продолжите пример 3.2, определив избыточность при трехбуквенном блочном кодировании.

  8. Для алфавита, описанного в задаче 3, постройте вариант минимального кода Бодо.

  9. Проверьте данные об избыточность кода Бодо для русского и английских языков, приведенных в п.3.2.2. Почему избыточность кода для русского языка меньше?

  10. Почему в 1 байте содержится 8 бит?

  11. Оцените, какое количество книг объемом 200 страниц может поместиться:

(a) на дискете 1,44 Мб;

(b) в ОЗУ компьютера 32 Мб?

(c) на оптическом CD-диске емкостью 650 Мб?

(d) на жестком магнитном диске винчестера емкостью 8,4 Гб?

  1. Почему в компьютерных устройствах используется байтовое кодирование?

  2. Что такое «лексикографический порядок кодов»? Чем он удобен?

  3. Для цифр придумайте вариант байтового кодирования. Реализуйте процедуру кодирования программно (ввод - последовательность цифр; вывод - последовательность двоичных кодов в соответствии с разработанной кодовой таблицей).

  4. Разработайте программу декодирования байтовых кодов из задачи 13.

  5. Код Морзе для цифр следующий:

Считая алфавит цифр самостоятельным, а появление различных цифр равновероятным, найдите избыточность кода Морзе для цифрового алфавита.

  1. В лексиконе «людоедки» Эллочки Щукиной из романа Ильфа и Петрова «12 стульев» было 17 словосочетаний («Хо-хо!», «Ого!», «Блеск!», «Шутишь, парниша», «У вас вся спина белая» и пр.).

(a) Определите длину кода при равномерном словесном кодировании.

(b) Предложите вариант равномерного кодирования данного словарного запаса.

Глава 4. Представление и обработка чисел в компьютере

Безусловно, одним из основных направлений применения компьютеров были и остаются разнообразные вычисления. Обработка числовой информации ведется и при решении задач, на первый взгляд не связанных с какими-то расчетами, например, при использовании компьютерной графики или звука. В связи с этим встает вопрос о выборе оптимального представления чисел в компьютере. Безусловно, можно было бы использовать 8-битное (байтовое) кодирование отдельных цифр, а из них составлять числа. Однако такое кодирование не будет оптимальным, что легко увидеть из простого примера: пусть имеется двузначное число 13; при 8-битном кодировании отдельных цифр в кодах ASCII его представление выглядит следующим образом: 0011000100110011, т.е. код имеет длину 16 бит; если же определять это число посредством двоичного выборного каскада (например, используя выборочный каскад «Угадайка - 16», подобный описанному в п.2.2.), то получим 4-битную цепочку 1101.

Важно, что представление определяет не только способ записи данных (букв или чисел), но и допустимый набор операций над ними; в частности, буквы могут быть только помещены в некоторую последовательность (или исключены из нее) без изменения их самих; над числами же возможны операции, изменяющие само число, например, извлечение корня или сложение с другим числом. Представление чисел в компьютере по сравнению с формами, известными всем со школы, имеет два важных отличия:

во-первых, числа записываются в двоичной системе счисления (в отличие от привычной десятичной);

во-вторых, для записи и обработки чисел отводится конечное количество разрядов (в «некомпьютерной» арифметике такое ограничение отсутствует).

Следствия, к которым приводят эти отличия, и рассматриваются в данной главе.