Файл: Курсовая работа студента 2 курса 09. 02. 07 Информационные системы и программирование Магомедалиева Мурада Магомедовича.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 49

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

При нажатии кнопки «Начать заново» закрыть форму с тестами FormTest и показать форму авторизации FormAvto.

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

- Генерация базы вопросов12;

- Перемешивание базы вопросов случайным образом;

- Анализ текущего ответа и переход на следующий вопрос, если вопрос не последний либо вывод результатов тестирования при достижении последнего вопроса; 13

- Модули перехода между экранными формами авторизации и тестирования. Каждый из вышеприведенных модулей реализуем при помощи процедуры. Модуль 1 целесообразно запускать один раз при создании формы с тестами. Модуль 2 следует запускать каждый раз при начале нового теста, то есть при активизации формы с тестами. Модель 3 должен запускаться каждый раз при нажатии на кнопку «Принять ответ». Модули 4 должны быть обработчиками нажатий на кнопку «Начать» экранной формы авторизации и кнопку «Начать заново» экранной формы тестирования. Составим алгоритм приложения, который представлен в приложении на рисунке A.1.

На алгоритме приведены основные события экранных форм. В этом алгоритме: Блок №4 реализован процедурой FormAvto, BitBtnStartClick, блок №5 - процедурой FormTest. FormCreate, блок №6 - процедурой FormTest. FormActivate, блок №7 - процедурой FormTest BNewTestClick, блок №8 реализован процедурой FormTest. BitBtn1Click. Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах. 3. Описание программных модулей



    1. Описание программных модулей

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

У формы имеется лишь один обработчик нажатия на кнопку BitBtnStart. Текст обработчика приведен в строках 26-32 листинга из приложения Б. В теле обработчика происходит считывание введенных имени и фамилии учащегося и его группы в переменные, после чего исходная форма скрывается и активизируется форма тестирования. 14

Для хранения базы вопросов разработаем пользовательский класс CVoprosi. В классе содержится одно поле и два метода. Поле test - это динамический массив, в котором хранятся вопросы и ответы. При это каждый тест храниться в виде записи типа TTest со следующими полями:          Vopr: string - содержит вопрос теста;          ans: array [0..3] of string - содержит 4 варианта ответов;          korans: byte - содержит вариант правильного ответа (его номер в массиве ans).


Для формирования базы ответов создан метод AddTest (_vopr, _ans0, _ans1, _ans2, _ans3:string; _korans:byte), которому в качестве параметров передаются вопрос, четыре варианта ответов и номер правильного ответа, а в теле метода происходит увеличение длины массива с тестами на единицу и текущий тест записывается в конец массива. 15

Второй метод класса CVoprosi. Mix предназначен для перемешивания базы вопросов. В нём организован цикл, в теле которого генерируются два произвольных числа i1 и i2 в интервале от 0 до количества вопросов в базе каждое. После чего вопросы с номерами i1 и i2 меняются местами.16

Глава 2 Описание переменных и объектов

2.1 Описание процедуры BitBtn1Click
Процедура BitBtn1Click17 предназначена для анализа ответа и вывода очередного вопроса или итоговой оценки. Алгоритм выполнения процедуры приведен на рисунке А.2 приложения А. В теле процедуры выполняются следующие действия: Если текущий номер вопроса меньше общего количества вопросов, то формируется строка S c вопросом и выбранным ответом и записывается в файл протоколов f. Сравнивается выбранный номер ответа (RGroup1. ItemIndex) с номером правильного ответа (BasaV.test[curN].Korans) и, если он совпадает, то наращивается количество правильных ответов Ratio.

Наращивается номер текущего вопроса curN. И очередной вопрос с вариантами ответов выводится на форму. Если все вопросы были заданы (curN равно количеству вопросов), то рассчитывается итоговая оценка как (Ratio*12)/(общее количество вопросов) и записывается в файл протокола, а также выводится сообщение в виде диалогового окна с оценкой. Также становится видимой кнопка BNewtest c надписью «Начать заново», позволяющая перейти на форму авторизации.18

Во избежание подбора ответов выводится только последняя итоговая оценка без указания в каких вопросах были сделаны ошибки.
2.2 Инструкция оператору
Разработанная программа представляет собой исполняемый файл Tester.exe размером 422912 байт. В программе выполняется тестирование пользователя основам языка Pascal. После запуска программы появляется окно, изображенное на рисунке





Источник: составлено автором
Рисунок 2.1 - Окно авторизации В этом окне учащийся должен задать свою фамилию и группу, после чего нажать на кнопку с надписью «НАЧАТЬ». После этого появится вторая форма с тестовыми вопросами, изображенная на рисунке 2.2. Заметим, что порядок вопросов при каждом новом запуске случайный, поэтому содержание поля вопроса и ответом может быть иным.


Источник: составлено автором
Рисунок 2.2 - Окно тестирования Пользователь должен выбрать только один из четырех предложенных вариантов ответа, щелкнув по соответствующей метке с вариантом ответа, при этом напротив варианта ответа в кружочке должна появиться отметка .

После этого следует нажать на кнопку .

Появится новый вопрос, ответ на который реализуется аналогичным способом. Если были пройдены все вопросы, выводится сообщение с оценкой, которая пропорциональна количеству правильных ответов. Все ответы правильные - оценка равна 12. Все ответы неправильные - оценка равна 0. Пример окна с сообщением об оценке приведено на рисунке 2.3.



Источник: составлено автором
После этого можно вернуться на окно авторизации, чтобы пройти тест заново, нажав на кнопку . 19



Протокол с вариантами ответов, которые были введены учащимся заносятся в текстовый файл на жестком диске с именем «<фамилия>+<группа>.txt» в том же каталоге, где находится исполняемый файл. Пример протокола с правильными вариантами ответов приведен в приложении В.


Заключение

Курсовой проект был выполнен в полном соответствии с поставленным заданием и успешно отлажен в среде разработки DELPHI 7.0. В ходе выполнения курсовой работы была разработана программа, предназначенная для тестирования студентов по программированию, обладающая удобным графическим интерфейсом. База данных программы содержит 20 вопросов, что обеспечивает достаточное разнообразие и покрытие основных тем программирования. ……Разработанная программа может быть эффективно использована в образовательных целях
, предоставляя учащимся возможность проверить свои знания и навыки в программировании. Она поможет преподавателям оценить уровень подготовки студентов, а также выявить пробелы в их знаниях и обозначить направления для дальнейшей работы. ……В качестве дальнейшего развития программы предлагается провести доработку, чтобы расширить её функциональность и обеспечить более гибкий и удобный процесс тестирования. Одно из возможных улучшений может заключаться в поддержке множественных вариантов ответа на вопросы, что позволит более точно оценить степень понимания материала студентами. Также стоит добавить возможность ввода текстового ответа без указания альтернатив, что даст возможность учащимся выразить свои мысли и решения более свободно. ……Организация таймера и ограничения времени на решение каждого вопроса также являются важными аспектами, которые можно внедрить в доработанную версию программы. Такая функциональность поможет учащимся развить навыки работы в ограниченном времени, что часто является важным в реальных ситуациях программирования. ……Дополнительная возможность пропустить некоторые вопросы и вернуться к ним позже в случае наличия времени также будет полезной для студентов. Это позволит им более гибко управлять своими ресурсами и стратегически планировать свое время при выполнении теста. ……В результате выполнения курсовой работы, были решены поставленные задачи и разработана программа по проверке знаний по дисциплине: “Основы проектирования базы данных”

Список используемой литературы


  1. Валентин Озеров «Советы по Delphi», 2019 (290.05.2023)

  2. Зуев Е.А. Программирование на языке Turbo Pascal 6. 0,7.0. - М.: Радио и связь, Веста, 2021. (дата обращения 22.05.2023)

  3. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. - М.: Нолидж, 2020. (дата обращения 20.05.2023)

  4. Фаронов В.В. «DELPHI. Программирование на языке высокого уровня». - Питер, 2022. (28.05.2023)

  5. Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмическе языки» - Северодонецк, 2018. (дата обращения 28.05.2023)

  6. Новиков, Ф.А. Учебно-методическое пособие по дисциплине «Анализ и проектирование на UML». [Электронный ресурс] — Электрон. дан. — СПб. : НИУ ИТМО, 2019. 286 с. —URL: http://e.lanbook.com/book/43540 (дата обращения 25.05.2023)

  7. Одиночкина, С.В. Web-программирование PHP. [Электронный ресурс] Электрон. дан. — СПб. : НИУ ИТМО, 2019. — 79 с. —URL: http://e.lanbook.com/book/43562 -( дата обращения 27.05.2023)

  8. Пахретдинов Р.А. Уязвимости платформы Android // Актуальные научные исследования в современном мире. 2021. № 4-3 (72). С. 93-97- (дата обращения 30.05.2023)

  9. Пейтон, К. PHP 5 и MySQL 5 / К. Пейтон, А. Меллер ; пер. с нем. под ред. С. М. Молявко. – Электрон. дан. М. : Бином-Пресс , 2018. – 366 с.-


(дата обращения 29.05.2023)

  1. Прохоренок, Н.А. HTML, JavaScript, PHP, MySQL. Джентльменский набор веб-мастера /Н.П. Прохоренок Электрон. дан. СПб. : БХВ-Петербург , 2019.– 840 с. (дата обращения 20.05.2023)

  2. Ревунков, Г.И. Проектирование баз данных. [Электронный ресурс] — Электрон. дан. М. : МГТУ им. Н.Э. Баумана, 2019. 20 с. — URL: http://e.lanbook.com/book/52390 (дата обращения 20.05.2023)

  3. Савелов, А.В. Разработка мобильного приложения под Android // Молодые учёные в решении актуальных проблем науки. 2022. С. 543-544. (дата обращения 23.05.2023)

  4. Саммерфилд, М. Python на практике. [Электронный ресурс] Электрон. дан. М. : ДМК Пресс, 2020. 338 с. — URL: http://e.lanbook.com/book/66480 (дата обращения 20.05.2023)

  5. Тарасов, С.В. СУБД для программиста. Базы данных изнутри. [Электронный ресурс] — Электрон. дан. — М. : СОЛОН-Пресс, 2019. — 320 с. — URL: http://e.lanbook.com/book/64959 (дата обращения 20.05.2023)

  6. Ульман, Л. MySQL. [Электронный ресурс] — Электрон. дан. — М. : ДМК Пресс, 2018. — 352 с. — URL: http://e.lanbook.com/book/1241 (дата обращения 23.05.2023)

  7. Шадрин, Ф.В. Анализ и обеспечение безопасности Android приложений // Студенческий. 2021. Т. 14. № 2. С. 14-19. (дата обращения 20.05.2023)

  8. Зуев Е.А. Программирование на языке Turbo Pascal 6. 0,7.0. - М.: Радио и связь, Веста, 2021. (дата обращения 21.05.2023)

  9. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. - М.: Нолидж, 2020. (дата обращения 20.05.2023)

  10. Фаронов В.В. «DELPHI. Программирование на языке высокого уровня». - Питер, 2022. (дата обращения 21.05.2023)

  11. Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмическе языки» - Северодонецк, (дата обращения 23.05.2023)

  12. Буч, Г. Язык UML. Руководство пользователя. [Электронный ресурс] / Г. Буч, Д. Рамбо, И. Якобсон. Электрон. дан. М. : ДМК Пресс, 2018. 496 с. —URL: http://e.lanbook.com/book/1246 (дата обращения 20.05.2023)

  13. Гольцман, В. MySQL 5.0. / В. Гольцман. СПб. и др. Питер, 2021. 253 c. (дата обращения 30.05.2023)

  14. Дмитриев, М.А. Операционная система Android: учебное пособие для вузов. [Электронный ресурс] / М.А. Дмитриев, А.В. Зуйков, А.А. Кузин, П.Е. Минин. Электрон. дан. М. : НИЯУ МИФИ, 2019. 64 с. URL: http://e.lanbook.com/book/75790 (дата обращения 26.05.2023)

  15. Иванов, Д. Моделирование на UML. [Электронный ресурс] / Д. Иванов, Ф. Новиков. Электрон. дан. СПб. : НИУ ИТМО, 2020. 200 с. URL: http://e.lanbook.com/book/40879 (дата обращения 28.05.2023)

  16. Исаева, К.В. Сравнительный анализ мобильных платформ Android и ios // Лучшая научно-исследовательская работа. 2022. С. 45-47. (дата обращения 28.05.2023)