Код как язык понимания: как я подружила алгебру и программирование
Автор: Забаева Елена Петровна
Организация: МБОУ «Потьминская СОШ»
Населенный пункт: Зубово-Полянский муниципальный р-н, Республика Мордовия
Преподаю математику и информатику — и давно вижу, как ученики разводят эти предметы по разным углам: на алгебре считают по формулам, на информатике будто забывают всю математику. «Тут код, там уравнения — совсем разное», — слышала не раз. Решила связать их через практику.
В 7м классе уровень подготовки сильно различался: сильные быстро справлялись и скучали, остальные терялись и тянулись к списыванию. Тема — линейные уравнения. Нужна была задача, где пригодится и логика, и расчёты, и смелость пробовать.
Запустила минипроект: написать на Python решатель для ax+b=0. Смысл не в сложности, а в переводе математической логики в код. Сначала разобрали случаи: один корень, нет решений, бесконечно много. Потом показали, как это ложится на if, elif, else.
Роли распределила по сильным сторонам. Те, кто уверенно чувствовал математику, подбирали примеры и граничные случаи: a=0, b=0; a=0, b≠0. Ребята с опытом в коде брали синтаксис и отладку. Тем, кто пока не был уверен, дала заготовки с пропусками — вставить формулы и условия. Так каждый работал на своём уровне, но в общем деле.
В классе поднялся шум: споры про двоеточия, про смысл нулевого коэффициента. И именно эти споры оказались самыми ценными — ребята спорили не про кавычки, а про суть: почему при a=0 и b≠0 решений нет. Математика из абстрактных правил превратилась в логику программы.
К концу урока у большинства пар решатель работал. При тестировании прозвучала фраза, ради которой всё затевалось: ученик, обычно тихий на математике, радостно выкрикнул: «У меня ошибка! Но я понял, где перепутал формулу!» Он сам нашёл и исправил неточность — и код заработал. В этот момент стало ясно: он не просто решил задачу, он её починил.
Комичный штрих: рядом работали Артём и Ваня. Артём хотел, чтобы программа выглядела как в кино про хакеров — с красивыми сообщениями. Ваня, перфекционист, боялся написать лишнее слово. Они решили добавить «подбадривающие» фразы. Артём быстро набросал:
print("Корень уравнения равен:", x, ":)"
Ваня нахмурился: «Если корней нет, нельзя писать „корень равен“ — это неверно». Артём не сдавался: «Тогда придумаем что-то другое». Так у них родилась система сообщений:
- один корень — «Ура, мы нашли корень!»;
- нет корней — «У этого уравнения нет корней, но мы не сдаёмся!»;
- бесконечно много — «Корней бесконечно много — как звёзд на небе!»
Я предложила сначала добиться безошибочной работы, а потом украшать. Артём вздохнул: «А я хотел, чтобы она подбадривала». Ваня тут же добавил: «Пусть хотя бы вежливо извиняется, если что-то не так!» Класс рассмеялся, напряжение ушло, и даже самые неуверенные начали предлагать свои варианты фраз.
Неожиданный эффект: чтобы подобрать правильную фразу, ребята заново проговаривали условия. Они сами формулировали логику ветвлений и тем самым закрепляли математические случаи.
После урока просили ещё таких задач. Кто-то впервые увидел в математике инструмент для программирования, кто-то через код лучше понял правила.
Теперь регулярно беру темы на стыке предметов: расчёт площади треугольника, проверка существования треугольника по трём сторонам, таблица значений функции.
Суть — перевести математическую логику в алгоритм. Иногда добавляю «конкурс на самое вежливое сообщение об ошибке»: за шуткой прячется серьёзная работа - ученики продумывают все варианты и проверяют граничные значения.
Мой секрет прост: не нужно заставлять выбирать между математикой и информатикой. Когда они работают вместе, формулы становятся понятнее, а код — осмысленнее. А лучшая награда — глаза ребят, когда они понимают: они создали работающий инструмент.



