Создание приложения для викторины по физике «Перевод физических величин в СИ» на языке программирования Python. Тезисы исследовательской работы

- 16:58II И III СТУПЕНИ, ИКТ, Информатика, Методичка

В исследовательской работе показано практическое применение языка Python, интерпретируемого языка программирования, который может применяться для сложной обработки данных, машинного обучения и веб-разработки. Благодаря простоте изучения и понимания, Python является идеальным языком для новичков. Возможности программирования на Python растут по мере расширения использования языка.

Александр СИВАКОВ,
учитель физики и информатики
ГУО «Смольянская средняя школа Оршанского района»,
Витебская область

 

Заинтересованность языком программирования Python возникла, когда мы обратили внимание на сложности перевода физических величин в СИ у многих учащихся при решении задач по физике. Тогда и задумались: почему бы не создать приложение, которое поможет протестировать в начале урока учащихся. Они, в свою очередь, сразу по прохождении теста увидят свой результат.

Основные цели работы: разработка приложения для уроков физики по теме «Перевод физических величин в СИ» на языке программирования Python.

Для достижения целей поставлены следующие задачи:

– продолжить изучение языка программирования Python;

– изучить основы объектно-ориентированного программирования;

– понять принцип работы библиотек Python tkinter и CustomTkinter;

– изучить алгоритмы создания приложений;

– разработать приложение в Python.

Гипотеза: создать приложение по физике «Перевод физических величин в СИ» на языке программирования Python несложно, если

– изучить особенности библиотек Python tkinter и CustomTkinter;

– узнать основные принципы работы объектно-ориентированного программирования, необходимые для правильной работы данного приложения.

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

Объект: возможности программирования Python.

Предмет: приложение «Перевод физических величин в СИ».

Методы исследования: анализ печатных и электронных источников информации по теме; анализ методов Python; соединение созданных отдельных функций в единую программу.

 

Уже второй год мы изучаем Python и пока не определились, продолжать ли работу с Python или перейти на другой язык – возможно, более новый для мира программирования. Но продолжаем фокусироваться на Python по многим причинам. Python – невероятно эффективный язык: ваши программы будут выполнять больше за меньшее количество строк кода, чем потребовалось бы многим другим языкам.

Циклы, ветвления и функции – все это элементы структурного программирования.

Его возможностей вполне хватает для написания небольших, простых программ и сценариев. Однако крупные проекты часто реализуют, используя парадигму объектно-ориентированного программирования (ООП). В языке Python ООП играет ключевую роль.

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

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

Для того чтобы написать собственное приложение, мы проанализировали программы, найденные в интернете и литературе, и выявили алгоритмы написания похожих приложений. Подробно разобрали несколько готовых программ различных авторов, для того чтобы лучше понять тему и увидеть, как применяются базовые элементы языка Python из теоретической части на практике. Кроме того, ставили задачу выявить плюсы и минусы определённых программ для написания наиболее качественного и хорошо читаемого кода.

Для начала мы рассмотрели игру викторину на Python с сайта. https://learn4kid-python.firebaseapp.com

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

Следующим шагом создается функция проверки ответов check(), после объявленной переменной answer, которая будет перебирать массив answer. Для сохранения и подсчета итоговых баллов создается переменную points. Баллы подсчитываются после нажатия кнопки «Далее». В завершение выводится окно с количеством набранных баллов.

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

Далее была проанализирована программа следующего автора. Приложение c подключением к базе данных на Python Tkinter. Программный код в нём уже немного сложнее в восприятии. В нём используется стандартная библиотека tkinter для разработки графического интерфейса. Файл с вопросами создается в виде таблицы в базе данных. То есть для вывода вопроса программа будет обращаться к файлу базы данных. В программе создаются две функции вопросов и ответов, которые обращаются к файлу базы банных. Когда вопросы в базе данных заканчиваются, выдается соответствующее сообщение. Викторина использует графический интерфейс, что более удобно для восприятия пользователем. К недостаткам следует отнести отсутствие вывода окна итоговых результатов.

 

Перейдем к созданию собственного приложения.

Прежде чем мы начнем писать код на Python Tkinter, важно понять, как все работает в приложении.

Вопросы отображаются с четырьмя вариантами, из которых один является правильным ответом.

Пользователь нажимает на кнопку «Далее» после выбора ответа. Кнопка «Далее» выводит новый вопрос с новым набором ответов.

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

На каждом экране есть кнопка выхода на случай, если вы захотите выйти из программы.

Код написан с использованием объектно-ориентированного программирования, а имя класса – Quiz.

В коде мы создали объект, который содержит такие значения, как количество вопросов (def disp_opt(self):), заголовок окна (def disp_ques(self):), вопросы с несколькими вариантами выбора с помощью переключателя, функции окно результатов (def disp_res(self):), окно ответов (def check_ans(self, qno):), окно радио кнопок (def radio_buttons(self):)

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

Мы создадим файл data.json для хранения данных.

Данные для теста определены в файле data.json с данными JSON, которые представляют собой пары имя/значение и содержат массив значений. Мы будем использовать словари Python для хранения вопросов и соответствующих им вариантов.

Процедура вызова файла вопросов и ответов:

with open(‘data.json’,encoding=’utf-8′) as file:

   data = json.load(file)

Атрибут encoding=’utf-8′ необходим для правильного отображения вопросов и ответов на русском языке.

Каждый раз, когда пользователь нажимает на кнопку «Далее», на экране появляется новый вопрос.

В своей исследовательской работе мы расширили свои знания в функциональном программировании на Python.

В ходе данной исследовательской работы было показано практическое применение языка Python, что расширило кругозор авторов работы и дало знания в области информатики и физики. Мы изучили и проанализировали готовые программы и подробно описали создание своей собственной. Было создано приложение-викторина, при использовании которой учащиеся смогут проверить свои знания по переводу физических величин в СИ.

 

Фрагмент работы приложения

 

Наше приложение имеет малое количество аналогов, большая часть которых созданы в виде тестов, или презентаций. Вопросы могут быть изменены учителем и использованы в процессе обучения решения задач по физике.

Наша гипотеза о том, что создать приложение для викторины «Перевод физических величин в СИ» на Python Tkinter на языке программирования Python несложно, если изучить особенности библиотек Python tkinter и CustomTkinter и узнать основные принципы работы ООП необходимые для правильной работы данного приложения, подтвердилась.

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

 

Поделиться ссылкой:

Всю ответственность за содержание сведений в методических и информационных материалах, а также за соблюдение авторских прав несут авторы публикаций.

Добавить комментарий