Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K subscribers
265 photos
21 videos
19 files
634 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
🚩🚩 Разбор номера 16447 #kege по информатике #ЕГЭ15

✏️ Полный разбор задачи в Notion

Основная
сложность задачи заключается в определении наибольшего целого неотрицательного числа A, при котором выражение (2x + 3y < 30) ∨ (x + y ≥ A) истинно для всех целых неотрицательных x и y 🎓

Код решения задачи:
def F(x, y, A):
return((2*x + 3*y) < 30) or ((x + y) >= A)

R = []
for A in range(0, 100):
if all(F(x, y, A) for x in range(0, 100) for y in range(0, 100)):
R.append(A)
print(max(R))


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥6❤‍🔥5🤨2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 34537 #reshu по информатике #ЕГЭ15

✏️ Полный разбор задачи в Notion

Заметили, что задачи 15 номера с отрезками вызывают сложности у студентов. Однако, РЕШУ ЕГЭ не рекомендует использовать метод перебора для их решения, что является категорически неверным. Мы представляем универсальный вариант решения, который может быть полезен.😼

В рамках обсуждения также рассмотрим задачу, в которой используется функция all().

👩‍💻 Код решения:
def F(x, a1, a2):
P = 10 <= x <= 15
Q = 10 <= x <= 20
R = 5 <= x <= 15
A = a1 <= x <= a2
return (A <= P) == (Q <= R)


R = []
M = [x / 4 for x in range(5 * 4, 20 * 4)]
for a1 in M:
for a2 in M:
if all(F(x, a1, a2) for x in M):
R.append(a2 - a1)

print(min(R))


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10444
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ15
Автор: Статград
Уровень:
Базовый

🚩 Условие задачи:
При каком наименьшем целом A выражение
((y < 20) → (x > 70)) ∨ ¬((x < A) → (y > A))
окажется тождественно истинным при любых целых значениях x и y?


🚩 Теоретическая справка:
Все 15 номера суперудобно решать через функцию all() про нее писали в этой статье.


👩‍💻 Код решения:
def F(x, y, A):
return ((y < 20) <= (x > 70)) or (not((x < A) <= (y > A)))

for A in range(10000):
if all(F(x, y, A) for x in range(100) for y in range(100)):
print(A)
break

# Ответ: 71


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

1⃣ def F(x, y, A):
Определение функции F, которая принимает три аргумента: x, y и A.


2⃣ return ((y < 20) <= (x > 70)) or (not((x < A) <= (y > A)))
Функция возвращает результат логического выражения, которое проверяет два условия и возвращает результат их логической операции or.


3⃣ for A in range(10000):
Запуск цикла for, который перебирает значения A от 0 до 9999.


4⃣ if all(F(x, y, A) for x in range(100) for y in range(100)):
Проверка: все результаты функции F(x, y, A) истинны для всех комбинаций значений x от 0 до 99 и y от 0 до 99.


5⃣ print(A)
Вывод значения A, которое соответствует условиям задачи, после чего выполнение программы завершается с помощью оператора break.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
64321
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
1⃣5⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ15 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Шаблон для первого типа:
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 13)) ∨ (x + A ≥ 1000)

def F(x, A):
# return здесь пишем логическую функцию
return (x % 2 == 0) <= (x % 13 != 0) or ((x + A) >= 1000)

for A in range(1, 10000):
if all(F(x, A) for x in range(1, 10000)):
print(A)
break


🚩 Шаблон для второго типа:
(3x+y>48)∨(x>y)∨(4x+y<A)

def F(x, y, A):
# return здесь пишем логическую функцию
return ((3 * x) + y > 48) or (x > y) or ((4 * x) + y < A)


R = []
for A in range(0, 100):
if any(F(x, y, A) == 0 for x in range(0, 100) for y in range(0, 100)):
R.append(A)
print(max(R))


🚩 Шаблон для третьего типа:
x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

def F(x):
# return здесь пишем логическую функцию
return (x & 25 != 0) <= ((x & 17 == 0) <= (x & A != 0))


for A in range(0, 1000):
if all(F(x) for x in range(0, 10000)):
print(A)
break


🚩 Шаблон для четвертого типа:
((x  принадлежит  A) → ¬(x  принадлежит  P)) → ((x  принадлежит  A) → (x  принадлежит Q))

def F(x):
P = 10 <= x <= 35
Q = 17 <= x <= 48
A = a1 <= x <= a2
# return здесь пишем логическую функцию
return (A <= (not P)) <= (A <= Q)


M = [i / 4 for i in range(1 * 4, 60 * 4)] # нужно поменять range
R = []
for a1 in M:
for a2 in M:
if all(F(x) for x in M):
R.append(a2 - a1)
print(max(R))


Здесь я уже делал пост про логические функции.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1343
🚩🚩 Разбор ДВ #2024 номера #15 по информатике #ЕГЭ15

🚩 Условие задачи:
Для какого наименьшего натурального числа А логическое выражение истинно при любом целом положительном значении переменной х:
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 5) ) ∨ (x + A >= 70)



👩‍💻 Код решения:
def F(x, A):
return (((x % 2 == 0) <= (x % 5 != 0)) or (x + A >= 70))

for A in range(1, 1000):
if all(F(x, A) for x in range(1, 10000)):
print(A)
break

# Ответ: 60


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

1. def F(x, A):
Объявление функции `F` с аргументами `x` и `A`.


2. return (((x % 2 == 0) <= (x % 5 != 0)) or (x + A >= 70))
Возвращение значения, которое зависит от выполнения логических условий: (x четное <= x не делится на 5) или (сумма x и A больше или равна 70).


3. for A in range(1, 1000):
Цикл `for`, в котором переменная `A` принимает значения от 1 до 999.


4. if all(F(x, A) for x in range(1, 10000)):
Проверка, что для всех значений `x` от 1 до 9999 функция `F(x, A)` возвращает `True`.


5. print(A)
Вывод на экран значения `A`, при котором условие для всех `x` выполняется.


6. break
Прерывание цикла после первого найденного значения `A`, удовлетворяющего условию для всех `x`.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
833
🚩🚩 Разбор ДВ #2024 номера #15 по информатике #ЕГЭ15

👩‍💻 Код решения :
def F(x, A):
B = 70 <= x <= 90
return (x % A == 0) or (B <= (x % 27 != 0))

for A in range(1, 1000):
if all(F(x, A) for x in range(1, 10000)):
print(A)


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


🚩 Условие задачи:
На числовой прямой даны два отрезка: P=[15;40] и Q=[21;63].
Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение (x∈P)→(((x∈Q)∧¬(x∈A))→¬(x∈P)) истинно (т.е. принимает значение 1) при любом значении переменной х.

👩‍💻 Код решения:
def F(x, a1, a2):
P = 15 <= x <= 40
Q = 21 <= x <= 63
A = a1 <= x <= a2
return P <= ((Q and (not A)) <= (not P))

R = []
M = [x / 4 for x in range(5 * 4, 80 * 4)]
for a1 in M:
for a2 in M:
if all(F(x, a1, a2) for x in M):
R.append(a2 - a1)
print(round(min(R)))

# Ответ: 19


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

1⃣ def F(x, a1, a2):
Определение функции F с параметрами x, a1 и a2.


2⃣ P = 15 <= x <= 40
Проверка условия нахождения x в интервале от 15 до 40.


3⃣ Q = 21 <= x <= 63
Проверка условия нахождения x в интервале от 21 до 63.


4⃣ A = a1 <= x <= a2
Проверка условия нахождения x в интервале между a1 и a2.


5⃣ return P <= ((Q and (not A)) <= (not P))
Возвращение результата выражения, описывающего взаимосвязь между P, Q, и A.


6⃣ R = []
Инициализация пустого списка R, в который будут сохраняться значения.


7⃣ M = [x / 4 for x in range(5 * 4, 80 * 4)]
Создание списка M с числами, равными x / 4, где x изменяется от 20 до 320 с шагом 1.


8⃣ for a1 in M:
Цикл перебора значений из списка M для переменной a1.


0⃣ for a2 in M:
Вложенный цикл перебора значений из списка M для переменной a2.


1⃣0⃣ if all(F(x, a1, a2) for x in M):
Проверка условия с помощью функции F для всех значений x из списка M.


1⃣1⃣ R.append(a2 - a1)
Добавление разности a2 - a1 в список R.


1⃣2⃣ print(round(min(R)))
Вывод минимального значения из списка R после округления.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
964
🚩🚩 Разбор ДВ #2024 номера #15 по информатике #ЕГЭ15

👩‍💻 Код решения:
def F(x, y):
return (x + y <= 26) or (y <= x - 4) or (y >= A)

for A in range(1000):
if all(F(x, y) for x in range(100) for y in range(100)):
print(A)


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
865
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣5⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ15 #шпора

Поставь ❤‍🔥 и отправь другу эту супер полезную шпаргалку по 15 номеру ЕГЭ!


🚩 Шаблон для первого типа:
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 13)) ∨ (x + A ≥ 1000)

def F(x, A):
return # Здесь пишем логическую функцию

R = []
for A in range(1, 10000):
if all(F(x, A) for x in range(1, 10000)):
R.append(A)
print(max(R))



🚩 Шаблон для второго типа:
(3x+y>48)∨(x>y)∨(4x+y<A)

def F(x, y, A):
return # Здесь пишем логическую функцию

R = []
for A in range(0, 100):
if any(F(x, y, A) == 0 for x in range(0, 100) for y in range(0, 100)):
R.append(A)
print(max(R))



🚩 Шаблон для третьего типа:
x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

def F(x, A):
return # Здесь пишем логическую функцию

R = []
for A in range(0, 1000):
if all(F(x, A) for x in range(0, 10000)):
R.append(A)
print(max(R))



🚩 Шаблон для четвертого типа:
((x  принадлежит  A) → ¬(x  принадлежит  P)) → ((x  принадлежит  A) → (x  принадлежит Q))

def F(x):
P = 10 <= x <= 35
Q = 17 <= x <= 48
A = a1 <= x <= a2
return # Здесь пишем логическую функцию

# Тут нужно будет поменять range()
M = [i / 4 for i in range(1 * 4, 60 * 4)]
R = []
for a1 in M:
for a2 in M:
if all(F(x) for x in M):
R.append(a2 - a1)
print(max(R))



🚩 Здесь я публиковал табличку для работы с таблицам истинности, чтобы не путать конъюнкцию и дизъюнкцию ☝️


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
41343
🚩 Сохраняйте список уже разобранных задачи на нашем канале #ЕГЭ15 #useful

🚩🚩 Разбор номера 16447 #kege по информатике #ЕГЭ15

🚩🚩 Разбор номера 34537 #reshu по информатике #ЕГЭ15

🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ15
Автор: Статград
Уровень:
Сложный

🚩🚩 Разбор номера 12924 #kege по информатике #ЕГЭ15
Уровень: Базовый


🚩🚩 Разбор номера 16381 #kege по информатике #ЕГЭ15
Автор: ЕГКР 27.04.24
Уровень: Базовый


🚩🚩 Разбор номера 8503 #kege по информатике #ЕГЭ15
Автор: Апробация 17.05
Уровень: Базовый


👨‍💻 Наша подборка Stepik задач №15 для подготовки #ЕГЭ9 #useful
1. Домашка, задачи базового уровня (ФИПИ)
2. Практика, задачи повышенной сложности

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


🚩 Условие задачи:
Для какого наибольшего натурального числа А логическое выражение

¬ДЕЛ(x, А) → (ДЕЛ(x, 28) → ¬ДЕЛ(x, 49))

истинно (т.е. принимает значение 1) при любом натуральном значении переменной х?


🚩 Теоретическая справка:
Очень хорошая задачка, так как мы можем заменить функцию ДЕЛ на запись x % A == 0, таким образом можем избегать использование логического оператора not.


👩‍💻 Код решения:
def F(x, A):
return (x % A != 0) <= ((x % 28 == 0) <= (x % 49 != 0))

R = []
for A in range(1, 10000):
if all(F(x, A) for x in range(1, 10000)):
R.append(A)
print(max(R))

# Ответ: 196


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

1⃣ def F(x, A):
Определяем функцию F, принимающую два аргумента: x и A.


2⃣ return (x % A != 0) <= ((x % 28 == 0) <= (x % 49 != 0))
Возвращаем результаты логического выражения, сравнивая значения остатков от деления x на A, 28 и 49 с использованием логических операторов.


3⃣ R = []
Инициализируем пустой список R, который будет содержать все значения A, удовлетворяющие определенному условию.


4⃣ for A in range(1, 10000):
Запускаем цикл по всем целым числам A от 1 до 9999 включительно.


5⃣ if all(F(x, A) for x in range(1, 10000)):
Проверяем, выполняется ли функция F для всех целых чисел x от 1 до 9999 для текущего A.


6⃣ R.append(A)
Если условие на предыдущей строке истинно, добавляем значение A в список R.


7⃣ print(max(R))
Находим и выводим максимальное значение из списка R.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
5842
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 8503 #kege по информатике #ЕГЭ15
Автор: Апробация 17.05
Уровень: Базовый


🚩 Условие задачи:
Для какого наименьшего неотрицательного целого числа А формула

((x & 52 ≠ 0) /\ (x & 36 = 0)) → ¬ (x & А = 0)

тождественно истинна (т.е. принимает значение 1) при любом неотрицательном целом значении переменной х?


🚩 Теоретическая справка:
Под операцией m & n подразумевают побитовую конъюнкцию неотрицательных целых чисел m и n.

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

Так, например, 14 & 5 = 11102& 01012 = 01002 = 4.


👩‍💻 Код решения:
def F(x, A):
return ((x & 52 != 0) and (x & 36 == 0)) <= (x & A != 0)

R = []
for A in range(10000):
if all(F(x, A) for x in range(10000)):
R.append(A)
print(min(R))

#Ответ: 16



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

1⃣ def F(x, A):
Определяем функцию F, принимающую два параметра: x и A.


2⃣ return ((x & 52 != 0) and (x & 36 == 0)) <= (x & A != 0)
Возвращаем результат логического выражения, которое проверяет битовые операции и условия для x.


3⃣ R = []
Инициализируем пустой список R, который будет содержать значения A, удовлетворяющие определенным условиям.


4⃣ for A in range(1000):
Запускаем цикл, перебирая значения A от 0 до 999 включительно.


5⃣ if all(F(x, A) for x in range(10000)):
Проверяем, выполняется ли функция F для всех x от 0 до 9999 для текущего A.


6⃣ R.append(A)
Если условие на предыдущей строке истинно, добавляем текущее значение A в список R.


7⃣ print(min(R))
Находим и выводим минимальное значение из списка R.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
3843
🚩🚩 Разбор #ДВ2025 номера #ЕГЭ15 по информатике

🚩 Условие задачи:
Укажите наименьшее целое значение А, при котором выражение
(2y + 3x < A) V (x > 15) V (y > 35)
истинно для любых целых положительных значений х и у.



👩‍💻 Код решения:
def F(x, y, A):
return (2 * y + 3 * x < A) or (x > 15) or (y > 35)

for A in range(1, 1000):
if all(F(x, y, A) for x in range(1, 1000) for y in range(1, 1000)):
print(A)
break



#⃣ Разбор задач ДВ, первый день 10.06.25
#⃣ Шпаргалки по всем остальным номерам ЕГЭ

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥5👍4
🚩🚩Разбор номера 18265 #kege по информатике #ЕГЭ15
Автор: Л.Шастин
Уровень: Средний


🚩 Условие задачи:
В некоторых системах счисления, для записи оснований которых используются целочисленные переменные p<37 и s<35, выполняется равенство: R4_(p−1)+B0_(s+2)+ T3NK4_p = 23593399_10. Определите произведение подходящих значений p и s и укажите его в ответе в десятичной системе счисления.


👩‍💻 Код решения:
for p in range(30, 37):
for s in range(10, 35):
A = int(f'R4', p-1)
B = int(f'B0', s+2)
C = int(f'T3NK4', p)
if (A + B + C) == 23593399:
print(p * s)

Ответ: 780


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

1⃣ for p in range(30, 37):
• Цикл, перебирающий значения p от 30 до 36 (включительно)


2⃣ for s in range(10, 35):
• Вложенный цикл, перебирающий значения s от 10 до 34 (включительно)


3⃣A = int(f'R4', p-1)
• Преобразует строку 'R4' в число, интерпретируя её как число в системе счисления с основанием p-1


4⃣ B = int(f'B0', s+2)
• Преобразует строку 'B0' в число, интерпретируя её как число в системе счисления с основанием s+2


5⃣ C = int(f'T3NK4', p)
• Преобразует строку 'T3NK4' в число, интерпретируя её как число в системе счисления с основанием p


6⃣ if (A + B + C) == 23593399:
• Проверяет, равна ли сумма чисел A, B и C значению 23593399


7⃣ print(p * s)
• Если условие выполняется, выводит произведение p и s


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥3👍2