Максим Попков | Информатика ЕГЭ 2026
Статистика💯 ЕГЭ по информатике для учителей и репетиторов 🔥 Канал основателя bank-kege.ru 🔗 Канал в MAX: max.ru/join/EnfDD5wLJ3cYBeAtFlFWTU_QZcH5D3NLosTeoYfCwsk 👀 YouTube канал: https://youtube.com/@maxim_egeinf ✏️ Любые вопросы: https://t.me/max_egeinf
- Последний пост
- 30 июн.
- Последнее чтение
- 04:32
- Постов за неделю
- 0
- Всего постов
- 66
- Тип
- открытый
- Язык
- русский
- Категория
- Образование
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
ТОП-2 САМЫХ ПОПУЛЯРНЫХ НЕПРАВИЛЬНЫХ ОТВЕТА НА ЕГЭ-2026 ПО ИНФОРМАТИКЕ 1. (отсутствие ответа) 2. 67 Ахах, не знаю, зачем вам эта информация, но поделился ей со мной сам С. С. Крылов - руководитель комиссии по разработке КИМ) Кстати, он еще и директор института №8 в МАИ, где я с ним регулярно пересекаюсь, например, пару дней назад он принимал у меня экзамен по алгоритмам и структурам данных! Так что всем пересдающим рекомендация: хорошенько подумайте, прежде чем отвечать 67 😂
Результаты пришли! Всем привет! Как в прошлые годы, после прихода результатов собираю обратную связь с учеников, родителей и коллег, которые пользовались моими услугами. Спасибо огромное тем, кто уже поделился мнением! Со всеми в этом году было очень приятно работать! Если вы ещё не успели написать, но мои материалы или занятия помогли вам в подготовке, буду очень благодарен за пару слов в личных сообщениях @max_egeinf Любые отзывы для меня очень ценны, так как помогают делать материалы ещё лучше, а другим людям показывают, чего ждать от обучения)
ВАРИАНТ ГОТОВ https://bank-kege.ru/variant?kim=25000039 Разместил вариант сегодняшнего дня, помимо №25 сюрпризы оказались в №13 и №23. В №13 впервые просили найти адрес сети, суть легчайшая, основная сложность - прочитать это) В №23 дали задачу из сборника Крылова с командой "Поменяй местами", разборы тут: YouTube, VK. #информатика
КАК ЕГЭ-2026 ЗАБОТИТСЯ ОБ ОТДЫХЕ СДАЮЩИХ Я пока не придумал ни одной адекватной причины, зачем составители придумали такие большие числа в 25 задании, заставив сдающих тупо ждать ответы в районе 10 минут. Конкретно. Вот вполне обычное решение с использованием алгоритмов оптимизированного поиска делителей и оптимизированной проверки чисел на простоту (с перебором до корня): def is_prime(a): if a < 2: return False for i in range(2, int(a ** 0.5) + 1): if a % i == 0: return False return True cnt = 0 for i in range(8007494155, 10**40): d = set() for j in range(2, int(i ** 0.5) + 1): if i % j == 0: if is_prime(j): d.add(j) if is_prime(i // j): d.add(i // j) if len(d) >= 2: m = max(d) + min(d) else: m = 0 if m > 80000 and is_prime(m) and str(m).count('567') == 1: print(i, m) cnt += 1 if cnt == 5: break И на моем компьютере 5 ответов пришлось ждать 521 секунду! Я еще могу понять, когда обычный поиск делителей работает невероятно долго (вообще код миллион лет ничего не выводит), а с перебором до корня всё работает сразу. Я могу понять, когда даже с таким ускорением код всё еще работает невероятно долго и не способен выдать ответы, но вопрос решается какой-то математической оптимизацией. А тут всё работает, математических хитростей выдумывать не надо, просто работает 10 минут😂 Зато можно прогуляться до туалета, поболтать там с другими сдающими о смысле жизни (или заданиях ЕГЭ) 😂😂 Короче, коллеги, заряжайте учеников на завтра не только внимательностью, но и терпением) Сегодня по возможности залью вариант на bank-kege.ru, о других интересных новинках напишу тут (спойлер: их совсем немного). #информатика
ЧТО ПОВТОРИТЬ ПЕРЕД ЭКЗАМЕНОМ Когда до ЕГЭ буквально пару дней, осваивать новое уже никому не рекомендую, времени даже на основательное повторение не остается, только ключевое. И, я думал, что ключевым у каждого ученика будет свое, но заметил общие для многих больные темы. Коллеги, делюсь с вами, повторяйте с ребятами: 1⃣ 16 задание двух типов: 2 функции, проблемы с кешированием (огромные числа). Повторяем с ребятами порядок вычисления для двух функций, перебор аргумента по возрастанию/убыванию, удаление ненужных значений из словаря для экономии памяти и фиксированный лимит для lru_cache. 2⃣ 22 задание. Вспоминаем технологии проверки условий "процесс начинается не ранее какой-то мс", "заканчивается не позднее какой-то мс", "работает в какую-то мс". Повторяем нахождение времени выполнения всей совокупности и какого-то количества процессов. 3⃣ 9 задание на повторяющиеся числа. Повторяем подсчет количества вхождений каждого числа в строку функцией СЧЁТЕСЛИ, разделение чисел на группы по какому-то признаку, обработку только повторяющихся/неповторяющихся. 4⃣ 5 задание. Подробнее всего останавливаемся на двух моментах: троичная система (функция для перевода) и поиск нетривиальных ответов с помощью списков (например, поиск максимального/минимального N для R, ближайшего к какому-то числу) Ну а с теми, кто идет на 90+, я думаю, вы догадываетесь, что мы повторяем: Да-да, те самые 24, 26, 27. Особенно последние, аналогичные типу с досрока. Коллеги, желаю всем вывезти этот загруженный период! Знаю на себе, как сейчас всем учителям и репетиторам нелегко. Радует то, что это уже финишная прямая) Но именно сейчас тот самый момент, когда важно действовать максимально точно. Точно попадать в повторение проблемных тем каждого ученика, точно попадать в нагрузку: кого-то вообще не трогать, кого-то, наоборот, запрягать пробниками. Я уверен, у нас с вами всё получится, как уже получалось не раз 🔥🔥🔥 #информатика
ТОП ПРОБНЫХ ВАРИАНТОВ ДЛЯ УЧЕНИКОВ ПЕРЕД ЕГЭ Коллеги, поделюсь вариантами, которые наиболее активно даю ученикам в качестве пробных сейчас, когда до ЕГЭ остается 2-3 дня. 1️⃣ Досрочная волна 2026: https://bank-kege.ru/variant?kim=25000033 Обязательно прорешать всем, без этого на ЕГЭ-2026 идти нельзя) 2️⃣ Открытый вариант 2026: https://bank-kege.ru/variant?kim=25000035 Аналогичен досроку Дальше официальные апробации. Большинство заданий обычные, благодаря чему варианты отлично показывают реальный уровень учеников. 3️⃣ ЕГКР 13.12.2025: https://bank-kege.ru/variant?kim=25000001 4️⃣ Апробация 04.03.2026: https://bank-kege.ru/variant?kim=25000030 5️⃣ ЕГКР 18.04.2026: https://bank-kege.ru/variant?kim=25000034 6️⃣ Апробация 14.05.2026: https://bank-kege.ru/variant?kim=25000036 И варианты из сборника Крылова 2026, аналогичные официальным волнам 2025, 2024, 2023 годов, но с учетом современных изменений. 7️⃣ 1 вариант: https://bank-kege.ru/variant?kim=25000002 8️⃣ 5 вариант: https://bank-kege.ru/variant?kim=25000006 9️⃣ 9 вариант: https://bank-kege.ru/variant?kim=25000010 Сейчас рекомендую по максимуму давать ученикам пробные, это поможет стабилизировать результат и выявить проблемные места. Да и, честно, глаз радуется от того, как у некоторых ребят с каждым днем растут баллы 💯💯💯 #информатика
О клиентах, которые пытаются обманывать бизнес. Вторая серия, дамы и господа! У меня есть кредитка в одном банке, и по ней есть возможность снимать определенную сумму ежемесячно без комиссии. И я раньше как делал: снимал в банкомате эту сумму, и тут же клал на дебетовую карту того же банка, а потом переводил на накопительный счет. Через месяц возвращал, оставляя себе проценты, и всё по новой))) Обман ли это бизнеса? Возможно, ведь банки нам дают кредитки со сладкими условиями, чтобы зарабатывать комиссию с покупок через эквайринг. А недавно я столкнулся с другой штукой. Перед прошлым постом я тестировал акцию с промо-доступом к воркшопу перед покупкой, и обнаружил, что один преподаватель решил дюпать доступ. То есть, он отключил платное продление, а после окончания пробного периода просто создал новый аккаунт и активировал триал-период повторно. Причем обнаружил я это случайно, по очень похожей почте, отличающейся буквально доменом)) И я хочу сказать спасибо большое этому человеку, такой белый хакинг помогает нам делать платформу удобнее и безопаснее! Поэтому если кто-то найдёт ещё какую-нибудь хитрость или лазейку - пользуйтесь. А что? Тут все в плюсе: и тем, кто хитрит, наша платформа в чем-то становится удобнее/полезнее, и мы видим какие еще моменты можно улучшить) Но, кстати, чем закончилась моя история с тем банком? Ничего интересного, кредитку не забрали, никаких санкций, всё отлично, я могу и сейчас продолжать так делать. Но я не продолжаю. И даже не потому, что это какой-то "обман", что-то нехорошее, нет, сами дают, значит, нормальная тема. Я в какой-то момент просто забил. Ну типа: дойти до банкомата, всё это провернуть, не забыть вовремя вернуть деньги - это ж сколько гемора ради пары тысяч профита. И в какой-то момент я понял, что мое время просто дороже этого профита, что, пользуясь этой лазейкой, я не лутаю какие-то крутые штуки, а просто обмениваю время и внимание на деньги по невыгодному курсу, когда могу обменивать по выгодному. Действительно ли все вот эти хитрости: фильмы с торрентов, сливы курсов/материалов, заклеивание номера машины на платных парковках итд - стоят того? Для кого ответ положительный - вперед! (ну типа я реально за эффективность) А остальных коллег приглашаю вместе развиваться, стараться на благо учеников. Возможность посмотреть воркшоп перед покупкой никуда не девается, мучить взрослых людей фигней "успевайте, осталось Х часов!" я не собираюсь) Просто напишите в лс @max_egeinf, и всё сделаем)) P. S. Дюпать промо-период больше не получится, безопасность сделали) #длиннопост
О бизнесе, который пытается обманывать клиентов. Недавно от знакомого услышал историю покупки онлайн-курса в одной известной школе программирования. После оплаты человек понял, что курс оказался совсем не тем, чего он ожидал. Захотел оформить возврат, а там оказалось, что значительная часть суммы списывается сразу и не возвращается независимо от того, смотрел ты материалы или нет. Первая моя мысль - ну гениально, если там реально юридически всё это хорошо обосновано. А потом сразу думаю про этого человека: он не видел до покупки внутрянку курса, не знал до конца подходит ему это или нет, оказался вынужден потерять половину стоимости просто так. После такого он больше никогда не будет их клиентом. И ведь теперь, когда всплывает подобная тема, он рассказывает эту удивительную историю другим людям, которые тоже из-за этого не станут их клиентами. Мне такая бизнес-модель точно не близка, поэтому я решил всем желающим дать возможность до покупки узнать, что внутри воркшопа по 26 задачам. Даже народная мудрость гласит: "лучше один раз увидеть, чем 100 раз услышать". Тем более для преподавателя главный вопрос обычно не цена, а другое: 🤩 насколько материалы экономят время 🤩 удобно ли их использовать 🤩 закрывают ли они подготовку или всё равно придётся собирать материалы по разным местам. Поэтому, коллеги, кто работает или планирует начать работать с 26 заданием - напишите мне (@max_egeinf), организую пробный доступ на 3 дня, этого времени хватает, чтобы посмотреть структуру, открыть уроки, оценить подборки задач и разборы и понять, будет ли полезно именно вам. Моя цель - сделать проще жизнь учителей и репетиторов за счёт экономии времени. Одним воркшопом я ее достичь не смогу, поэтому мне важно не продать сегодня, а расширить ядро единомышленников. Буду также рад любой обратной связи по материалам и платформе. Заодно поблагодарю тех, кто уже присоединился и делится предложениями 🔥🔥🔥 #длиннопост
"Семь раз отмерь, один раз отрежь" Всегда было интересно: а что это вообще значит? Что и как вообще мерить? Ну типа, принято считать, что это народная мудрость о перестраховке, перепроверке, о том, что прежде, чем отрезать, нужно убедиться, что всё правильно. Но там же не сказано "семь раз отмерь одно и то же, один раз отрежь", там не случайно не говорится про "одно и то же". Можно, действительно, 7 раз отмерить одно и то же, тщательно всё перепроверяя. Можно 7 раз отмерить что-то разное, а отрезать то, что лучше или хуже. Можно, в конце концов, 7 раз отмерить по сантиметру и отрезать 7 сантиметров! Получается, каждый сам решает, как ему мерить. Народная мудрость говорит о том, чтобы сделать выбор и взять ответственность. И к ЕГЭ по информатике эта фраза применима невероятно сильно. Невнимательность - главная причина потери баллов в пройденных заданиях. Постоянно ученики то не дочитают, то не заметят, то не обратят внимание, то перепутают и т.д. От этого нет лекарств, таблеток, капельниц. Думаю, даже лоботомия не помогла бы. У нас, у преподавателей, тоже такое бывает. И лучший способ борьбы с этой невнимательностью - перепроверка. Причем не "7 раз мерить одно и то же", а решать по максимуму разными способами: программированием, таблицами, руками. На практике именно такой вариант наиболее эффективно снижает губительное влияние мелких осечек. Коллеги, желаю всем зарядить ребят настроем на максимальный результат 🔥🔥🔥 #длиннопост
"А где тут сортировка?" Недавно разбирали с учеником одну задачу №26 из резерва ЕГЭ-2023 (прочитать условие). Суть задачи такая: есть время входа и выхода посетителей магазина, нужно найти пики посещаемости - моменты, когда людей внутри было больше всего. Решение вроде бы вообще не похоже на классическую сортировку: 🟡 в момент входа делаем +1 🟡 в момент выхода делаем -1 🟡 дальше проходим по минутам и считаем накопленное количество людей И тут ученик задаёт очень логичный вопрос: "Вы же всегда говорите, что №26 = сортировка. А где здесь сортировка? Мы же вообще не используем ни sort, ни sorted". И вот здесь начинается самое интересное. Сортировка тут есть. Просто она не выглядит как привычное: a.sort() или sorted(a) По сути, здесь работает та же идея, на которой построен counting sort. Когда диапазон значений небольшой, нам не обязательно сортировать сами элементы сравнением. Можно создать список, где индекс отвечает за значение, и просто считать, сколько раз это значение встретилось. Например, если нам даны минуты от 0 до 1440, то это идеальная ситуация: диапазон небольшой, фиксированный, удобный. Мы не сортируем события явно. Мы раскладываем изменения сразу по "правильным местам" - по индексам минут. А потом просто идём по списку слева направо. То есть порядок уже зашит в индексах. Именно поэтому такая задача всё равно относится к логике сортировки данных, хотя в коде нет ни sort, ни sorted. Это, кстати, важный момент для преподавания №26. Ученики часто воспринимают сортировку слишком буквально: "Если нет .sort(), значит сортировки нет". Но в реальных задачах ЕГЭ сортировка может быть не только явной, но и скрытой - через индексы. И если ученик это не чувствует, он начинает теряться в современных №26. Поэтому я собрал отдельный PDF по сортировке списков для задания №26. Внутри разобрал: ➖ метод sort ➖ функцию sorted ➖ параметр reverse ➖ параметр key ➖ сортировку двумерных списков ➖ сортировку по нескольким критериям ➖ как писать свои функции для key ➖ какие ошибки чаще всего возникают у учеников Это не просто "как отсортировать список в Python", а именно методичка под №26 ЕГЭ по информатике. Коллеги, кому нужен PDF - пишите мне в личку @max_egeinf слово "сортировка", я скину бесплатно. #информатика #задание26
Резерв идей для новых 26 задач не бесконечен Коллеги, а вы заметили, что новых 26 задач с каждым годом приходит всё меньше и меньше? ЕГЭ по информатике стало компьютерным в 2021 году. В первые годы (2021-2024) мы постоянно видели новые идеи, алгоритмы, причем не только на реальных сдачах, но иногда и в официальных апробациях. А на ЕГЭ-2025 большую часть задач взяли с прошлых лет и, в лучшем случае, придумали к ним новые сказки, сюжеты, а то и просто скопировали без изменений. Такая же тенденция сохраняется в вариантах 2026 года. Мы до сих пор не видели ни одной новой №26. В последнем ЕГКР переделали задачу про конференц-зал с 1 дня ЕГЭ-2023, в последней апробации - задачу про шлифовку и окраску деталей со 2 дня ЕГЭ-2023. То есть задачи на первый взгляд другие, но логика решений и код - буквально точь в точь. И я не думаю, что это происходит из-за лени или непрофессионализма составителей. Скорее даже наоборот. Вполне логично, что в рамках одной темы (обработка данных с помощью сортировки) невозможно бесконечно генерить близкие по сложности задания с кардинально разными алгоритмами. А постоянные значительные усложнения приведут к дисбалансу. Поэтому современный №26 - это не просто задача на мышление, воображение, умение изобретать. Сейчас, во многом, это еще и задача на распознавание паттернов - частей вполне сформировавшейся системы. И именно поэтому у меня и родилась идея систематизировать №26 не просто по годам или сюжетам, а по фундаментальным подходам. Всю эту систему я и упаковал в воркшоп - методическую базу по 26 заданию для учителей и репетиторов. 🔗 Ссылка: bank-kege.ru/products/workshop-26 Уже есть первые преподаватели внутри воркшопа - это очень мотивирует продолжать развивать всю систему дальше. Сейчас как раз, пока ребята активнее готовятся к русскому и математике, у нас с вами есть время на сбор и изучение новых материалов, чтобы после математики мощно довести всех до максимального результата! Если есть вопросы по воркшопу, с радостью всем помогу, подскажу в личке: @max_egeinf #подготовка #задание26
Я устал бесплатно работать после уроков. Поэтому начал строить свою платформу для преподавателей информатики Коллеги, хочу честно рассказать, что вообще происходит, зачем я делаю Банк КЕГЭ и почему в этом году, в отличие от прошлых, не сделал ни одного онлайн-курса для учеников (и не планирую). Я сам репетитор ЕГЭ по информатике. У меня свои индивидуальные ученики, свои группы. И с самого начала репетиторской деятельности у меня есть одна главная проблема. Оплачивается только время урока. Но сам урок - это вообще не вся работа преподавателя. Нужно: ➖держать руку на пульсе всех изменений, ➖строить программу, ➖готовить материалы и задачи, ➖следить за прогрессом ученика, ➖анализировать результаты пробников и домашек, ➖понимать, что у кого западает, ➖что давать в домашку, ➖что разбирать на уроке, ➖что уже было, ➖чего ещё не было. А ещё есть родители, которым нужно нормально объяснять, что происходит с ребёнком. И все эти факторы приводят к тому, что я вынужден делить цену собственного часа на полтора, а то и на два, затрачивая в 1,5-2 раза больше времени. А я так не хочу. Не хочу жить в бесконечной подготовке к урокам. Не хочу каждый раз заново собирать материалы. Не хочу тратить время на организационный хаос вокруг преподавания. Мы все живем в капитализме и хотим больше зарабатывать, это нормально. Я мог бы рассказывать, что нужно качать авито, увеличивать стоимость урока, собирать группы - но инфоцыган для репетиторов и так хватает. Я хочу решить свою реальную проблему - освободить время, которое уже можно будет потратить хоть на дальнейший рост, хоть просто на отдых. И хочу поделиться этим решением с вами. И именно из этого желания в своё время появился Банк КЕГЭ. Сначала это был просто банк задач для себя. Потом - варианты и подборки. Потом - материалы для учителей. Я хочу сделать платформу, которая снимет с репетитора огромную часть внешнего геморроя вокруг подготовки. Чтобы: 🔴 не собирать бесконечно задачи по интернету, 🔴 не вспоминать, что у ученика западает, 🔴 не вести всё в десяти табличках, 🔴 не анализировать вручную каждую тему, 🔴 не готовиться каждый раз к уроку как с нуля. Чтобы всё это было в одном месте. Платформа уже умеет собирать статистику по действиям учеников. И дальше я хочу развивать это именно в сторону полноценной системы подготовки: с аналитикой, индивидуальными траекториями, готовыми материалами, автоматическим отслеживанием проблемных тем, удобной работой с учениками и родителями. А сейчас мы сделали первый реально большой шаг к тому, что я вообще хочу построить в будущем - воркшоп по №26. Если коротко - это полное закрытие вопроса с 26 заданием для преподавателя. Не "вот вам 100 задач". А именно полная система современной №26. Внутри: ➖ 7 больших модулей ➖ 60 подробно разобранных задач ➖ классификация всех основных типов ➖ видеоразборы именно для учителей ➖ объяснение подводных камней и типичных ошибок учеников ➖ подборки для уроков ➖ отдельные подборки для домашки ➖ постепенное усложнение от базы до повышенного уровня Там не просто "решение задачи". Там логика преподавания. Там весь мой накопленный опыт по этим заданиям. Почему разные задачи - один и тот же тип. На что обратить внимание ребят. Где ученик почти наверняка ошибётся. Что является ключевой мыслью задачи. Как объяснить это нормально, а не шаблоном. И самое главное - всё систематизировано. Конференц-залы, очереди, камеры хранения, динамика, анализ изменений, оптимизация, бинарный поиск - всё разложено в единую структуру, чтобы №26 перестала быть набором случайных сюжетов. По сути, это продукт, который я в первую очередь делал для самого себя как преподавателя. Чтобы не тратить огромное количество неоплаченного времени на постоянную пересборку одних и тех же материалов. 🔗 Ссылка на воркшоп: bank-kege.ru/products/workshop-26 Я хочу, чтобы подготовка к ЕГЭ по информатике перестала быть бесконечной ручной работой преподавателя. #банк_кегэ #длиннопост
Последние официальные варианты теперь доступны на bank-kege.ru! Коллеги, только что разместил все задания и собрал из них варианты: ➖ ЕГКР 18.04.2026 (ссылка) ➖ Открытый вариант 2026 (ссылка) ➖ Апробация 14.05.2026 (ссылка) Обязательно разбирайте с учениками или давайте на самостоятельное выполнение, последние апробации всегда наиболее приближенны к тому, что будет в большинстве задач ЕГЭ-2026! Разборы постараюсь добавить как можно скорее 🔥 #банк_кегэ
"Ненавижу вспоминать латинский алфавит!" Коллеги, хочу поделиться любимым лайфхаком моих учеников для 14 задания. Конкретно, для типа с неизвестной цифрой X. Условие: Операнды арифметического выражения записаны в системе счисления с основанием 30: 7xA9F_30 + 1B3x_30. В записи чисел переменной x обозначена неизвестная цифра из алфавита 30−ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 29. Для найденного значения x вычислите частное от деления значения арифметического выражения на 29 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно. Обычное решение: 1️⃣ Перебираем x среди цифр 30-ричной системы 2️⃣ Переписываем выражение, переводим каждое число в 10-ую систему 3️⃣ Проверяем, что выражение делится на 29 4️⃣ Выводим результат деления на 29 Код: for x in '0123456789abcdefghijklmnopqrst': a = int(f'7{x}A9F', 30) + int(f'1B3{x}', 30) if a % 29 == 0: print(a // 29) Ответ: 198044 Главная проблема возникает именно с первой строкой. Это ж надо для 30-ричной системы вспомнить первые 20 букв латинского алфавита! Кто-то сидит и списывает из Excel/LibreOffice - вариант, ничего против не имею, но есть решение быстрее. В библиотеке string есть строка printable следующего вида: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~........ И эта строка прям идеально для нас начинается с цифр, за которыми идут по порядку буквы латинского алфавита. Соответственно, из нее можно просто срезом брать все цифры любой системы счисления до 36. Например: цифры 20-ричной - printable[:20] - 0123456789abcdefghij То есть, вместо переписывания алфавита достаточно одной строки: printable[:основание] А решение той задачи превратится в: from string import printable for x in printable[:30]: a = int(f'7{x}A9F', 30) + int(f'1B3{x}', 30) if a % 29 == 0: print(a // 29) Отдельно, кстати, ученикам обычно делаю ремарочку, что при использовании функции int без разницы будут буквы большими или маленькими, сработает как ожидаем в любом случае. Ставьте 🔥, кому зашло! Сейчас активно работаем над 26 задачами, скоро будет кое-что новое на bank-kege.ru) #информатика
Что реально нужно для №8 про упорядоченные слова? В прошлый раз обсудили задачи с числами, теперь поговорим про второй основной тип 8 задания - поиск номера слова в упорядоченном списке. Он также отлично решается с помощью функции product из библиотеки itertools, но не без подводных камней. Как я объясняю по шагам: 1️⃣ Переменная для нумерации. Все слова пронумерованы с 1, значит, и мы начинаем с 1. Кто-то любит начинать с 0 и увеличивать номер перед обработкой слова. Я против ничего не имею, работать будет также, но сам так не объясняю. Если ученик спросит "Почему начинаем с 0?", кроме ответа "Так захотел" в голову ничего не приходит. А начинать нумерацию с 1 логично, так как она в условии начинается с 1. 2️⃣ Перебор подходящих последовательностей в алфавитном порядке (используем функцию sorted для набора букв внутри product) ❗️ Очень важное исключение - буква Ё! Из-за кодировки функция sorted думает, что она идет после Я. Так что если Ё встречается в наборе, руками записываем символы в нужном порядке. Зачастую ребята понятия не имеют про этот подводный камень, но и составители не торопятся добавлять Ё в задачи. Можно вообще не париться и всегда списывать буквы сразу в алфавитном порядке из последнего столбца примера в условии, но тут важно контролировать, что букв в исходном наборе не больше, чем первых слов в примере. Если строк примера не хватает - в конец сами добавляем недостающие буквы. Сегодня у меня один ученик на этом попался, популярная ошибка. 3️⃣ Склейка последовательности символов в строку с помощью метода join 4️⃣ Проверка всех условий: то ли это слово, которое мы ищем. Сами проверки зачастую однотипные: слово начинается с чего-то, заканчивается чем-то, содержит или не содержит что-то. Тут просто используем индексы, срезы, операторы in и not in. ❕ С последними, кстати, видел, как ученик накосячил, перепутав местами что и где ищем. На это важно обратить внимание ребят, так как если перепутать, Python не ругается и не дает ошибок, а нарушение поведения может быть незаметным. И здесь же, если нужно, проверяем сам номер. Не все условия связаны со словом. Например, в некоторых задачах просят номер последнего слова с четным номером. Так прям сразу проверяем, что наш номер делится на 2. 5️⃣ Выводим ответ, номер подходящего слова 6️⃣ Увеличение номера на 1. Вот тут отлично ложится объяснение, что у нас номер самого первого слова 1, а номер каждого следующего - просто на 1 больше, значит, прежде, чем перейти к обработке следующего слова, нужно увеличивать. ⚠️ У слабых учеников тут есть проблема с отступами, важно подробно остановиться, что номер на 1 увеличиваем всегда, вне зависимости от прошлых проверок, просто после. А еще этот тип зачастую отлично решается руками с помощью систем счисления. Считаем основанием системы количество букв в алфавите, присваиваем буквам в алфавитном порядке цифры по возрастанию, находим нужное слово, меняем буквы на соответствующие цифры, переводим в десятичную систему и почти готово! Помним только, что номер начинается с 1, а полученное таким образом значение первого слова - 0, надо всегда 1 прибавлять. Иногда этот способ гораздо быстрее программирования. Ставьте 🔥, и скоро также расскажу про остальные задачи и самые популярные ошибки учеников в них) #информатика
Что реально нужно для №8 про числа? Как и многие другие, 8 задание весьма разнообразно, в разных источниках встречаются задачи и про слова, и про числа, и с повтором символов, и без, и упорядоченные, и неупорядоченные - в общем, кажется, что типов много. Но по факту в последние годы на ЕГЭ встречаются всего 2 типа: 1⃣ Подсчет количества чисел 2⃣ Поиск номера слова в упорядоченном списке И оба отлично решаются с помощью Python, главное - уметь пользоваться функцией product из библиотеки itertools. * permutations уметь пользоваться тоже не помешает, но именно product закрывает почти весь современный №8 Сегодня поговорим только про первый тип: числа! Как я выстраиваю объяснение для учеников? По факту 4 шага: 1️⃣ Перебор подходящих последовательностей (настройка product) 2️⃣ Склейка последовательности символов в строку с помощью метода join 3️⃣ Проверка всех условий * Особенно тут важно всегда сразу проверять, что число не начинается с нуля. Очень частая ошибка у ребят. 4️⃣ Увеличение счётчика для подходящих последовательностей И подробнее всего останавливаемся, естественно, на 3 пункте. Условия я разделяю на 2 категории: 1️⃣ Удобно проверить сразу. Например, число начинается с пятерки, содержит ровно 3 двойки и т. д. Тут просто сразу, после проверки того, что число не начинается с 0, используем метод count, другие встроенные функции и всё проверяем. 2️⃣ Удобно сделать предварительные замены. Например, в числе должно быть 5 четных цифр. Для проверки этого заменим все четные цифры на какой-то один символ с помощью их перебора и метода replace, подсчитаем методом count. Тут чаще всего условия связаны с сочетаниями, например, "никакая четная цифра не стоит рядом с цифрой 5", или "никакие две четные и две нечетные цифры не стоят рядом". После всех замен их проверяем операторами in или not in. Очень важно! Обращайте внимание учеников, что сначала проверяем условия, относящиеся к первой группе, а только потом делаем замены для проверки остального. ⚠️ Важно помнить, что заменами мы не только помогаем себе, мы еще и портим исходную строку, из-за чего какие-то проверки могут работать некорректно. Например, если для одного условия нужно считать количество двоек, а для другого работать со всеми четными цифрами, то замены четных цифр можно делать только после первой проверки. Когда все четные цифры превратятся в какие-нибудь звездочки, отличить двойки от не двоек будет невозможно. Помимо программирования через itertools есть и другие способы решения прогой, их использовать я не рекомендую, itertools дает лучший баланс между универсальностью, читаемостью кода и скоростью написания. А для тех, кто хочет уметь решать по-разному, я даю аналитическое решение. Такая диверсификация навыков дает наиболее эффективный результат. Если интересно, в следующем посте подробно разберу второй основной тип №8 - упорядоченные слова. Там у учеников тоже есть несколько очень типичных ловушек 👀 P. S. Интересно или нет определяю по реакциям 🔥 #информатика
Как изучать №26? особенно, когда все типы кажутся гробами Тут рассказывал, какие существуют типы 26 задач, разнообразие нехилое. Да и тенденция к усложнению заметно прослеживается, особенно переломным стал 2023 год, когда прям много нового подвезли. При этом задача дает целых 2 балла, терять неприятно. Многие ученики не хотят даже браться, думают "это что-то для отличников" или "мне не дано". Как преподаватель, я могу решать проблемы уровня "я не понимаю", или "мне сложно", или "что тут вообще надо?". Но хакнуть "я даже не буду пытаться, потому что мне не дано" - задачка со звездочкой, посложнее любой 26 будет)) Поэтому, коллеги, хочу поделиться с вами одним рецептом, который помогает мне справляться с подобными установками и мотивировать ботать 26 даже тех, кто максимально не верил! 🚀 Главный ключ - минимум нового. Чтоб вот прям всё время сохранялось состояние, будто ученик уже знает 95%, а оставшиеся 5% - вообще легкотня, поймет за 5 секунд. И вот так шаг за шагом, потихонечку раскочегариваться. И из ЕГЭшных задач вполне реально построить такую дорожную карту, что каждый следующий шажок будет казаться маленьким и легким, а весь путь в целом охватит все прототипы и, внезапно, научит придумывать алгоритмы самому и ориентироваться в новом. Но как, будто, и в любом в мире деле сложнее всего - начать хоть с чего-то. Самый легкий тип, который будет удачным первым шагом - вместимость, встречался в демоверсии 2021 и многих официальных апробациях. Основная идея типа - впихнуть максимальное количество объектов в ограниченное пространство. Например: есть флешка 70 МБ и файлы по 10, 20, 30, 40 МБ. Как запихнуть как можно больше штук? Брать самые маленькие: 10, 20, 30. Всё. Влетать в прогу не стоит, сначала потихонечку, таблицы, чтоб руками всё прочувствовать. А записать идею, ставшую интуитивно очевидной, на питоне, уже проблем не будет, если нет проблем с базовой прогой. А если проблемы есть? Тогда начинать с чего-то еще проще. Отдельно разобрать: как парсить файл, как сортировать списки, как использовать индексы и срезы. Но по факту это всё встречается и в более простых задачах ЕГЭ, поэтому если там всё окей, то нового реально минимум. И продвигаясь от типа к типу, где каждый раз большая часть уже известна и вопросов не вызывает, а нового прям супер-минимум, ученик сам не заметит, как от прежнего "не судьба решать 26" не останется и следа. Буду рад почитать идеи, как вы помогаете ученикам входить в изучение 26 задач и не только, когда они не верят в себя. А совсем скоро по 26 задачам будет что-то невероятно мощное (никогда еще такого не делал, для учителей прям кайф, сам уже во всю кайфую) 🔥🔥🔥 #подготовка
Классификация всех задач №12 Ученики сливают №12 не из-за сложности. Там просто куча подводных камней! Недавно занимался распределением всех задач №12 на типы и ранжированием по сложности в bank-kege.ru, хочу поделиться результатами. Учитывал официальные задачи (демоверсия, апробация, егкр), сборник Крылова и задачи вариантов СтатГрад. По итогу разделил задачи на следующие группы: 1⃣ По алфавиту: ➖ Двоичный (во всех официальных задачах и в сборнике Крылова). ➖ Иной, чаще троичный по множеству символов (статграды, повышка) 2⃣ По алгоритму: ➖ Машина, заменяющая все 0 на 1, 1 на 0 ➖ Машина +1, увеличение двоичного числа на 1. Справа заменяет все 1 на 0, пока не встретит первый 0, его меняет на 1 ➖ Машина -1, уменьшение двоичного числа на 1. Справа все 0 заменяет на 1, пока не встретит первую 1, ее меняет на 0 ➖ Аналоги машин +1/-1 слева направо ➖ Машина дописывает цифры до/после последовательности, не меняя ее ➖ Последовательное сочетание нескольких машин в одну ➖ Машина замен всех символов для иного алфавита (повышка) 3⃣ По известной информации об исходной последовательности: ➖ Произвольная строка фиксированной длины с заданным алфавитом ➖ Произвольная строка переменной длины, возможно, с ограничением на длину ➖ Двоичная запись конкретного числа ➖ Двоичная запись неизвестного числа ➖ Однородная строка, содержащая только единицы или только нули 4⃣ По известной информации о конечной последовательности: ➖ Произвольная строка фиксированной длины с известным количеством нулей/единиц ➖ Двоичная запись конкретного числа ➖ Описаны свойства, связанные с количеством, суммой и порядком цифр ➖ Не описан заранее 5⃣ По положению головки ➖ Справа в соседней ячейке от последовательности ➖ Слева в соседней ячейке от последовательности 6⃣ По направлению неизвестного относительно программы ➖ Прямая задача - с помощью исходной строки ищем результирующую ➖ Обратная задача - ищем исходную строку ➖ Комбинированный вариант 7⃣ По типу данных для ответа ➖ Количество определенных символов (min/max) ➖ Десятичное значение двоичного числа (min/max) ➖ Сумма цифр (min/max) ➖ Микс этих категорий №12 - это не одна задача, а набор типовых механизмов обработки строки. Если ученик почувствовал суть, то даже с новым механизмом разобраться труда не составит. А если не чувствует - и в базовом потеряется. Я своим ученикам собрал подборки, которые полностью закрывают этот чек-лист. В первый год гробов не будет. Но только у тех, кто реально понимает механику работы машины. Ставьте 🔥, если откликнулось - выложу такие же разборы по другим номерам. #информатика
Д-во: очевидно... Всем привет. Коллеги, бывали ли у вас ситуации, как на картинке? Я обнаружил, что у большинства моих учеников подобные "очевидно" становятся главным препятствием к обучению, подготовке к экзаменам в школе, сегодня не только об информатике. У меня самого бывали моменты, когда всё с учеником разобрали, порешали, нормально получалось, прошла неделя - и снова неочевидно примерно всё, что уверенно делали в прошлый раз. И тут, конечно, вопрос не в том, кто виноват, а как с этим справляться? И я прекрасно понимаю, что легко объяснить 2, 3 раза, можно объяснить по-разному, какой-то вариант может оказаться понятнее других. Но объяснять одно и то же 5, 10 раз одному и тому же ученику может быть тяжело. Недавно сам оказался в ситуации, когда один и тот же простейший алгоритм я объяснял 5 раз (в разные дни, 5 циклов: отлично понял - всё забыл). И на 5-ый я смотрю на ученика, понимаю, что он не старается, что почти наверняка все усилия вложенные в объяснение сегодня поработают только сегодня, а потом пойдут туда же, куда и предыдущие 4 раза. И это один из главных "демотиваторов". Что я в тот момент решил: несмотря ни на что, объяснять 5-ый раз так, чтобы здесь и сейчас было понятно, домашки накидать еще больше, чтоб уже тошнило от этого алгоритма)) В объяснениях и когнитивных способностях проблемы нет, моментальный результат отличный. А если ученик снова забудет и возникнет потребность повторить? Ну, все мы люди, бывает, повторим. Быть может, этим повторением мы отнимем время от изучения чего-то нового, и по итогу не получится реализовать весь запланированный мной потенциал. У меня всегда есть четкий план, но иногда то, что "болит" у ученика сегодня, перетягивает на себя одеяло. Одновременно с этим, недавно я оказался по другую сторону ситуации на картинке. Я буквально был свидетелем появления этого великолепия на доске во время поточной лекции. А сейчас я смотрю на эту картинку и даже не помню, что значит звёздочка, не говоря уже об очевидности доказательства равенства... Наверняка если поднять всё, что преподаватель рассказывал ранее, там найдется объяснение, если углубиться, вполне возможно, я посижу и сам придумаю не одно доказательство. Но там, на той паре ход рассуждений содержал одно слово, а поверх шли другие рассуждения, другие вопросы, задачи. В тот момент это всё хоть и на весьма шатком фундаменте, но держалось, а сейчас я уже не вспомню, для чего конкретно нам это рассказывали. А на память только и осталась мемная фотография в галерее... Поэтому коллеги, давайте с вами вместе постараемся еще сильнее разжевывать настолько, чтоб уже вот прям надоело, зато все всё точно поняли. Что с этим пониманием произойдет потом - за пределами нашей ответственности, мы только косвенно можем повлиять наличием/отсутствием материалов для закрепления. Ни у кого из нас, я уверен, таких моментов как на картинке не было, не зря мы тут собрались, стараемся, развиваемся. Но от мелких недопониманий уйти до конца невозможно, важно лишь изо всех сил к этому стремиться. Да, бывает такое, что когда проходим самую сложную задачу ЕГЭ, то, что файл .txt должен лежать в одной папке с файлом .py, должно быть уже очевидно. Но это не очевидно. Бывает, что после изучения 3 задания, фильтрация в электронных таблицах должна быть очевидна. А она нигде, кроме этого 3 задания, не очевидна. Казалось бы, для чтения данных из файла объяснили 1 функцию и 2 метода, должно стать очевидно. А в реальной №17/26/27 не очевидно. И таких примеров можно придумать сотни, одни файлы в голове, так как 26 заданием сегодня весь день занимаюсь)) Тоже поделюсь скоро)) Так что всем желаю сил, терпения и мудрости, чтобы даже в мелочах не становиться причиной недопониманий. И пусть ученикам не будет ничего очевидно, ставьте 🔥 за то, чтобы и без этого мы с вами справились! #длиннопост
Гайд по 6 заданию про прямоугольники Коллеги, в №6 есть один тип задач, на котором ученики стабильно теряют баллы - большие пересекающиеся прямоугольники. В таких задачах не удается просто построить картинку с помощью Python Turtle и визуально получить необходимое. А прикол в том, что иногда без Python Turtle даже проще, ведь многое можно считать по числам из условия. Поэтому делюсь ключевыми моментами, рекомендую разобрать с учениками. 1️⃣ Как задается прямоугольник? Повтори N [Вперёд A Направо 90 Вперёд B Направо 90] * Вместо Направо может быть Налево, главное, одинаковые команды в обоих поворотах. Вместо какой-то команды Вперёд или обоих может встречаться Назад. Поворот всегда на 90 или 270 градусов. 2️⃣ Что легко найти по числам из условия? A и B - длины вертикальных и горизонтальных сторон прямоугольника. ➖ Периметр: P = 2 * (A + B) * Периметр совпадает с кол-вом точек на сторонах прямоугольника ➖ Площадь: S = A * B ➖ Кол-во точек внутри (включая линии): K = (A + 1) * (B + 1) ➖ Кол-во точек внутри (невключая линии): K = (A - 1) * (B - 1) * например, A = 5, B = 3 - внутри без линий будет 8 точек 3️⃣ Какие области нужны, когда пересекаются 2 прямоугольника? ➖ Пересечение - общая часть всех пересекающихся фигур. Для прямоугольников - всегда прямоугольник. ➖ Объединение - вся область поля, содержащая хотя бы одну фигуру. 4️⃣ Как считать необходимые величины в пересечении? Проблема: В условии нет чисел, являющихся длинами сторон пересечения. У нее есть 2 решения: 1⃣ Python Turtle. Переписать программу из условия в питон и визуально определить длины сторон. Рекомендую именно этот способ, так как на реальном ЕГЭ и во всех авторитетных источниках всегда в задачах, даже с большими прямоугольниками, пересечение маленькое, его можно оценить визуально. 2⃣ Анализ описанного алгоритма. Идея: запрогать черепаху на листе в клетку. Приблизительно проводим описанные в условии линии и считаем длины по координатам. Часто более трудоемко, чем использовать Python Turtle, но позволяет оценить даже самые большие пересечения. 5️⃣ Как считать необходимые величины в объединении? Общая идея такая: для двух заданных прямоугольников мы можем что угодно посчитать по числам из условия. Если эти величины сложить, общая часть (пересечение) войдет в сумму 2 раза, один раз надо отнять. То есть: 1⃣ Считаем необходимые величины для каждого из двух заданных прямоугольников, складываем. 2⃣ Определяем длины сторон пересечения одним из ранее описанных способов. 3⃣ Считаем необходимую величину для пересечения и отнимаем от суммы, полученной в п. 1. Это ответ. Есть только одно исключение, требующее корректировки: Когда в условии просят количество точек в объединении фигур, не включая точки на линиях, для пункта 1 считаем в каждом прямоугольнике кол-во точек без линий. ❗️ НО! В пересечении всё равно находим количество точек, включая линии, так как внутренние линии учитываться не должны и их тоже необходимо отнять. Как запоминаем? Если речь о количестве точек, в пересечении всегда считаем вместе с линиями! Рекомендую заострить внимание учеников на последнем моменте, тут реально часто путаются. Делитесь, в каких еще задачах у ребят возникают сложности, подскажу, как сам обычно с ними справляюсь) Если полезно - ставьте 🔥, собираем 30 реакций - делаю отдельный гайд, как автоматизировать подсчёт точек в Python Turtle (без визуальной оценки). #информатика