Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K subscribers
264 photos
20 videos
19 files
630 links
По рекламе: @ilandroxxy

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

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

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Сохраняй шпаргалку по встроенным функциям в Python #tpy

Данные функции встречаются при решении практически каждого (пайтон) номера ЕГЭ, но особенно будут полезны для номеров: 9 и 17.

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1165
Апробация1 15.05.pdf
17.4 MB
На канале @infkege Марат и Лёня уже собрали вариант с сегодняшней апробации, сходства есть, это подтвердили некоторые мои подписчики. #useful

Ответы прикреплю в комментариях к этому посту 👇

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
6
This media is not supported in your browser
VIEW IN TELEGRAM
12441
❗️ У кого возникли проблемы с интерпретатором Python 👩‍💻 в PyCharm 👩‍💻 на апробации, гайд как избежать этого на экзамене #useful ☝️
Please open Telegram to view this post
VIEW IN TELEGRAM
733
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера #kege по информатике #ЕГЭ9
Автор: ЕГКР 27.04
Уровень: Базовый


🚩 Условие задачи:
Определите количество строк таблицы, для чисел которых выполнены оба условия:
- в строке есть ровно одно число, которое повторяется дважды, и пять чисел без повторений;
- произведение трёх наименьших среди неповторяющихся чисел строки больше квадрата повторяющегося числа.


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


👩‍💻 Код решения:
from math import prod
cnt = 0
for s in open('9.txt'):
M = [int(x) for x in s.split()]
copied = [x for x in M if M.count(x) == 2]
not_copied = [x for x in M if M.count(x) == 1]
if len(copied) == 2 and len(not_copied) == 5:
if prod(sorted(not_copied)[:3]) > prod(copied):
cnt += 1
print(cnt)

# Ответ: 1671305


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

1⃣ from math import prod
Импорт функции prod из модуля math, которая вычисляет произведение элементов итерируемого объекта.


2⃣ cnt = 0
Инициализация переменной cnt для подсчета количества выполненных условий.


3⃣ for s in open('9.txt'):
Цикл for, который проходит по каждой строке из файла "9.txt".


4⃣ M = [int(x) for x in s.split()]
Создание списка M, содержащего целочисленные значения, полученные разделением строки s.


5⃣ copied = [x for x in M if M.count(x) == 2]
Фильтрация списка M, чтобы получить только элементы, которые встречаются дважды.


6⃣ not_copied = [x for x in M if M.count(x) == 1]
Фильтрация списка M, чтобы получить только элементы, которые встречаются один раз.


7⃣ if len(copied) == 2 and len(not_copied) == 5:
Проверка условия: если в списке copied содержится два элемента, а в списке not_copied пять элементов.


8⃣ if prod(sorted(not_copied)[:3]) > prod(copied):
Проверка условия: произведение трех наименьших элементов из отсортированного списка not_copied больше произведения элементов из списка copied.


0⃣ cnt += 1
Увеличение счетчика cnt на 1, если выполнены все условия.


🔟 print(cnt)
Вывод результата.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
932
👩‍💻 Сохраняй табличку по таблицам истинности, чтобы не путать конъюнкцию и дизъюнкцию #tpy

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
9753
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 16383 #kege по информатике #ЕГЭ17
Автор: ЕГКР 27.04
Уровень: Базовый


🚩 Условие задачи:
Определите количество пар элементов последовательности, в которых только один из двух элементов оканчивается на 21 и является пятизначным числом, а сумма квадратов элементов пары не меньше квадрата максимального элемента последовательности, оканчивающегося на 21 и являющегося пятизначным числом.


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


👩‍💻 Код решения:
M = [int(x) for x in open('17.txt')]
D = [int(x) for x in M if str(x)[-2:] == '21' and len(str(abs(x)))==5 ]
R = []
for i in range(len(M)-1):
x, y = M[i], M[i+1]
if (x in D and y not in D) or (y in D and x not in D):
if (x**2)+(y**2) >= max(D)**2:
R.append(x + y)
print(len(R), max(R))

# Ответ: 6283 9627


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

1⃣ M = [int(x) for x in open('17.txt')]
Создание списка M, содержащего целочисленные значения, полученные из файла '17.txt'.


2⃣ D = [int(x) for x in M if str(x)[-2:] == '21' and len(str(abs(x)))==5]
Фильтрация списка M, чтобы получить только элементы, оканчивающиеся на '21' и имеющие длину равную 5 символам.


3⃣ R = []
Инициализация пустого списка R для хранения результатов.


4⃣ for i in range(len(M)-1):
Цикл for, который проходит по индексам элементов списка M за исключением последнего.


5⃣ x, y = M[i], M[i+1]

Присваивание переменным x и y значений пар элементов списка M.


6⃣ if (x in D and y not in D) or (y in D and x not in D):
Проверка условия: если один элемент из пары содержится в списке D, а другой нет, или наоборот.


7⃣ if (x**2)+(y**2) >= max(D)**2:
Проверка условия: если квадрат суммы элементов пары больше или равен квадрату максимального значения из списка D.


8⃣ R.append(x + y)
Добавление суммы элементов пары x и y в список R.


🔟 print(len(R), max(R))
Вывод количества элементов в списке R и максимального значения из списка R.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
12442
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 2110 #polyakov по информатике #ЕГЭ12
Уровень:
Сложный

🚩 Условие задачи:
Дана программа для исполнителя Редактор:

ПОКА нашлось(21)
заменить (21, 6)

Исходная строка содержит десять единиц и некоторое количество двоек, других цифр нет, точный порядок расположения единиц и двоек неизвестен. После выполнения программы получилась строка с суммой цифр 50. Какое наименьшее количество двоек могло быть в исходной строке?


🚩 Теоретическая справка:
Опишу в следующем посте*


👩‍💻 Код решения:
from itertools import *

for n in range(1, 10):
for s in product('12', repeat=10+n):
if s.count('1') == 10:
s = ''.join(s)

while '21' in s:
s = s.replace('21', '6', 1)
if sum(map(int, s)) == 50:
print(n)
exit()

# Ответ: 8


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

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


2⃣ for n in range(1, 10):
Цикл for, который проходит по значениям n от 1 до 9 включительно.


3⃣ for s in product('12', repeat=10+n):
Вложенный цикл for, который поочередно формирует кортежи из повторений символов '1' и '2', накопленных 10+n раз, и сохраняет их в переменную s.


4⃣ if s.count('1') == 10:
Проверка условия: если символ '1' встречается в строке s 10 раз.


5⃣ s = ''.join(s)
Преобразование кортежа в строку s.


6⃣ while '21' in s:
Цикл while, который будет продолжаться до тех пор, пока в строке s присутствует подстрока '21'.


7⃣ s = s.replace('21', '6', 1)
Замена первого вхождения подстроки '21' на символ '6' в строке s.


8⃣ if sum(map(int, s)) == 50:
Проверка условия: если сумма цифр в строке s, преобразованных в целые числа, равна 50.


0⃣ print(n)
Вывод значения переменной n.


🔟 exit()
Завершение выполнения программы.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1077
This media is not supported in your browser
VIEW IN TELEGRAM
👀 Отвечаю на вопрос подписчика #useful
Свой вопрос вы можете оставить в нашем чатике.


В таких случаях нам необходимо воспользоваться библиотекой itertools и обязательно методом product, так как permutations не подойдет из-за объемного перебора (слишком долго работает).

Код должен начинаться примерно вот так:
for n in range(1, 10):
for s in product('12', repeat=10+n):
if s.count('1') == 10:
s = ''.join(s)


Именно этот код я взял из разбора выше, тут видно, что мы не знаем сколько двоек нам необходимо, но точно знаем, что единиц должно быть десять, что и фиксируем через if s.count('1') == 10:

Хотя вероятность появления прототипа крайне мала, рекомендуется решать такие задачи в первую очередь аналитически

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
11663
Дорогие родители!
Если ваши дети учатся в 8-10 классах и интересуются IT сферой, то эта информация будет весьма полезной для вас! 🚀

«Лаборатория Касперского» предлагает летнюю практику для школьников и студентов колледжей.
Участие в ней абсолютно бесплатное 💰

❗️Приём заявок до 20 мая

Для регистрации воспользуйтесь ссылкой: Долина технологий
PS: не реклама, просто делюсь интересными находками.
Please open Telegram to view this post
VIEW IN TELEGRAM
1175
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 12779 #kege по информатике #ЕГЭ16
Автор: М. Паршиков
Уровень:
Средний

🚩 Условие задачи:
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:

F(n) = n, при n ≥ 3000
F(n) = n + x + F(n+2), при n < 3000

При каком целом значении х, значение выражения:
F(2984)−F(2988)=5916


👩‍💻 Код решения:
def F(n):
if n >= 3000:
return n
if n < 3000:
return n + x + F(n+2)


for x in range(-1000, 1000):
if F(2984) - F(2988) == 5916:
print(x)

# Ответ: -27


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

1⃣ def F(n):
Объявление функции F с аргументом n.


2⃣ if n >= 3000:
Проверка условия: если n больше или равно 3000.


3⃣ return n
Возвращение значения n, если условие из пункта 2 выполняется.



4⃣ if n < 3000:
Проверка условия: если n меньше 3000.


5⃣ return n + x + F(n+2)
Возвращение значения n + x + F(n+2), если условие из пункта 4 выполняется. Рекурсивный вызов функции F.


6⃣ for x in range(-1000, 1000):
Цикл for, который перебирает значения от -1000 до 999 включительно и присваивает каждое значение переменной x.


7⃣ if F(2984) - F(2988) == 5916:
Проверка условия: если разность F(2984) и F(2988) равна 5916.


8⃣ print(x)
Вывод значения x, если условие из пункта 7 выполняется.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1475
📌 Информация о правилах пересдачи в этом году #useful

▪️ КОГДА МОЖНО ПОДАТЬ ЗАЯВЛЕНИЕ?
Заявления на пересдачу по информатике или русскому языку принимаются с 26 июня по 1 июля включительно.
Заявления на экзамен по математике можно подать с 27 июня по 2 июля включительно.


▪️ КТО ИМЕЕТ ПРАВО НА ПЕРЕСДАЧУ?
Возможность пересдачи предоставлена только выпускникам 11 класса, которые сдают экзамены в основной срок или в резерв основной волны (при этом повторный экзамен в резервный день по уважительной причине или в случае недобора необходимого количества баллов для поступления допускается).


▪️ БУДЕТ ЛИ АННУЛИРОВАН ПРЕЖНИЙ РЕЗУЛЬТАТ ПОСЛЕ ПОДАЧИ ЗАЯВЛЕНИЯ?
После подачи заявления результат прошлого экзамена будет аннулирован. Если студент не явится на пересдачу или если экзамен не будет завершен по объективным причинам (например, по причине здоровья), прежний результат останется в силе.


Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
1155
This media is not supported in your browser
VIEW IN TELEGRAM
Готовимся к ЕГЭ правильно: в Steam вышло ЕГЭ по мемам 🤨

Вам нужно отвечать на каверзные вопросы по популярным мемасикам, а в финале вам подберут мемный вуз

А как вы относитесь к мемам?
❤‍🔥 – Мемы это часть современного интернета
👾 – Было бы время.. в основном сейчас уроки/сон
Please open Telegram to view this post
VIEW IN TELEGRAM
18153
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 12924 #kege по информатике #ЕГЭ15
Уровень: Базовый


🚩 Условие задачи:
Элементами множеств А, P и Q являются натуральные числа, причём P = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20} и Q = { 3, 6, 9, 12, 15, 18, 21, 24, 27, 30 }.

Известно, что выражение ((x ∈ A) → (x ∈ P)) ∧ (¬(x ∈ Q) → ¬(x ∈ A)) истинно при любом значении переменной х. Определите наибольшее возможное количество элементов множества A.


👩‍💻 Код решения:
a = set(range(0, 1000))

def F(x):
P = x in {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}
Q = x in {3, 6, 9, 12, 15, 18, 21, 24, 27, 30}
A = x in a
# ((x ∈ A) → (x ∈ P)) ∧ (¬(x ∈ Q) → ¬(x ∈ A))
return (A <= P) and ((not Q) <= (not A))


for x in range(0, 10000):
if F(x) == False:
a.remove(x)
print(len(a))

# Ответ: 3


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

1⃣ a = set(range(0, 1000))
Создание множества a, содержащего числа от 0 до 999.


2⃣ def F(x):
Объявление функции F с аргументом x.


3⃣ P = x in {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}
Проверка, принадлежит ли x множеству {2, 4, 6, 8, 10, 12, 14, 16, 18, 20} и сохранение результата в переменную P.


4⃣ Q = x in {3, 6, 9, 12, 15, 18, 21, 24, 27, 30}
Проверка, принадлежит ли x множеству {3, 6, 9, 12, 15, 18, 21, 24, 27, 30} и сохранение результата в переменную Q.


5⃣ A = x in a
Проверка, принадлежит ли x множеству a (от 0 до 999) и сохранение результата в переменную A.


6⃣ return (A <= P) and ((not Q) <= (not A))
Возвращение результата логического выражения: (A <= P) and ((not Q) <= (not A)).


7⃣ for x in range(0, 10000):
Цикл for, который перебирает значения x от 0 до 9999.


8⃣ if F(x) == False:
Проверка условия: если результат функции F для значения x равен False.


0⃣ a.remove(x)
Удаление значения x из множества a.


🔟 print(len(a))
Вывод длины множества a после выполнения цикла.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
933
This media is not supported in your browser
VIEW IN TELEGRAM
Спанч-Боб намекает, что рабочая неделя началась 🥲

Совсем немного времени осталось до ЕГЭ. Наконец-то завершил работу над шпаргалками и постараюсь выкладывать их для вас каждый день.
Поддержите лайками мои бессонные ночи 🙄
Please open Telegram to view this post
VIEW IN TELEGRAM
281111
Хочу сделать пост про библиотеки необходимые/полезные на экзамене, как считаете будет полезно собрать такую шпору?
Anonymous Poll
96%
✔️ собираем
4%
не собираем