Просмотр содержимого документа
«Презентация "Формальное исполнение простого алгоритма на языке программирования. Обработка массива" (КИМ 5 ЕГЭ)»
Обработка массива
информатика 10 класс
(профильный уровень)
учитель МБОУ СОШ с.Тербуны
Болгова Н.А.
Ким 5
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число чётное, то к двоичной записи числа слева дописывается 10;
б) если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01.
Полученная таким образом запись является двоичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 4 10 = 100 2 результатом является число 20 10 = 10 100 2 , а для исходного числа 5 10 = 101 2 это число 53 10 = 1 101 01 2 .
Укажите максимальное число R , которое может быть результатом работы данного алгоритма, при условии, что N не больше 12 . В ответе запишите это число в десятичной системе счисления
2025
(с) Болгова Н.А.
Нужно знать!
- n = bin( i ) [2: ]
- R = int (n , 2)
- mas. append( (I , R ) )
- print(sorted ( mas, key=lambda x: x[1], reverse=True ) )
2025
(с) Болгова Н.А.
1. Строится двоичная запись числа N.
2. а) если число чётное, то к двоичной записи числа слева дописывается 10;
б) если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01.
Получена двоичная запись числа R.
Укажите максимальное число R , при N не больше 12 . В ответе запишите это число в десятичной системе счисления
2025
(с) Болгова Н.А.
mas = [ ]
for i in range(1, 13):
n = bin(i)[2: ]
if i % 2 == 0:
n = '10' + n else:
n = '1' + n + '01‘
2025
(с) Болгова Н.А.
else:
n = '1' + n + '01‘
R = int (n , 2)
mas.append ( ( i , R ) )
print ( sorted ( mas, key = lambda x: x[1], reverse = True))
2025
(с) Болгова Н.А.
Программа
2025
(с) Болгова Н.А.
Яндекс ЕГЭ
Двоичная система
Уровень сложности-только простой
2025
(с) Болгова Н.А.
2025
(с) Болгова Н.А.
=33 mas = [ ] for i in range(33, 35): n = bin(i)[2:] if i % 2 == 0: n1 = '10' + n[2:] + '1' else: n1 = '1' + n[:-2] + '10' print(i, n, n1) 2025 (с) Болгова Н.А. " width="640"
#Если число чётное, то справа "1",а первые две цифры слева заменяются на "10" # нечетное - слева "1" а последние две цифры справа заменяются на 10" #Рез-т в десятичную. Найти min R, где N =33
mas = [ ] for i in range(33, 35): n = bin(i)[2:] if i % 2 == 0: n1 = '10' + n[2:] + '1' else: n1 = '1' + n[:-2] + '10' print(i, n, n1)
2025
(с) Болгова Н.А.
Ответ: 65
2025
(с) Болгова Н.А.
Яндекс ЕГЭ, ким 5 ( двоичная, сложность – средняя, № 3 )
2025
(с) Болгова Н.А.
Ответ: 16
2025
(с) Болгова Н.А.
Домашнее задание:
Яндекс ЕГЭ, ким 5 (двоичная, простая № 2)
2025
(с) Болгова Н.А.
2025
(с) Болгова Н.А.