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

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

Автор: @physicist_i
Download 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
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