Задача 2.1.1. Для кодирования букв О, К, Г, Д, Р решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв ГОРОДОК таким способом и результат запишите восьмеричным кодом.
Вспомните таблицу чисел в различных системах счисления. Закодируйте буквы в двоичном коде, переведите в восьмеричный код с помощью метода быстрого перевода.
Буква
|
Десятичное число
|
Двоичное число
|
О
|
0
|
0
|
К
|
1
|
1
|
Г
|
2
|
10
|
Д
|
3
|
11
|
Р
|
4
|
100
|
Ошибка. Если применить двоичные числа в чистом виде в качестве кода, то мы не учтем требование «сохранение одного незначащего нуля в случае одноразрядного представления».
Продолжение хода решения.
Введем незначащие нули
Буква
|
Десятичное число
|
Двоичное число
|
Код
|
О
|
0
|
0
|
00
|
К
|
1
|
1
|
01
|
Г
|
2
|
10
|
10
|
Д
|
3
|
11
|
11
|
Р
|
4
|
100
|
100
|
Закодируем слово «Городок» и переведем его в восьмеричный код:
Г
|
О
|
Р
|
О
|
Д
|
О
|
K
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
4
|
2
|
0
|
6
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: 42061
Задача 2.1.2. Для кодирования букв А, В, С, D используются трехразрядные последовательные двоичные числа, начинающиеся с 1 (от 100 до 111 соответственно). Закодируйте таким образом последовательность символов CDAB и запишите результат в шестнадцатеричном коде.
«Загвоздкой» может быть порядок, в котором надо расположить код от 100 до 111. Надо вспомнить порядок, в котором числа идут друг за другом в двоичной системе счисления. В шестнадцатеричную систему числа перевести с помощью метода быстрого перевода.
Составим таблицу с кодами букв:
Буква
|
Код
|
A
|
100
|
B
|
101
|
C
|
110
|
D
|
111
|
Закодируем слово и переведем в шестнадцатеричную систему:
С
|
D
|
A
|
B
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
D
|
E
|
5
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ. DE5
Задача 2.1.3. Все 5-буквенные слова, составленные из букв А, Н, П, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААН
3. ААААП
4. АААНА
5. АААНН
……
Запишите слово, которое стоит на 210-м месте от начала списка.
Если буквы заменить на цифры и посмотреть на список слов, то можно заметить числа в какой-нибудь позиционной системе счисления. Поэтому задача сводится к переводу десятичного числа в другую систему счисления.
Заменим буквы на цифры:
А – 0, Н – 1, П – 2
Тогда список имеет вид:
1
|
00000
|
2
|
00001
|
3
|
00002
|
4
|
00010
|
5
|
00011
|
Это последовательность чисел в троичной системе счисления.
Ошибка. Неправильно было бы переводить число 210 в троичную систему счисления. Обратите внимание, что под первым номером (десятичное число 1) идет число 0-троичное, 2 соответствует 1, 3 – 2…
Продолжение хода решения.
Вместо 210 переведем в троичную систему число 209:
209
|
3
|
|
|
|
-207
|
69
|
3
|
|
|
2
|
-69
|
23
|
3
|
|
|
0
|
-21
|
7
|
3
|
|
|
2
|
-6
|
2
|
|
|
|
1
|
|
20910 = 212023
Заменим цифры троичного числа на буквы: ПНПАП.
Ответ: ПНПАП
Задача 2.1.4. Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Укажите номер первого слова, которое начинается с буквы У.
Задача является обратной к предыдущей задаче. Замените буквы на цифры и переведите обратным переводом число в десятичный вид.
Поскольку слова написаны в алфавитном порядке, то искомое слово – УАААА
Заменим буквы на цифры: А – 0, O – 1, У – 2.
Тогда мы получим число в троичной системе: 20000. Переведем его в десятичный вид:
200003 = 2 * 34 = 2 * 81 = 16210
Ошибка. Если мы напишем ответ – 162, то это будет ошибкой. Обратите внимание, что 1 соответствует слово ААААА, то есть 0-троичное, 2 соответствует 1-троичное, и т.д.
Ответ: 163