Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Лёха в Short’ах Long’ует
Лёха в Short’ах Long’ует
Репетитор IT mentor avatar
Репетитор IT mentor
Репетитор IT mentor avatar
Репетитор IT mentor
🐍 Циклы и их прерывания в Python: алгоритм поиска в строке

Это заметка будет для начинающих, которые только знакомятся с программированием, информатикой и с языком Python, в частности. Вчера мы с учеником изучали циклы и некоторые операторы, которые дают возможность управлять циклами. В этой небольшой статье я покажу несколько примеров. При этом от совсем простых абстракций постараемся углубиться в более полезные вещи с практической точки зрения. [ Уровень сложности: ~7..8 класс ]

👨🏻‍💻 Читать заметку полностью

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

💡 Репетитор IT mentor // @mentor_it
25.01.202507:03
🔣 Задача по программированию для подписчиков 👨🏻‍💻

Дано игровое поле, которое задано матрицей m x n, где каждая ячейка представляет собой клетку корабля «X» или пустую клетку «.».

Необходимо найти количество всех кораблей на игровом поле.

Примечания:
▪️ Корабли можно размещать на игровом поле только горизонтально или вертикально
▪️ Два корабля разделяет по крайней мере 1 горизонтальная или вертикальная клетка.

📝 Обсуждение задачи здесь 📝

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

💡 Репетитор IT mentor // @mentor_it
💡 Почему поднять предмет быстро тяжелее, чем поднять медленно?

Друзья, привет! Разбираемся с подвохами физики из раздела механики. Подготавливая своих учеников к ЕГЭ и ОГЭ, я заметил, что многие школьники путаются в задаче нахождения работы, когда движение равноускорено (a = const, v ≠ const). Рассмотрим типичную задачу, решение которой поможет пролить немного света на эту тёмную сторону физики :)

📝 Читать заметку полностью

#разбор_задач #механика #физика #огэ #егэ #факты #задачи #physics

💡 Репетитор IT mentor // @mentor_it
15.01.202509:13
📝 in 🖥 О лямбда-функциях в Python

▪️ Когда нужно быстро сделать анонимную функцию, которую удобно передавать в другие функции высшего порядка, используются лямбда-функии, которые имеют синтаксис: Lambda аргументы : выражение
Лямбда-функции могут иметь любое количество аргументов, но у каждой может быть только одно выражение. Выражение вычисляется и возвращается. Эти функции могут быть использованы везде, где требуется объект-функция. Лямбда-функцию можно пустить в качестве аргумента другие функции, которые обрабатывают крупные структуры данных: списки, словари, объекты. Синтаксически лямбда-функция ограничена, позволяет представить всего одно выражение.

▪️ Функция filter() в Python принимает в качестве аргументов функцию и список . Функция вызывается со всеми элементами в списке, и в результате возвращается новый список, содержащий элементы, для которых функция возвращает результат True. Мы напишем пример использования функции filter() для отбора четных чисел из списка.

▪️ Функция map() принимает в качестве аргументов функцию и список. Функция вызывается со всеми элементами в списке, и в результате возвращается новый список, содержащий элементы, возвращенные данной функцией для каждого исходного элемента.
Ниже пример использования функции map() для возведения в квадрат всех элементов списка.

▪️ Функция reduce() принимает на вход три параметра — функцию-обработчик, коллекцию и начальное значение аккумулятора. Этот же аккумулятор возвращается наружу в качестве результата всей операции. Функция вызывается с помощью лямбда-функции и итерируемого объекта и возвращается новый уменьшенный результат (свертка). Так выполняется повторяющаяся операцию над парами итерируемых объектов. Функция reduce() входит в состав модуля functools. Да, эта функция самая сложная для понимания. По своей сути функция reduce() нужная для агрегации (лат. aggregatio «присоединение») элементов в результат-ответ. Функция, передаваемая в reduce()— самая важная часть и ключ к пониманию работы всего механизма агрегации. Она принимает на вход два значения. Первое — текущее значение аккумулятора, второе — текущий обрабатываемый элемент. Задача функции — вернуть новое значение аккумулятора. reduce() никак не анализирует содержимое аккумулятора. Всё, что она делает, передаёт его в каждый новый вызов до тех пор, пока не будет обработана вся коллекция, и в конце концов вернёт его наружу.

📱 А теперь примеры кода:

# Различие между обычной функцией и лямбда-функцией


🔹 Функция reduce в Python
🔹 Агрегация reduce() - свертка
🔹
Лямбда-функция в Python простыми словами

💡 Репетитор IT mentor // @mentor_it
09.01.202506:04
📝 О проблемах, связанных с оцениванием

Мы с детства привыкаем, что нас оценивают. В школе оценивают учителя. В вузе оценивают преподаватели. Преподавателей оценивает ВАК. Самое страшное — человек привыкает, что его оценивают. Ждать внешней оценки — это нездоровое качество. Нельзя себя ставить в такое положение, чтобы тебя оценивали.

В жизни все гораздо сложнее. Твою деятельность оценивают не люди, а объективные обстоятельства. Заработало - не заработало, получилось - не получилось, удалось - не удалось. И необходимо добиться результата, так сложить обстоятельства, чтобы заработало, получилось, удалось. Это очень сложно.

Приведу пример. Вы хотите создать робота. Это сложнейшее техническое устройство, hi-end электроники, робототехники, программирования. Допустим, робот должен пройти от одного края белой доски до другого, обходя при этом черные области (это случайно наложенная черная бумага). Роботом управляет компьютер, робот ориентируется по видеокамере, расположенной на нем. Робот должен обходить препятствие самостоятельно, без участия человека.

Чтобы его разработать, собрать и отладить, приходится решить около 200 уникальных сложнейших математических задач: геометрия, кинематика, динамика, ходьба, оптическая коррекция, оптическое распознавание, управление на четырех уровнях, система искусственного интеллекта. Только профессиональные математики могут заниматься такой сложнейшей деятельностью.

Теперь вернемся к оценке. Кто оценивает профессионального математика? В учебной математике оценивают учителя и преподаватели. В фундаментальной математике оценивает ВАК или РАН. Но для профессионального математика есть только один критерий оценки — результат. Работают ли сложнейшие модели или технические устройства, которые он разрабатывает? С роботом только один критерий оценки — работает или нет.

Не обращайте внимание на критику обывателей, конкурентов, преподавателей со стороны. Важен только ваш конечный результат. Ваши ошибки и неудачи в ходе работы не имеют никакого смысла в конце, если работа успешно завершена. Ориентируйтесь на результат!

💡 Репетитор IT mentor // @mentor_it
🧐 Интересный математический предел с параметром. Сможете решить?

Недавно я наткнулся на интересную задачку, связанную с математическим пределом и параметром, который нужно найти. На мой взгляд, эту задачу должен уверенно решать 1 - 2 курс. Это если ориентироваться на программу физ-мата. Но, если вы учащийся школы, то вы также можете попробовать свои силы, так как ничего сверхсложного здесь не будет. Тем не менее, в задаче можно запутаться...

📝 Читать заметку полностью

#разбор_задач #математика #math #параметры #математический_анализ

💡 Репетитор IT mentor // @mentor_it
💡 Задача по физике: попались школьники, учителя, репетиторы

Вчера я общался в чате репетиторов и увидел, что коллеги попросили помощи в решении одной задачи. Когда я прочитал условие, то вспомнил, что сталкивался с похожей задачей на разборе олимпиады со своим учеником и еще видел похожую задачу в ЕГЭ по физике.

✏️ Читать полностью

Задача связана с натяжением нити математического маятника. И так как она вызвала серьезные затруднения у всех моих учеников, а также трудности возникли у коллег, то я решил подробно разобрать эту задачу. #разборы_задач #физика #ЕГЭ #олимпиады

💡 Репетитор IT mentor // @mentor_it
25.01.202506:04
💬 Приглашаю к обсуждению интересной задачи, скрывающей под собой не только красивые мотивационные речи блогеров, но и математику, не менее интригующую...

➡️ Задача и её обсуждение: https://t.me/maths_lib/2173

#разбор_задач #статистика #математическая_статистика #теория_вероятностей #математика

💡 Репетитор IT mentor // @mentor_it
19.01.202522:33
В этой заметке рассмотрим задачу с реального собеседования на Python-разработчика

Мы уже ознакомились с lambda-функциями и где они используются. Сейчас же исследуем вырванный из контекста реальный код и задания к нему.

🖥 Исходный код:
def get_first_matching_object(predicate,objects=[]):


▪️ Что не так с кодом ? Если мы запустим в таком виде, то получим TypeError: 'generator' object is not subscriptable. Это означает, что объект-генератор matching_objects представляет собой итератор: он генерирует значения в том порядке, в котором они запрашиваются циклом for или вызовом next(matching_objects). Однако, дальше по коду пытаются получить доступ по индексу так, как будто это список или любой другой Sequence-тип, который позволяет получать доступ к произвольным k-м элементам через matching_objects[k]. Если мы хотим, чтобы всё работало, нам нужно преобразовать в список list() или закрыть генератор в квадратные скобки: matching_objects = [obj for obj in objects if predicate(obj)]

▪️ Что код делает ? Есть некоторая функция, которая принимает в себя callback-функцию predicate и набор объектов (пустой по дефолту). Далее у нас как-то формируется список помеченных объектов, которые попадают в новый список только в том случае, если callback-функция возвращает для них True. Следующая конструкция говорит нам о том, что если полученный список matching_objects не пустой, то мы выделяем первый входящий в него объект и возвращаем его. В противном случае возвращается None. Но последняя строчка не является обязательной. Потому что, в случае НЕсрабатывания условного оператора, у нас итак вернется None.

▪️ Что выведет на экран, если его исправить? Судя по тестовым параметрам, переданная lambda-функция ни на одном из элементов объекта [2, 3, 4] не вернет True. Поэтому список matching_objects окажется пустым, в итоге нам вернется None.

▪️ Функция оптимизирована? Нет. Дело в том, что она перебирает все остальные элементы (тратит память и время выполнения), когда мы можем ограничиться рассмотрением первого подходящего. Тогда код можно исправить так:
def get_first_matching_object(predicate,objects=[]):

▪️ Какая сложность выполнения данной функции? В худшем случае: O(n) ; в лучшем случае : O(1).

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

💡 Репетитор IT mentor // @mentor_it
15.01.202502:44
💡 Игрушка для любителей математики или что такое «бутылка Клейна» ?

Интересный топологический фокус, называемый бутылем Клейна, был выпущен небольшой партией в Калифорнии. Это близкий родственник более знаменитой ленты Мебиуса. Бутыль Клейна была изобретена в 19 веке немецким математиком и геометром Феликсом Клейном. Примечательна эта абстракция тем, что представляет собой объемную фигуру, ограниченную односторонней поверхностью...

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

#математика #топология #геометрия #алгебра #math #geometry

💡 Репетитор IT mentor // @mentor_it
⚖️ Несмотря на высокую популярность этого мифа, Архимед, скорее всего, не погружал «золотую» корону в ванную, наполненную до краев, чтобы определить объем короны, а следовательно плотность и чистоту сплава.

Архимед изобрел примитивную форму гидростатических весов. Тогда плотность вещества он мог найти двумя способами.
Оба способа с математическим выводом формул рассмотрены здесь...

✏️ Подробно рассказываю в этой статье

Советую подписаться, в своем блоге на Дзен выпускаю очень много интересных статей: наука, физика, математика, IT, железо, технообзоры.
#математика #физика #геометрия #physics #разбор_задач

💡 Репетитор IT mentor // @mentor_it
🔥 Эта задача по геометрии ломает мозг 🤯

Сегодня один из участников нашего физ-мат telegram-канала Physics.Math.Code предложил интересную задачу. В итоге подвис наш Техночат в размышлениях над ней. Но в итоге решение было найдено. Кто-то пробовал решать задачу через нейросеть или интуицию. Получали ответы в 30°, 75° и 120°. Чуть позже, когда в чате сделали подробные рисунки, мы поняли, что там точно получается прямой угол, но как это доказать... Первое, что мне пришло на ум, так это попробовать результаты теоремы косинусов для треугольников ADP и PEC, чтобы потом их объединить в проверке теоремы Пифагора для треугольника DPE, но это не увенчалось успехом... А сейчас рассмотрим как надо было.

📝 Читать разбор и решение 📝

📐 Дан произвольный треугольник △ABC. Угол ∠ABC равен 120° градусам. D принадлежит стороне AB. Е принадлежит стороне BC. AD = DE = EC. Точка P - середина основания AC. AP = PC. Найти угол ∠DPE.

#разборы_задач #олимпиады #математика #геометрия #math #geometry

💡 Репетитор IT mentor // @mentor_it
📉 Экономика: разбор типовых задач

Ребят, сегодня будет немного экономических задач. Вдруг кому-то будет нужно из подписчиков. Некоторые задачи не особо информативны. Но экономика далека от тематики канала, поэтому что имеем... 😊 А вот если вам нужна помощь с физикой, математикой и программированием, то обращайтесь в лс..

📝 Читать заметку

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

💡 Репетитор IT mentor // @mentor_it
16.01.202509:02
🖥 Помните предыдущие два поста про примитивные callback-функции и фильтрующие функции? Может возникнуть вопрос, а можно ли, реализовать свой аналог reduce() ?

Давайте сразу напишем такой пример:
numbers = [1, 11, 12, 13, 18, 9, 8, 6]


Теперь объясним параметры и работу конструкции:
result = reduce( function, iterable[, initializer] ) :
▫️function — функция, применяемая к элементам итерации. Она должна принимать два аргумента.
▫️iterable — итерируемый объект, элементы которого вы хотите уменьшить. Это может быть список, кортеж или любой другой итерируемый объект.
▫️initializer — (необязательно): начальное значение аккумулятора (накопителя). Оно используется в качестве первого аргумента при первом вызове функции, если оно предусмотрено.

⚠️ Обработка пустых итераций: Одной из распространенных ошибок при использовании функции reduce() является обработка пустых итераций. Передача пустой итерации в reduce() без инициализатора вызывает Ошибку типа поскольку нет начального значения для запуска процесса сокращения. Чтобы избежать этого, всегда указывайте инициализатор, когда итерируемый объект может быть пустым.

⚙️ Производительность:
▫️ Эффективность reduce() по сравнению с циклами: Функция reduce() может быть более эффективной, чем явные циклы, потому что она реализована на C, что может обеспечить преимущества в производительности. Однако это преимущество часто незначительно и зависит от сложности применяемой функции.
▫️Преимущества использования встроенных функций в производительности: Встроенные функции, такие как sum(), min(), и max() высоко оптимизированы с точки зрения производительности. Они реализованы на C и могут выполнять операции быстрее, чем эквивалентный код Python с использованием reduce().

🖥 Зачем разработчикам нужна функция reduce() ? Функция reduce() полезна при итеративной обработке данных, избегая явных циклов и делая код более читаемым и кратким. Некоторые распространенные варианты использования включают:
▫️ Суммирование чисел в списке: Быстрое суммирование всех элементов.
▫️ Умножение элементов итеративного элемента: Вычисление произведения элементов.
▫️ Объединение строк: Объединение нескольких строк в одну.
▫️ Нахождение максимального или минимального значения: Определение самого большого или самого маленького элемента в последовательности.

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

💡 Репетитор IT mentor // @mentor_it
⚡️ Почему скачок силы тока не бывает резким в RL-цепи ?

Соскучились по электричеству и магнетизму, друзья? :) В этой статье мы максимально подробно разберем типичную задачу на RL-цепи. Такие задачи начинают проходить в 11-м классе в физико-математических лицеях, а затем возвращаются к ним в университете примерно на 2-м курсе физ-мата. Но в чем же особенность этих задач? Во-первых, большинство не понимает как их решать. Во-вторых...

📝 Читать заметку полностью

#электродинамика #физика #электричество #магнетизм #разбор_задач

💡 Репетитор IT mentor // @mentor_it
28.12.202421:12
🤔 Как решать технические задачи — заметка для школьников и студентов. Для успешного решения задач по физике (в целом, любых задач) Вам понадобятся:

▪️ 1. Уверенные знания в математике на уровне физ-мат лицея (это минимум). Объяснение на словах — это прекрасно, но если в вашем решении нет математики, то ваше решение ничего не стоит. И точка.

▪️ 2. Базовые знания по дифференциальному и интегральному исчислению, а также умение применять начальные условия (НУ) и граничные условия (ГУ).

▪️ 3. Понимание ограничений и сути процесса ( у вас не должны получаться отрицательная масса или отрицательное время, дробное количество, околосветовые скорости макроскопических объектов )

▪️ 4. Хорошее воображение, 3D-видение эксперимента у себя в голове, а также возможность представить как выглядит график функции, описываемой в определенном законе (например: закон радиоактивного распада).

▪️ 5. Умение разбивать большую задачу на малые подзадачи (например: определить амплитуду колебаний изображения математического маятника — у вас две задачи: механическая и оптическая — решайте их отдельно, потом сшивайте).

▪️ 6. Чувствуйте абстракции. Вы никогда не решите задачу, если попытаетесь учесть всё. Пример: определите траекторию полёта камня, брошенного под углом к горизонту с учётом... эффекта Магнуса, динамического сопротивления ветра, фазы Луны, функции плотности воздуха, динамики вихрей потоков воздуха, распада вещества, из которого состоит камень, термодинамического расширения камня. Сложно? Вот поэтому чувствуйте абстракции.

▪️ 7. Программирование. Да... внезапно. Для физики полезно знать какой-нибудь язык программирования. Попробуйте решенную задачу замоделировать и закодить в виде графической анимации. Так ваши решения станут куда более интересными и наглядными. А меняя входные параметры, вы станете лучше понимать поведение физических систем.

▪️ 8. Постоянная практика. Чтобы научиться решать задачи, нужно решать задачи. Здесь работает правило: «Глаза страшатся, а руки делают». Не бойтесь ошибаться. Не бойтесь начать писать хоть что-то. Мысли и идеи приходят во время действия. Начните делать, а не бесконечно планировать и фантазировать как вы решаете сложные задачи.

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

▪️ 10. Базовые знания численных методов — это большой друг для начинающего физика или математика. Любая серьезная работа, вроде бакалаврского диплома или магистерской диссертации у физиков связана с численными методами и программированием. Начинайте изучать их со школы.

▪️ 11. Школьные знания — капля в море. Никогда не ждите того, когда вам расскажут это в школе. Набирайтесь самостоятельности и используйте множественные источники информации. Послушали преподавателя, позанимались с репетитором, почитали одну книгу, вторую книгу, подумали сами. Не ждите идеального объяснения в одном месте.

▪️ 12. Используйте интернет с пользой. Здесь всегда есть люди, готовые вам помочь и дать хорошую подсказку. Вам только нужно научиться задавать правильные вопросы. И обязательно показывать свои наработки.

💡 Репетитор IT mentor // @mentor_it
🤔 Как ускорить выполнение цикла? Алгоритм оптимизации циклов

Что-то на канале давно ничего не было про кодинг. Попытаюсь исправить ситуацию. Сегодня поговорим с вами об оптимизациях цикла. Хорошо известно, что для оптимизации программы, для её ускорения, наши усилия должны быть сосредоточены на локальных областях, чтобы отдача была максимальной. Конструкции цикла в программе как раз представляют собой такие области. И вот что с ними можно сделать...

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

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

💡 Репетитор IT mentor // @mentor_it
♾️ О полярных координатах и нахождении площади в полярной системе координат 💡

Задача 1. Найти площадь, ограниченную кривыми, заданными в полярной системе координат: r = 1 - cos(φ) ; r = 1; r ⩾ 1

Задача 2. Найти площадь фигуры, ограниченной "трехлепестковой розой" r = a ⋅ cos(3φ).

Задача 3. Если плоская фигура имеет "сложную" форму, то как её разбивать в полярной системе?

Задача 4. Вычислить площадь фигуры, ограниченной линией r = 2 cos²(φ)

Задача 5. Вычислить площадь фигуры, ограниченной линиями r = -2⋅sin(3φ) и r = 2⋅sin(φ) в полярной системе координат.

Задача 6. Вычислить площадь фигуры, ограниченной r = √3⋅cos(φ) и r = sin(φ) в полярной системе координат.

〰️ Разбор и решение всех задач в статье ➰

#математика #разбор_задач #задачи #математически_анализ #интегрирование
🖥 Callback в Python — это функция, которая передаётся на вход другой функции (или другому участку кода), чтобы её запустили в ответ на какое-то событие.

Callback-функции делают код Python более гибким и модульным. Они позволяют создавать функции, которые могут выполнять разные действия в зависимости от переданной им callback-функции.

Пример использования callback в Python:
def calculate(func, x, y):


В этом примере функция calculate принимает функцию в качестве первого аргумента, а также два параметра x и y. Затем функция calculate вызывает переданную функцию и передаёт ей x и y в качестве аргументов. Результат затем выводится на консоль. Функции add и multiply определены отдельно и переданы как callback-функции функции calculate, которая затем вызывает их соответствующим образом.

Callback-функции широко используются в различных областях программирования, например: веб-разработка (обработка событий на веб-страницах), разработка игр (обработка событий от игровых контроллеров), мобильная разработка (обработка событий пользовательского интерфейса), машинное обучение (определение функций потерь и метрик для оценки моделей).

🚀 Некоторые преимущества callback-функций:
▫️Гибкость и расширяемость. Код становится более модульным и гибким. Можно легко изменять поведение функции, передавая ей разные callback-функции.
▫️Асинхронность. Callback-функции часто используются в асинхронном программировании, где выполнение кода не обязательно происходит последовательно. Например, при обработке событий, сетевых запросов или операций ввода/вывода.
▫️Обработка событий. Callback-функции позволяют реагировать на определённые события, такие как нажатие кнопки, получение данных из сети или завершение длительной операции.

💡 Репетитор IT mentor // @mentor_it
🌎 Какое давление в центре Земли?

Однородный шар (наша Земля) массы M имеет усредненную плотность ρ = 5500 кг/м³, радиус R = 6400 км. Какое будет давление p внутри такого шара, если учесть только гравитационное сжатие? Как эта функция будет зависеть от радиуса r от центра шара ?

✏️ Читать полный разбор задачи

#разбор_задач #математика #физика #physics #science #математический_анализ

💡 Репетитор IT mentor // @mentor_it
📝 Как найти сумму комплексного ряда Σ = j⁰+ j¹+ j²+ j³+...+j²⁰²⁴

Немного предновогодней математики вам в ленту, друзья. Классическая олимпиадная задачка для школьников содержит текущий год в своем задании. И мы не будем отступать от классики.

Задан степенной ряд комплексных чисел — мнимых единиц. Степени изменяются от 0 до 2024. Чему будет равна данная сумма? Давайте разбираться.

📝 Читать разбор задачи 📝

#математика #математика #геометрия #math #разбор_задач #олимпиады

💡 Репетитор IT mentor // @mentor_it
Ko'rsatilgan 1 - 24 dan 50
Ko'proq funksiyalarni ochish uchun tizimga kiring.