Робот имеет следующую систему команд: вперед, направо а, налево а, копать, а - угол от 0...

0 голосов
55 просмотров

Робот имеет следующую систему команд: вперед, направо а, налево а, копать,
а - угол от 0 до 90, кратный 5 (т.е. разрешены углы 0, 5, 10...). Укажите объем памяти в байтах, необходимый для хранения 1000 команд робота, если каждая команда кодируется цепочкой бит наименьшего размера, одинакового для всех команд.


Информатика (381 баллов) | 55 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Определим количество различных команд робота. Задачка конечно надуманная, потому что нет, например, команды остановки робота. Ну, что задали... Итак, "вперед" и "копать" - две команды. "Направо на угол от 0 до 90" - это 90/5+1 = 19 команд. Тут мы используем формулу для нахождения количества точек на интервале [a;b] с шагом h: n=(b-a)/h+1. Столько же команд для "Налево на угол от 0 до 90" - 19. Всего получается 2+19+19=40 команд. Пусть эти команды имеют коды от 0 до 39, тогда 39 - самое большое число для кодирования. В качестве кода выбираем запись в двоичном виде. 2⁵ < 39 < 2⁶, поэтому для кодирования нам потребуется 6 бит. Ну а 1000 команд потребуют в 1000 раз больше памяти: 6×1000=6000. В байте 8 бит, поэтому 6000 бит = 6000/8 = 750 байт.

Ответ: 750 байт

(142k баллов)