Информатика | Илья Андрианов | 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
🚩 Разбор номера 17627 #kege по информатике #ЕГЭ8
Автор: Резервный день 19.06.2024
Уровень: Базовый


🚩 Условие задачи:
Определите количество 15-ричных пятизначных чисел, в записи которых ровно одна цифра 8 и не менее двух цифр с числовым значением, превышающим 9.


🚩 Теоретическая справка:
В подобных задачах с цифрами обязательно необходимо добавлять проверку num[0] != '0', так как число не может начинаться с нуля.


👩‍💻 Код решения:
from itertools import *
cnt = 0
for p in product('0123456789ABCDE', repeat=5):
num = ''.join(p)
if num[0] != '0' and num.count('8') == 1:
if len([x for x in num if int(x, 15) > 9]) >= 2:
cnt += 1
print(cnt)

# Ответ: 83175


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

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


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


3⃣ for p in product('0123456789ABCDE', repeat=5):
Используем функцию product для генерации всех возможных комбинаций длиной 5 из символов '0123456789ABCDE'.


4⃣ num = ''.join(p)
Объединяем кортеж p в строку для получения текущего числа в виде строки.


5⃣ if num[0] != '0' and num.count('8') == 1:
Проверяем, что первое число не равняется '0' и цифра '8' встречается в строке ровно один раз.


6⃣ if len([x for x in num if int(x, 15) > 9]) >= 2:
Проверяем, что в числе присутствует как минимум две цифры, больше 9 в шестнадцатеричном представлении, то есть 'A', 'B', 'C', 'D', 'E'.


7⃣ cnt += 1
Если все условия выполнены, увеличиваем счётчик cnt на 1.


8⃣ print(cnt)
Выводим итоговое значение счётчика cnt, которое соответствует количеству подходящих комбинаций.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач 😼
Please open Telegram to view this post
VIEW IN TELEGRAM
633
Давно у нас не было интересных задачек 👾
Please open Telegram to view this post
VIEW IN TELEGRAM
542
Ещё один пример на ту же тему 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
432
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 17672 #kege по информатике #ЕГЭ9
Автор: Пересдача 04.07.2024
Уровень: Базовый


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


🚩 Теоретическая справка:
Для решения этого номера кодом необходимо конвертировать .xls файл в .txt, но на экзамене будет доступен .csv формат, который можно будет открыть сразу же без конвертации.


👩‍💻 Код решения:
cnt = 0
for s in open('9.txt'):
M = sorted([int(x) for x in s.split()])
# if M[0] + M[-1] < M[1] + M[2]:
# if max(M) + min(M) < sum(M) - max(M) - min(M):
if M[0] + M[-1] < M[1] + M[2]:
cnt += 1
print(cnt)

# Ответ: 9997


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

1⃣ cnt = 0
Инициализируем переменную счётчика cnt для подсчета строк, которые удовлетворяют условию.


2⃣ for s in open('9.txt'):
Открываем файл '9.txt' и построчно читаем его содержимое в цикле.


3⃣ M = sorted([int(x) for x in s.split()])
Разбиваем строку s на отдельные элементы, приводим их к целым числам и сортируем их, результат сохраняем в список M.


4⃣ if M[0] + M[-1] < M[1] + M[2]:
Проверяем условие: сумма первого и последнего элементов списка меньше суммы второго и третьего элементов.


5⃣ cnt += 1
Если условие выполняется, увеличиваем счётчик cnt на 1.


6⃣ print(cnt)
Выводим итоговое значение счётчика cnt, которое соответствует количеству строк, удовлетворяющих условию.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
655
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 17525 #kege по информатике #ЕГЭ12
Автор: Основная волна 07.06.2024
Уровень:
Базовый

🚩 Условие задачи:
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 100 идущих подряд
цифр 9?

ПОКА нашлось (33333) ИЛИ нашлось (999)
ЕСЛИ нашлось (33333)
ТО заменить (33333, 99)
ИНАЧЕ заменить (999, 3)


🚩 Теоретическая справка:
Задачи 12 номера можно назвать типовыми (не редкий случай для нашего экзамена), запомнить нужно только несколько основных вещей: 1) строка умноженная на число будет дублироваться 2) всегда пересоздаем строку s = s.replace() иначе строка не изменится 3) в методе .replace('a', 'b', 1) всегда ставим единичку - так как замены производятся последовательно.


👩‍💻 Код решения:
s = '9' * 100
while '33333' in s or '999' in s:
if '33333' in s:
s = s.replace('33333', '99', 1)
else:
s = s.replace('999', '3', 1)
print(s)

# Ответ: 333


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

1⃣ s = '9' * 100
Инициализируем строку s, состоящую из 100 символов '9'.


2⃣ while '33333' in s or '999' in s:
Запускаем цикл, который будет продолжаться до тех пор, пока в строке s присутствует подстрока '33333' или '999'.


3⃣ if '33333' in s:
Проверяем, присутствует ли в строке подстрока '33333'.


4⃣ s = s.replace('33333', '99', 1)
Если '33333' присутствует, заменяем её на '99' (первая замена слева направо).


5⃣ else:
Если подстроки '33333' нет в строке, выполняется следующий блок кода.


6⃣ s = s.replace('999', '3', 1)
Если '999' присутствует, заменяем её на '3' (первая замена слева направо).


7⃣ print(s)
Выводим итоговое значение строки s после завершения всех замен, когда условия больше не выполняются.


Информатика ЕГЭ | itpy 🧑‍💻
Наша Stepik подборкой задач 😼
Please open Telegram to view this post
VIEW IN TELEGRAM
2654
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 17676 #kege по информатике #ЕГЭ13
Автор: Пресдача 04.07.2024
Уровень: Базовый


🚩 Условие задачи:
Сеть задана IP-адресом 115.192.0.0 и сетевой маской 255.192.0.0.
Сколько в этой сети IP-адресов, для которых количество единиц в двоичной записи IP-адреса не кратно 3?


🚩 Теоретическая справка:
Во всех ФИПИ вариантах/пробниках и на основном экзамене был представлен именно этот прототип, занятное наблюдение!


👩‍💻 Код решения:
from ipaddress import *
net = ip_network('115.192.0.0/255.192.0.0', 0)
cnt = 0
for ip in net:
b_ip = f'{ip:b}'
if b_ip.count('1') % 3 != 0:
cnt += 1
print(cnt)

# Ответ: 2796202


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

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


2⃣ net = ip_network('115.192.0.0/255.192.0.0', 0)
Создаём объект сети net, используя адрес сети '115.192.0.0' и маску подсети '255.192.0.0'. 0 указывает на IPv4-адрес.


3⃣ cnt = 0
Инициализируем переменную счётчика cnt для подсчета IP-адресов, удовлетворяющих условию.


4⃣ for ip in net:
Проходим в цикле по каждому IP-адресу в сети net.


5⃣ b_ip = f'{ip:b}'
Преобразуем текущий IP-адрес в двоичное строковое представление и сохраняем его в переменную b_ip.


6⃣ if b_ip.count('1') % 3 != 0:
Проверяем, что количество единиц в двоичном представлении IP-адреса не кратно 3.


7⃣ cnt += 1
Если условие выполняется, увеличиваем счётчик cnt на 1.


8⃣ print(cnt)
Выводим итоговое значение счётчика cnt, которое соответствует количеству подходящих IP-адресов.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
3555
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера None #kege по информатике #ЕГЭ14
Автор: PRO100EGE Вариант №7
Уровень: Базовый


🚩 Условие задачи:
Операнды арифметического выражения x1x_16 + x3x3_8 записаны в системах счисления с основанием 16 и 8. В записи чисел переменных x обозначена неизвестная цифра. Определите x, при котором значение данного арифметического выражения является степенью двойки. В ответе укажите x.


🚩 Теоретическая справка:
Обратите внимание на строчку M = [2 ** x for x in range(0, 100)], здесь мы собираем список всех степеней двойки до 2**100.


👩‍💻 Код решения:
alphabet = sorted('1234567890QWERTYUIOPASDFGHJKLZXCVBNM')
M = [2 ** x for x in range(0, 100)]
for x in alphabet[:8]:
a = int(f'{x}1{x}', 16)
b = int(f'{x}3{x}3', 8)
if a + b in M:
print(x)

# Ответ: 5


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

1⃣
alphabet = sorted('1234567890QWERTYUIOPASDFGHJKLZXCVBNM')
Создаем отсортированный список символов из строки, содержащей цифры и заглавные буквы английского алфавита.


2⃣ M = [2 ** x for x in range(0, 100)]
Создаем список степеней двойки от 2^0 до 2^99 (всего 100 элементов).


3⃣ for x in alphabet[:8]:
Проходим в цикле по первым 8 символам из отсортированного списка alphabet.


4⃣ a = int(f'{x}1{x}', 16)
Формируем строку вида 'x1x', где x - текущий символ из alphabet, и преобразуем её из шестнадцатеричной в десятичное число.


5⃣ b = int(f'{x}3{x}3', 8)
Формируем строку вида 'x3x3', где x - текущий символ из alphabet, и преобразуем её из восьмеричной в десятичное число.


6⃣ if a + b in M:
Проверяем, входит ли сумма чисел a и b в список степеней двойки M.


7⃣ print(x)
Если условие выполняется, выводим на экран текущий символ x.


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
2654
🚩 Практика №14 #ЕГЭ14
Автор: Пробник ИМЦ СПб, 6594
Уровень: Базовый


Условие задачи:
Операнды арифметического выражения записаны в системе счисления с основанием 13: 753x2_13 + 2x173_13

В записи чисел переменной x обозначена неизвестная цифра из алфавита 13-ричной системы счисления.

Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 12.

Для найденного значения x вычислите частное от деления значения арифметического выражения на 12 и укажите его в ответе в десятичной системе счисления.
Please open Telegram to view this post
VIEW IN TELEGRAM
7531
Мой бухтёж Подкаст: Как правильно начать готовиться к экзамену 🤧 #useful

Отвечаю на часто задаваемый вопрос по поводу построения правильной траектории (road map) подготовки к экзамену ЕГЭ по информатике. Внимание! Никаких супер секретных методик я вам не расскажу; рецепт очень банальный, но рабочий. Дайте обратную связь, если вам такой формат подачи материалов заходит 🫳


Таймкоды для вашего удобства:
00:00 - Мини-вступление
00:45 - Почему выбираем именно Python
02:48 - Какие темы Python нужно освоить
03:50 - С каких номеров начать разбор ЕГЭ
07:08 - Когда начать разбирать 26, 27 номера

Приложу текстовый "план" в комментариях 👇

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
310653
Говорят, вышли демки ОГЭ 2025, все ринулись их смотреть и поломали Рунет 🫠

Мы же ждем демоверсию ЕГЭ. Очень интересно, что же они там поменяют 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
8552
🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
🔤🔤🔤🔤 🔤🔤 🔤🔤🔤🔤🔤🔤

📚 Друзья, я собираю бесплатный курс по Python для вас и очень нуждаюсь в вашей обратной связи. Кратко: курс будет 100% бесплатным, планирую добавить видеоматериалы, подробно расписать темы и структурировать их, возможно, добавить еще какие-то главы или уроки.

Что вы думаете по этому поводу? Буду благодарен за любую обратную связь! Пишите в чатик или мне: @ilandroxxy свои предложения и пожелания 🙏

Информатика ЕГЭ | itpy 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
29651
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 17504 #kege по информатике #ЕГЭ17
Уровень: Средний

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

В ответе запишите количество найденных троек чисел, затем максимальную из сумм элементов таких троек.

В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

Файл доступен в комментариях 👇


🚩 Теоретическая справка:
В данной задаче полезно заметить, что найти число оканчивающееся на 3 в девятеричной системе счисления можно банальным делением, так как последняя цифра троичной записи будет являться первым остатком: x % 9 == 3.

Дополнительный вариант решения тоже оставлю в комментариях.


👩‍💻 Код решения:
M = [int(x) for x in open('17.txt')]
A = [x for x in M if len(str(abs(x))) == 4 and abs(x) % 2 == 0]
B = max([x for x in M if x % 9 == 3])
R = []
for i in range(len(M) - 2):
x, y, z = M[i], M[i + 1], M[i + 2]
if (x in A) + (y in A) + (z in A) <= 1:
if (x + y + z) <= B:
R.append(x + y + z)
print(len(R), max(R))

# Ответ: 6281 99699


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

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


2⃣ A = [x for x in M if len(str(abs(x))) == 4 and abs(x) % 2 == 0]
Создаем список A из чисел из M, которые имеют ровно 4 цифры и являются четными.


3⃣ B = max([x for x in M if x % 9 == 3])
Находим максимальное значение среди чисел из M, которые при делении на 9 дают остаток 3, и сохраняем его в B.


4⃣ R = []
Инициализируем пустой список R для хранения результатов сумм, удовлетворяющих условиям.


5⃣ for i in range(len(M) - 2):
Проходим по списку M, используя индексы от 0 до (длина M - 3), чтобы избежать выхода за пределы при обращении к элементам M[i+2].


6⃣ x, y, z = M[i], M[i + 1], M[i + 2]
Выбираем три последовательных элемента списка M.


7⃣ if (x in A) + (y in A) + (z in A) <= 1:
Проверяем условие, что среди трех выбранных чисел не более одного числа принадлежит списку A.


8⃣ if (x + y + z) <= B:
Проверяем условие, что сумма трех выбранных чисел меньше или равна значению B.


0⃣ R.append(x + y + z)
Если оба условия выполняются, добавляем сумму (x+y+z) в список R.


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


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
2643
ИНФ-11 ЕГЭ 2025 ДЕМО.pdf
1 MB
Демоверсия ЕГЭ по Информатике 2025 😼

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

Информатика ЕГЭ | itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
21054
😢 NOTION ЗАЯВИЛА, ЧТО УХОДИТ ИЗ РОССИИ! С 9 сентября платные аккаунты станут бесполезны

Первое, что нужно сделать сейчас – экспортировать оттуда свои данные
Рифмы и Панчи 🤯
😢 NOTION ЗАЯВИЛА, ЧТО УХОДИТ ИЗ РОССИИ! С 9 сентября платные аккаунты станут бесполезны Первое, что нужно сделать сейчас – экспортировать оттуда свои данные
Это печальная новость, так как у нас огромное количество разборов хранится на Notion. У нас куплен платный аккаунт, и это главный инструмент для нашей команды. Что ж, придется искать какие-то альтернативные площадки и переносить шпаргалки...
Подготовили для вас список аналогов Notion, которые, скорее всего, не будут заблокированы в России в ближайшее время. #useful

1⃣ Affine.pro – объединение Notion и Miro в одном сервисе с возможностью кастомизации заметок, совместной работы и планирования задач.

2⃣ Strive – отечественная платформа от российских разработчиков, где вы можете назначать дедлайны команде, работать над проектами, делать заметки и планировать. Функциональные возможности практически идентичны Notion.

3⃣ Craft – полный аналог Notion для пользователей MacOS и iOS с более быстрой и плавной работой. Основной акцент в приложении сделан на работу с документами, продвинутую систему структуризации и приватность пользователей.

4⃣ Obsidian – сервис с теми же функциями, что и Notion, но с максимальной защитой конфиденциальности заметок.

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
2642