Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K subscribers
263 photos
20 videos
19 files
629 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
👩‍💻 Логические значения чисел #tpy

Важное свойство Python - возможность преобразования чисел в логические значения. В этом языке программирования все числа, кроме нуля, включая отрицательные, считаются истинными (True). Ноль же интерпретируется как ложь (False). Таким образом, Python позволяет проводить логические операции and, or, not над числами без проблем.

Логические операции с числами в Python выполняются в соответствии с таблицами истинности операторов, что облегчает понимание и работу с логическими выражениями в контексте чисел.

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
754
В чатике пришел запрос на разбор интересной задачи через чистый код.

Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
В целом, решение этой задачи я уже опубликовал в чате. Присоединяйтесь и задавайте свои вопросы, ведь обучение состоит из формата вопрос-ответ ☝️
Please open Telegram to view this post
VIEW IN TELEGRAM
432
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
🧠 Подборка задач 🚩🚩 номера #15

📎 Перейди по ссылке ниже, мы собрали для тебя серию практических задач, подготовленных специально для отработки 15 номера ЕГЭ. Готовься к экзамену более эффективно вместе с нами!
Please open Telegram to view this post
VIEW IN TELEGRAM
754
В преддверии ЕГЭ моя близкая подруга Полина проводит интенсив по математике

Дата проведения:

- 24 и 25 мая - первая часть
- 29 и 30 мая - вторая часть (задачи №13, 15, 16, 18, 19)

Доступны два тарифа:
- Тариф с проверкой (4500 рублей за 8,5 часов)
- Тариф без проверки (3200 рублей за 8,5 часов)
- Каждому участнику будут отправлены шпаргалки для экзамена! 🚀
Стоимость в пересчете на час примерно ~380 рублей.


Количество мест на тарифе с проверкой ограничено (работы будут проверены экспертом ЕГЭ в кратчайшие сроки, очень оперативно) ☝️
Используйте промокод: itpy
Получите скидку в размере 500 рублей.

Также действует акция: "Приведи друга" и получите скидку в 1000 рублей! Скидки суммируются - хоть в плюс залетай 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
322
🖥 Правила публикации #рекламы
По всем дополнительным вопросом пишите сюда: @SvckMyPvmpkin


➡️➡️➡️
Please open Telegram to view this post
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ17
Автор: Статград
Уровень:
Сложный

🚩 Условие задачи:
Назовём четвёркой четыре идущих подряд элемента
последовательности. Определите количество четвёрок, для которых
выполняются следующие условия:
– в четвёрке есть хотя бы два пятизначных числа и хотя бы одно не пятизначное;
– в четвёрке больше чисел, кратных 3, чем чисел, кратных 7;
– сумма элементов четвёрки больше максимального элемента
последовательности, запись которого заканчивается на 538, но меньше
удвоенного значения этого элемента.


👩‍💻 Код решения:
numbers = [int(x) for x in open('17.txt')]
filtered = [x for x in numbers if str(x)[-3:] == '538']
result = []

for i in range(len(numbers) - 3):
# x, y, z, w = numbers[i:i + 4]
length = [len(str(abs(a))) for a in numbers[i:i + 4]]

if 2 <= length.count(5) < 4:
multiples_of_3 = [a for a in numbers[i:i + 4] if a % 3 == 0]
multiples_of_7 = [a for a in numbers[i:i + 4] if a % 7 == 0]

if len(multiples_of_3) > len(multiples_of_7):
if max(filtered) < sum(numbers[i:i + 4]) < max(filtered) * 2:
result.append(sum(numbers[i:i + 4]))

print(len(result), max(result))

# Ответ: 260 106865


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

1⃣ numbers = [int(x) for x in open('17.txt')]
Чтение чисел из файла "17.txt" и преобразование их в целочисленный формат, помещение результатов в список numbers.


2⃣ filtered = [x for x in numbers if str(x)[-3:] == '538']
Создание нового списка под названием filtered, который содержит только элементы из numbers, у которых последние три цифры равны '538'.


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


4⃣ for i in range(len(numbers) - 3):
Запуск цикла for, который перебирает индексы элементов numbers за исключением последних трех элементов.


5⃣ # x, y, z, w = numbers[i:i + 4]
Комментарий указывает на предполагаемое использование переменных x, y, z, w для значений из подсписка numbers[i:i + 4], но непосредственно переменные не используются в данном участке кода.


6⃣ length = [len(str(abs(a))) for a in numbers[i:i + 4]]
Создание списка length, содержащего длины строковых представлений абсолютных значений элементов из подсписка numbers[i:i + 4].


7⃣ if 2 <= length.count(5) < 4:
Проверка условия: количество цифр "5" в длинах строковых представлений элементов равно или больше 2 и меньше 4.


8⃣ multiples_of_3 = [a for a in numbers[i:i + 4] if a % 3 == 0]
Формирование списка multiples_of_3, содержащего элементы из подсписка numbers[i:i + 4], которые делятся на 3 без остатка.


0⃣ multiples_of_7 = [a for a in numbers[i:i + 4] if a % 7 == 0]
Формирование списка multiples_of_7, содержащего элементы из подсписка numbers[i:i + 4], которые делятся на 7 без остатка.


1⃣0⃣ if len(multiples_of_3) > len(multiples_of_7):
Проверка условия: количество элементов, делящихся на 3 без остатка, больше количества элементов, делящихся на 7 без остатка.


1⃣1⃣ if max(filtered) < sum(numbers[i:i + 4]) < max(filtered) * 2:
Проверка условия: сумма элементов подсписка numbers[i:i + 4] находится в интервале между максимальным элементом списка filtered и удвоенным значением максимального элемента из filtered.


1⃣2⃣ result.append(sum(numbers[i:i + 4]))
Добавление суммы элементов подсписка numbers[i:i + 4] в список result.


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


Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
865