Использование языка программирования Python при решении криптоарифметических задач в средней школе
https://doi.org/10.32517/2221-1993-2023-22-4-67-73
Аннотация
В статье приводится способ оптимизации процесса перебора вариантов при решении криптоарифметических (переборных) задач на сложение в столбик двух многоразрядных чисел с помощью языка программирования Python. Отмечается, что решение переборных задач может осуществляться по двум направлениям — комбинаторному (алгебраическому) и программному. Причем выяснилось, что алгебраические способы оптимизации нецелесообразно напрямую выражать в программных кодах, поскольку у языков программирования существуют собственные возможности оптимизации поисковых процедур.
Поэтому обучение способам оптимизации поиска при решении переборных задач следует осуществлять в два этапа. Комбинаторные способы целесообразно рассматривать в курсе информатики на уровне основного общего образования как средство формирования логического мышления и алгоритмических навыков учащихся. Тогда как к программному направлению переходят на более высокой ступени среднего общего образования — при освоении учащимися высокоуровневых языков программирования.
Описанные в статье стратегия оптимизации поиска при решении криптоарифметических задач и ее реализация на языке Python предполагают отказ от использования обычных циклических конструкций, а также известных способов обработки символьных данных. При составлении компьютерной программы «Слова.py» применялись метод join и функция permutations модуля itertools из стандартной библиотеки языка Python, что значительно упростило запись программных кодов и сократило время перебора при поиске решения.
Об авторах
З. И. ЗиннатуллинРоссия
Зиннатуллин Зуфар Ильдарович, учитель информатики
124498, г. Москва, г. Зеленоград, Берёзовая ал., д. 8А
О. М. Корчажкина
Россия
Корчажкина Ольга Максимовна, канд. тех. наук, ст. научный сотрудник, Институт кибернетики и образовательной информатики им. А. И. Берга
119333, г. Москва, ул. Вавилова, д. 44, к. 2
Список литературы
1. Босова Л. Л. Программирование как инструмент формирования вычислительного мышления обучающихся // Информатика в школе. 2020. № 10. С. 4–10. EDN: GURIPH. DOI: 10.32517/2221-1993-2020-19-10-4-10.
2. Босова Л. Л., Аквилянов Н. А. Обработка символьных данных: от простого к сложному // Информатика в школе. 2022. № 6. С. 5–11. EDN: DVGZGT. DOI: 10.32517/2221-19932022-21-6-5-11.
3. Босова Л. Л., Павлов Д. И., Ткач Т. В., Бутарев К. В. О содержании «Базового курса информатики» в проекте «ИТ-класс в московской школе» // Информатика в школе. 2021. № 10. С. 9–18. EDN: FVCHQS. DOI: 10.32517/2221-1993-2021-20-10-9-18
4. Заславская О. Ю., Любутов О. Д. Особенности методики преподавания цикла For в языке Python в средней школе // Информатика в школе. 2022. № 4. С. 70–73. EDN: KGUBSE. DOI: 10.32517/2221-1993-2022-21-4-70-73.
5. Корчажкина О.М. Криптоарифметические и другие переборные задачи на уроках информатики // Актуальные проблемы методики обучения информатике и математике в современной школе: Материалы международной научнопрактической интернет-конференции (г. Москва, 18–24 апреля 2022 г.). М.: МГПУ, 2022. С. 159–170. EDN: IRPYVZ.
6. Корчажкина О. М. Оптимизация поиска при решении переборных задач в углубленном курсе информатики на уровне основного общего образования // Системы и средства информатики. 2022. Т. 32. № 4. С. 145–156. EDN: PFCFPE. DOI: 10.14357/08696527220414.
7. Пэйн Б. Python для детей и родителей: пер. с англ. М. А. Райтмана. М.: Издательство «Э», 2017. 352 с.
8. Саймон Г. Науки об искусственном: пер. с англ. 2-е изд. М.: Едиториал УРСС, 2004. 144 с.
9. Самылкина Н. Н. Организация углубленного обучения информатике на основе интегративного подхода: монография. М.: МПГУ, 2020. 346 с.
10. Смольняков В. Г. Методика выполнения задания № 8 ЕГЭ по информатике и ИКТ комбинаторным способом и способом программирования на Python // Информатика в школе. 2021. № 10. С. 54–60. EDN: JIOUDT. DOI: 10.32517/2221-19932021-20-10-54-60.
11. Щерба А. В. Программирование на Python®: Первые шаги. М.: Лаборатория знаний, 2022. 250 с.
Рецензия
Для цитирования:
Зиннатуллин З.И., Корчажкина О.М. Использование языка программирования Python при решении криптоарифметических задач в средней школе. Информатика в школе. 2023;(4):67-73. https://doi.org/10.32517/2221-1993-2023-22-4-67-73
For citation:
Zinnatullin Z.I., Korchazhkina O.M. How to use the Python programming language in fulfilling crypto-arithmetic tasks in secondary school. Informatics in school. 2023;(4):67-73. (In Russ.) https://doi.org/10.32517/2221-1993-2023-22-4-67-73