Информатика ЕГЭ | Илья Андрианов | itpy 🧑‍💻
1.22K subscribers
280 photos
23 videos
19 files
673 links
По рекламе: @ilandroxxy

Шпаргалки: clck.ru/3FwqWt
📚 Наши курсы: clck.ru/3FwqYb

Разборы: clck.ru/3Fwqay
💬 Чатик: clck.ru/3FwqZa

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
🚩🚩🚩🚩🚩 Разбор номера 8710 #kege по информатике #ЕГЭ19 #ЕГЭ20 #ЕГЭ21
Автор: М.Шагитов
Уровень:
Средний

🚩 Условие задачи:
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может убрать из кучи один камень, либо, если в куче 4 или больше камней, он может убрать четыре камня, либо, если количество камней в куче кратно трем, он может уменьшить количество камней в куче в три раза.

Игра завершается в тот момент, когда количество камней в куче становится не более 1.

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

В начальный момент в куче было S камней; 4 ≤ S ≤ 100.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Укажите минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.

Задание 20.
Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.


Задание 21.
Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.


🚩 Теоретическая справка:
Аудио с пояснением к коду решения оставлю в комментариях.


👩‍💻 Код решения:
def F(s, n):
if s <= 1:
return n % 2 == 0
if n == 0:
return 0
h = [F(s - 1, n - 1)]
if s >= 4:
h += [F(s - 4, n - 1)]
if s % 3 == 0:
h += [F(s / 3, n - 1)]
return any(h) if (n - 1) % 2 == 0 else all(h)

print([s for s in range(4, 100 + 1) if F(s, 2)])
print([s for s in range(4, 100 + 1) if F(s, 3) and not F(s, 1)])
print([s for s in range(4, 100 + 1) if F(s, 4) and not F(s, 2)])

Ответы:
6
7 10
8



👩‍💻 Комментарии к коду:

1⃣ def F(s, n):
• Объявление функции F с параметрами s (текущее состояние) и n (количество оставшихся ходов)


2⃣ if s <= 1:
• Проверка, если s меньше или равно 1, игра завершена


3⃣ return n % 2 == 0
• Возвращает True, если n чётное (победа текущего игрока), иначе False


4⃣ if n == 0:
• Проверка, если ходы закончились (n = 0), игра проиграна


5⃣ return 0
• Возвращает 0 (ложь), так как нет ходов для победы


6⃣ h = [F(s - 1, n - 1)]
• Рекурсивный вызов F для хода s - 1 и уменьшенного n, результат добавляется в список h


7⃣ if s >= 4:
• Проверка, можно ли сделать ход s - 4


8⃣ h += [F(s - 4, n - 1)]
• Если s >= 4, рекурсивный вызов F для s - 4 и уменьшенного n, результат добавляется в h


0⃣ if s % 3 == 0:
• Проверка, делится ли s на 3


🔟 h += [F(s / 3, n - 1)]
• Если s делится на 3, рекурсивный вызов F для s / 3 и уменьшенного n, результат добавляется в h


1⃣1⃣ return any(h) if (n - 1) % 2 == 0 else all(h)
• Если предыдущий ход был чётным ((n - 1) % 2 == 0), возвращает any(h) (хотя бы один выигрышный ход), иначе all(h) (все ходы должны быть выигрышными)


1⃣2⃣ print([s for s in range(4, 100 + 1) if F(s, 2)])
• Выводит список s от 4 до 100, где игрок может выиграть за 2 хода (F(s, 2) = True)


1⃣3⃣ print([s for s in range(4, 100 + 1) if F(s, 3) and not F(s, 1)])
• Выводит список s от 4 до 100, где игрок может выиграть за 3 хода, но не за 1 (F(s, 3) = True и F(s, 1) = False)


1⃣4⃣ print([s for s in range(4, 100 + 1) if F(s, 4) and not F(s, 2)])
• Выводит список s от 4 до 100, где игрок может выиграть за 4 хода, но не за 2 (F(s, 4) = True и F(s, 2) = False)



#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥2👍1
🚩 Что установить перед стартом подготовки к ЕГЭ. Список программ, которые нужно установить на свой компьютер*

1⃣ Электронные таблицы и текстовый редактор:
На данный момент наиболее актуальным вариантом является LibreOffice, так как Excel и Word с большой долей вероятности уберут с экзамена..

Ссылки на скачивание:
- Libre Office: скачать
- Microsoft Office:
скачать
Инструкция по активации Microsoft Office:

1. Перейдите по ссылке, скачивайте и извлеките архив.
2. Следуя инструкции на картинке «Установка», установите Microsoft Office.
3. После установки перейдите на сайт https://massgrave.dev для активации.
4. Откройте PowerShell на компьютере и введите по очереди следующие команды:
- irm https://get.activated.win | iex
- Нажмите клавишу: 2
- Нажмите клавишу: 1
5. После завершения процесса можно проверить активацию продуктов Office.



2⃣ Язык программирования Python:
Можно смело качать самую актуальную версию для вашего компьютера (определяется сама).

Ссылка на скачивание:
- Python: скачать


3⃣ После нужно установить программу, в которой Вы будете писать код (любую):

- IDLE. Устанавливается автоматически вместе с Python.
- PyCharm. Удобная и продвинутая программа: скачать
❗️Скачивать нужно именно Community Edition.

- Wing. Простой, без лишних функций. Идеален для новичков: скачать


4⃣ Кумир. Может пригодиться для решения № 6: скачать здесь
Выбирайте версию 2.1.0 (rc11).



👀 Предпочтительно использовать Windows 10, поскольку версия Paint в этой системе отличается от варианта в Windows 11. Согласно актуальной информации, ЕГЭ будет проводиться именно на Windows 10*

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥2
Товарищи, считаете ли вы последние ДВА ПОСТА полезными? Подскажите, в каком направлении мне двигаться при формировании нового контент-плана.*

5 — очень полезный, 1 — бесполезный
Anonymous Poll
71%
5
14%
4
3%
3
3%
2
9%
1
☝️Важно отметить, что PyCharm в последнее время стало довольно сложно скачать на территории РФ без использования VPN.

Поэтому воспользуйтесь актуальной ссылкой для загрузки с официального сайта на сегодняшний день: 👉 скачать


Большой вопрос - будет ли PyCharm использоваться на ЕГЭ в этом году. Однако, скорее всего, организаторы возьмут уже готовые ноутбуки прошлых лет, на которых PyCharm установлен заранее.

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥2
🔝 Мини-шпаргалка по нужным функциям для 17-го задания ЕГЭ #tpy

🛁 max() | min()
Поиск максимального или минимального числа.

print(max(12, 5), min(12, 5))  
# 12 5

nums = [4, 17, -3, 9]
print(max(nums), min(nums))
# 17 -3


🛁 str() | int()
Переход между строкой и числом.

s = str(19803)
n = int(s) - 1
print(n) # 19802


🛁 abs()
Убирает знак -- важно для длины числа и модульных операций.

n = -1234
len(str(abs(n)))


🛁 sqrt() | x**0.5
Корень -- иногда нужен в проверках (в 17-м редко, но бывает).

form math import sqrt
print(x**0.5, sqrt(x))


🛁 gcd(a, b)
НОД -- полезно при задачах, где условие связано с делителями.

from math import gcd


🛁 floor() | ceil()
Округление вниз|вверх (редко в 17-м, но иногда встречается).

from math import floor, ceil


🛁 int(a, b)
Перевод числа из системы счисления b в десятичную.

int("1011", 2)  # 11


🚀 Полезные лайфхаки:

Сумма цифр
sum(int(x) for x in str(n))


Последняя цифра и “обрезание” числа
n % 10     # последняя цифра
n // 10 # без последней цифры


Перебор троек/пар через zip()
for a, b, c in zip(a, a[1:], a[2:]): ...
for a, b in zip(a, a[2:]): ...


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2🔥11
🚩🚩 Разбор номера 21420 #kege по информатике #ЕГЭ23
Автор: Досрочная волна 2024
Уровень: Базовый


🚩 Условие задачи:
У исполнителя есть три команды, которые обозначены латинскими буквами:
A. Прибавить 1
B. Прибавить 2
C. Умножить на 2

Сколько существует программ, которые преобразуют число 7 в число 51, и при этом траектория вычислений содержит числа 13 и 15, но не содержит числа 35?


🚩 Теоретическая справка:
Довольно забавная программа, так как у некоторых ребят на стареньких компьютерах она считается долго. И можно воспользоваться кэшированием из 16 номера для ускорения вычислений!


👩‍💻 Код решения:
from functools import *
@lru_cache(None)
def F(a,b):
if a >= b or a == 35:
return a == b
return F(a + 1, b) + F(a + 2, b) + F(a * 2, b)

print (F(7, 13) * F(13, 15) * F(15, 51))

Ответ: 174034068

👩‍💻 Комментарии к коду:

1⃣ from functools import *
Импортируется модуль functools, который содержит полезные инструменты для работы с функциями (в частности - декоратор lru_cache).


2⃣ @lru_cache(None)
Декоратор, который запоминает результаты всех вызовов функции F.
Благодаря этому при повторных вызовах с теми же аргументами программа работает быстрее, не пересчитывая одно и то же.


3⃣ def F(a, b):
Определяется рекурсивная функция F, принимающая два параметра — a (начальное число) и b (конечное число).


4⃣ if a >= b or a == 35:
Проверяется условие остановки рекурсии:
- если a стало больше или равно b,
- либо если a достигло числа 35,
то дальнейшие шаги не выполняются.


5⃣ return a == b
Возвращает True (1), если a равно b, и False (0) — в остальных случаях.
Таким образом, функция подсчитывает количество способов дойти до b.


6⃣ return F(a + 1, b) + F(a + 2, b) + F(a * 2, b)
Если условие не выполнено, функция рекурсивно вызывает саму себя,
рассматривая три возможных шага из числа a:
- добавить 1,
- добавить 2,
- умножить на 2.

Сумма этих трёх вызовов возвращает количество всех возможных путей от a до b.


7⃣ print(F(7, 13) * F(13, 15) * F(15, 51))
Вычисляется произведение количества путей:
- от 7 до 13,
- от 13 до 15,
- от 15 до 51.

Затем результат выводится на экран.


#⃣ Полный список разборов в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥2🔥1
💬 Недавно вышли два пробника от СтатГрада, и это действительно интересно обсудить!

У этой организации всегда были сложные варианты, так как автор материалов придерживался мнения, что готовиться нужно на около-олимпиадном уровне. Однако сейчас авторский состав сменился, и мы видим, что новые варианты стали более чем приемлемыми и соответствуют уровню реальных вариантов ЕГЭ. Поэтому решать их не просто можно, а даже нужно!

Вариант составлен на базе заданий ЕГЭ 2025 года:

Дополнительно включены качественные № 7, № 12 и № 17, сложный № 18, «тяжёлый» № 22 и интересный, но простой № 24.

При этом подобный № 18 вполне может встретиться и на самом экзамене.


🖥 Ссылка на один из вариантов

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4🔥21
👀 Как проходит ЕГЭ по информатике? #useful

🆕 Главная особенность - компьютеры! Это экзамен, который сдают только на ПК или ноутбуках, и именно из-за этого у многих появляются вопросы о формате.

🛁 Что брать с собой?
С собой ничего особенного приносить не нужно - КИМов нет.
Единственное, что будет полезно -- черновик, который заранее распечатают для тебя.
Совет: выписывай все ответы на черновик, чтобы при сбое техники не терять время на повторное решение.


🛁На чём будет проходить экзамен?
В аудитории будет ноутбук или ПК с клавиатурой и мышкой.
Выбрать устройство нельзя - бери, что есть.


🛁 Какие программы будут установлены?
Офисные пакеты: LibreOffice или Microsoft Office
Среды программирования: Pascal, Python (IDLE или PyCharm), C++ (Visual Studio или CodeBlocks), C#, Java
Среды исполнителей: Кумир (не во всех аудиториях)
Редакторы: текстовый и графический


#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥11
🚩 Разбор номера 23192 #КЕГЭ по информатике #ЕГЭ8

Автор: Основная волна 10.06.25
Уровень: Базовый


🚩 Условие задачи:
Все шестибуквенные слова, составленные из букв Т, Е, О, Р, И, Я, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. EEEEEE
2. ЕЕЕЕЕИ
3. EEEEEO
4. EEEEEP
5. EEEEET
6. ЕЕЕЕЕЯ
Определите, под каким номером в этом списке стоит последнее слово с нечётным номером, которое не начинается с букв Р, Т или Я и при этом содержит в своей записи не менее двух букв И.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.


👩‍💻 Код решения:
from itertools import *
n = 0
R = []
for x in product(sorted("ТЕОРИЯ"), repeat=6):
slovo = "".join(x)
n += 1
if n % 2 != 0:
if slovo[0] not in "РТЯ":
if slovo.count("И") >= 2:
R.append(n)
print(max(R))

Ответ: 23159


👩‍💻 Комментарии к коду:

1⃣ from itertools import *
· Импортируем все функции из модуля itertools для работы с комбинаторикой


2⃣ n = 0
· Инициализируем счетчик n нулем. Он будет хранить порядковый номер каждого слова


3⃣ R = []
· Создаем пустой список R для хранения номеров слов, удовлетворяющих условиям


4⃣ for x in product(sorted("ТЕОРИЯ"), repeat=6):
· Генерируем все возможные комбинации из 6 букв, используя отсортированный алфавит "ТЕОРИЯ"


5⃣ slovo = "".join(x)
· Преобразуем кортеж букв x в строку (составляем слово из 6 букв)


6⃣ n += 1
· Увеличиваем счетчик слов на 1 (текущий номер слова)


7⃣ if n % 2 != 0:
· Проверяем, является ли номер слова нечетным


8⃣ if slovo[0] not in "РТЯ":
· Проверяем, что первая буква слова НЕ Р, НЕ Т и НЕ Я


0⃣ if slovo.count("И") >= 2:
· Проверяем, что буква "И" встречается в слове 2 или более раз


🔟 R.append(n)
· Если все условия выполнены, добавляем номер слова в список R


1⃣1⃣ print(max(R))
· Выводим максимальный номер из всех найденных подходящих слов



#⃣ Полный список разборов в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍2🔥1
🚩 Большая подборка сервисов на базе искусственного интеллекта #useful

По свежей статистике - больше половины пользователей в СНГ уже так или иначе используют нейросети: кто-то делает с их помощью учёбу, кто-то генерит мемы и ничего больше..

Сервисы которые возьмут на себя рутину учёбы и работы: от домашних заданий, рефератов и презентаций до отчётов, конспектов и даже дипломных проектов 👨‍💻

🔠Claude — создание текстов и ответов, анализ информации;
🔠Perplexity AI — поиск и суммаризация информации, ответы;
🔠Gamma / Tome — генерация презентаций и отчетов;
🔠MindMap AI — создание интеллектуальных карт и идей;
🔠PDF.ai — анализ PDF, извлечение информации, ответы;
🔠ChatPDF — чат с PDF-документами, понимание текста;
🔠QuillBot — перефразирование текстов, упрощение предложений;
🔠Grammarly — проверка орфографии, грамматики, стиля;
🔠LanguageTool — многоязычная проверка орфографии;
🔠WordyBot — генерация учебных и академических текстов с ссылками;
🔠Notion AI — организация заметок, автоматизация текста;
🔠StudyflowAI — помощь с домашкой, разбор вопросов, структурирование;
🔠Explainpaper — объяснение сложных научных статей;
🔠Study24.ai — создание шпаргалок и конспектов;
🔠TutorAI / TuranAI — виртуальный репетитор, подготовка;
🔠School Assistant AI — генерация учебных материалов;
🔠Wisdolia — создание карточек для запоминания;
🔠Slides AI — автоматическая генерация презентаций;
🔠Canva Magic Studio — визуальный контент, презентации и дизайн;
🔠Scribbr — проверка уникальности и плагиата;
🔠ReText — генерация академических текстов;
🔠RoboGPT — генерация дипломных и курсовых работ;
🔠Chad AI — генерация учебных материалов, эссе;
🔠CopyMonkey — генерация текстов и отчетов;
🔠NeuroTexter — создание академических текстов;
🔠Davinchi — бесплатная генерация дипломных работ;
🔠GigaChat – формирует структурированные научные тексты;
🔠AiWriteArt – генерация и редактирование текстов;
🔠Zaochnik GPT – создание дипломов и отчетов;
🔠StudyAI — помощь с домашними заданиями;
🔠EssayBot — автоматическая генерация эссе на английском;
🔠NeuralText — генерация текстов, идей и контента для учебы и проектов;
🔠texthandler — быстрое форматирование текста;
🔠Nana Banana — продвинутый генератор и редактор изображений.


❤️‍🔥 да, регулярно - это часть работы/учёбы
🔥 нет, вообще не пользуюсь
👍 редко, больше экспериментирую

#⃣ Вся теория для ЕГЭ в одном месте
Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍1🔥1
Сегодня существует масса методов и инструментов для совершенствования себя на любой вкус. Саморазвитие - это не просто процесс, это образ жизни!

Я собрал для вас папку с каналами проверенных экспертов в нише образования и саморазвития , которые делятся своим ценным опытом и знаниями, чтобы помочь вам быстрее прийти к своим целям.
👍3🔥2
☄️ Конфликт имён при использовании import * #tpy

Иногда при решении задач ЕГЭ (например 8 номера) учащиеся подключают модули с помощью записи:
from itertools import *

⚠️ Однако это может привести к конфликту имён и ошибкам в программе!


📎 Рассмотрим пример:
count = 0
from itertools import *
for p in permutations('abc'):
count += 1
print(count, p)

💻 Результат:
TypeError: unsupported operand type(s) for +=: 'type' and 'int'


👀 Почему же так получается?
⚙️ Причина в том, что в модуле itertools уже существует объект с именем count, и при импорте через * он перезаписывает нашу переменную count.
В итоге переменная становится функцией, и операция += 1 вызывает ошибку.


✔️ Как рекомендуется делать, чтобы такого не происходило:
count = 0
from itertools import permutations

for p in permutations('abc'):
count += 1
print(count, p)


💻 Вывод программы:
1 ('a', 'b', 'c')
2 ('a', 'c', 'b')
3 ('b', 'a', 'c')
4 ('b', 'c', 'a')
5 ('c', 'a', 'b')
6 ('c', 'b', 'a')

🙂 теперь конфликт имен не возникает, так как мы импортировали, только то, что нам нужно, и count - это все так же наша переменная.


Напоминаю, что ещё больше полезного контента по образованию и саморазвитию вы найдёте на каналах моих коллег, которые я собрал для вас в одну папку 👇👇👇
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥1🔥1