
Задание№14
Текстовый документ, состоящий из 5120 символов, хранился в 8-битной кодировке КОИ-8. Этот документ был преобразован в 32-битную кодировку. Укажите, какое дополнительное количество Кбайт потребуется для хранения документа. В ответе запишите только число.
Пояснение.
Объем информации в кодировке КОИ-8: 5120 символов * 1 байт = 5120 байт.
Объем информации в 32-битной кодировке: 5120 символов * 4 байта = 20480 байт.
20480 байт - 5120 байт = 15360 байт.
15360 : 1024 = 15 Кбайт.
Задание№17
Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
4. АААКА
……
Запишите слово, которое стоит на 350-м месте от начала списка.
Пояснение.
Заменим буквы А, К, Р, У на 0, 1, 2, 3 соответственно (для них порядок очевиден – по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
...
Полученная запись есть числа, записанные в четверичной системе счисления в порядке возрастания. Тогда на 350-м месте будет стоять число 349 (т. к. первое число 0). Переведём число 349 в четверичную систему (деля и снося остаток справа налево):
349 / 4 = 87 (1)
87 / 4 = 21 (3)
21 / 4 = 5 (1)
5 / 4 = 1 (1)
1 / 4 = 0 (1)
В четверичной системе 349 запишется как 11131. Произведём обратную замену и получим КККУК.
Ответ: КККУК.
Задание№15
Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. Прибавь 1
2. Умножь на 2
Выполняя команду номер 1, КАЛЬКУЛЯТОР прибавляет к числу на экране 1, а выполняя
команду номер 2, умножает число на экране на 2. Укажите минимальное число команд, которое должен выполнить исполнитель, чтобы получить из числа 23 число 999.
Пояснение.
Умножение на число обратимо не для любого числа, поэтому, если мы пойдём от числа 999 к числу 23, тогда однозначно восстановим программу с минимальным числом команд. Полученные команды будут записываться справа налево.
1) Число 999 не делится на 2, значит, оно получено прибавлением единицы к числу 998: 999 = 998 + 1 (команда 1).
2) Т. к. мы хотим получить минимальное число команд, то для получения числа 998 нужно использовать умножение: 998 = 499 * 2 (команда 2).
Далее, если число чётное, применяем рассуждение 2), если нечётное — рассуждение1), поэтому:
499 = 498 + 1 (команда 1);
498 = 249 * 2 (команда 2);
249 = 248 + 1 (команда 1);
248 = 124 * 2 (команда 2);
124 = 62 * 2 (команда 2);
62 = 31 * 2 (команда 2);
31 = 30 + 1 (команда 1).
Заметим, что далее мы не можем применять рассуждение 2), потому что 30 = 15 * 2, а 15 < 23, т. е. меньше начального числа. А поскольку мы не имеем команды вычитания, то и получить число 15 не можем. Следовательно, 30 = 23 + 7 (7 раз применили команду 1).
Считаем количество команд и получаем ответ: 16.