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

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

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

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

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

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

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

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

Итоги урока

Посимвольное двоичное преобразование

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

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

Решение 5 задания ЕГЭ по информатике

Просмотр содержимого документа
«Посимвольное двоичное преобразование»

2018 На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1.  Строится двоичная запись числа N. 2.  К этой записи дописываются справа ещё два разряда по следующему правилу: складываются все цифры двоичной записи: а)  если сумма нечетная, к числу дописывается 11, б)  если сумма четная, дописывается 00. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите такое наименьшее число R, которое превышает  114 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе счисления. for n in range(1, 100):  summa = 0  s = bin(n)[2:]  s = str(s)  for i in range(len(s)):  summa += int(s[i])  if summa % 2 != 0:  s += 114: print(r) break Ответ: 115. " width="640"

2018 На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1.  Строится двоичная запись числа N.

2.  К этой записи дописываются справа ещё два разряда по следующему правилу: складываются все цифры двоичной записи:

а)  если сумма нечетная, к числу дописывается 11,

б)  если сумма четная, дописывается 00.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите такое наименьшее число R, которое превышает  114 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе счисления.

for n in range(1, 100):

summa = 0

s = bin(n)[2:]

s = str(s)

for i in range(len(s)):

summa += int(s[i])

if summa % 2 != 0:

s += "11”

else:

s += "00”

r = int(s, 2)

if r 114:

print(r)

break

Ответ: 115.

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1.  Строится двоичная запись числа N. 2.  К этой записи дописываются еще несколько разрядов по следующему правилу: а)  если N чётное, то к двоичной записи слева дописывается 10; б)  если N нечётное, то к нему справа приписываются два нуля, а слева единица. Полученная таким образом запись (в ней как минимум на два разряда больше, чем в записи исходного числа N является двоичной записью искомого числа R. Укажите максимальное R, при условии что N не больше 12. В ответе запишите это число в десятичной системе счисления. maxi = 0 for n in range(1,12 + 1):  s = bin(n)[2:]  if n % 2 == 0:  s =

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1.  Строится двоичная запись числа N.

2.  К этой записи дописываются еще несколько разрядов по следующему правилу:

а)  если N чётное, то к двоичной записи слева дописывается 10;

б)  если N нечётное, то к нему справа приписываются два нуля, а слева единица.

Полученная таким образом запись (в ней как минимум на два разряда больше, чем в записи исходного числа N является двоичной записью искомого числа R.

Укажите максимальное R, при условии что N не больше 12. В ответе запишите это число в десятичной системе счисления.

maxi = 0

for n in range(1,12 + 1):

s = bin(n)[2:]

if n % 2 == 0:

s = "10" + s

else:

s = "1" + s + "00“

r = int(s, 2)

maxi = max(maxi, r)

print(maxi)

Ответ: 108.

 154? В ответе запишите это число в десятичной системе счисления. for n in range(2, 100): # начинаем с 2, так как число 1 имеет только одну цифру s = bin(n)[2:] # перевод в двоичную систему s = str(s) s += str(s.count("1") % 2) s += str(s.count("1") % 2) r = int(s, 2) # перевод в десятичную систему if r 154: print(n) break Ответ: 39. " width="640"

Алгоритм получает на вход натуральное число N и строит по нему новое число R следующим образом.

1.  Строится двоичная запись числа N.

2.  Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.

3.  Предыдущий пункт повторяется для записи с добавленной цифрой.

4.  Результат переводится в десятичную систему.

При каком наименьшем числе N в результате работы алгоритма получится R  154? В ответе запишите это число в десятичной системе счисления.

for n in range(2, 100): # начинаем с 2, так как число 1 имеет только одну цифру

s = bin(n)[2:] # перевод в двоичную систему

s = str(s)

s += str(s.count("1") % 2)

s += str(s.count("1") % 2)

r = int(s, 2) # перевод в десятичную систему

if r 154:

print(n)

break

Ответ: 39.

90: print(n) break Ответ: 23. " width="640"

Автомат обрабатывает натуральное число N по следующему алгоритму:

1.  Строится двоичная запись числа N.

2.  В конец двоичной записи добавляются две первые цифры этой записи в обратном порядке.

3.  Результат переводится в десятичную систему и выводится на экран.

При каком наименьшем исходном N результат на экране автомата будет больше 90?

for n in range(2, 100): # начинаем с 2, так как число 1 имеет только одну цифру

s = bin(n)[2:] # перевод в двоичную систему

s = str(s)

s += s[1] + s[0]

r = int(s, 2) # перевод в десятичную систему

if r 90:

print(n)

break

Ответ: 23.

93: print(r) break Ответ: 96. " width="640"

Автомат обрабатывает натуральное число N по следующему алгоритму:

1.  Строится двоичная запись числа N.

2.  Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.

3.  Предыдущий пункт повторяется для записи с добавленной цифрой.

4.  Результат переводится в десятичную систему и выводится на экран.

Какое наименьшее число, большее 93, может появиться на экране в результате работы автомата?

for n in range(1, 100):

s = bin(n)[2:]

if s.count('1') % 2 == 0:

s += '0‘

else:

s += '1‘

if s.count('1') % 2 == 0:

s += '0‘

else:

s += '1‘

r = int(s, 2)

if r 93:

print(r)

break

Ответ: 96.


Скачать

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

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

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

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