Использование Python в заданиях № 2, 5, 12, 14, 16 в ЕГЭ по информатике

XXI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Использование Python в заданиях № 2, 5, 12, 14, 16 в ЕГЭ по информатике

Чариков Н.Е. 1
1ГАОУ ГМ ЛИОД
Иванченко Т.В. 1
1ГАУО ГМ ЛИОД
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Единый государственный экзамен по информатике необходим тем, кто планирует поступать в российские вузы на специальности, связанные с IT- технологиями. Этот экзамен нужен тем, кто хочет стать программистом, разработчиком, специалистом по информационным технологиям.

Единый государственный экзамен по информатике начал проходить в компьютерной форме с 2021 года. Новая модель реализована в виде компьютерной системы тестирования. Смысл новой модели состоит в том, что все задания выпускники будут выполнять при помощи компьютеров и с применением различных языков программирования и программного обеспечения.

Структура экзаменационной работы обеспечивает оптимальный баланс заданий разных типов и разновидностей, трёх уровней сложности, проверяющих знания и умения на трёх различных уровнях: воспроизведения, применения в стандартной ситуации, применения в новой ситуации. Проверка практических навыков решения учебных задач с помощью компьютера обеспечивается набором заданий, для выполнения которых экзаменуемому необходимо воспользоваться редактором электронных (динамических) таблиц, текстовым редактором или средой программирования на одном из универсальных языков программирования высокого уровня.

Каждый вариант экзаменационной работы включает в себя 27 заданий, различающихся уровнем сложности и необходимым для их выполнения программным обеспечением.

В работу входят 11 заданий, для выполнения которых, помимо тестирующей системы, необходимо специализированное программное обеспечение (ПО), а именно редакторы электронных таблиц и текстов, среды программирования.

Ответы на все задания представляют собой одно или несколько чисел, или последовательности символов (букв или цифр). Распределение заданий экзаменационной работы по способу выполнения (с использованием специализированного ПО / без использования) представлено в таблице 1.

 

Количество заданий

Максимальный первичный балл

Процент максимального первичного балла за выполнение заданий данной части от максимального первичного балла за всю работу, равного 29

Используется специализированное ПО

11

13

45

Не используется специализированное ПО

16

16

55

Итого

27

29

100

Таблица 1 Распределение заданий по использованию специализированного ПО

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

Актуальность: сегодня многие одиннадцатиклассники выбирают ЕГЭ по информатике по причине того, что многие желают поступить в технические ВУЗы, в структуре этого экзамена более половины заданий решаются с помощью программирования и я думаю, что Python лучше остальных языков подойдет для решения этой задачи, так как он имеет очень простой синтаксис.

Объект исследования: задания № 2,5,12,14,16 в ЕГЭ по информатике.

Предмет исследования: решение заданий 1 части компьютерного ЕГЭ по информатике на языке программирования Python.

Цель работы: изучение возможностей языка программирования Python в решении задач № 2, 5, 12, 14, 16 компьютерного ЕГЭ по информатике, создание методических рекомендаций по решению заданий № 2, 5, 12, 14, 16 на языке программирования Python.

Задачи:

  1. рассмотреть основы языка программирования Python;

  2. изучить кодификатор и спецификации контрольных измерительных материалов для проведения единого государственного экзамена в 2023-2024 году по информатике;

  3. проанализировать задачи № 2, 5, 12, 14, 16 (первой части) компьютерного ЕГЭ по информатике;

  4. создать методические материалы (алгоритм) выполнения задач первой части с использованием языка программирования Python.

Гипотеза: Язык программирования способствует эффективному и качественному выполнению задач 1 части КЕГЭ.

Методы исследования: анализ, сравнение.

Продукт: методические материалы.

Глава 1. Основы языка программирования Python

    1. Python – современный язык программирования

Python был основан в 1991 году и на данный момент является одним из самых простых для изучения.

Python появился в мире программирования довольно давно, но с начала 2010 годов переживает бум — он уже обогнал по популярности C, C#, Java и JavaScript. 

Популярность языка программирования можно отследить по динамике количества тегов на самом востребованном у разработчиков ресурсе — Stack Overflow(рис.1.1), где показан график популярности Python. Так, судя по графику, рост Python начался с 2004-2006 годах, а стремительным он стал в 2016-2018 году. У такой популярности Python есть причины.

Рис.1.1. Динамика популярности Python на Stack Overflow

Python можно смело рекомендовать как первый язык программирования. И дело не только в том, что он существует давно и поэтому по нему есть много хороших учебников. У него понятный синтаксис, похожий на обычный, «человеческий» язык, и еще он прощает ошибки.

Во-первых, стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в Pascal или {..}в C), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «"""».

Чтобы присвоить значение переменной используется знак «=», а для сравнения — «==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками.

    1. Синтаксис и основы Python

В Python типы данных разделяются на изменяемые и неизменяемые. К изменяемым относятся: список (list), множество (set), словари (dict) и также пользовательские классы. К неизменяемым относятся: целые числа (int), числа с плавающей точкой (float), логический тип (правда(True) или ложь (False)), строки (str), кортежи (tuple).

В Python также можно делать циклы (с условие и перебором). Цикл с условие начинается со слов while УСЛОВИЕ: и далее идет описание работы цикла. Цикл с перебором начинается со слов for УСЛОВИЕ ПЕРЕБОРА: и далее работа этого цикла.

Условия в Python начинаются с выражения if УСЛОВИЕ: и далее тело условия

Многие возможности Python реализованы в виде отдельных функций; кроме того, модули расширения чаще всего делаются в виде библиотеки функций. Функции также применяются и в классах, где они по традиции называются методами.

Функции создаются с помощью служебного слова def:

Def ИМЯ_ФУНКЦИИ:

Выражение

Выражение

Есть также lambda-функции (анонимные функции), которые пишутся в одну строку и заменяют простые функции, к примеру lambda-функция lambda x: x * 2 умножает числа из списка на 2.

Еще стоит описать работу рекурсии в Python, которая используется для решения 16 задания из ЕГЭ. По умолчанию глубина рекурсии ограничена 1000 уровней, и когда этот уровень будет пройден, возникнет ошибка, и работа программы будет остановлена. Однако при необходимости величину этого предела можно увеличить.

Глава 2. Разбор задач ЕГЭ 1 части с использованием программирования

В КЕГЭ по информатике 1 часть можно решать с помощью языков программирования. Разберем из 1 части КЕГЭ задания 2, 5, 12, 14, 16.

Задание № 2 базового уровня проверяет умение строить таблицы истинности и логические схемы.

Для решения нужно прописать данное нам выражение

≡ выразим с помощью ==

∩, ∧, & выразим с помощью and

¬ с помощью not

→ можем выразить с помощью преобразования ab = ¬a + b

∨ выразим с помощью or

Самое главное при написании выражения в условии учитывать скобки. Пример задания № 2 представлен на рис. 2.1.

Рис. 2.1. Типовое задание № 2

Переменные могут принимать значения 0 и 1, т.е. правда (1) или ложь (0). Для этого мы напишем цикл for и в каждом for будет еще один, нужно столько раз вложить for сколько у нас имеется переменной в выражении, в нашем случае 4 переменные, значит цикл 4 раза вложен (рис. 2.2).

Рис. 2.2. Цикл

Далее пишем условие на наше выражение в нашем случае выражение должно быть ложно, поэтому перед всем выражением ставим not (рис. 2.3).

Рис. 2.3. Логическое выражение

Для удобства в начале можем вывести буквы в том порядке в каком выводим значение, вся программа представлена на рис. 2.4.

Рис. 2.4. Программа задания № 2

На выводе получаем некое подобие таблицы (рис. 2.5).

Рис. 2.5. Таблица истинности

Теперь сопоставляем нашу таблицу и таблицу в задании. Видим, что в первом столбце задания у переменной 1 как минимум 2 единицы, из полученной в результате работы программы таблицы видим, что это может быть только переменная w или y, видим, что 2 и 3 строчки про единице имеют 2 нуля и при этом переменная 4 в обоих случаях имеет нуль, по таблице видим что это переменная x, так как он в двух случаях когда есть два нуля равен 0. 1 строчка в задании это 3 строчка в нашей таблице, видим, что там всего 1 ноль, значит переменная 2 это z. В 3 строчке задания z равен 1, значит это 1 столбик нашей таблица, т.е. переменная 1 это w, а значит y это переменная 3.

Задание № 5 базового уровня проверяет формальное исполнение простого алгоритма, записанного на естественном языке, или умение создавать линейный алгоритм для формального исполнителя с ограниченным набором команд, или умение восстанавливать исходные данные линейного алгоритма по результатам его работы (Приложение 1). На рисунке 2.6 представлено типовое задание № 5.

Рис. 2.6. Типовое задание № 5

Для построения двоичной записи числа мы можем использовать встроенную функцию питона bin(), которая переводит число из десятичной системы в двоичную, но для работы в задании номер 5 мы должны сделать срез двоичного числа, т.е выбрать только некоторую часть строки, потому что без этого числа будут представлены с 0b в начале, где 0 означает начало числа, а b значит binary, т.е двоичный код, чтобы это сделать напишем bin(n)[2:]. Далее работаем по алгоритму, представленному в задании, в нашем случае проверяем является ли число четным, это можно сделать обычный условием (рис. 2.7).

Рис. 2.7. Условие на чётность

Чтобы перевести из двоичной системы в десятичную используем встроенную функцию int(r, s), где r - это число которое нам нужно перевести, а s – его система счисления, то есть для перевода нашего числа мы пишем int(bin_n, 2).

Для выполнения задания сделаем цикл, чтобы найти минимальное число n (рис. 2.8).

Рис. 2.8. Нахождения минимального числа n

В функции check() алгоритм преобразования. Запускаем программу и получаем ответ: 3. Программа представлена на рис. 2.9.

Рис. 2.9. Программа задания № 5

Решение на задание № 12 практически дано в условии (рисунок 2.10).

Задание 12 проверяет умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд (повышенный уровень).

Рис. 2.10. Типовое 12 задание

Для решения нам нужно просто перевести алгоритмический язык на Python

ПОКА – while

НАШЛОСЬ – in

ЗАМЕНИТЬ – replace()

Для начала создадим строку с которой будем работать, то бишь 84 единицы

a = ‘1’ * 84

Далее перенесем алгоритм на Python (рисунок 2.11).

Рис. 2.11. Программа задания № 12

Последний аргумент означает количество раз, которое мы должны заменить, иначе replace() будем производить замены до тех пор пока подстроки не будет в string. Запускаем программу и получаем ответ – 222111.

Задание 14 проверяет знание позиционных систем счисления (повышенный уровень). Задание 14 представлено на рис. 2.12.

Рис. 2.12. Типовое задание № 14

Для решения нам необходимо нужно перевести все это выражение в нужную систему счисления. Для начала запишем в переменную a результат данного нам выражения (для возведения в степень используем **), также заведем переменную itog, куда будем записывать получаемый результат, далее переводим наше значение в нужную нам систему счисления, в нашем случае в 7. И в конце выведем количество попаданий 6 в нашем itog (itog.count(‘6’)). Вся программа представлена на рис. 2.13.

Рис. 2.13. Программа задания № 14

Задание № 16 проверяет умения вычислений рекуррентных выражений (повышенный уровень). Из условия (рис. 2.14) перенесем данные на Python.

Рис. 2.14. Типовое задание № 16

Создадим функции F(n) и G(n) и пропишем условие при n = 1 (рис. 2.15)

Рис. 2.15. Условие при n = 1

Иначе возвращаем F(n -1) – G(n – 1), аналогично для функции G(n). Вся программа представлена на рис. 2.16.

Рис. 2.16. Программа задания № 16

Заключение

Python – язык программирования, который широко применяется в различных областях, в том числе в анализе данных, машинном обучении и веб-разработке. Его наглядный синтаксис, широкий выбор библиотек и простота в изучении делают его идеальным выбором для начинающих программистов. Специалисты, знакомые с Python, могут легко решать задачи, связанные с анализом данных, проектированием алгоритмов и написанием полезных скриптов.

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

Таким образом, использование Python на ЕГЭ является положительным шагом в развитии учеников и становится все более популярным выбором для решения задач в информатике. Ученики, которые овладеют этим инструментом, получат не только ценный опыт для работы в будущей профессиональной деятельности, но и могут приобрести дополнительные навыки в смежных областях, таких как наука о данных и машинное обучение.

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

В результате исследования нами выполнены задачи, а именно:

- изучен кодификатор и спецификация контрольных измерительных материалов для проведения единого государственного экзамена в 2023-2024 году по информатике;

- рассмотрены решения заданий № 2,5,12,14,16 в ЕГЭ по информатике;

- разработаны алгоритмы решения заданий в ЕГЭ по информатике на языке программирования Python;

- созданы методические материалы (шаблоны) по решению заданий № 2,5,12,14,16 на языке программирования Python.

Таким образом цель работы выполнена: изучены возможности языка программирования Python в решении задач № 2, 5, 12, 14, 16 компьютерного ЕГЭ по информатике, проведен анализ заданий, созданы методические рекомендации по решению заданий № 2, 5, 12, 14, 16 на языке программирования Python.

Методические материалы (шаблоны) по решению заданий № 2,5,12,14,16 на языке программирования Python были проанализированы и отработаны в 11 Б классе (Приложение № 2). Гипотеза моей работы подтвердилась. Язык программирования способствует эффективному и качественному выполнению задач 1 части КЕГЭ.

Список литературы

  1. Зыков А.Г., Поляков В.И., Скорубский В.И. Математическая логика. – СПб: НИУ ИТМО, 2013. – 131 с.

  2. Zed A. Shaw LEARN PYTHON 3 THE HARD WAY: AVery Simple Introduction to theTerrifying Beautiful World of Computers and Code. 1st edition.

  3. Поляков К. Ю., Еремин Е. А. Как нам реорганизовать ЕГЭ по информатике? // Информатика в школе. 2019. № 3.С. 2–7.

  4. Сайт «Решу ЕГЭ» [Электронный ресурс].- Режим доступа: https://inf-ege.sdamgia.ru/. – 2.11.2023.

  5. Сайт «kpolyakov.spb.ru» [Электронный ресурс].- Режим доступа: http://kpolyakov.spb.ru/download/ege. – 2.11.2023.

  6. Демоверсии, спецификации, кодификаторы ЕГЭ. [Электронный ресурс].- Режим доступа: fipi.ru. – 2.11.2023.

  7. Поляков К. Ю. Линейное (и нелинейное) программирование. [Электронный ресурс].- Режим доступа: http://kpolyakov.spb.ru/download/ege_linprog.ppt. – 2.11.2023.

Приложение № 1

Приложение № 2

Приложение №3

Шаблон решения заданий № 2, 5, 12,14,16 ЕГЭ по информатике

Задание № 2

Программа задания

Задание № 5

Программа задания

Задание № 12

Программа задания

Задание № 14

Программа задания

Задание № 16

Программа задания

1 Прогнозируемое событие, массовое внедрение киберфизических систем в производство и обслуживание человеческих потребностей, включая быт, труд и досуг.

Просмотров работы: 556