Задание 1 ОГЭ: объём текста в 8- и 16-битных кодировках
Подтемы
- Кодировка, в которой каждый символ кодируется 16 битами25 задач
- Кодировка, в которой каждый символ кодируется 8 битами15 задач
Что проверяет задание
Задание 1 ОГЭ по информатике проверяет умение находить количественные параметры текстовой информации: сколько бит или байт занимает текст при разных равномерных кодировках. Речь идёт о двух типовых схемах: кодировке, где каждый символ занимает 8 бит (1 байт) — это КОИ-8, ASCII, Windows-1251, — и кодировке, где каждый символ занимает 16 бит (2 байта) — это Unicode/UTF-16. Также проверяется умение анализировать структуру текста: правильно считать символы, включая пробелы и знаки препинания, и находить разницу в объёме между двумя вариантами текста.
Как выглядит формулировка и сколько баллов
Это первое задание экзамена, оно оценивается в 1 первичный балл. Ответ — короткий: число или слово. Есть несколько типовых формулировок:
- «Сколько байт займёт сообщение из символов при кодировке, где каждый символ кодируется 8 (или 16) битами?»
- Дан список слов через запятую, оканчивающийся тире и обобщающим словом. Из списка вычёркивают одно слово вместе со «ставшими лишними» запятой и пробелом, при этом объём текста уменьшился на известное число байт. Нужно определить вычеркнутое слово.
Второй тип формулировки — самый частый в реальных вариантах, и именно на нём стоит сосредоточиться.
Что нужно знать
- .
- При равномерном кодировании мощность алфавита и число бит на символ связаны формулой , откуда .
- Кодировки КОИ-8, ASCII, Windows-1251 — 8 бит (1 байт) на символ, независимо от того, буква это, цифра, пробел или знак препинания.
- Кодировка Unicode (UTF-16) — 16 бит (2 байта) на символ.
- Информационный объём текста из символов: (в битах), или в байтах при 8-битной кодировке , при 16-битной — .
- Каждый символ — буква, цифра, пробел, запятая, точка, тире — считается отдельным символом и занимает столько же бит, сколько любой другой символ этой кодировки.
- В списке вида «Слово1, Слово2, Слово3 — категория» разделителем между элементами служит сочетание «запятая + пробел», то есть 2 символа.
- Если из середины (или из начала/конца) списка убрать один элемент, автоматически убирается сам этот элемент плюс один соседний разделитель «, », чтобы не осталось двойного пробела или лишней запятой. Итого убирается на символов меньше при 8-битной кодировке, и на байт меньше при 16-битной.
Методы решения
1. Прямой подсчёт по формуле . Если текст содержит 40 символов и кодируется 8 битами на символ, объём равен бит байт. Это базовый метод для простых вопросов «сколько байт занимает текст».
2. Расчёт для 16-битной кодировки. Тот же текст из 40 символов в 16-битной кодировке: бит байт. Важно не перепутать: при 16-битной кодировке байтовый объём в два раза больше, чем при 8-битной, при одинаковом числе символов.
3. Перевод единиц измерения. Если в задаче даны килобайты, а нужны байты, помнят: байт. Мини-пример: сообщение весом Кбайт в 8-битной кодировке содержит символов.
4. Анализ структуры текста-списка (метод разности объёмов). Это главный метод для задач с вычёркиванием слова. Суть: разница в объёме текста до и после удаления слова равна длине этого слова плюс длина «лишнего» разделителя (запятая и пробел — 2 символа) в 8-битной кодировке, или это же значение, умноженное на 2, в 16-битной. Мини-пример: убрали слово «Дом» (3 буквы) из списка через запятую — при 8-битной кодировке объём уменьшится на байт.
5. Обратный ход: по разнице объёмов искать длину слова. Зная разницу в байтах и кодировку, находят длину искомого слова: для 8 бит , для 16 бит . Затем среди слов списка ищут единственное слово нужной длины.
Алгоритм решения по шагам
- Определить кодировку и число бит на символ (8 или 16), указанное в условии.
- Выписать все слова списка и посчитать количество букв в каждом (без запятых и пробелов).
- Установить формулу связи между разностью объёмов (в байтах) и длиной вычеркнутого слова : при 8 битах , при 16 битах .
- Подставить известное значение из условия и вычислить .
- Найти в списке слово, длина которого равна найденному . Если совпадение единственное — это и есть ответ.
- Проверить: пересчитать полный объём исходного текста и текста после удаления слова, убедиться, что разница действительно равна .
Разбор примеров
Пример 1. Текст: «Обь, Лена, Волга, Москва, Макензи, Амазонка — реки». Кодировка КОИ-8, 8 бит на символ. После вычёркивания одной реки и лишних знаков препинания объём уменьшился на 8 байт.
Шаг 1: кодировка 8-битная, значит .
Шаг 2: подставляем : .
Шаг 3: считаем длины слов: Обь — 3, Лена — 4, Волга — 5, Москва — 6, Макензи — 7, Амазонка — 8. Единственное слово длиной 6 букв — «Москва».
Ответ: Москва. Проверка: если убрать «Москва, » (слово плюс запятая и пробел), из «Волга, Москва, Макензи» получится «Волга, Макензи» — корректная запись без двойных пробелов, разница ровно байт.
Пример 2. Текст: «Чад, Куба, Катар, Швеция, Эстония, Танзания, Сальвадор — страны». Кодировка КОИ-8, 8 бит на символ. Разница объёмов — 11 байт.
Шаг 1: формула та же, .
Шаг 2: .
Шаг 3: длины слов: Чад — 3, Куба — 4, Катар — 5, Швеция — 6, Эстония — 7, Танзания — 8, Сальвадор — 9. Совпадает только «Сальвадор».
Ответ: Сальвадор. Проверка: слово стоит последним перед тире. Убираем «Сальвадор» вместе с предшествующей запятой и пробелом: «..., Танзания, Сальвадор — страны» превращается в «..., Танзания — страны» — ровно один пробел перед тире сохраняется, лишних символов не остаётся. Разница составляет байт, что совпадает с условием.
Пример 3. Текст: «Аки, Бали, Банда, Сибуян, Камотес, Лабрадор, Линкольна — моря». Кодировка КОИ-8, 8 бит на символ. Разница объёмов — 7 байт.
Шаг 1: .
Шаг 2: .
Шаг 3: длины слов: Аки — 3, Бали — 4, Банда — 5, Сибуян — 6, Камотес — 7, Лабрадор — 8, Линкольна — 9. Единственное слово из 5 букв — «Банда».
Ответ: Банда. Проверка: слово стоит в середине списка. Убираем «Банда, » целиком: «Бали, Банда, Сибуян» превращается в «Бали, Сибуян» — корректно, без двойных запятых и пробелов. Разница объёма равна байт, что совпадает с данными условия.
Во всех трёх примерах работает одна и та же логика: независимо от того, стоит ли вычеркнутое слово в начале, середине или конце списка (перед тире), разница объёмов всегда равна длине слова плюс 2 символа на разделитель «, ». Это делает метод универсальным и быстрым.
Типичные ошибки и ловушки
- Забывают про разделитель. Считают разницу объёмов равной только длине слова, без добавления 2 байт за запятую и пробел, — это даёт неверную длину и, соответственно, неверный ответ.
- Путают биты и байты. В условии часто явно указано «8 бит на символ», а разница объёма дана в байтах — нужно сразу работать в одних единицах и не забывать делить/умножать на 8 при переходе между ними.
- Ошибка в подсчёте букв. Мягкий знак, «й», «ё» — это отдельные буквы, их нужно учитывать при подсчёте длины слова. Легко ошибиться на одну букву и получить неверный ответ.
- Неверно применяют коэффициент для 16-битной кодировки. Если кодировка 16-битная, разница в байтах вдвое больше, чем количество символов, — забывают удвоить или, наоборот, делят не в ту сторону.
- Ищут совпадение длины среди нескольких слов. Если в списке случайно оказалось два слова одинаковой длины, нужно перепроверить структуру текста (позицию тире, наличие финальной точки) — обычно условие сформулировано так, что совпадение единственное, но при невнимательном подсчёте букв можно ошибочно получить два «подходящих» слова.
- Не проверяют ответ обратной подстановкой. Стоит всегда мысленно (или на черновике) убрать найденное слово из текста и убедиться, что разница объёмов действительно совпадает с условием.
Как готовиться
Отработайте формулы , и перевод единиц измерения (бит, байт, килобайт) до автоматизма — их нужно применять быстро, без раздумий. Решите несколько задач на подсчёт объёма простого текста в 8- и 16-битной кодировке, чтобы почувствовать разницу в два раза между ними. Затем перейдите к задачам на вычёркивание слова из списка: выпишите слова, посчитайте длины букв, потренируйтесь быстро находить (для 8 бит) или (для 16 бит). Обязательно решите по 5–7 задач каждого типа из открытого банка заданий ОГЭ, чтобы автоматизировать подсчёт длины русских слов (обращайте внимание на мягкий и твёрдый знак, буквы «е»/«ё», «и»/«й» — это разные символы). Перед экзаменом полезно решить пробный вариант на время: задание 1 должно занимать не больше 2–3 минут, чтобы осталось время на более сложные номера.
Частые вопросы
Чем отличается кодировка 8 бит от кодировки 16 бит при подсчёте объёма текста?
В 8-битной кодировке (КОИ-8, ASCII, Windows-1251) каждый символ занимает 1 байт, поэтому объём в байтах равен числу символов. В 16-битной кодировке (Unicode) каждый символ занимает 2 байта, поэтому объём в байтах вдвое больше числа символов.
Почему при вычёркивании слова из списка разница объёма равна длине слова плюс 2?
Потому что вместе со словом убирается один соседний разделитель — запятая и пробел, который занимает ровно 2 символа (2 байта в 8-битной кодировке). Поэтому суммарная разница объёма — это длина слова плюс эти 2 байта.
Нужно ли учитывать пробелы и знаки препинания при подсчёте объёма текста?
Да, каждый пробел, запятая, точка и тире — это отдельный символ, который кодируется тем же числом бит, что и буква, поэтому их обязательно включают в общий подсчёт количества символов.
Как быстро понять, какое слово вычеркнули из списка?
Нужно вычислить длину вычеркнутого слова по формуле L = Δ − 2 (для 8-битной кодировки) или L = Δ/2 − 2 (для 16-битной), где Δ — разница объёмов из условия, а затем найти в списке единственное слово с такой длиной.
Меняется ли формула, если вычеркнутое слово стоит в самом начале или конце списка?
Нет, формула остаётся той же: убирается слово плюс один соседний разделитель «, », независимо от позиции слова в списке, что подтверждается разбором примеров с разным расположением искомого слова.
Что делать, если в списке два слова одинаковой длины?
Стоит перепроверить подсчёт букв в каждом слове — часто ошибка связана с мягким знаком или буквами «е»/«ё», «и»/«й». Обычно условие построено так, что подходящее слово единственное.
Сколько времени должно уходить на решение задания 1 на экзамене?
Рекомендуется тратить не больше 2–3 минут: подсчёт длины слов и применение формулы разности объёмов делаются быстро при должной тренировке.