Тестирующая программа математических знаний

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

Тестирующая программа математических знаний

Попов  В.А. 1
1Государственное образовательное учреждение «Коми республиканский лицей при Сыктывкарском государственном университете»
Есева  В.Ю. 1
1Государственное образовательное учреждение «Коми республиканский лицей при Сыктывкарском государственном университете»
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

С развитием интернета и цифровых технологий в целом всё больше и больше набирает популярность самообразование.

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

Самообразование позволяет:

- обеспечить непрерывность и системность деятельности обучаемого по овладению профессиональным мастерством;

- максимально учесть индивидуальные особенности и познавательные потребности каждого сотрудника;

- решить учебные задачи без отрыва от оперативно-служебной деятельности.

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

Цель работы: создать тестирующее приложение математических знаний на основе алгоритма, генерирующего случайные примеры

Задачи:

разработать алгоритм генерации случайных примеров;

создать графический интерфейс, используя язык программирования Java на основе Swing;

реализовать разработанный алгоритм и создать на его основе приложение;

Глава 1. Тестирующие программы

1.1. Что такое тестирующая программа?

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

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

1.2. Какие бывают тестирующие программы?

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

1.3. Что нужно для создания своего тестирующего приложения?

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

1.3.1 Выбор языка программирования

Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

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

1.3.2 Выбор библиотеки для создания графического интерфейса

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

1.3.3 Плагин WindowBuilder

WindowBuilder – плагин составленный из SWT и Swing. Он серьёзно облегчает работу при создании приложений на языке Java с графическим интерфейсом. Благодаря этому расширению отпадает необходимость прописывать размер окна, координаты и размеры кнопок, полей ввода и т.п.

1.4. Функционал тестирующих программ

Функционал – это набор возможностей (функций), которые предоставляет данная система или устройство.

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

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

1.5. Планировка интерфейса

Интерфейс это, в широком смысле, набор инструментов для взаимодействия человека и компьютерной системы. Этими инструментами чаще всего являются кнопки, галочки, текстовые поля, подсказки, переключатели, выпадающие списки и прочие ухищрения. В дословном переводе с английского слово «interface» означает «[взаимодействие] между лицами».

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

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

1.6. Задачи в тестирующих программах

В различных программах примеры генерируются и выдаются по-разному. Где-то все примеры уже изначально заложены в базу данных и появляются либо в случайном порядке, либо в определенно заданном. В других случаях задания могут быть не прописаны заранее, пользователю будет предложена возможность самому внести задачи (родитель составляет тест для ребёнка).

1.7. Алгоритм генерации примеров и нахождения ответа на них

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

Глава 2. Алгоритм работы приложения

Пользователь выбирает тип уравнений или неравенств (Рис. 1,1), только рациональные или рациональные и иррациональные корни (Рис. 1,2), задаёт диапазон для коэффициентов (Рис. 1,3) и нажимает на кнопку «Сгенерировать» (Рис. 1,4). По алгоритму, описанному в пункте 1.7, строится пример, и выводится в строку для заданий (Рис. 1,5), затем программа решает его и находит корни уравнения. После необходимо ввести ответ (Рис. 1,6) и нажать на кнопку «Ответить» (Рис. 1,7). Затем введённые корни сравниваются с полученными самой программой. Если ответы совпадают, то выводится надпись: «Верно», в противном случае выводится: «Неверно» и правильный ответ. Для того чтобы пользователь понимал, какой коэффициент за что отвечает, под строкой для ввода ответа располагается строка с общим видом уравнения/неравенства, которая изменяется в зависимости от выбранного типа задания (Рис. 1,8). И последний элемент интерфейса – пояснение, из которого становится понятно, что нужно писать вместо знака бесконечности при решении неравенств (Рис. 1,9).

Рисунок 1

Заключение

В результате проделанной работы были выполнены следующие задачи:

был разработан алгоритм генерации примеров 3-х видов;

была изучена библиотека Swing для создания графического интерфейса на языке Java;

был создан графический интерфейс на основе языка Java;

был реализован разработанный алгоритм, а также создано приложение на его основе

Список использованных источников

В.Ф.ПИЛИПЕНКО. «Федеральные органы налоговой полиции Российской Федерации в правоохранительной и фискальной системах государства». АНП Москва 1999.

Ларин А.А.“О концепции построения тестирующих программ”.

Ефремова Т. Ф. Новый словарь русского языка. Толково-словообразовательный. – М.: Русский язык, 2000.

Академик, 2000-2017. - URL: https://dic.academic.ru/dic.nsf/ruwiki/1465/ (Дата обращения 07.06.2018)

Сайт новых и хорошо забытых слов Что-это-такое.ru. - URL: https://chto-eto-takoe.ru/interface/ (Дата обращения 07.06.2018)

Приложение 1

Реализованный алгоритм генерации примеров и нахождения корней уравнений первой степени

textField_3, textField_4, textField_5, textField_6, textField_8, textField_9 – значенияиз (Рис. 1,3)

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