Рассмотрим примеры кратких теоретических сведений о работе с системами счисления на языке программирования Python при подготовке к ОГЭ по информатике.
Для того, чтобы перевести число в десятичную систему счисления в любую другую достаточно использовать функцию int при этом нужно строку перевести в число. Например, чтобы перевести число 100010 из двоичной системы счисления необходимо записать следующее:
В Python существуют специальные функции, позволяющие переводить десятичные числа в двоичную, восьмеричную и шестнадцатеричную системы счисления.
print(bin()) – для двоичной
print(oct()) – для восьмеричной
print(hex)) – для шестнадцатеричной
Пример 1. Переведите число 105 из десятичной системы счисления в двоичную систему счисления.
Решение. На языке Python решение будет выглядеть следующим образом:
Запустив программу, мы получим ответ и два технических символа впереди:
Их необходимо убрать в получившейся строке. Тогда «заберем» эти два символа, сделав «срез строки»:
После изучения теоретического материала можно предложить выполнить ряд следующих заданий.
Пример 1. Вычислите значение арифметического выражения:
В ответе запишите десятичное число, основание системы счисления указывать не нужно.
Решение. Однострочное решение на языке Python:
Ответ: 530.
Пример 2. Вычислите значение суммы:
Результат представьте в виде двоичного числа.
Решение. При решении данной задачи необходимо привести все числа одну систему счисления, например, в десятичную:
После чего дополнить код, и перевести данную запись в двоичную систему счисления:
Ответ: 101000
Пример 3. Для скольких натуральных чисел X выполняется неравенство:
Решение. Переведем числа B6_16 и 275_8 в десятичную систему счисления:
Так как нам необходимо найти количество натуральных X, которые входят в заданный промежуток, то введем переменную, обозначающую «счетчик», после чего при помощи цикла с заданным числом повторений переберем все X, которые будут удовлетворять заданному условию:
После запуска программы в ответе получим 6 чисел.
Ответ: 6.
Пример 4. Для скольких натуральных чисел X выполняется неравенство:
Решение. Данное задание решим аналогично примеру 3:
Ответ: 193.
Пример 5. Переведите число 297 из десятичной системы счисления в двоичную систему счисления. Сколько единиц содержит полученное число?
В ответе укажите одно число – количество единиц.
Решение. Для решения данного типа задач с помощью программирования необязательно сначала переводить число в двоичную систему счисления, после чего «вручную» считать количество единиц. Так как мы работаем со строкой, то для того, чтобы подсчитать количество того или иного символа в строке, используем функцию count. Для нашего примера это будет выглядеть следующим образом:
Ответ: 193.
Пример 6. Сколько единиц в двоичной записи числа D8_16?
Решение. В данном случае необходимо предварительно перевести число D8_16 в десятичную систему счисления:
Ответ: 4.
Пример 7. Укажите через запятую (без пробела) в порядке возрастания все числа, не превосходящие 30, в запись которых в двоичной системе счисления оканчивается на «101». Числа в ответе указывайте в десятичной системе счисления.
Решение. С помощью цикла с заданным числом повторений переберем все числа, которые меньше 30. Затем переведем их в двоичную систему счисления. Создадим условие «если три последние цифры двоичной записи – «101», то результат переведем в десятичную систему счисления и выведем все подходящие числа.
Ответ: 5, 13, 21, 29.
Пример 8. (Демонстрационный вариант контрольных измерительных материалов основного государственного экзамена 2024 года по информатике).Среди приведенных ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.
2316, 328, 111102
Решение. В данной задаче для поиска максимального числа воспользуемся функцией max:
Ответ: 35.