Репетитор IT mentor
10.1K subscribers
837 photos
11 videos
29 files
691 links
Блог с заметками репетитора по математике, физике, информатике. Рассказываю о задачах, о способах их решения.

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

Автор: @physicist_i
Download Telegram
Задача по программированию на Python

▪️ 1 способ:
Зеркальное отображение числа так как будто это число.
Плюсы: работа с числами всегда быстрее
Минусы: в случае окончания числа на 0 получается не совсем верное отображение( Пример: 560 —> 65 )

▪️ 2 способ:
Работа с числом как со строкой. Создается новая строка и с помощью конкатенации к ней присоединяются все символы исходной строки, начиная с конца. Отображает зеркально все символы.
( Пример: 560 —> 065 ). Остается вопрос: можно ли считать 065 тоже натуральным числом? Нет. Поэтому условие задачи не вполне корректное.

▪️ 3 способ:
Использование срезов для строк. Результат аналогичен второму.

Знаете еще способ? Напишите в комментариях ☺️✏️

#задачи #python #информатика #программирование
👨🏻‍💻 7 задач по информатике и программированию из ЕГЭ: подробный разбор

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

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

#ОГЭ #ЕГЭ #разбор_задач
#программирование #информатика
📃 17 задача ЕГЭ по информатике - анализ файлов .txt

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

🔍 Читать разбор полностью

💡 Задача: Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём тройкой три идущих подряд элемента последовательности. Определите количество троек чисел таких, которые могут являться сторонами остроугольного треугольника. В ответе запишите два числа: сначала количество найденных троек, а затем  — максимальную сумму элементов таких троек. Если таких троек не найдётся  — следует вывести 0 0.

#математика #геометрия #ЕГЭ
#программирование #информатика #разбор_задач
💡 Как перенести названия всех файлов текущей директории в текстовый файл .txt в Python?

Решил написать небольшой скрипт на Python. Повседневная задача редактора технического канала: Перенести названия всех файлов из нужной директории (задается путем), и записать их в текстовый файл example.txt с добавлением номеров каждого файла. Записать имена в файл с предварительной сортировкой по дате создания (или скачивания). Рассказываю как это реализовать на Python в несколько строк...

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

#python #файлы #информатика
#программирование #OS
👨🏻‍💻 Парсинг Excel-файлов на Python на примере задачи из ЕГЭ по информатике

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

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

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

#парсинг #excel #python #ЕГЭ
#программирование #информатика #анализ_данных #разбор_задач
💬 15.1 и 15.2 – что выбрать в ОГЭ по информатике и как их решать?

Максимум за задачи 15.1 и 15.2 можно получить 2 балла. И учащемуся требуется выполнить только одно задание. Но что же делать ученику на экзамена? На мой взгляд, нужно решать обе задачи. Ведь тогда повышается вероятность забрать 2 балла хотя бы от одной. И ещё вполне может такое быть, первое задание (которое обычно простое) окажется сложным и запутанным. И в таком случае ученику просто придется программировать...

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

#алгоритмы #разбор_задач #ОГЭ #ЕГЭ
#программирование #информатика
👨🏻‍💻 Задание 8 из ЕГЭ по информатике: решать аналитически или кодить?

Вчера разбирали проблемные задачи по просьбе моей ученицы. Девушка способная, внимательная и умная. Просто есть страх перед некоторыми задачами. И я её прекрасно понимаю. Потому что во время учебы в школе нам ничего не объясняли, у меня тоже был бы страх перед такими задачами. Этой короткой заметкой я хочу немного успокоить тех ребят, которые боятся даже начинать решать 8 задание по информатике.

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

#информатика #программирование #ЕГЭ #разбор_задач #алгоритмы #строки
👨🏻‍💻 Задача по программированию

Тривиальная задача сравнения метода вычисления факториал с помощью цикла и метода вычисления факториала с помощью рекурсии. Берется некоторое число n, для которого вычисляем факториал разными способами. Вычисления засовываем в цикл с 1000 итераций, чтобы снизить погрешность. Засекаем время с помощью метода Milliseconds() (библиотека Utils). Выводим результаты. В большинстве случаев рекурсия выполняется быстрее. Предлагаю обсудить, почему так происходит?
[ Язык реализации: Pascal ]

Обсуждение задачи:
vk.com/wall-51126445_30047
📝 Полный код: https://pastebin.com/UzPkbXDa

Были еще на канале интересные статьи по этой теме:

▪️ Что работает быстрее: цикл или рекурсия? Измеряем производительность

▪️ 🐍 Разбираем циклы в Python на простых примерах. Какой цикл быстрее?

▪️ Как ускорить выполнение цикла? Алгоритм оптимизации циклов

#программирование #информатика #pascal #задачи #профилирование
💡 Интересная задачка попалась мне, когда перебирал свои старые черновики

Есть шахматное поле n на n. На поле m ладей. Нужно определить какое число клеток не заняты и не находятся под боем.

Мне стало интересно сделать визуализацию решения, чтобы можно было легко посчитать пальцем число свободных клеток, тем самым проверить правильность работы программы. На вход программы подается матрица [8][8], в которой цифрой "1" отмечены места, в которых стоят ладьи. По этой матрице строится другая матрица, в которой "0" отмечаются свободные поля, а клетки, которые находятся под ударом отмечаются FLAG_ATTACK = -1. По матрице позиций под атакой рисуются красные клетки, иллюстрирующие запрещенные ходы.

Остальная доска рисуется алгоритмом, который переключает цвета с помощью деления по модулю 2. ( 0 - белый цвет, 1 - серый ). Плюс для компактности я решил использовать сквозной индекс по двумерному массиву. Хотя, вложенных циклов в некоторых местах итак получилось по 4.

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

📝 В данном случае язык реализации был Pascal ( IDE: PascalABC ).
https://pastebin.com/yg5zKEu7

#математика #программирование #информатика #pascal #delphi
💡 Рубрика: полезные ссылки

Довольно хороший ресурс с большим количеством тестов, которые необходимо выполнить за ограниченное время. Подойдет ученикам, которые занимаются подготовкой к школьной программе, ОГЭ и ЕГЭ. База предметов также большая. Сложность от 3-го до 11-го класса.

🔗 Московский центр качества образования (МЦКО)

Для тренировочного тестирования кликом мышки нужно выбрать интересующий Вас предмет, затем в появившемся окне выбрать вариант теста, после этого можно приступить к тестированию. При тестировании следует иметь в виду, что результаты тестирования будут представлены сразу после завершения тестирования.
#полезные_ссылки #задачи #физика #математика #программирование #информатика #ЕГЭ #ОГЭ
⚙️ Трактат о силе трения: интересные факты, о которых вы боялись спросить

Во многих школьных учебниках, по которым начинают изучать физику в школе, даны несколько «аксиом» (аксиомы указаны в кавычках не просто так) по поводу силы трения:
1. Трение не зависит от площади поверхности.
2. Коэффициент силы трения скольжения (динамического трения) меньше единицы.
3. Сила трения скольжения равна максимальной силе трения покоя.
4. Коэффициент силы трения зависит только от рода соприкасающихся материалов.
Давайте так.. Не всегда, но часто можно встретить такие тезисы. И проблема в том, что абстрактно это вроде всё верно. Но как всегда есть парочка «NO». И в этой статье мы с вами разберем много интересного...

✏️ Читать статью

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

💡 Репетитор IT mentor
👨🏻‍💻 Задание 8 из ЕГЭ по информатике: решать аналитически или кодить?

Вчера разбирали проблемные задачи по просьбе моей ученицы. Девушка способная, внимательная и умная. Просто есть страх перед некоторыми задачами. И я её прекрасно понимаю. Потому что во время учебы в школе нам ничего не объясняли, у меня тоже был бы страх перед такими задачами. Этой короткой заметкой я хочу немного успокоить тех ребят, которые боятся даже начинать решать 8 задание по информатике.

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

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

💡 Репетитор IT mentor // @mentor_it
👀 Новая вариация задания #6 из ОГЭ по информатике — разбор с параметром 🅰️

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

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

#информатика #программирование #ОГЭ #разбор_задач #алгоритмы #параметры

💡 Репетитор IT mentor // @mentor_it
👨🏻‍💻 Как решать задачу 15.1 из ОГЭ по информатике

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

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

#информатика #ОГЭ #ЕГЭ #алгоритмы

💡 Репетитор IT mentor // @mentor_it
🤯 Оптимизации до одного цикла — непонятная задача по информатике

Сегодня будет что-то очень странное. Короткая, но интересная заметка, непонятное условие, школьные интриги, репетиторское расследование, расчехление экстрасенсорных навыков при попытках угадать «Что хочет препод?». Я уже не так давно разбирал задачу 15.1 из ОГЭ по информатике. Там была лестница, с которой у многих ребят возникали трудности. Но сегодня будет еще больший треш-кринж-омагад...

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

#информатика #программирование #ОГЭ #разбор_задач #алгоритмы

💡 Репетитор IT mentor // @mentor_it
Задача 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 mentor // @mentor_it
Please open Telegram to view this post
VIEW 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Как применить Python для упрощения решений задач по информатике

Привет, ребятки! Сегодняшняя заметка будет состоять из разбор 6 задач уровня 9 класса (ОГЭ). Задачки можно решить аналитически, но мы попробуем их закодить, решить методом перебора. Все эти задачи будут полезны учащимся средней школы для тренировки навыков программирования. Реализация примеров выполнена с помощью Python.

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

#разборы_задач #Python #ОГЭ #информатика #алгоритмы

💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Замечаю, что когда 9-ти-классники начинают готовиться с нуля к экзамену по информатике, то первая задача, которая их пугает — это задача типа 3. Здесь я всегда предлагаю построить ассоциации с обычной алгебраической системой, убрать все отрицания или двойные отрицания [для зрительного упрощения] и просто выписать несколько первых элементов множества значений X.

В крайнем случае — задачу можно забрутфорсить с помощью Python. #информатика #огэ #егэ #программирование #алгоритмы #разбор_задач

💡 Репетитор IT mentor // @mentor_it
⚙️ Трактат о силе трения: интересные факты, о которых вы боялись спросить

Во многих школьных учебниках, по которым начинают изучать физику в школе, даны несколько «аксиом» (аксиомы указаны в кавычках не просто так) по поводу силы трения:
1. Трение не зависит от площади поверхности.
2. Коэффициент силы трения скольжения (динамического трения) меньше единицы.
3. Сила трения скольжения равна максимальной силе трения покоя.
4. Коэффициент силы трения зависит только от рода соприкасающихся материалов.
Давайте так.. Не всегда, но часто можно встретить такие тезисы. И проблема в том, что абстрактно это вроде всё верно. Но как всегда есть парочка «NO». И в этой статье мы с вами разберем много интересного...

✏️ Читать статью

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

💡 Репетитор IT mentor
// @mentor_it