Объём памяти для ЕГЭ по информатике (Задание 11)
1. Основные понятия
Задание 10 ЕГЭ по информатике проверяет умение определять объём памяти, необходимый для хранения паролей, идентификаторов, кодов и других текстовых данных. Ключевая особенность это использование равномерного кодирования, при котором каждый символ кодируется одинаковым количеством бит.
Типичные объекты в задачах:
- Пароли
- Идентификаторы
- Коды доступа
- Номера документов
- Шифры
2. Алгоритм решения задач задания 10
Пошаговый алгоритм
Шаг 1: Определяем количество символов в алфавите
Обозначим это количество за N.
Важно: Алфавит это это символы, которыми мы можем записать пароль, идентификатор и т.д.
Примеры алфавитов:
- Десятичные цифры: 0–9 → N = 10
- Латинские буквы (заглавные): A–Z → N = 26
- Латинские буквы (строчные): a–z → N = 26
- Латинские буквы (все): A–Z, a–z → N = 52
- Русские буквы (заглавные): А–Я → N = 33
- Комбинация цифр и букв: нужно сложить количества
Шаг 2: Определяем количество бит на символ
Находим минимальное количество бит i из соотношения:
где i это минимальная подходящая натуральная степень.
Важно:
- Кодирование в этих задачах равномерное, то есть предполагает одинаковое количество бит на каждый символ
- Если , то i это точное значение
- Если , то i это минимальное значение, при котором можно закодировать все символы
Шаг 3: Вычисляем размер пароля/идентификатора в битах
где:
- I это объём информации одного пароля/идентификатора (в битах)
- L это длина пароля/идентификатора (количество символов)
- i это количество бит на символ
Пример: Пароль длиной 8 символов, алфавит из 26 букв:
- i = 5 бит ()
Шаг 4: Переводим размер в байты
Важно: Округление дробного числа всегда будет идти наверх (в большую сторону).
где округление вверх (ceiling function).
Примеры: 40 бит это 5 байт Правило: Если при делении на 8 получается дробное число, всегда округляем вверх до целого байта.
Шаг 5: Вычисляем объём для всех объектов
где:
- I_все это объём памяти для всех паролей/идентификаторов (в байтах)
- I_один это объём одного пароля/идентификатора (в байтах)
- K это количество паролей/идентификаторов
Шаг 6: Переводим в требуемые единицы
Если нужно перевести в Кбайт, Мбайт и т.д.:
Важно: 1 КБ = 1024 байт (не 1000!)
3. Разбор типичной задачи
Задача: Определение объёма памяти для идентификаторов
Условие:
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 60 символов и содержащий только десятичные цифры и символы из 250-символьного специального алфавита.
В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит.
Определите объём памяти (в Кбайт), необходимый для хранения 65536 идентификаторов. В ответе запишите только целое число это количество Кбайт.
Решение по алгоритму:
Шаг 1: Определяем количество символов в алфавите
Алфавит состоит из:
- Десятичные цифры: 0–9 → 10 символов
- Специальный алфавит: 250 символов
Шаг 2: Определяем количество бит на символ
Находим минимальное i такое, что :
Ответ: i = 9 бит на символ
Шаг 3: Вычисляем размер одного идентификатора в битах
Длина идентификатора: L = 60 символов
Шаг 4: Переводим размер в байты
Проверка: 68 × 8 = 544 бит (достаточно для 540 бит)
Шаг 5: Вычисляем объём для всех идентификаторов
Количество идентификаторов: K = 65536
Шаг 6: Переводим в Кбайт
Ответ: 4352 Кбайт
4. Типичные задачи и их особенности
4.1. Задачи с паролями
Особенности:
- Обычно задаётся длина пароля
- Алфавит может включать цифры, буквы, специальные символы
- Нужно найти объём для одного или нескольких паролей
Пример: Пароль состоит из 12 символов, использует цифры 0–9 и заглавные латинские буквы A–Z. Сколько байт нужно для хранения одного пароля?
Решение:
- N = 10 + 26 = 36 символов
- , → i = 6 бит
4.2. Задачи с идентификаторами
Особенности:
- Могут быть длинными (50–100 символов)
- Алфавит может быть большим (200–300 символов)
- Обычно нужно найти объём для большого количества идентификаторов
Пример: Идентификатор длиной 80 символов использует алфавит из 180 символов. Сколько Кбайт нужно для хранения 8192 идентификаторов?
Решение:
- N = 180 символов
- , → i = 8 бит
4.3. Задачи с кодами доступа
Особенности:
- Могут использовать только цифры
- Длина обычно небольшая (4–8 символов)
- Нужно найти объём для одного или нескольких кодов
Пример: Код доступа состоит из 6 цифр. Сколько байт нужно для хранения одного кода?
Решение:
- N = 10 символов (цифры 0–9)
- , → i = 4 бита
5. Типичные алфавиты и их размеры
| Тип алфавита | Количество символов (N) | Минимальное количество бит (i) |
|---|---|---|
| Десятичные цифры (0–9) | 10 | 4 () |
| Заглавные латинские буквы (A–Z) | 26 | 5 () |
| Строчные латинские буквы (a–z) | 26 | 5 () |
| Все латинские буквы (A–Z, a–z) | 52 | 6 () |
| Заглавные русские буквы (А–Я) | 33 | 6 () |
| Строчные русские буквы (а–я) | 33 | 6 () |
| Все русские буквы (А–Я, а–я) | 66 | 7 () |
| Цифры + заглавные латинские | 36 | 6 () |
| Цифры + все латинские буквы | 62 | 6 () |
| Цифры + русские + латинские | 10 + 66 + 52 = 128 | 7 () |
6. Степени двойки для быстрого решения
| Степень | Значение | Применение |
|---|---|---|
| 8 | Мало (обычно недостаточно) | |
| 16 | Для 10–15 символов | |
| 32 | Для 17–31 символов | |
| 64 | Для 33–63 символов | |
| 128 | Для 65–127 символов | |
| 256 | Для 129–255 символов | |
| 512 | Для 257–511 символов | |
| 1024 | 1 КБ в байтах |
Правило: Если N символов в алфавите, находим минимальное i такое, что .
7. Типичные ошибки и как их избежать
Ошибка 1: Неправильное определение размера алфавита
Проблема: Забывают сложить все типы символов или считают неправильно.
Как избежать:
- Внимательно читать условие
- Выписывать все типы символов отдельно
- Складывать количества: N = N₁ + N₂ + ...
Пример ошибки: "Цифры и буквы A–Z" → считают только 26, забывая про 10 цифр.
Ошибка 2: Неправильное определение количества бит
Проблема: Берут меньшее значение степени двойки.
Как избежать:
- Всегда проверять:
- Если , нужно взять
Пример ошибки: N = 20, берут (недостаточно!), нужно .
Ошибка 3: Неправильное округление в байты
Проблема: Округляют вниз или используют обычное округление.
Как избежать:
- Всегда округлять вверх при переводе бит в байты
- Использовать формулу:
Пример ошибки: 41 бит → 5 байт (неправильно!), правильно: 6 байт.
Ошибка 4: Неправильный перевод единиц измерения
Проблема: Используют 1000 вместо 1024.
Как избежать:
- Запомнить: 1 КБ = 1024 байт (не 1000!)
- 1 МБ = 1024 КБ = 1048576 байт
Ошибка 5: Забывают про "минимально возможное"
Проблема: Не учитывают требование минимальности при выборе количества бит.
Как избежать:
- Всегда искать минимальное i такое, что
- Не брать большее значение "с запасом"
8. Алгоритм решения (краткая версия)
- Определить N это количество символов в алфавите
- Найти i это минимальное количество бит:
- Вычислить I_бит это размер в битах:
- Перевести в байты это округлить вверх:
- Умножить на количество объектов (если нужно)
- Перевести в требуемые единицы (КБ, МБ и т.д.)
9. Дополнительные примеры
Пример 1: Пароль с цифрами и буквами
Условие: Пароль состоит из 10 символов, использует цифры 0–9, заглавные латинские буквы A–Z и строчные латинские буквы a–z. Сколько байт нужно для хранения одного пароля?
Решение:
- N = 10 + 26 + 26 = 62 символа
- , → i = 6 бит
Ответ: 8 байт
Пример 2: Идентификатор с большим алфавитом
Условие: Идентификатор длиной 50 символов использует алфавит из 200 символов. Сколько Кбайт нужно для хранения 4096 идентификаторов?
Решение:
- N = 200 символов
- , → i = 8 бит
Ответ: 200 Кбайт
Пример 3: Код из только цифр
Условие: Код доступа состоит из 8 цифр. Сколько байт нужно для хранения 1000 таких кодов?
Решение:
- N = 10 символов (цифры 0–9)
- , → i = 4 бита
Ответ: 4000 байт
10. Типичные формулировки в ЕГЭ
| Формулировка | Что это означает | Действие |
|---|---|---|
| "Десятичные цифры" | 0–9 | N = 10 |
| "Заглавные латинские буквы" | A–Z | N = 26 |
| "Строчные латинские буквы" | a–z | N = 26 |
| "Русские буквы" | А–Я (или а–я) | N = 33 |
| "Минимально возможное количество бит" | Найти минимальное i: | Округление вверх |
| "Минимально возможное целое число байт" | Округлить биты в байты вверх | |
| "Посимвольное кодирование" | Каждый символ кодируется отдельно | Равномерное кодирование |
| "Все символы кодируются одинаковым количеством бит" | Равномерное кодирование | Одинаковое i для всех символов |
Составлено: Лилия С.
Источники: КИМ ЕГЭ 2026, открытый банк ФИПИ, спецификация ЕГЭ по информатике, яндекс учебник
Удачи на экзамене! 🎓