Тем, кто планирует сдавать ЕГЭ - ознакомиться с разбором тренировочного варианта СтатГрад от 17.03 На уроке планируется рассмотреть методы решения заданий отличные от представленных в разборе, оценить их эффективность и трудоемкость.
Для тех, кто еще не сдал, решить конкретные задачи:
Быть готовым к решению на уроке задач на рекурсию (тема Функции):
Наизусть знать алгоритм перевода из произвольной системы счисления (от 2 до 16) в десятичную.
Уметь писать программный код для 12 задачи:
Для тех, кто уже умеет решать данные задачи, следует готовиться к решению задач на обработку символьных строк:
Подключиться к классу:
Если кто-то не смог посещать все мои занятия, рекомендую ознакомиться со следующей лекцией председателя комиссии Всероссийской олимпиады по информатике Кириенко Д.П.. Про решение задач на языке Python начинается с 15 минуты.
Дополнительные информационные источники:
https://youtu.be/us7y0UhTq0s 2020 Практика программирования на Python, лекция №1
https://youtu.be/4NvtHHWoWXE 2020 Практика программирования на Python, лекция №2
Возможные алгоритмические задачи для подраздела 1.1 перечня требований к уровню подготовки выпускников, достижение которых проверяется на едином государственном экзамене по информатике и ИКТ. Кодификатор ЕГЭ 2021 г. ИНФОРМАТИКА и ИКТ, 11 класс.
https://repl.it/join/djcuwbkd-intepra для совместной работы в Repl.it
Одна куча
mem = {} def g(x): if x in mem: return mem[x] if x >= win: mem[x] = 0 return 0 res = [g(x + 1), g(x + 3), g(x * 2)] if 0 in res: mem[x] = 1 return 1 if min(res) > 0: mem[x] = max(res) * -1 return max(res) * -1 else: d = max([i for i in res if i < 0]) * -1 + 1 mem[x] = d return d win = 35 for i in range(1, 35): r = g(i) if r == -2: print("{}:{}; ".format(i,r), end= "")
Две кучи
mem = {} def g(x, s): if (x, s) in mem: return mem[(x, s)] if x + s >= win: mem[(x, s)] = 0 return 0 res = [g(x + 1, s), g(x * 2, s), g(x, s + 1), g(x, s * 2)] if 0 in res: mem[(x, s)] = 1 return 1 if min(res) > 0: mem[(x, s)] = max(res) * -1 return max(res) * -1 else: d = max([i for i in res if i < 0]) * -1 + 1 mem[(x, s)] = d return d win = 55 x = 5 for i in range(1, 50): r = g(x, i) if r == -2: print("{}:{}; ".format(i,r), end= "")
https://disk.yandex.ru/i/b9pUPsa9ks_MUA pdf
Вариант 14, задание 8
d = "АЙСБЕРГ" cnt = 0 #w = set() for a1 in d: for a2 in d: for a3 in d: for a4 in d: for a5 in d: for a6 in d: for a7 in d: r = a1 + a2 + a3 + a4 + a5 + a6 + a7 if len(set(r)) == 7 and r[0] !="Й" and not("ЙА" in r) and not("ЙЕ" in r): #w.add(r) cnt += 1 print(cnt)