ОГЭ · задание 1
Первое задание экзамена. Один балл, две минуты — и оно решается по одной и той же схеме всегда.
Разберём эту схему до конца: что такое бит и байт, почему пробел — тоже символ и как за три шага найти вычеркнутое слово.
вот оно, задание 1
Города по буквам считать не придётся: всё решение спрятано в этих «14 байт». Но сначала надо понять, что такое байт.
теория
Бит — самая маленькая порция информации: ответ на один вопрос «да или нет», 0 или 1. Ничего меньше в компьютере не бывает.
Байт — восемь битов подряд:
Восемь битов дают 28 = 256 разных комбинаций — этого хватает, чтобы выдать свой номер каждой букве, цифре и знаку препинания. Поэтому байт и стал порцией «на один символ».
теория
Мерить большие тексты в байтах неудобно, поэтому байты собирают в пачки.
| единица | сколько это | для примера |
|---|---|---|
| 1 байт | 8 битов | один символ текста |
| 1 Кбайт | 1024 байта | примерно полстраницы текста |
| 1 Мбайт | 1024 Кбайта | небольшая книга |
| 1 Гбайт | 1024 Мбайта | фильм в среднем качестве |
Почему 1024, а не 1000. Компьютер считает двойками, а 1024 — это 210, ближайшая к тысяче степень двойки. Поэтому «кило» здесь не ровно тысяча.
как хранится текст
Компьютер хранит текст посимвольно: у каждого символа свой номер, и под каждый номер отводится одно и то же число битов. Сколько именно — решает кодировка.
| кодировка | на один символ | это в байтах |
|---|---|---|
| Unicode, UTF-16 | 16 битов | 2 байта |
| Windows-1251 | 8 битов | 1 байт |
| КОИ-8, ASCII | 8 битов | 1 байт |
| UTF-32 | 32 бита | 4 байта |
Значит размер текста = число символов × размер одного символа. Больше в этой формуле ничего нет.
Кодировку в условии называют всегда — с неё и начинаем читать задание.
единицы
Вправо по цепочке — делим, влево — умножаем. Биты : 8 = байты, байты × 8 = биты.
Насколько текст стал меньше, сказано в байтах. А найти надо, сколько ушло символов.
8 битов: символ стоит 1 байт — разница в байтах и есть число ушедших символов.
16 битов: символ стоит 2 байта — делим разницу на 2.
32 бита: символ стоит 4 байта — делим разницу на 4.
Разницу дают в байтах, а поделить забыли — и текст получается вдвое (а при 32 битах вчетверо) длиннее, чем на самом деле.
Первым делом смотрим: сколько битов на символ — и делим на столько байтов, сколько из них выходит.
главная ловушка
Пробел, запятая, точка, дефис занимают ровно столько же битов, сколько буква.
10 символов, а букв всего семь.
Именно поэтому в условии всегда пишут «в нём нет лишних пробелов»: составители убирают неоднозначность, чтобы считать можно было точно.
ключ ко всему заданию
Дальше — то самое задание с начала урока, шаг за шагом.
решаем вместе
почему именно минус два
Список склеен разделителем «,␣» — запятая и пробел. Убираем название — уходит и один разделитель.
Вычеркнули «Тверь, ␣» — это 5 + 2 = 7 символов.
А в сплошном тексте запятых при слове нет — уходит только пробел:
Вычеркнули «под ␣» — это 3 + 1 = 4 символа.
слово + запятая + пробел → минус 2
слово + пробел → минус 1
на чём теряют балл
Информатику сдают за компьютером: ответ вы набираете с клавиатуры в экзаменационной программе, и сверяет его не человек, а машина — знак в знак. Лишний пробел, запятая или приписанное слово превращают верное решение в неверный ответ. Набрали — перечитайте, что стоит в поле.
итог
Меняются в нём только две вещи — от них и зависит счёт.
8 битов — 1 байт: делить не надо
16 битов — 2 байта: разницу : 2
32 бита — 4 байта: разницу : 4
Запятая и пробел — слово стояло в списке: минус 2
Только пробел — слово стояло в сплошном тексте: минус 1
Тире, двоеточие, «Девять городов, которые я знаю», «вычеркнул» или «пропустил» — это оформление. На счёт они не влияют никак.
Дальше — тренажёр: все шесть сочетаний этих двух вещей, по две задачи на каждое — всего двенадцать. Списки и тексты у всех свои, проверка сразу.