Вопрос по информатике:
В автобусе 50 мест, которые обычно нумеруются числами от 1 до 50. Вышло новое распоряжение, согласно которому код места не должен содержать цифр, а может состоять только из букв А, Б, В и Г. Предложите способ кодирования номера места, так чтобы все коды были одинаковой (минимально возможной) длины и сохранялся порядок сортировки: если записать новые буквенные коды по алфавиту, соответствующие «старые номера» этих мест должны быть расположены по возрастанию. Как бы вы закодировали номер места 49? В ответе приведите код и опишите принцип.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 14.03.2018 23:30
- Информатика
- remove_red_eye 5508
- thumb_up 26
Ответы и объяснения 1
По распоряжению алфавит должен состоять из четырех символов; А, Б, В. Г, поэтому запись любого числа с помощью этого алфавита - это его представление в системе счисления по основанию 4.
Чтобы лучше понять эту идею, вспомним привычную нам запись чисел - десятичную. Она называется десятичной потому, что для записи чисел в ней используются десять знаков - от 0 до 9. Знаков десять и в соответствии с этим числа, ими записанные представляются в десятичной системе счисления. А если у нас таких знаков только восемь - от 0 до 7? Совершенно верно, это алфавит восьмеричной системы счисления. А если только два знака в алфавите - 0 и 1? Да, мы приходим к той самой двоичной системе.
Теперь, когда мы обосновали выбор системы счисления по основанию 4. посмотрим, сколько разрядов нам надо для представления самого большого из требуемых чисел - числа 49. Почему 49, а не 50, ведь мест 50? Да, мест 50, но они нумеруются от 1 до 50, а мы будем их кодировать числами от 0 до 49. Для "экономии" - чего нулю пропадать даром?
Переводим 49 в систему счисления по основанию 4. Тем самым способом: делим на основание системы, пока есть что делить, т.е. пока не получим 0 в целой части.
49 / 4 = 12 и 1 в остатке.
12 / 4 = 3 и 0 в остатке
3 / 4 = 0 и остаток 3.
А теперь записываем остатки в обратном порядке: 301.
Итак, 49₁₀ = 301₄
Следовательно, нам достаточно иметь три разряда для записи номера любого места.
Осталось вспомнить, что вместо цифр 0,1,2,3 (а именно они составляют алфавит системы счисления по основанию четырые) мы должны писать буквы, да еще и в алфавитном порядке. Ну и ладно, тогда пусть так будет:
А - 0, Б - 1, В-2, Г-3. И наш максимальный номер 49₁₀ = 301₄ запишется в виде ГАБ.
А как закодировать место 49? Оно лишь на 1 меньше, чем максимальное 50, но 50 это у нас 301₄. отнимем 1 и получим 300₄, которое кодируется как ГАА. Это и есть ответ.
- 15.03.2018 13:08
- thumb_up 36
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.