Задание 11 ЕГЭ по информатике: объём памяти для паролей и номеров
Задание 11 ЕГЭ по информатике — расчёт памяти для хранения паролей, номеров или идентификаторов: каждый символ кодируется минимальным числом бит, каждая запись — минимальным целым числом байт. Это задание повышенного уровня: в нём два округления вверх, и ошибка в любом из них меняет ответ.
- Что проверяет: Умение подсчитывать информационный объём сообщения. Повышенный уровень сложности.
- Баллы: 1 первичный балл
- Формат ответа: Целое число в единицах из условия: байты, Кбайт или количество символов алфавита.
- Программа: задание решают без программы, ответ можно проверить на Python
- Уровень сложности: повышенный
- Время: около 3 минут по спецификации
- Кодификатор: 2.2 — оценка количества информации, единицы измерения, алфавитный подход к оценке количества информации; Требование 2.3 — определять информационный объём текстовых данных
Как решать
Шаг 1. Найдите число бит на символ: i — наименьшее целое, при котором 2^i не меньше мощности алфавита N. Для 36 символов i = 6, потому что 2^5 = 32 < 36 ≤ 64 = 2^6.
Шаг 2. Найдите объём одной записи: длину L умножьте на i, переведите биты в байты и округлите вверх, потому что запись занимает целое число байт.
Шаг 3. Прибавьте дополнительные сведения, если они есть (например, 20 байт на пользователя), и умножьте на количество записей.
Обратная задача: известен объём памяти, нужно найти наибольшую мощность алфавита или наибольшую длину записи. Разделите память на количество записей — получится, сколько байт можно отвести одной записи. Затем подберите наибольшее i, при котором L · i бит помещаются в это число байт; мощность алфавита — 2^i.
В ЕГЭ 1 Кбайт = 1024 байт. Программа для проверки перебирает i от 1 до 16 и показывает, при каком i запись перестаёт помещаться в память.
Примеры с решением
Пример 1
При регистрации в компьютерной системе каждому пользователю выдаётся пароль длиной 11 символов, составленный из 26 заглавных латинских букв и 10 цифр. Каждый символ кодируется одинаковым минимально возможным количеством бит, каждый пароль — минимально возможным целым количеством байт. Кроме пароля, для каждого пользователя хранятся дополнительные сведения, под которые отведено 20 байт.
Определите объём памяти в байтах, необходимый для хранения сведений о 50 пользователях.
Проверка ответа на Python
from math import ceil, log2
alphabet = 26 + 10 # заглавные латинские буквы и цифры
length = 11
extra_bytes = 20
users = 50
bits_per_char = ceil(log2(alphabet))
password_bytes = ceil(length * bits_per_char / 8)
print((password_bytes + extra_bytes) * users)Ответ: 1450
В алфавите 36 символов, 2^5 = 32 < 36 ≤ 64 = 2^6, поэтому на символ нужно 6 бит.
Пароль: 11 · 6 = 66 бит, это 8,25 байта, округляем вверх до 9 байт. На пользователя 9 + 20 = 29 байт, на 50 пользователей 29 · 50 = 1450 байт.
Пример 2
Номер пропуска на предприятии состоит из 23 символов. В базе данных для каждого номера отведено одинаковое минимально возможное целое число байт, символы кодируются посимвольно одинаковым минимально возможным количеством бит. Для хранения 8000 номеров отведено не более 125 Кбайт памяти.
Определите наибольшую возможную мощность алфавита, из которого составляются номера пропусков.
Проверка ответа на Python
from math import ceil
length = 23 # символов в номере пропуска
count = 8000
limit_bytes = 125 * 1024
best = 0
for bits in range(1, 17): # бит на символ
number_bytes = ceil(length * bits / 8)
if number_bytes * count <= limit_bytes:
best = 2 ** bits # алфавит из 2^bits символов ещё помещается
print(best)Ответ: 32
125 Кбайт = 128 000 байт, на один номер приходится не больше 128 000 / 8000 = 16 байт.
При 5 битах на символ номер занимает 23 · 5 = 115 бит, это 15 байт после округления вверх — помещается. При 6 битах 23 · 6 = 138 бит, это 18 байт — не помещается.
Значит, на символ 5 бит, и в алфавите не больше 2^5 = 32 символов.
Типичные ошибки
- Округляют до целых байт общий объём всех паролей. Округлять нужно объём одной записи: каждая запись занимает целое число байт.
- Берут i = log₂N без округления вверх, например 5,17 бита для 36 символов. Символ кодируется целым числом бит.
- Забывают прибавить дополнительные сведения о пользователе или прибавляют их в битах.
- В обратной задаче записывают в ответ число бит на символ. Спрашивают мощность алфавита, то есть 2^i.
Потренироваться на тренажёре
- Калькулятор количества информации и объёма сообщения
- Задачи: ввод-вывод и арифметика
- Типы и арифметика в Python: задачи
- Тренажёр Python
Частые вопросы
Как найти, сколько бит нужно на символ?
Найдите наименьшее i, при котором 2^i не меньше количества символов в алфавите. Для 26 букв и 10 цифр нужно 6 бит, для 128 символов — 7 бит.
Почему пароль округляют до целых байт?
Так сказано в условии: каждая запись хранится в минимально возможном целом количестве байт. Поэтому 66 бит пароля занимают 9 байт, хотя 66 бит — это 8,25 байта.
Задание 11 сложнее соседних?
В спецификации 2027 года это первое задание повышенного уровня, задания с 1 по 10 базовые. Оценивается оно так же, 1 первичным баллом, время — около 3 минут.
Официальные материалы
- Демоверсия, спецификация и кодификатор ЕГЭ 2027 по информатике (архив, проект)
- Демоверсии, спецификации и кодификаторы ЕГЭ по всем предметам
- Открытый банк заданий ЕГЭ
Другие задания
Все задания и структура экзамена — на странице ЕГЭ по информатике. Соседние разборы: задание 10 и задание 12.
Описание задания сверено 28 сентября 2026 года со спецификацией 2027 года (документы 2027 года). Примеры составлены нами по структуре демоверсии, каждое решение запущено, и напечатанный им ответ совпадает с ответом на странице. Кодолимп не связан с разработчиками экзамена. Заметили неточность — напишите нам.