Задача к ЕГЭ по информатике на тему «коды с дополнительной информацией» №1

Сотрудники предприятия получают электронный пропуск, на котором записаны личный код сотрудника, номер подразделения и некоторая дополнительная информация. Личный код состоит из 15 символов, каждый из которых может быть латинской буквой (без учёта регистра). Для записи кода на пропуске отведено минимально возможное целое число байт. При этом используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством бит. Номер подразделения – целое число от 1 до 120, он записан на пропуске как двоичное число и занимает минимально возможное целое число байт. Дополнительная информация содержит в себе 58 символов, каждый из которых может быть одним из символов 127-символьного алфавита. Для записи кода на пропуске отведено минимально возможное целое число байт. Для кодирования дополнительной информации используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством бит. Какое минимальное количество байт нужно выделить для хранения всех данных об одном сотруднике? В ответе запишите только целое число — количество байт.

Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 26 символов, то есть 4 бит будет недостаточно, так как их хватит закодировать только 16 символов, поэтому мы берём 5 бит для кодирования. Следующим шагом посчитаем количество бит, которое занимает один личный код, для этого перемножим количество символов в коде и количество бит необходимых для кодирования алфавита:

15 ∗5 = 75

Такое количество бит занимает один личный код, переведём данное значение в байты:

75 = 9,375  8

Мы получили нецелое количество байт, округлим в большую сторону, так как если мы округлим в меньшую сторону, то в таком случае потеряем часть информации. Получили, что 10 байт занимает один личный код. Теперь определим сколько байт необходимо для хранения номера подразделения. Нам нужно закодировать 120 значений, то есть нам нужно выделить 7 бит, 6 бит будет недостаточно, так как мы сможем с помощью 6 бит закодировать только 64 различных значений. Переведём полученное количество бит в байты:

7 8 = 0,875

Мы получили нецелое количество байт, округлим в большую сторону, так как если мы округлим в меньшую сторону, то в таком случае потеряем часть информации. Получили, что 1 байт необходимо для хранения номера подразделения. Теперь определим количество бит, необходимых для кодирования алфавита дополнительной информации. В алфавите 127 символов, то есть 6 бит будет недостаточно, так как их хватит закодировать только 64 символов, поэтому мы берём 7 бит для кодирования. Следующим шагом посчитаем количество бит, которое занимает одна дополнительная информация для электронного пропуска, для этого перемножим количество символов в дополнительной информации и количество бит необходимых для кодирования алфавита:

58 ∗7 = 406

Такое количество бит занимает одна дополнительная информация, переведём данное значение в байты:

406 = 50,75  8

Мы получили нецелое количество байт, округлим в большую сторону, так как если мы округлим в меньшую сторону, то в таком случае потеряем часть информации. Получили, что 51 байт занимает одна дополнительная информация. Осталось определить сколько байт выделить для хранения всех данных об одном сотруднике. Для этого сложим все полученные байты:

10 +1 + 51 = 62

Получили, что 62 байта занимают данные об одном сотруднике

Ответ: 62
Оцените статью
Я решу все!