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

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

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

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

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

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

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

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

Итоги урока

Презентация "Выполнение и анализ программ (КИМ5)"

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

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

Решение задания 5, ЕГЭ информатика "Выполнение и анализ программ". Проверка бит четности, системы счисления, сортировка кортежей

Просмотр содержимого документа
«Презентация "Выполнение и анализ программ (КИМ5)"»

Выполнение и анализ программ КИМ 5 (Б,4 мин)

Выполнение и анализ программ

КИМ 5 (Б,4 мин)

Важно знать! сумма двух цифр в десятичной системе счисления бит чётности – это дополнительный контрольный бит, который добавляется к двоичному коду так, чтобы количество единиц в полученном двоичном коде стало чётным; если в исходном коде уже было чётное количество единиц, дописывается 0, если нечётное – дописывается 1. при добавлении к двоичной записи числа нуля  справа число увеличивается в 2 раза (сдвиг влево) чтобы отбросить последнюю цифру в двоичной записи, нужно разделить число на 2 нацело (остаток отбрасывается) (сдвиг вправо)

Важно знать!

  • сумма двух цифр в десятичной системе счисления
  • бит чётности – это дополнительный контрольный бит, который добавляется к двоичному коду так, чтобы количество единиц в полученном двоичном коде стало чётным; если в исходном коде уже было чётное количество единиц, дописывается 0, если нечётное – дописывается 1.
  • при добавлении к двоичной записи числа нуля справа число увеличивается в 2 раза (сдвиг влево)
  • чтобы отбросить последнюю цифру в двоичной записи, нужно разделить число на 2 нацело (остаток отбрасывается) (сдвиг вправо)
Важно знать! Строки- str(a) Срезы а[2:] –с 3й позиции, a[-3:] -крайние 3 правые цифры Перевод в двоичную b = bin(a)[2:] Из двоичной в десятичную b = int(a,2) Добавление в список пары элементов (кортеж) a.append ((x,y)) Сортировка списка из кортежей по второму элементу sorted(a, key = lambda x: x[1] )

Важно знать!

  • Строки- str(a)
  • Срезы а[2:] –с 3й позиции, a[-3:] -крайние 3 правые цифры
  • Перевод в двоичную b = bin(a)[2:]
  • Из двоичной в десятичную b = int(a,2)
  • Добавление в список пары элементов (кортеж) a.append ((x,y))
  • Сортировка списка из кортежей по второму элементу

sorted(a, key = lambda x: x[1] )

КИМ 5 (б = 4 мин)

КИМ 5 (б = 4 мин)

#Строится двоичная запись числа N.  #а) если N делится на 3, то к этой записи дописываются 3 последние двоичные цифры;  #б) если число N на 3 не делится, то остаток от деления *на 3,переводится в двоичную запись и дописывается в конец числа.  #Полученная запись является двоичной записью искомого R.  #Результат переводится в десятичную систему и выводится на экран.  #Укажите мин R, большее 151, которое может быть получено. В ответе -в 10чной с|сч.   Основа программы: for i in range ( 1 , 10 ):  n = bin (i)[ 2 :]  n3 = n[- 3 :]   if i % 3 == 0 :  n_ch = str (n) + str (n3)   else :  n_ost = bin( (i % 3 ) *3)[ 2 :]  n_ch = str (n)+ str (n_ost)  r = int (n_ch,2)   print (n, r) # переводим в двоичную # выделяем 3 крайние правые цифры # к числу приклеиваем 3 правые цифры # остаток от деления на 3 умножаем на 3 и переводим в двоичную с/сч # добавляем к числу «двоичный» остаток # переводим в десятичную с/сч

#Строится двоичная запись числа N. #а) если N делится на 3, то к этой записи дописываются 3 последние двоичные цифры; #б) если число N на 3 не делится, то остаток от деления *на 3,переводится в двоичную запись и дописывается в конец числа. #Полученная запись является двоичной записью искомого R. #Результат переводится в десятичную систему и выводится на экран. #Укажите мин R, большее 151, которое может быть получено. В ответе -в 10чной с|сч.

Основа программы:

for i in range ( 1 , 10 ): n = bin (i)[ 2 :] n3 = n[- 3 :] if i % 3 == 0 : n_ch = str (n) + str (n3) else : n_ost = bin( (i % 3 ) *3)[ 2 :] n_ch = str (n)+ str (n_ost) r = int (n_ch,2) print (n, r)

# переводим в двоичную

# выделяем 3 крайние правые цифры

# к числу приклеиваем 3 правые цифры

# остаток от деления на 3 умножаем на 3 и переводим в двоичную с/сч

# добавляем к числу «двоичный» остаток

# переводим в десятичную с/сч

151: k.append ( (i, r) ) print(sorted(k, key= lambda x:x[1])) print(sorted(k, key= lambda x:x[0])) # создаем пустой список # добавляем в список кортеж число N и результат R # сортируем список по R # сортируем список по N Ответ:163 " width="640"

Программа:

k = [ ] for i in range(1, 100): n = bin(i)[2:] n3 = n[-3:] if i % 3 == 0: n_ch = str(n) + str(n3) else : n_ost = bin((i % 3)*3)[2:] n_ch = str(n)+str(n_ost) r = int(n_ch,2) #print(n, r) if r 151: k.append ( (i, r) ) print(sorted(k, key= lambda x:x[1])) print(sorted(k, key= lambda x:x[0]))

# создаем пустой список

# добавляем в список кортеж число N и результат R

# сортируем список по R

# сортируем список по N

Ответ:163

Задача 2 1 способ 1.Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу: а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10; б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11. Полученная таким образом запись является двоичной записью искомого числа R. Укажите минимальное число N, после обработки которого получается число R, большее 40. В ответе- число в десятичной с\е счисления. Можем получить неверный ответ! Поэтому 8 строку лучше заменить на: print(sorted(k, key= lambda x:x[0])) Ответ: 16

Задача 2

1 способ

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

2. Далее эта запись обрабатывается по следующему правилу:

а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;

б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.

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

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

Можем получить неверный ответ!

Поэтому 8 строку лучше заменить на:

print(sorted(k, key= lambda x:x[0]))

Ответ: 16

k=0  for n in range(4000,10000):   if n // 1000 == 4 or n // 1000 == 8 or n // 1000 == 9:   if n % 8 == 4:  k += 1   #print(n,end= ',' )  print(k) Ответ: 375

k=0 for n in range(4000,10000): if n // 1000 == 4 or n // 1000 == 8 or n // 1000 == 9: if n % 8 == 4: k += 1 #print(n,end= ',' ) print(k)

Ответ: 375

k= 0  #k8 = 0  for n in range ( 4000 , 10000 ):  a = str (n)   if ((a[ 0 ]== '4' ) or (a[ 0 ]== '8' ) or (a[ 0 ]== '9' )) and (n % 8 == 4 ):  k += 1   if (a[ 0 ] == '4' ) or (a[ 0 ] == '8' ) or (a[ 0 ] == '9' ):   #k8 += 1  print (k)  #print(k8) Ответ: 375

k= 0 #k8 = 0 for n in range ( 4000 , 10000 ): a = str (n) if ((a[ 0 ]== '4' ) or (a[ 0 ]== '8' ) or (a[ 0 ]== '9' )) and (n % 8 == 4 ): k += 1 if (a[ 0 ] == '4' ) or (a[ 0 ] == '8' ) or (a[ 0 ] == '9' ): #k8 += 1 print (k) #print(k8)

Ответ: 375

1100100 : # 100 в двоичной print(i) break " width="640"

for i in range(5, 100): n = bin(i)[2:] for k in range(2): #сумма цифр = кол-ву единиц if n.count('1') % 2 == 0: n = str(int(n[1:])) #int-убирает незначащие нули else : n = '1'+ n + '00' r = int(n) #print(r) if r 1100100 : # 100 в двоичной print(i) break

Ответ: 26

Ответ: 26

190: k.append((n, r)) print(sorted(k,key = lambda x:x[1])) print(sorted(k,key = lambda x:x[0])) Ответ: 16 " width="640"

k = [ ] for n in range(1, 100): na = bin(n)[2:] na2 = bin(na.count( '1' ))[2:] if n % 2 == 0: nc = '1' + na + '00' else : nc = na + na2 #print(na,nc) r = int(nc, 2) if r 190: k.append((n, r)) print(sorted(k,key = lambda x:x[1])) print(sorted(k,key = lambda x:x[0]))

Ответ: 16

Формулы Excel

Формулы Excel

Перевод из десятичной в двоичную

Перевод из десятичной в двоичную

Подсчитать кол-во

Подсчитать кол-во "1»

Найти частное:

Найти частное:

или так:

или так:

Литература Босова Л.Л. «Информатика 10 класс»: Москва, Бином. Лаборатория знаний, 2021 г Сайт Константина Полякова «ЕГЭ по информатике 2023» , задание 5. [https://kpolyakov.spb.ru/school/ege.htm] Демоверсия ЕГЭ по информатике 2024 (сайт ФИПИ)

Литература

  • Босова Л.Л. «Информатика 10 класс»: Москва, Бином. Лаборатория знаний, 2021 г
  • Сайт Константина Полякова «ЕГЭ по информатике 2023» , задание 5. [https://kpolyakov.spb.ru/school/ege.htm]
  • Демоверсия ЕГЭ по информатике 2024 (сайт ФИПИ)