Тестирующая система по истории

Тестирующая система по истории
  • Автор(ы): Шкуратов Василий
  • Научный руководитель: Маричева Г.И., учитель информатики
  • Учебное заведение: МБОО "Лицей имени героя Советского Союза Б.Н. Еряшева", г. о. Фрязино Московская обл.

Цель проекта – создание приложения в формате компьютерного тестирования с помощью языка программирования Python 3.7 для оценки усвоения материала по истории России конца XVII – XVIII веков.

Назначение. Когда пользователь открывает приложение, то ему нужно указать свои персональные данные: фамилия, имя. После этого он может выбрать уровень сложности или посмотреть рейтинг приложения, прочитать отзывы. Нажав на любую кнопку с уровнем сложности теста, он приступает к его прохождению. Пользователь может воспользоваться подсказкой. После нажатия на кнопку «Завершить тест», он увидит свой результат: количество баллов и оценку. Если его ответ правильный, то он подсветится зелёным цветом, иначе – красным. Правильные ответы подсвечиваются зелёным по умолчанию. Так же пользователь получит рекомендации по устранению пробелов в знаниях. После этого, при  нажатии на кнопку «На главную», он возвращается на главное окно, где может оценить приложение, написать отзыв, узнать своё место в рейтинге или пройти тест другого уровня сложности.

Реализация. Приложение состоит из четырёх окон: главное и три с тестовыми заданиями, которые открываются и закрываются при нажатии на кнопку. Класс «Ui_History_test» – главное окно. Класс «Ui_Test_one» – тест начального уровня. Класс «Ui_Test_two» – тест среднего уровня. Класс «Ui_Test_three» – тест высокого уровня. В программе используются пять файлов: три – для записи и отображения рейтинга (result1.txt, result2.txt  и result3.txt ), для отзывов и для «процента опроса». В приложении реализованы разные функций: для проверки ответов пользователя и вывода баллов (функция - vivod), для записи и чтения из файлов (функции – web, fort, ioi, joj и другие), для открытия окон (функции – open, open1) и другие. В программе есть три текстовых поля (textEdit, textEdit_2, textEdit_3); три строки ввода (две для имени и фамилии «name и surname», одна – для ввода ответа в тесте высокого уровня «lineEdit»; кнопки QPushButton, QRadioButton.