<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">infoschool</journal-id><journal-title-group><journal-title xml:lang="ru">Информатика в школе</journal-title><trans-title-group xml:lang="en"><trans-title>Informatics in school</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2221-1993</issn><publisher><publisher-name>Publishing House Education and Informatics</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.32517/2221-1993-2023-22-4-67-73</article-id><article-id custom-type="elpub" pub-id-type="custom">infoschool-730</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>СРЕДСТВА ИКТ В УЧЕБНОМ ПРОЦЕССЕ</subject></subj-group></article-categories><title-group><article-title>Использование языка программирования Python при  решении  криптоарифметических задач в средней школе</article-title><trans-title-group xml:lang="en"><trans-title>How to use the Python programming language in fulfilling crypto-arithmetic tasks in secondary school</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Зиннатуллин</surname><given-names>З. И.</given-names></name><name name-style="western" xml:lang="en"><surname>Zinnatullin</surname><given-names>Z. I.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Зиннатуллин Зуфар Ильдарович, учитель информатики</p><p>124498, г. Москва, г. Зеленоград, Берёзовая ал., д. 8А</p></bio><bio xml:lang="en"><p>Moscow</p></bio><email xlink:type="simple">zinnatullin.z.i@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Корчажкина</surname><given-names>О. М.</given-names></name><name name-style="western" xml:lang="en"><surname>Korchazhkina</surname><given-names>O. M.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Корчажкина Ольга Максимовна, канд. тех. наук, ст. научный сотрудник, Институт кибернетики и образовательной информатики им. А. И. Берга</p><p>119333, г. Москва, ул. Вавилова, д. 44, к. 2</p></bio><bio xml:lang="en"><p>Moscow</p></bio><email xlink:type="simple">olgakomax@gmail.com</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Школа № 1353 имени генерала Д. Ф. Алексеева</institution><country>Россия</country></aff><aff xml:lang="en"><institution>School 1353</institution><country>Russian Federation</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Федеральный исследовательский центр «Информатика и управление» Российской академии наук</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Federal Research Centre "Computer Science and Control" of the Russian Academy of Sciences</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2023</year></pub-date><pub-date pub-type="epub"><day>06</day><month>10</month><year>2023</year></pub-date><volume>0</volume><issue>4</issue><fpage>67</fpage><lpage>73</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Зиннатуллин З.И., Корчажкина О.М., 2023</copyright-statement><copyright-year>2023</copyright-year><copyright-holder xml:lang="ru">Зиннатуллин З.И., Корчажкина О.М.</copyright-holder><copyright-holder xml:lang="en">Zinnatullin Z.I., Korchazhkina O.M.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://school.infojournal.ru/jour/article/view/730">https://school.infojournal.ru/jour/article/view/730</self-uri><abstract><p>В статье приводится способ оптимизации процесса перебора вариантов при решении криптоарифметических (переборных) задач на сложение в столбик двух многоразрядных чисел с помощью языка программирования Python. Отмечается, что решение переборных задач может осуществляться по двум направлениям — комбинаторному (алгебраическому) и программному. Причем выяснилось, что алгебраические способы оптимизации нецелесообразно напрямую выражать в программных кодах, поскольку у языков программирования существуют собственные возможности оптимизации поисковых процедур.</p><p>Поэтому обучение способам оптимизации поиска при решении переборных задач следует осуществлять в два этапа. Комбинаторные способы целесообразно рассматривать в курсе информатики на уровне основного общего образования как средство формирования логического мышления и алгоритмических навыков учащихся. Тогда как к программному направлению переходят на более высокой ступени среднего общего образования — при освоении учащимися высокоуровневых языков программирования.</p><p>Описанные в статье стратегия оптимизации поиска при решении криптоарифметических задач и ее реализация на языке Python предполагают отказ от использования обычных циклических конструкций, а также известных способов обработки символьных данных. При составлении компьютерной программы «Слова.py» применялись метод join и функция permutations модуля itertools из стандартной библиотеки языка Python, что значительно упростило запись программных кодов и сократило время перебора при поиске решения.</p></abstract><trans-abstract xml:lang="en"><p>The article provides a way to optimize an enumeration process in the Python programming language while solving crypto-arithmetic (enumerative) tasks where two multi-digit numbers add to each other in a column. It is noted that there are two directions in fulfilling enumeration problems which suggest being optimized by combinatorial (algebraic) and programming methods. Moreover, it has been found out that it is impractical to express algebraic optimization methods directly in program codes, since programming languages have their own possibilities for optimizing search procedures.</p><p>Therefore, the process of learning how to optimize search while fulfilling enumerative tasks should be carried out in two stages. Combinatorial methods are the best means of forming students’ logical mindsets and algorithmic skills. That is the reason why these methods should necessarily be included in the informatics course at the level of general secondary education. Then, at the advanced stage of training, or at the level of secondary general education, it is useful for students to move to the programming direction mastering high-level programming languages.</p><p>The optimizing strategy of solving crypto-arithmetic problems described in the article, and its implementation in the Python language involves omitting conventional cyclic structures, as well as widely known methods of processing character data. When compiling a computer program "слова.py", the authors applied the join method and the permutations function of the itertools module from the Python standard library. This choice has greatly simplified the recording of the program codes and reduced the time it took to search for the solution.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>программирование</kwd><kwd>оптимизация поиска</kwd><kwd>переборные задачи</kwd><kwd>криптоарифметические задачи</kwd><kwd>язык программирования Python</kwd></kwd-group><kwd-group xml:lang="en"><kwd>programming</kwd><kwd>search optimization</kwd><kwd>enumerative problems</kwd><kwd>iterative problems</kwd><kwd>enumerative tasks</kwd><kwd>iterative tasks</kwd><kwd>cryptographic problems</kwd><kwd>crypto-arithmetic problems</kwd><kwd>cryptographic tasks</kwd><kwd>crypto-arithmetic tasks</kwd><kwd>Python programming language</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Босова Л. Л. Программирование как инструмент формирования вычислительного мышления обучающихся // Информатика в школе. 2020. № 10. С. 4–10. EDN: GURIPH. DOI: 10.32517/2221-1993-2020-19-10-4-10.</mixed-citation><mixed-citation xml:lang="en">Босова Л. Л. Программирование как инструмент формирования вычислительного мышления обучающихся // Информатика в школе. 2020. № 10. С. 4–10. EDN: GURIPH. DOI: 10.32517/2221-1993-2020-19-10-4-10.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Босова Л. Л., Аквилянов Н. А. Обработка символьных данных: от простого к сложному // Информатика в школе. 2022. № 6. С. 5–11. EDN: DVGZGT. DOI: 10.32517/2221-19932022-21-6-5-11.</mixed-citation><mixed-citation xml:lang="en">Босова Л. Л., Аквилянов Н. А. Обработка символьных данных: от простого к сложному // Информатика в школе. 2022. № 6. С. 5–11. EDN: DVGZGT. DOI: 10.32517/2221-19932022-21-6-5-11.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Босова Л. Л., Павлов Д. И., Ткач Т. В., Бутарев К. В. О содержании «Базового курса информатики» в проекте «ИТ-класс в московской школе» // Информатика в школе. 2021. № 10. С. 9–18. EDN: FVCHQS. DOI: 10.32517/2221-1993-2021-20-10-9-18</mixed-citation><mixed-citation xml:lang="en">Босова Л. Л., Павлов Д. И., Ткач Т. В., Бутарев К. В. О содержании «Базового курса информатики» в проекте «ИТ-класс в московской школе» // Информатика в школе. 2021. № 10. С. 9–18. EDN: FVCHQS. DOI: 10.32517/2221-1993-2021-20-10-9-18</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Заславская О. Ю., Любутов О. Д. Особенности методики преподавания цикла For в языке Python в средней школе // Информатика в школе. 2022. № 4. С. 70–73. EDN: KGUBSE. DOI: 10.32517/2221-1993-2022-21-4-70-73.</mixed-citation><mixed-citation xml:lang="en">Заславская О. Ю., Любутов О. Д. Особенности методики преподавания цикла For в языке Python в средней школе // Информатика в школе. 2022. № 4. С. 70–73. EDN: KGUBSE. DOI: 10.32517/2221-1993-2022-21-4-70-73.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Корчажкина О.М. Криптоарифметические и другие переборные задачи на уроках информатики // Актуальные проблемы методики обучения информатике и математике в современной школе: Материалы международной научнопрактической интернет-конференции (г. Москва, 18–24 апреля 2022 г.). М.: МГПУ, 2022. С. 159–170. EDN: IRPYVZ.</mixed-citation><mixed-citation xml:lang="en">Корчажкина О.М. Криптоарифметические и другие переборные задачи на уроках информатики // Актуальные проблемы методики обучения информатике и математике в современной школе: Материалы международной научнопрактической интернет-конференции (г. Москва, 18–24 апреля 2022 г.). М.: МГПУ, 2022. С. 159–170. EDN: IRPYVZ.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Корчажкина О. М. Оптимизация поиска при решении переборных задач в углубленном курсе информатики на уровне основного общего образования // Системы и средства информатики. 2022. Т. 32. № 4. С. 145–156. EDN: PFCFPE. DOI: 10.14357/08696527220414.</mixed-citation><mixed-citation xml:lang="en">Корчажкина О. М. Оптимизация поиска при решении переборных задач в углубленном курсе информатики на уровне основного общего образования // Системы и средства информатики. 2022. Т. 32. № 4. С. 145–156. EDN: PFCFPE. DOI: 10.14357/08696527220414.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Пэйн Б. Python для детей и родителей: пер. с англ. М. А. Райтмана. М.: Издательство «Э», 2017. 352 с.</mixed-citation><mixed-citation xml:lang="en">Пэйн Б. Python для детей и родителей: пер. с англ. М. А. Райтмана. М.: Издательство «Э», 2017. 352 с.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Саймон Г. Науки об искусственном: пер. с англ. 2-е изд. М.: Едиториал УРСС, 2004. 144 с.</mixed-citation><mixed-citation xml:lang="en">Саймон Г. Науки об искусственном: пер. с англ. 2-е изд. М.: Едиториал УРСС, 2004. 144 с.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Самылкина Н. Н. Организация углубленного обучения информатике на основе интегративного подхода: монография. М.: МПГУ, 2020. 346 с.</mixed-citation><mixed-citation xml:lang="en">Самылкина Н. Н. Организация углубленного обучения информатике на основе интегративного подхода: монография. М.: МПГУ, 2020. 346 с.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Смольняков В. Г. Методика выполнения задания № 8 ЕГЭ по информатике и ИКТ комбинаторным способом и способом программирования на Python // Информатика в школе. 2021. № 10. С. 54–60. EDN: JIOUDT. DOI: 10.32517/2221-19932021-20-10-54-60.</mixed-citation><mixed-citation xml:lang="en">Смольняков В. Г. Методика выполнения задания № 8 ЕГЭ по информатике и ИКТ комбинаторным способом и способом программирования на Python // Информатика в школе. 2021. № 10. С. 54–60. EDN: JIOUDT. DOI: 10.32517/2221-19932021-20-10-54-60.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Щерба А. В. Программирование на Python®: Первые шаги. М.: Лаборатория знаний, 2022. 250 с.</mixed-citation><mixed-citation xml:lang="en">Щерба А. В. Программирование на Python®: Первые шаги. М.: Лаборатория знаний, 2022. 250 с.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
