Репетитор IT men
13.8K subscribers
1.1K photos
23 videos
33 files
959 links
Блог с заметками преподавателя по математике, физике, информатике. Рассказываю о задачах, о способах их решения.

vk.com/itmentor
dzen.ru/itmentor
https://www.youtube.com/@it_men

Автор: @physicist_i

№ 6046073444
Download Telegram
👨🏻‍💻 Рекурсия и задача с исполнителем из ЕГЭ по информатике

Недавно разбирали с учеником 23 задачу из ЕГЭ по информатике. Хотел бы поделиться своими мыслями и некоторыми лайфхаками решения этой задачи с моими дорогими подписчиками. Очень надеюсь, что кому-нибудь эта заметка будет полезна или хотя бы интересна. Поэтому прошу не поскупиться на обратную связь, если эта тема интересна. А пока погнали начинать, сразу с практики :)

💡 Читать статью

📝 Задача:
... Сколько существует таких программ, которые исходное число 3 преобразуют в число 12 и при этом траектория вычислений программы содержит число 10?.. #рекурсия #программирование #python #ЕГЭ

💡 Репетитор IT mentor // @mentor_it
👍8🔥42
📝 Метод Якоби: решение СЛАУ методом итерации

Для решения систем линейных алгебраических уравнений (СЛАУ) большой размерности, а также систем, имеющих разреженные матрицы, применение точных методов (например, метод Гаусса) не является целесообразным, так как...

👨🏻‍💻Читать статью полностью 📝

#программирование #математика #python #разбор_задач #численные_методы

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥43
👨🏻‍💻 Парсинг Excel-файлов на Python на примере задачи из ЕГЭ по информатике

Сегодня разберем с вами довольное сложное 22 задание. Здесь стоит дать пояснения. Составители ЕГЭ каждый раз выдумывают что-то новое, поэтому никогда не знаешь, что ожидать в следующий раз. Недавно на занятиях с учениками попалась задача, которая не решается обычными формулами, встроенными в Excel (во всяком случае я не знаю, как её автоматизировать средствами ТОЛЬКО Excel). И тут повезло, что таблица была небольшой, поэтому можно было решить задачу руками. Но я сразу же задумался над тем, а что если записей в ней было бы гораздо больше? Что если руками решать было бы не целесообразно, потому что это заняло бы бесконечно большое время, которого нет на экзамене? Как же тогда автоматизировать решение? Об этом мы сегодня с вами и поговорим...

💡 Читать статью полностью

Заваривайте чай, здесь нужно будет посидеть и подумать...☕️🫖

#парсинг #excel #python #ЕГЭ #программирование #информатика #анализ_данных #разбор_задач

🤔 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥3😱1
Задача 15.2 из ОГЭ: Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число — минимальное число, оканчивающееся на 4.

👩‍💻 Задачу можно решить и в пару строк, но здесь уже сильно снизится понимание. Покажу пример:

N = int(input("Введите количество чисел: "))
print("Ответ: ", min([ x for x in [int(input("x = ")) for x in range(N)] if x % 10 == 4 ]))


👩‍💻 Цикл for дает лучшее понимание:
N = int(input("Введите количество чисел:"))
mi = 30000
for k in range(N):
number = int(input("Текущее число: "))
if (number % 10 == 4) and (number < mi):
mi = number
print("Минимальное число, оканч-ся на 4: ", mi)


👩‍💻 Но самый оптимальный и понятный код получается с помощью цикла while, которые дает возможности тонкой настройки цикла, что иногда нужно, если наперед не задано точное количество итераций:
N = int(input("Введите количество чисел: "))
min_4 = 30000
k = 1
while k <= N:
number = int(input("Текущее число: "))
if (number % 10 == 4) and (number < min_4):
min_4 = number
k = k + 1
print("Минимальное число, оканч-ся на 4: ", min_4)


#информатика #программирование #computer_science #алгоритмы #python

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥31🍓1👨‍💻1💘1
✍🏻 Решать аналитически или кодить 🖥

Рассмотрим 2 задачу из ЕГЭ по информатике. На мой взгляд, полезно совмещать эти варианты, чтобы быть уверенным в ответе.

▪️ В аналитическом решении нужно рассмотреть все строки, начиная с максимально заполненной. Важно держать в голове, что все строки уникальные (комбинации не повторяются, порядок имеет значение). Таким образом, мы последовательно открываем соответствия x, y, z исходным переменная_1, переменная_2, переменная_3.

▪️ При моделировании задачи и перебору подходящих решений, мы сразу получаем нужные комбинации, но чтобы понять как они расположены в таблицы, всё равно приходится осмысливать эти комбинации на черновике.

Много интересных статей на моём канале в Дзен:
📱 Репетитор IT men

#математика #информатика #егэ #разбор_задач #python #computer_science

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍542🔥2🎅1🎄1💘1
📝 Разбор задачи #5 из ЕГЭ по информатике

▪️Тот случай, когда аналитически решить может быть быстрее, потому что уже следующее значение R = 78 удовлетворяет решению и даёт N = 19.

▪️Но код тоже можно написать. Понадобится функция algo(), которая будет добавлять нужный бит в конец двоичного представления. Написать можно по-разному. Приведу лишь решение, которое мне пришло первым в голову.

🖥 Код в Python:
def algo( N ):
lst = list(map(int, list(bin(N)[2:])))
digit = str(sum(lst) % 2)
return int(bin(N)[2:] + digit, 2)

for N in range(1000):
R = algo(algo(N))
if R > 77:
print(f"N = {N}")
break


А как бы вы закодили решение данной задачи?

Ещё полезные заметки: Callback в Python и О лямбда-функциях в Python и Reduce в Python и Задача с собеседования

#python #разработка #программирование #IT #алгоритмы

💡 Репетитор IT men // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2👨‍💻2