Системы счисления. Перевод в 10-ую систему счисления

  • Презентации учебные
  • pptx
  • 08.04.2025
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Системы счисления. Перевод в 10-ую систему.pptx

системы счисления.
Перевод в 10-ую с.с. Python.

Подготовила учитель информатики
МАОУ гимназии №5
г. Новороссийск
Кувватова Ольга Александровна

Перевод из любой системы счисления в 10-ую

5 4 3 2 1 0
3413568 =(6·80)+(5·81)+(3·82)+(1·83)+(4·84)+(3·85) = 11543810

«аналитический перевод» если цифр в числе много займет много времени и требует сосредоточенности и внимательности.

данный способ позволяет перевести число из любой системы счисления в 10-ую и может быть прописан в Python

5 4 3 2 1 0
341x568 =(6·80)+(5·81)+(x·82)+(1·83)+(4·84)+(3·85) = ?10

x это цифра от 0 до 7 (так как 8-ая с. с. состоит из 8 цифр (0-7). Значит можно получить 8 различных значений в 8-ой с.с. и соответственно в 10-ой.

Если мы не знаем цифру в числе другой системы счисления, но нам необходимо узнать все варианты, то мы её можем перебрать циклом с параметром, подставив вместо x значения перебора цикла for…

Перебор каждого значения индивидуально и его вычисление аналитически.

Перебор с использованием цикла for.

Перевод из любой системы счисления в 10-ую

Встроенная в Python функция int() возвращает целое число в десятичной системе счисления из другого типа данных.
int (x, base)
x - число или строка, которую можно преобразовать в целое число.
base - необязательный аргумент: число, представляющее числовой формат системы счисления (по умолчанию: 10).

Перевод из любой системы счисления в 10-ую

Ввод

Вывод

Описание

int(42)

42

Если передать функции int целое число, то она вернет его же.

int(42.658)

Если передать float вещественное (дробное) число, то оно будет округлено до целого в сторону нуля (отбрасывая дробную часть).

int(‘625’)

625

Если передать str строковое значение, содержащее цифры от 0 до 9, то оно вернет его же только в числовом формате (int)

int(‘6a23’,19)

42069

Если передать str строковое значение и указать в какой системе счисления находится число в данной строке, то оно вернет его в числовом формате int десятичной системы счисления

Перевод из любой системы счисления в 10-ую

Ввод

Вывод

Описание

int(‘6a56’,9)

ошибка

Символы в строке несоответствуют алфавиту системы счсления в которую совершаем перевод.Ошибка «невалидный символ».
print (int('6a56',9))
ValueError: invalid literal for int() with base 9: '6a56'

int(‘молоко’)

Символы в строке несоответствуют алфавиту системы счсления в которую совершаем перевод.Ошибка «невалидный символ».
print (int('молоко'))
ValueError: invalid literal for int() with base 10: 'молоко'

Перевод из любой системы счисления в 10-ую

Ввод

Вывод

Описание

int('452',39)

ошибка

Перевод в системы счисления выше чем 36-ая невозможен. Алфавит максимальной системы счисления в Python содержит цифры от 0 до 9 и 26 строковых символов латинского алфавита (a-z).
print (int('452',39))
ValueError: int() base must be >= 2 and <= 36, or 0
Так как система счисления понятие абстрактное и может иметь любое количество символов в своем алфавите (39, 52 и т. д.), то для таких систем счисления в Python можно пользоваться только аналитическим переводом.

Перебор с использованием цикла for и функцией int()

Решение задач.

Подготовила учитель информатики
МАОУ гимназии №5
г. Новороссийск
Кувватова Ольга Александровна

Операнды арифметического выражения записаны в системе счисления с основанием 18:
9009x₁₈ + 2257x₁₈
В записи чисел переменной x обозначена неизвестная цифра из алфавита 18-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 15. Для найденного значения x вычислите частное от деления значения арифметического выражения на 15 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Ответ 77888

Задача 1

Задача 1 решение
Аналитический способ

Исходя из условия задачи подставляем x с помощью цикла for, которая является цифрой данных чисел и вычисляем выражение. Внимательно осознаем, что определить и дать в ответ это не одно и тоже. Дать в ответ необходимо частное (результат) от деления значения арифметического выражения на 15, а определить x.

Можем пользоваться функцией int (система счисления меньше 36-ой) при этом алфавит удобно составить самостоятельно отсортировав символы (sorted) и склеив их в строку (join).

Задача 1 решение
Способ Решения с Функцией

Операнды арифметического уравнения записаны в разных системах счисления.
3364x₁₁ + x7946₁₂ = 55x87₁₄
В записи чисел переменной x обозначена неизвестная цифра. Определите наименьшее значение x, при котором данное уравнение обращается в тождество. В ответе укажите значение правой части уравнения в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Ответ 207291

Задача 2

В данной задаче три числа представлены в различных системах счисления, но цифра x подставляется одна, логично что подставить цифру 11 (b) 12 (с) 13(d) в число в 11-ой системе счисления нельзя. Значит ориентироваться необходимо только на цифры минимальной системы счисления.

Задача 2 решение
Аналитический способ

Способ с функцией аналогичен.

Задача 2 решение
Способ Решения с Функцией

Операнды арифметического выражения записаны в системе счисления с основанием 17.
7x589y17 + EExy9AC17
В записи чисел переменными x и y обозначена неизвестные цифры из алфавита 17-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 13 при любом значении y. Для найденного x вычислите частное от деления значения арифметического выражения на 13 при y = 3 и укажите его в ответе в десятичной системе счисления.
Ответ 28406992

Задача 3

В данной задаче два неизвестных значения x и y, которые потребуют два перебора циклов for, так же просят определить ответ зависимый от y=3. Вычисление выражений может быть прописано так же и в аналитическом виде.

Задача 3 решение

В системе счисления с некоторым основанием p выполняется равенство
71 · 57 = xy7
Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p. Запишите в ответе значение числа yxp в десятичной системе счисления. Если существует несколько вариантов решения, запишите ответ для наименьшего возможного основания p.

Задача 4

Данную задачу можно решать как с помощью функции int(), так и с помощью аналитического перевода, но так как функция int сможет дать решение только для систем счисления до 36-ой, а ответом может являтся значение системы счисления больше чем 36-ая, то проще сразу написать аналитическое решение которое даст ответ для любой системы.

Задача 4 решение

В задаче предполагается неизвестная система счисления p, которую необходимо перебрать (проанализировав значения задачи становится понятно что цифры которые в них находятся не могут находится в 7-ой и ниже системах счисления).

Задача 4 решение

Сами цифры x и y могут начинаться с 0 и до той цифры которую подразумевает система счисления в данной итерации циклом перебора for p in range, поэтому в каждой итерации цифры для этих чисел будут увеличиваться относительно системы счисления.

Так же стоит обратить внимание на вопрос задания, в котором просят дать в ответ значение числа yxp
Вычислять его так же необходимо аналитически.

Задачи для самопроверки.

Подготовила учитель информатики
МАОУ гимназии №5
г. Новороссийск
Кувватова Ольга Александровна

Задача 1

Операнды арифметического выражения записаны в системе счисления с основанием 23:
7x3859623 + 14х3623 + 61x723
В записи чисел переменной x обозначена неизвестная цифра из алфавита 23-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 22. Для найденного значения x вычислите частное от деления значения арифметического выражения на 22 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно

Задача 2

Операнды арифметического выражения записаны в системах счисления с основаниями 25 и 11.
7y23x525 + 67x9y11
В записи чисел переменными x и y обозначены допустимые в данных системах счисления неизвестные цифры. Определите значения x, y, при которых значение данного арифметического выражения кратно 131. Для найденных значений x, y вычислите частное от деления значения арифметического выражения на 131 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Задача 3

Операнды арифметического выражения записаны в системе счисления с основанием 30.
Byx6R94Ex30 + MyKGNx30
В записи чисел переменными x и y обозначена неизвестные цифры из алфавита 30-ричной системы счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 10 при любом значении y. Для найденного x вычислите частное от деления значения арифметического выражения на 10 при y = 4 и укажите его в ответе в десятичной системе счисления.

Задача 4

Операнды арифметического выражения записаны в системе счисления с основанием 68:
123x568 + 1x23368
В записи чисел переменной x обозначена неизвестная цифра из алфавита 68-ричной системы счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 12. Для найденного значения x вычислите частное от деления значения арифметического выражения на 12 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Задача 5

В системе счисления с некоторым основанием p выполняется равенство
34 · 56 = xy2
Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p. Запишите в ответе значение числа yxp в десятичной системе счисления. Если существует несколько вариантов решения, запишите ответ для наименьшего возможного основания p.

Ответы

47163321
552647
732351131216
5321454
390