Контрольные задания > 1 Тип 1
В одной из кодировок Unicode каждый символ кодируется
16 битами. Ученик написал текст (в нем нет лишних пробелов):
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Ра-
татуй, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Чело-
век-паук, Конек-Горбунок».
Ученик удалил из списка имя героя одного мультфильма, а
также лишние запятую и пробел два пробела не должны
идти подряд.
При этом размер нового предложения в данной кодировке
оказался на 12 байт меньше, чем размер исходного предложе-
ния. Напишите в ответе удаленное имя героя мультфильма.
Вопрос:
1 Тип 1
В одной из кодировок Unicode каждый символ кодируется
16 битами. Ученик написал текст (в нем нет лишних пробелов):
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Ра-
татуй, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Чело-
век-паук, Конек-Горбунок».
Ученик удалил из списка имя героя одного мультфильма, а
также лишние запятую и пробел два пробела не должны
идти подряд.
При этом размер нового предложения в данной кодировке
оказался на 12 байт меньше, чем размер исходного предложе-
ния. Напишите в ответе удаленное имя героя мультфильма.
Каждое имя, запятая и пробел занимают 16 бит (2 байта).
Общее количество символов (имен, запятых, пробелов): 10 имен + 9 запятых + 10 пробелов = 29 символов.
Общий размер исходного текста: 29 символов * 2 байта/символ = 58 байт.
Размер нового текста:
Размер нового предложения на 12 байт меньше: 58 байт - 12 байт = 46 байт.
Новое предложение содержит 9 имен героев, 8 запятых и 9 пробелов (лишние удалены).
Общее количество символов в новом предложении: 9 + 8 + 9 = 26 символов.
Проверка: 26 символов * 2 байта/символ = 52 байта.
Поиск удаленного имени:
Разница в 12 байт (6 символов) при удалении имени, запятой и пробела.
Ищем имя, которое вместе с запятой и пробелом занимает 6 символов.
«Шрек,» (6) — не подходит, т.к. это только имя и запятая, а еще нужен пробел.
«Пумба,» (6) — не подходит.
«Маугли,» (7) — не подходит.
«Рататуй,» (8) — не подходит.
«Пиноккио,» (9) — не подходит.
«Винни-Пух,» (10) — не подходит.
«Белоснежка,» (11) — не подходит.
«Малефисента,» (14) — не подходит.
«Человек-паук,» (15) — не подходит.
«Конек-Горбунок» (16) — не подходит.
Условие: «два пробела не должны идти подряд». Это значит, что после удаления имени, запятой и пробела, мы получили новый текст, где также не было двух пробелов подряд.
Если удалить имя «Шрек» и запятую, то останется «Мои любимые герои мультфильмов: Пумба, Маугли...». Пробел после «:» остается.
Если удалить имя «Рататуй» вместе с запятой, то строка выглядит так: «Мои любимые герои мультфильмов: Шрек, Пумба, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конек-Горбунок».
Удаленное имя — «Рататуй». Удаляется «Рататуй,» и пробел после него.