Контрольные задания > 10. В одной из кодировок КОИ-8 каждый символ кодируется 8 битами. Дима написал текст (в нём нет лишних пробелов): «J, Cg, Cat, Ruby, Swift, Delphi, Haskell — языки программирования». Ученик вычеркнул из списка название одного из языков программирования. Заодно он вычеркнул ставшие лишними запятые и пробелы - два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 9 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название языка программирования.
Вопрос:
10. В одной из кодировок КОИ-8 каждый символ кодируется 8 битами. Дима написал текст (в нём нет лишних пробелов): «J, Cg, Cat, Ruby, Swift, Delphi, Haskell — языки программирования». Ученик вычеркнул из списка название одного из языков программирования. Заодно он вычеркнул ставшие лишними запятые и пробелы - два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 9 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название языка программирования.
Ответ:
Решение:
1. Определим размер исходного предложения:
* В исходном предложении 7 слов, разделенных запятыми и пробелами. Общее количество символов, включая запятые, пробелы и тире равно 43.
* Так как каждый символ кодируется 8 битами (1 байтом), то размер исходного предложения 43 байта.
2. Определим размер нового предложения:
* Размер нового предложения на 9 байт меньше, чем исходного: 43 - 9 = 34 байта.
3. Вычислим размер вычеркнутого слова:
* Размер вычеркнутого слова равен разнице между размерами исходного и нового предложений: 9 байт.
4. Проверим длину слов в списке:
* J (1 байт)
* Cg (2 байта)
* Cat (3 байта)
* Ruby (4 байта)
* Swift (5 байт)
* Delphi (6 байт)
* Haskell (7 байт)
5. Учитываем удаленные символы:
*Была удалена запятая и пробел после вычеркнутого слова (2 символа, 2 байта)
*Итого размер вычеркнутого слова без одного символа == 9 -2 = 7 байт.
*Единственное слово в списке размер которого 7 байт - Haskell.
Ответ: Haskell