СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 10.05.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методическая разработка «Перевод чисел в различные системы счисления на языке Python»

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Методическая разработка «Перевод чисел в различные системы счисления на языке Python»»

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ

«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»













Методическая разработка

«Перевод чисел в различные системы счисления на языке Python»

к дополнительной общеобразовательной

общеразвивающей программе

технической направленности

«Лаборатория робототехники»



Возраст детей: 10-17 лет









Автор: Костычев Вадим Александрович










г. Заречный Пензенской области

2022 г.

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

Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы над проектом на языке Python.

Данная методическая разработка используется как обучающий пример для работы по дополнительной общеобразовательной общеразвивающей программе технической направленности «Лаборатория робототехники». С их помощью учащиеся смогут применить теоретические знания на практике, построив сложные алгоритмы для перевода чисел в различные системы счисления.

Задание: на входе пользователем задается число, его система счисления и система счисления, число в которой пользователю необходимо получить.
Переведите число в необходимую систему счисления (из 10-ной системы счисления в любую другую или наоборот)
В качестве дополнительного задания учащимся может быть предложено реализовать алгоритм перевода чисел из любой системы счисления в любую другую через вычисление числа в десятичной системе. Также в качестве дополнительного задания учащимся может быть предложено использование функций bin(), oct(), hex() для перевода чисел.

Листинг программы

num_a = input('Введите первое число: ') # ввод изначального числа

num_b = 0 # создадим переменную для итогового числа в нужной системе счисления

sys_num_a = int(input('Введите её систему счисления: ')) # ввод системы счисления изначального числа

sys_num_b = int(input('В какую систему счисления вы хотите перевести число: ')) # ввод предпочитетльной для перевода системы счисления

if sys_num_b == 10: # если мы переводим число в десятичную систему счисления

num_b = 0 # создадим переменную для итогового числа в нужной системе счисления

for i in range(len(num_a)): # в цикле через переменную i будем проверять каждый символ числа

s16 = ['A', 'B', 'C', 'D', 'E', 'F'] # создадим список, содержащий символы чисел от 10 до 16

if num_a[i] in s16: # если симивол найден в списке

x = s16.index(num_a[i]) + 10 # то число равно индексу символа в списке плюс десять

else: # если же символ не найден в списке

x = int(num_a[i]) # тогда символ превращаем в цифру

num_b += x * (sys_num_a ** (len(num_a) - 1 - i)) # считаем итоговое число, для этого в цикле каждую цифру изначального числа умножаем на ее систему счисления в степени ее позиции, позиция рассчитываемся с конца с числа 0

print(x, '*', sys_num_a, "**", (len(num_a) - i - 1), '=', x * (sys_num_a ** (len(num_a) - i - 1))) # выводим на экран расчеты для наглядности

elif sys_num_a == 10: # если же мы переводим число из десятичной системы счисления в любую другую

num_b = '' # создадим переменную для итогового числа в нужной системе счисления

num_a = int(num_a) # так как число изначально в десятичной системе счисления

while num_a sys_num_b: # пока изначальное число больше системы счисления к которой мы хотим ее привести

if sys_num_b

num_b += str(num_a % sys_num_b) # будем добавлять в строку числа равные остатку от деления числа на новое основание

else: # иначе

s16 = ['A', 'B', 'C', 'D', 'E', 'F'] # создадим список, содержащий символы чисел от 10 до 16

x = num_a % sys_num_b - 10 # найдем остаток и его индекс в списке

num_b += s16[x] # добавим символ в итоговое число

num_a //= sys_num_b # разделим число на новое основание без остатка

num_b += str(num_a) # добавим в конец последнее частное, которое меньше новой системы счисления

num_b = num_b[::-1] # переворачиваем число

print(num_b) # выведем готовое число



Примеры работы программы



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!

Закрыть через 4 секунд
Комплекты для работы учителя