Найти тему

Решение заданий на системы счисление при подготовке к ОГЭ по информатике при помощи программирования на языке Python

Рассмотрим примеры кратких теоретических сведений о работе с системами счисления на языке программирования Python при подготовке к ОГЭ по информатике.

Для того, чтобы перевести число в десятичную систему счисления в любую другую достаточно использовать функцию int при этом нужно строку перевести в число. Например, чтобы перевести число 100010 из двоичной системы счисления необходимо записать следующее:

В Python существуют специальные функции, позволяющие переводить десятичные числа в двоичную, восьмеричную и шестнадцатеричную системы счисления.

print(bin()) – для двоичной

print(oct()) – для восьмеричной

print(hex)) – для шестнадцатеричной

Пример 1. Переведите число 105 из десятичной системы счисления в двоичную систему счисления.

Решение. На языке Python решение будет выглядеть следующим образом:

-2

Запустив программу, мы получим ответ и два технических символа впереди:

-3

Их необходимо убрать в получившейся строке. Тогда «заберем» эти два символа, сделав «срез строки»:

-4

После изучения теоретического материала можно предложить выполнить ряд следующих заданий.

Пример 1. Вычислите значение арифметического выражения:

-5

В ответе запишите десятичное число, основание системы счисления указывать не нужно.

Решение. Однострочное решение на языке Python:

-6

Ответ: 530.

Пример 2. ​Вычислите значение суммы: 

-7

Результат представьте в виде двоичного числа.

Решение. При решении данной задачи необходимо привести все числа одну систему счисления, например, в десятичную:

-8

После чего дополнить код, и перевести данную запись в двоичную систему счисления:

-9

Ответ: 101000

Пример 3. ​Для скольких натуральных чисел X выполняется неравенство:

-10

Решение. Переведем числа B6_16 и 275_8 в десятичную систему счисления:

-11

Так как нам необходимо найти количество натуральных X, которые входят в заданный промежуток, то введем переменную, обозначающую «счетчик», после чего при помощи цикла с заданным числом повторений переберем все X, которые будут удовлетворять заданному условию:

-12

После запуска программы в ответе получим 6 чисел.

Ответ: 6.

Пример 4. Для скольких натуральных чисел X выполняется неравенство:

-13

Решение. Данное задание решим аналогично примеру 3:

-14

Ответ: 193.

Пример 5. Переведите число 297 из десятичной системы счисления в двоичную систему счисления. Сколько единиц содержит полученное число?

В ответе укажите одно число – количество единиц.

Решение. Для решения данного типа задач с помощью программирования необязательно сначала переводить число в двоичную систему счисления, после чего «вручную» считать количество единиц. Так как мы работаем со строкой, то для того, чтобы подсчитать количество того или иного символа в строке, используем функцию count. Для нашего примера это будет выглядеть следующим образом:

-15

Ответ: 193.

Пример 6. Сколько единиц в двоичной записи числа D8_16?

Решение. В данном случае необходимо предварительно перевести число D8_16 в десятичную систему счисления:

-16

Ответ: 4.

Пример 7. Укажите через запятую (без пробела) в порядке возрастания все числа, не превосходящие 30, в запись которых в двоичной системе счисления оканчивается на «101». Числа в ответе указывайте в десятичной системе счисления.

Решение. С помощью цикла с заданным числом повторений переберем все числа, которые меньше 30. Затем переведем их в двоичную систему счисления. Создадим условие «если три последние цифры двоичной записи – «101», то результат переведем в десятичную систему счисления и выведем все подходящие числа.

-17

Ответ: 5, 13, 21, 29.

Пример 8. (Демонстрационный вариант контрольных измерительных материалов основного государственного экзамена 2024 года по информатике).Среди приведенных ниже трёх чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.

2316, 328, 111102

Решение. В данной задаче для поиска максимального числа воспользуемся функцией max:

-18

Ответ: 35.