cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Репетитор IT mentor

Блог с заметками репетитора по математике, физике, информатике. Рассказываю о задачах, о способах их решения. Сквозь неудачи и вопросы иду к физико-математическому просветлению. vk.com/itmentor https://dzen.ru/itmentor Автор: @physicist_i

Show more
Advertising posts
10 298
Subscribers
-124 hours
-137 days
-10430 days
Posting time distributions

Data loading in progress...

Find out who reads your channel

This graph will show you who besides your subscribers reads your channel and learn about other sources of traffic.
Views Sources
Publication analysis
PostsViews
Shares
Views dynamics
01
📈 «Я не понимаю среднее арифметическое... а нам задали задачу» — так начался один из уроков по информатике с моей ученицей. Мне захотелось начать то занятие со строгого определения и забавной задачки, которую поймет любой школьник. Особенно хорошо эта задача иллюстрирует то, что мы наблюдаем в обществе, а именно... глобальное непонимания различия между наиболее вероятной величиной и средней величиной. Очень хорошо эта проблема будет видна на примере про зарплаты. Разумеется, числа утрированы, но так оно и работает в реальности. Что бы нам ответил деревенский человек, если бы мы подошли к нему и сказали: «Дружок, ты неплохо живешь, в среднем ты получаешь почти 60 000 руб в месяц» ? ☺️ 💡 Репетитор IT mentor // @mentor_it
3253Loading...
02
🌖 На какую высоту сможет прыгнуть человек на Луне? Очередная попытка сфотографировать Луну с использованием подручных средств. Сделал эту фотографию пару дней назад, когда Луна была хорошо видна. А вы хотели бы побывать в космосе? Хотели бы походить по Луне? Как-то раз я задавал нескольким из своих учеников задачку по физике: на какую высоту сможет прыгнуть человек на Луне? Как это можно оценить? В этой заметке разберемся как можно ответить на такой вопрос... ✏️ Читать полный разбор задачи #физика #разбор_задач #олимпиады #механика #задачи #physics 💡 Репетитор IT mentor // @mentor_it
1 1693Loading...
03
А теперь по теме поста выше. Почему же калькуляторы и люди иногда считают по-разному? В калькуляторах, как и в вашей программе на C, C++, Java, C#, Pascal, Python, очень важен приоритет операторов. Для многих очевидно, что в простом примере 2 + 2 * 2 оператор умножения выполняется раньше, т.к. имеет более высокий приоритет, чем оператор сложения. Но что делать, если в одном выражении мы НЕ имеем скобок, уточняющих приоритет, зато имеем несколько операторов одинакового приоритета? По-хорошему надо посмотреть в справочные таблицы для конкретного языка программирования. Другой способ — экспериментировать [метод научного тыка] чтобы понять как оно работает. Способ плохой, т.к. дает неполную картину, а только частности [есть шанс нарваться на другую аналогичную ошибку]. Рассмотрим выражение: a / (b + c) * d . Например, для языка C# у этого выражения будет следующий порядок вычислений операторов и операндов: a, b, c, +, /, d, *. Пара слов про ассоциативность операторов: Если операторы имеют одинаковый приоритет, порядок их выполнения определяется ассоциативностью операторов: ▪️ Операторы с левой ассоциативностью вычисляются слева направо. За исключением операторов присваивания и оператора объединения со значением NULL, все бинарные операторы имеют левую ассоциативность. Например, выражение a + b - c вычисляется как (a + b) - c. ▪️Операторы с правой ассоциативностью вычисляются справа налево. Операторы присваивания, операторы объединения null, лямбда-выражения и условные операторы ?: являются правильными ассоциативными. Например, выражение x = y = z вычисляется как x = (y = z). ⚠️ Правило: Не уверены в приоритете — используйте скобки, чтобы изменить порядок вычислений, накладываемый ассоциативностью операторов: Пример кода 🖥 int a = 13 / 5 / 2; int b = 13 / (5 / 2); Console.WriteLine($"a = {a}, b = {b}"); // output: a = 1, b = 6 Приведу несколько примеров на различных языках программирования и аналитическое решение из интернета. 💡 Репетитор IT mentor // @mentor_it
1 5117Loading...
04
📝 Бо'льшую популярность в социальных сетях набирают задачки с арифметическими вычислениями. Почему именно они? Вот интересные сообщения от коллег: ▫️Я вот своим ученикам по информатике при прохождении разбора математических выражений рассказываю о приоритетах операций и других свойствах, влияющих на порядок вычисления, например, операция умножения, заданная явно, и подразумевающаяся (!) операция умножения имеют разный приоритет ▫️Просто очень интересный феномен, что пример не сложный, однако вызвал у других большое недоумение и различные варианты решения) 🔍 Мои мысли о том, почему сложные задачи получают меньшую активность: Сложные задачи редко обсуждают даже в специализированных группах/чатах. На это две причины: 1. Думать нужно, а люди в интернет заходят ради развлечений (ну не все, основная масса), их трудно заинтересовать, но можно. 2. Боязнь получить порцию осуждения. Менталитет русскоязычного интернета (точнее социальных сетей). У нас если вопрос задать по науке, то сначала придут опустят, косвенно или прямо оскорбят (самоутвердятся), а потом в лучшем случае кто-то один поможет, подскажет. Если брать тематические форумы, то там ситуация лучше. Но для идеального сообщества должно быть большое количество спокойных умных людей без завышенного ЧСВ, которые помогут подсказать решение даже на простые вопросы. Но спокойных людей мало, поэтому человек, у которого что-то не получилось ( А ЭТО АБСОЛЮТНО НОРМАЛЬНО ) просто боится задать свой вопрос. (История про токсичность репетиторских чатов) Даже в беседе репетиторов, вроде неглупых людей (казалось бы преподаватели, должны адекватно реагировать) одна участница (преподаватель) задала вопрос по задаче по физике, и сразу же её косвенно начали оскорблять, при этом по сути задачи так и не дали ответ. НИКТО. Это печально, что люди ждут чужих ошибок, чтобы написать издевку, вместо того, чтобы вместе искать ошибки, подсказывать друг другу и расти умственно. Добрее надо быть и не гордиться тем, что знаешь какую-то мини часть науки. 💡 Репетитор IT mentor // @mentor_it
1 3835Loading...
05
♾ О полярных координатах и нахождении площади в полярной системе координат 💡 Задача 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(φ) в полярной системе координат. 〰️ Разбор и решение всех задач в статье ➰ #математика #разбор_задач #задачи #математически_анализ #интегрирование 💡 Репетитор IT mentor // @mentor_it
1 43716Loading...
06
🖥 Как применить Python для упрощения решений задач по информатике Привет, ребятки! Сегодняшняя заметка будет состоять из разбор 6 задач уровня 9 класса (ОГЭ). Задачки можно решить аналитически, но мы попробуем их закодить, решить методом перебора. Все эти задачи будут полезны учащимся средней школы для тренировки навыков программирования. Реализация примеров выполнена с помощью Python. 🖥 Читать заметку полностью #разборы_задач #Python #ОГЭ #информатика #алгоритмы 💡 Репетитор IT mentor // @mentor_it
2 16014Loading...
07
📝 Задача про поезд (Тип 21) Железнодорожный состав длиной в 1 км прошел бы мимо столба за 1 мин., а через туннель (от входа локомотива до выхода последнего вагона) при той же скорости  — за 3 мин. Какова длина туннеля (в км)? Заметил, что в этой классической задаче часто делается одна и та же ошибка — некорректное понимание расстояния при прохождении поезда сквозь туннель (или мимо другого поезда в аналогичных задачах). Думаю, что легче всего понять эту абстракцию, если представить, что: прошёл = значит нет пересечений (нет ни одной части поезда в туннеле). Можно привести строгое решение через формулы, но есть ли решение-рассуждение на словах: Поезд проходит через туннель за 3 минуты, при этом за одну минуту поезд проходит мимо выхода из туннеля, следовательно, от входа локомотива в туннель до выхода проходит 2 минуты. Мимо столба поезд длиной 1 км проходит за 1 минуту, поэтому его скорость равна 1 км/мин. Значит, за 2 минуты поезд пройдет 2 км, поэтому длина туннеля равна 2 км. #разборы_задач #физика #ОГЭ #математика #math 💡 Репетитор IT mentor // @mentor_it
2 66619Loading...
08
💡 Задача по физике: попались школьники, учителя, репетиторы Вчера я общался в чате репетиторов и увидел, что коллеги попросили помощи в решении одной задачи. Когда я прочитал условие, то вспомнил, что сталкивался с похожей задачей на разборе олимпиады со своим учеником и еще видел похожую задачу в ЕГЭ по физике. ✏️ Читать полностью Задача связана с натяжением нити математического маятника. И так как она вызвала серьезные затруднения у всех моих учеников, а также трудности возникли у коллег, то я решил подробно разобрать эту задачу. #разборы_задач #физика #ЕГЭ #олимпиады 💡 Репетитор IT mentor // @mentor_it
2 64915Loading...
09
📝 Тип 5. У исполнителя Альфа две команды. которым присвоены номера: 1. Вычти b; 2. Умножь на 5. (b  — неизвестное натуральное число). Выполняя первую из них, Альфа уменьшает число на экране на b, а выполняя вторую, умножает это число на 5. Программа для исполнителя Альфа  — это последовательность номеров команд. Известно, что программа 21121 переводит число 2  в число 17. Определите значение b. 🖥 Решение: Всегда с учениками решали эту задачу аналитически (так вроде быстрее). Но на последнем занятии я подумал, а если алгоритм будет сложный, можно ли написать что-то универсальное? Например, программу, которую можно будет масштабировать до любого количества инструкций любой сложности... И вот пришла такая идея: def f1(x, b): return x - b def f2(x): return 5*x def solution(N, program): list_digits = list(program) for b in range(1, 1000): res = N for char in list_digits: if char == '1': res = f1(res, b) if char == '2': res = f2(res) if res == 17: print("b = ", b) break N = 2 program = '21121' solution(N, program) #информатика #программирование #computer_science #алгоритмы #python 💡 Репетитор IT mentor // @mentor_it
3 14913Loading...
10
❓ Задача 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 k = k + 1 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 mentor // @mentor_it
2 72531Loading...
Photo unavailableShow in Telegram
📈 «Я не понимаю среднее арифметическое... а нам задали задачу» — так начался один из уроков по информатике с моей ученицей. Мне захотелось начать то занятие со строгого определения и забавной задачки, которую поймет любой школьник. Особенно хорошо эта задача иллюстрирует то, что мы наблюдаем в обществе, а именно... глобальное непонимания различия между наиболее вероятной величиной и средней величиной. Очень хорошо эта проблема будет видна на примере про зарплаты. Разумеется, числа утрированы, но так оно и работает в реальности. Что бы нам ответил деревенский человек, если бы мы подошли к нему и сказали: «Дружок, ты неплохо живешь, в среднем ты получаешь почти 60 000 руб в месяц» ? ☺️ 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 4❤‍🔥 2🔥 1
Photo unavailableShow in Telegram
🌖 На какую высоту сможет прыгнуть человек на Луне? Очередная попытка сфотографировать Луну с использованием подручных средств. Сделал эту фотографию пару дней назад, когда Луна была хорошо видна. А вы хотели бы побывать в космосе? Хотели бы походить по Луне? Как-то раз я задавал нескольким из своих учеников задачку по физике: на какую высоту сможет прыгнуть человек на Луне? Как это можно оценить? В этой заметке разберемся как можно ответить на такой вопрос... ✏️ Читать полный разбор задачи #физика #разбор_задач #олимпиады #механика #задачи #physics 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 10 3🔥 2🤔 1
А теперь по теме поста выше. Почему же калькуляторы и люди иногда считают по-разному? В калькуляторах, как и в вашей программе на C, C++, Java, C#, Pascal, Python, очень важен приоритет операторов. Для многих очевидно, что в простом примере 2 + 2 * 2 оператор умножения выполняется раньше, т.к. имеет более высокий приоритет, чем оператор сложения. Но что делать, если в одном выражении мы НЕ имеем скобок, уточняющих приоритет, зато имеем несколько операторов одинакового приоритета? По-хорошему надо посмотреть в справочные таблицы для конкретного языка программирования. Другой способ — экспериментировать [метод научного тыка] чтобы понять как оно работает. Способ плохой, т.к. дает неполную картину, а только частности [есть шанс нарваться на другую аналогичную ошибку]. Рассмотрим выражение: a / (b + c) * d . Например, для языка C# у этого выражения будет следующий порядок вычислений операторов и операндов: a, b, c, +, /, d, *. Пара слов про ассоциативность операторов: Если операторы имеют одинаковый приоритет, порядок их выполнения определяется ассоциативностью операторов: ▪️ Операторы с левой ассоциативностью вычисляются слева направо. За исключением операторов присваивания и оператора объединения со значением NULL, все бинарные операторы имеют левую ассоциативность. Например, выражение a + b - c вычисляется как (a + b) - c. ▪️Операторы с правой ассоциативностью вычисляются справа налево. Операторы присваивания, операторы объединения null, лямбда-выражения и условные операторы ?: являются правильными ассоциативными. Например, выражение x = y = z вычисляется как x = (y = z). ⚠️ Правило: Не уверены в приоритете — используйте скобки, чтобы изменить порядок вычислений, накладываемый ассоциативностью операторов: Пример кода 🖥
int a = 13 / 5 / 2;
int b = 13 / (5 / 2);
Console.WriteLine($"a = {a}, b = {b}");  // output: a = 1, b = 6
Приведу несколько примеров на различных языках программирования и аналитическое решение из интернета. 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 17❤‍🔥 2 1🔥 1😍 1
Photo unavailableShow in Telegram
📝 Бо'льшую популярность в социальных сетях набирают задачки с арифметическими вычислениями. Почему именно они? Вот интересные сообщения от коллег: ▫️Я вот своим ученикам по информатике при прохождении разбора математических выражений рассказываю о приоритетах операций и других свойствах, влияющих на порядок вычисления, например, операция умножения, заданная явно, и подразумевающаяся (!) операция умножения имеют разный приоритет ▫️Просто очень интересный феномен, что пример не сложный, однако вызвал у других большое недоумение и различные варианты решения) 🔍 Мои мысли о том, почему сложные задачи получают меньшую активность: Сложные задачи редко обсуждают даже в специализированных группах/чатах. На это две причины: 1. Думать нужно, а люди в интернет заходят ради развлечений (ну не все, основная масса), их трудно заинтересовать, но можно. 2. Боязнь получить порцию осуждения. Менталитет русскоязычного интернета (точнее социальных сетей). У нас если вопрос задать по науке, то сначала придут опустят, косвенно или прямо оскорбят (самоутвердятся), а потом в лучшем случае кто-то один поможет, подскажет. Если брать тематические форумы, то там ситуация лучше. Но для идеального сообщества должно быть большое количество спокойных умных людей без завышенного ЧСВ, которые помогут подсказать решение даже на простые вопросы. Но спокойных людей мало, поэтому человек, у которого что-то не получилось ( А ЭТО АБСОЛЮТНО НОРМАЛЬНО ) просто боится задать свой вопрос. (История про токсичность репетиторских чатов) Даже в беседе репетиторов, вроде неглупых людей (казалось бы преподаватели, должны адекватно реагировать) одна участница (преподаватель) задала вопрос по задаче по физике, и сразу же её косвенно начали оскорблять, при этом по сути задачи так и не дали ответ. НИКТО. Это печально, что люди ждут чужих ошибок, чтобы написать издевку, вместо того, чтобы вместе искать ошибки, подсказывать друг другу и расти умственно. Добрее надо быть и не гордиться тем, что знаешь какую-то мини часть науки. 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 14💯 4 2🔥 2
Photo unavailableShow in Telegram
♾ О полярных координатах и нахождении площади в полярной системе координат 💡 Задача 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(φ) в полярной системе координат. 〰️ Разбор и решение всех задач в статье ➰ #математика #разбор_задач #задачи #математически_анализ #интегрирование 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 13❤‍🔥 2😍 2🔥 1
Photo unavailableShow in Telegram
🖥 Как применить Python для упрощения решений задач по информатике Привет, ребятки! Сегодняшняя заметка будет состоять из разбор 6 задач уровня 9 класса (ОГЭ). Задачки можно решить аналитически, но мы попробуем их закодить, решить методом перебора. Все эти задачи будут полезны учащимся средней школы для тренировки навыков программирования. Реализация примеров выполнена с помощью Python. 🖥 Читать заметку полностью #разборы_задач #Python #ОГЭ #информатика #алгоритмы 💡 Репетитор IT mentor // @mentor_it
Show all...
❤‍🔥 9👍 4🔥 4 1👨‍💻 1
Photo unavailableShow in Telegram
📝 Задача про поезд (Тип 21) Железнодорожный состав длиной в 1 км прошел бы мимо столба за 1 мин., а через туннель (от входа локомотива до выхода последнего вагона) при той же скорости  — за 3 мин. Какова длина туннеля (в км)? Заметил, что в этой классической задаче часто делается одна и та же ошибка — некорректное понимание расстояния при прохождении поезда сквозь туннель (или мимо другого поезда в аналогичных задачах). Думаю, что легче всего понять эту абстракцию, если представить, что: прошёл = значит нет пересечений (нет ни одной части поезда в туннеле). Можно привести строгое решение через формулы, но есть ли решение-рассуждение на словах:
Поезд проходит через туннель за 3 минуты, при этом за одну минуту поезд проходит мимо выхода из туннеля, следовательно, от входа локомотива в туннель до выхода проходит 2 минуты. Мимо столба поезд длиной 1 км проходит за 1 минуту, поэтому его скорость равна 1 км/мин. Значит, за 2 минуты поезд пройдет 2 км, поэтому длина туннеля равна 2 км.
#разборы_задач #физика #ОГЭ #математика #math 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 11🔥 5❤‍🔥 1🤔 1
Photo unavailableShow in Telegram
💡 Задача по физике: попались школьники, учителя, репетиторы Вчера я общался в чате репетиторов и увидел, что коллеги попросили помощи в решении одной задачи. Когда я прочитал условие, то вспомнил, что сталкивался с похожей задачей на разборе олимпиады со своим учеником и еще видел похожую задачу в ЕГЭ по физике. ✏️ Читать полностью Задача связана с натяжением нити математического маятника. И так как она вызвала серьезные затруднения у всех моих учеников, а также трудности возникли у коллег, то я решил подробно разобрать эту задачу. #разборы_задач #физика #ЕГЭ #олимпиады 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 9🤯 3 2❤‍🔥 1🔥 1
Photo unavailableShow in Telegram
📝 Тип 5. У исполнителя Альфа две команды. которым присвоены номера: 1. Вычти b; 2. Умножь на 5. (b  — неизвестное натуральное число). Выполняя первую из них, Альфа уменьшает число на экране на b, а выполняя вторую, умножает это число на 5. Программа для исполнителя Альфа  — это последовательность номеров команд. Известно, что программа 21121 переводит число 2  в число 17. Определите значение b. 🖥 Решение: Всегда с учениками решали эту задачу аналитически (так вроде быстрее). Но на последнем занятии я подумал, а если алгоритм будет сложный, можно ли написать что-то универсальное? Например, программу, которую можно будет масштабировать до любого количества инструкций любой сложности... И вот пришла такая идея:
def f1(x, b): return x - b
def f2(x): return 5*x

def solution(N, program):
    list_digits = list(program)
    for b in range(1, 1000):
        res = N
        for char in list_digits:
            if char == '1': res = f1(res, b)
            if char == '2': res = f2(res)
        if res == 17:
            print("b = ", b)
            break
N = 2
program = '21121'
solution(N, program)
#информатика #программирование #computer_science #алгоритмы #python 💡 Репетитор IT mentor // @mentor_it
Show all...
👍 10🔥 3❤‍🔥 1😍 1
Photo unavailableShow in Telegram
Задача 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        
    k = k + 1
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 mentor // @mentor_it
Show all...
👍 15 3😍 2🔥 1
Go to the archive of posts