Информатика | Илья Андрианов | 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
📌 Информация о правилах пересдачи в этом году #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%
не собираем
📌 Список полезных библиотек для успешной сдачи ЕГЭ по информатике! #tpy #useful

1⃣ Библиотека черепашки для решения 6 номера кодом:
import turtle as t

t.tracer(0)

t.fd(10) # t.bk(10)
t.rt(90) # t.lt(90)

t.up()
t.down()

x, y = 0, 0
t.goto(x, y)
t.dot(2, 'red')

t.done()


2⃣ Библиотека itertools для решения 1, 8, 9, 12, 24 номеров кодом:
from itertools import product
from itertools import permutations

combinations = list(product([1, 2, 3], repeat=2))
for combination in combinations:
print(combination)

perms = list(permutations("abc"))
for perm in perms:
print(''.join(perm))


3⃣ Библиотека ipaddress для решения нового 13 номера:
from ipaddress import *
net = ip_network('адрес узла/маска', 0)
print(net, net.netmask, net.num_addresses)


4⃣ Две библиотеки для решения 16 номера:
Одна увеличивает глубину рекурсии:

import sys
sys.setrecursionlimit(10000)


Вторая ускоряет вычисления через использование кэширования:

from functools import *
@lru_cache(None)
def F(n):


5⃣ Библиотека fnmatch для решения 25 номера с масками:
from fnmatch import fnmatch
if fnmatch('123', '*?3'):
pass


6⃣ Библиотека string хранит в себе много полезных элементов:
import string
alphabet = string.ascii_uppercase
print(alphabet) # ABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.punctuation)
# !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~


7⃣ Библиотека math хранит в себе много полезных математических функций:
import math as m
print(m.sqrt(16))
print(m.ceil(7/2))


💻 Теперь у вас есть знания о необходимых библиотеках, чтобы успешно справиться с заданиями ЕГЭ по информатике! 🚀

Поставьте котика 🥰😘 за оперативность 😅

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
2075
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 Разбор номера 12721 #kege по информатике #ЕГЭ5
Автор: C.Горбачёв
Уровень: Базовый


🚩 Условие задачи:
1. Строится восьмеричная запись числа N.

2. а) если количество чётных цифр в записи числа нечётно, то к трём последним разрядам восьмеричной записи справа дописывается 46;

б) если количество чётных цифр в записи числа чётно, то остаток от деления числа на 8 умножается на 5, переводится в восьмеричную запись и дописывается слева.

Укажите минимальное число R, которое может быть получено с помощью описанного алгоритма при N не меньшем 80.


👩‍💻 Код решения:
R = []
for n in range(81, 10000):
s = oct(n)[2:] # f'{n:o}'
chet = [x for x in s if x in '02468']
if len(chet) % 2 != 0:
s = s[-3:] + '46'
else:
x = (n % 8) * 5
s = oct(x)[2:] + s
r = int(s, 8)
R.append(r)
print(min(R))

# Ответ: 38


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

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


2⃣ for n in range(81, 10000):
Цикл, который перебирает числа от 81 до 9999.


3⃣ s = oct(n)[2:] # f'{n:o}'
Преобразование числа n в восьмеричную систему счисления и сохранение результата в строковой переменной s.


4⃣ chet = [x for x in s if x in '02468']
Формирование списка, содержащего только символы, которые являются четными цифрами.


5⃣ if len(chet) % 2 != 0:
Если количество четных цифр в строке нечетное.


6⃣ s = s[-3:] + '46'
Если условие из пункта 5 выполняется, изменяем строку s, добавляя к ней '46'.


7⃣ else:

8⃣ x = (n % 8) * 5
Вычисляем значение x как остаток от деления n на 8, умноженное на 5.


0⃣ s = oct(x)[2:] + s
Обновляем значение s, добавляя к нему начальную часть, преобразованную из x в восьмеричную систему.


1⃣0⃣ r = int(s, 8)
Преобразование строки s из восьмеричной системы счисления в целое число и сохранение результата в переменной r.


1⃣1⃣ R.append(r)
Добавление значения r в список R.


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


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

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

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

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

🚩 Встроенные функции перевода в 2, 8, 16-ю системы счисления:
n = 24
num_2 = bin(n)[2:] # 11000
num_8 = oct(n)[2:] # 30
num_16 = hex(n)[2:] # 18


🚩 Перевод в 2, 8, 16-ю системы счисления через f-строки:
n = 24
num_2 = f'{n:b}' # 11000
num_8 = f'{n:o}' # 30
num_16 = f'{n:x}' # 18


🚩 Универсальная функция перевода (2 <= base <=36)
from string import *
alphabet = digits + ascii_uppercase
# alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')

def my_convert(num, base):
result = ''
while num > 0:
result += alphabet[num % base]
num //= base
return result[::-1]

n = 24
num_2 = my_convert(n, 2) # 11000
num_8 = my_convert(n, 8) # 30
num_16 = my_convert(n, 16) # 18
num_3 = my_convert(n, 3) # 220


🚩 Функция перевода из base системы в 10-ю (2 <= base <= 36)
r = int(num_base, base)
print(int('1000', 2)) # 8


🚩 Действия над строками:
s = '101001'

# Добавить '10' справа (в конец)
s = s + '10' # 10100110


# Добавить '01' слева (в начало)
s = '01' + s # 0110100110
print(s)

# Добавить '+' по середине
s = s[:len(s)//2] + '+' + s[len(s)//2:]
# 01101*00110

# Заменить все нули на единицы, а единицы на нули
s = s.replace('1', '*')
s = s.replace('0', '1')
s = s.replace('*', '0')


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
12653
🚩 Разбор номера 11818 #kege по информатике #ЕГЭ5
Автор: Л.Шастин
Уровень: Средний


🚩 Условие задачи:
1. Строится запись числа N в системе счисления с основанием 12.
2. Далее эта запись обрабатывается по следующему правилу:

а) если число N делится на 4, то слева к нему приписывается «2», а справа «64»;

б) если число N на 4 не делится, то в конец числа дописывается его максимальная цифра в системе счисления с основанием 12.
Полученная таким образом запись является двенадцатеричной записью искомого числа R.

3. Результат переводится в десятичную систему и выводится на экран.


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


👩‍💻 Код решения:
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
def convert(num, base):
r = ''
while num > 0:
r += alphabet[num % base]
num //= base
return r[::-1]


R = []
for n in range(1, 10000):
s = convert(n, 12)
if n % 4 == 0:
s = '2' + s + '64'
else:
s += max([x for x in s])
r = int(s, 12)
if r > 1799:
R.append(r)
print(min(R))

# Ответ: 1806


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

1⃣ alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
Создание отсортированного списка символов, представляющих алфавит для кодирования чисел в других системах.


2⃣ def convert(num, base):
Определение функции convert с аргументами num (число для конвертации) и base (основание системы счисления).


3⃣ r = ''
Инициализация пустой строки r, которая будет содержать конвертированное число.


4⃣ while num > 0:
Начало цикла, который будет выполняться, пока число num больше нуля.


5⃣ r += alphabet[num % base]
Добавление символа из алфавита в строку r, соответствующего остатку от деления числа num на base.


6⃣ num //= base
Целочисленное деление числа num на base.


7⃣ return r[::-1]
Возврат результата функции, перевернутого конвертированного числа.


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


0⃣ for n in range(1, 10000):
Цикл, перебирающий числа от 1 до 9999.


1⃣0⃣ s = convert(n, 12)
Конвертация числа n в двенадцатеричную систему и сохранение результата в строке s.


1⃣1⃣ if n % 4 == 0:
Проверка условия: если число n делится на 4 без остатка.


1⃣2⃣ s = '2' + s + '64'
Если условие из пункта 11 выполняется, изменяем строку s, добавляя к ней '2' в начале и '64' в конце.


1⃣3⃣ else:

1⃣4⃣ s += max([x for x in s])
Добавляем к строке s максимальное значение из всех символов.


1⃣5⃣ r = int(s, 12)
Преобразование числа s из двенадцатеричной системы в десятичную и сохранение результата в переменной r.


1⃣6⃣ if r > 1799:
Проверка условия: если результат r больше 1799.


1⃣7⃣ R.append(r)
Добавление числа r в список R.


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


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

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


🚩 Условие задачи:
В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов KLMN в указанном порядке, при этом в начале и в конце искомой последовательности группа символов KLMN может быть неполной.

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

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


👩‍💻 Код решения:
s = open('24.txt').readline()
count = 3
maxi = 0
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
count += 1
maxi = max(maxi, count)
else:
count = 3
print(maxi)

# Ответ: 182


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

1⃣ s = open('24.txt').readline()
Чтение строки из файла "24.txt" и сохранение ее в переменную s.


2⃣ count = 3
Инициализация переменной count со значением 3, которая будет использоваться для подсчета последовательности.


3⃣ maxi = 0
Инициализация переменной maxi со значением 0, которая будет хранить максимальное количество найденных последовательностей.


4⃣ for i in range(len(s)-3):
Цикл, перебирающий индексы от 0 до len(s)-4 для итерации по всем четверным подстрокам строки s.


5⃣ if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
Проверка, содержится ли текущая четверная подстрока строки s в заданных последовательностях 'KLMN', 'LMNK', 'MNKL' или 'NKLM'.


6⃣ count += 1
Увеличение значения переменной count на 1, если найдена подходящая четверная последовательность.


7⃣ maxi = max(maxi, count)
Обновление значения переменной maxi на максимальное из текущего значения и count.


8⃣ else:
В случае, если текущая четверная подстрока не соответствует заданным последовательностям:


0⃣ count = 3
Сброс значения переменной count до 3 для начала подсчета заново.


🔟 print(maxi)
Вывод максимального количества найденных последовательностей заданного типа в строке s после завершения цикла.


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

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1177
💡Полезные команды, которые ускорят вашу работу с кодом/текстом #useful

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1655
This media is not supported in your browser
VIEW IN TELEGRAM
1⃣7⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ17 #шпора

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

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


🚩 Считываем файл 17.txt в общий список M:
M = [int(x) for x in open('17.txt')]



Три основных типа задач 17 номера:

🚩 В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
M = [1, 2, 3, 4, 5]
for i in range(len(M)-1):
x, y = M[i:i+2]
print(f'{x}{y}', end=' ')

# Вывод:
# 12 23 34 45


🚩 Назовём тройкой три идущих подряд элемента последовательности.
M = [1, 2, 3, 4, 5]
for i in range(len(M)-2):
x, y, z = M[i:i+3]
print(f'{x}{y}{z}', end=' ')

# Вывод:
# 123 234 345


🚩 В данной задаче под парой подразумевается два различных элемента последовательности.
M = [1, 2, 3, 4, 5]
for i in range(0, len(M)):
for j in range(i+1, len(M)):
x, y = M[i], M[j]
print(f'{x}{y}', end=' ')
print()

# Вывод:
# 12 13 14 15
# 23 24 25
# 34 35
# 45



Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
221463
👩‍💻 Мини-шпаргалка для🚩номера #ЕГЭ6 #tpy

Благодарю вас за активность! Не удержался и решил опубликовать эту шпаргалку уже сегодня 🫶

Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1965
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 4142 #polyakov по информатике #ЕГЭ24
Автор: А. Богданов
Уровень: Средний


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


👩‍💻 Код решения:
s = open('24.txt').readlines()
maxi = 0
for x in s:
count = 2
for i in range(len(x)-2):
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
count += 1
maxi = max(maxi, count)
else:
count = 2
print(maxi)

# Ответ: 53


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

1⃣ s = open('24.txt').readlines()
Чтение всех строк из файла "24.txt" и сохранение их в виде списка строк в переменную s.


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


3⃣ for x in s:
Цикл, который перебирает строки из списка s для анализа каждой строки отдельно.


4⃣ count = 2
Инициализация переменной count со значением 2, которая будет использоваться для подсчета последовательности в текущей строке.


5⃣ for i in range(len(x)-2):
Внутренний цикл, который перебирает индексы от 0 до длины строки x минус 2 для итерации по каждой тройной подстроке в текущей строке.


6⃣ if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
Проверка условия: если текущая тройная подстрока x присутствует в кортеже заданных строк 'XYZ', 'YZX' или 'ZXY'.


7⃣ count += 1
Увеличение значения переменной count на 1, если найдена подходящая тройная последовательность.


8⃣ maxi = max(maxi, count)
Обновление значения переменной maxi на большее из текущего значения и count.


0⃣ else:
В случае, если текущая тройная подстрока не соответствует заданным последовательностям:


1⃣0⃣ count = 2
Сброс значения переменной count на 2 для начала подсчета заново в текущей строке.


1⃣1⃣ print(maxi)
Вывод наибольшего значения переменной maxi.


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

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