В кодировке UTF-32 каждый символ кодируется 16 битами. Саша написал текст (в нем нет лишних пробелов):
Среди полей вокруг холмов.
Брелок с недвижною рекою
Сравняла пухлой пеленою;
Блеснул мороз, и рады мы
Проказам матушки-зимы.
Одно из слов ученик написал два раза подряд, поставив между одинаковыми словами один пробел. При этом размер написанного предложения в данной кодировке оказался на 20 байт больше, чем размер нужного предложения. Какое слово было написано дважды?
Информатика 11 класс Кодировки символов кодировка UTF-32 символы 16 бит лишние пробелы слова дважды размер предложения байты информатика 11 класс Новый
Чтобы понять, какое слово было написано дважды, давайте разберем информацию, которую мы имеем.
Размер кодировки: В кодировке UTF-32 каждый символ занимает 4 байта (16 бит). Это важно, потому что мы будем использовать размер текста, чтобы выяснить, какое слово было повторено.
Разница в размере: У нас есть информация, что размер написанного предложения на 20 байт больше, чем размер нужного предложения. Поскольку каждое слово занимает 4 байта за символ, мы можем перевести 20 байт в количество символов.
Перевод байтов в символы: Чтобы узнать, на сколько символов больше текст, чем нужно, мы делим 20 байт на 4 байта (размер одного символа в UTF-32):
Структура ошибки: Саша написал одно и то же слово дважды, вставив между ними пробел. Это означает, что мы можем выразить разницу в размере как:
Нахождение слова: Теперь нам нужно найти слово, длина которого плюс 1 (пробел) равна 5 символам. Это значит, что длина самого слова должна быть 4 символа.
Поиск слова в тексте: Теперь давайте посмотрим на текст и найдем все слова, длина которых составляет 4 символа:
Из всех слов, только "рады" состоит из 4 символов.
Таким образом, слово, которое было написано дважды, это "рады".