Файл: Курсовая работа студента 2 курса 09. 02. 07 Информационные системы и программирование Магомедалиева Мурада Магомедовича.docx
Добавлен: 09.11.2023
Просмотров: 48
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
КОЛЛЕДЖ
Курсовая работа
студента 2 курса
09.02.07 Информационные системы и программирование
Магомедалиева Мурада Магомедовича
На тему:
“Разработка программы тестирования знаний студентов по дисциплине:
“Основы проектирования базы данных”
Научный руководитель:
к.э.н., доцент Джафарова З. К.
Допущена к защите:
«____» ________________ 2023 г.
зав. Кафедрой общепрофессиональных
дисциплин, доцент Магомедова П.Р.
___________________________
Махачкала 2023
Содержание
Введение ……………………………………………………………………3
Глава 1 Описание технического задания и постановка задачи проектирования …………………………………………………………………...5
1.1 Разработка экранных форм и алгоритма программы ……………..…5
1.2 Описание программных модулей ………………………………….11
Глава 2 Описание переменных и объектов……………………………13
2.1 Описание процедуры BitBtn1Click . ………………………………13
2.2 Инструкция оператору …………………………………………..…13
2.3. Тестирование программ ……………………………………………15
Заключение …………………………………………………………..…17
Список используемой литературы………………………………….……18
Приложения………………………………………………………….……19
Введение
Актуальность курсового проекта была разработана в среде Delphi1. Среди множества языков, является наиболее универсальным и легко изучаемым языком. При этом его удобно использовать для создания сложных приложений, базами данных, приложения масштаба предприятия. Delphi позволяет использовать все современные возможности объектно-ориентированного программирования.- это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi.
Язык Delphi - строго типизированный объектно-ориентированный язык.прост и логичен. Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода. Графический интерфейс Delphi отлично продуман, среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой разработкой.
Для выполнения курсовой работы необходимо разработать алгоритм решения поставленного задания, правильно указав последовательное выполнение соответствующих команд для получения необходимых результатов. 2
Цель работы: разработать программу проверки знаний для тестирования студентов по программированию с кодом на языке Delphi, для ввода и вывода данных использовать компоненты Delphi.
Для достижения заданной цели были поставлены и решены следующие цели:
- разработать экранные требования и сл. пр;
-описать программные модули;
- Описать процедуры
-преумножение
-разработать инструкцию оператору
-структура работы
-Объект исполнения
-Предмет исследования
-Теоретическая основа
-Структура работы
Глава 1 Анализ технического задания и постановка задачи проектирования
-
Разработка экранных форм и алгоритма программы
Согласно заданию необходимо разработать программу проверки знаний для тестирования студентов по программированию, по окончании тестирования выводить оценку. Для удобства анализа результатов и ответов будет полезно отслеживать каждый из ответов тестируемого и сохранять лог ответов в текстовый файл на жестком диске. Дадим определение понятиям, которые используются в данной работе. Определим следующие понятия: строка, файл, массив, запись.
Тип STRING (строка) 3 в «Borland Delphi» широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [0..N] OF CHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке.
Под файлом понимается либо именованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного «виртуального» диска), либо логическое устройство - потенциальный источник или приемник информации. Запись представляет собой совокупность компонент различных типов. «Borland Delphi» может использовать объекты, содержащее множество однотипных элементов, которые называются массивами. Массив - это формальное обледенение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое.
Для хранения содержимого типизированного файла и обработки удобно использовать массивы с элементами типа запись. Удобство массивов заключается в том, что можно обращаться к отдельному элементу массива по номеру.
Дополнительное удобство привносят динамические массивы4, отличительной особенностью которых является возможность динамического изменения размерности массива, то есть динамическое выделение или освобождение памяти под требуемое в данный момент количество элементов массива.
Поскольку данная программа является приложением Windows, то для ее реализации будем использовать стандартный подход при написании программ под Windows с использованием графического интерфейса. Так отдельно создадим форму с визуальными компонентами, для различных визуальных компонент сопоставляем процедуры - обработчики. Далее, как только происходит событие на каком-то из визуальных компонент, (щелчок мыши, нажатие на кнопку или пункт меню), операционная система посылает приложению соответствующее сообщение, и запускается соответствующий обработчик именно для этого события.
Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент, предназначенных для ввода исходных данных, запуска действий по обработке исходных данных, вывода результата обработки, вывода результатов на экранную форму. Еще можно предусмотреть вывод информации разработчике и задании курсового проекта. 5
Разработка обработчиков событий от элементов экранных форм, разработка алгоритмов и программных кодов действий обработки текстового файла согласно заданию. 6
Подготовка тестовых исходных данных и отладка программы. На первом этапе целесообразно выполнить разработку интерфейса таким образом, чтобы в начале тестирования учащийся вводил своё имя и фамилию, а также задавал шифр группы. Затем учащийся приступает к тестированию. По окончании тестирования выводится итоговая оценка, которая равна максимальной, если все ответы были правильными. Если имеются ошибки, то должен выводится балл, пропорциональный количеству правильных ответов.
Также должен вестись протокол ответов, вводимых тестируемым и потом записываться на жесткий диск. Для корректности тестирования целесообразно предусмотреть механизм перемешивания вопросов, чтобы при различных запусках программы порядок следования вопросов изменялся. При выполнении второго этапа следует использовать модульный принцип построения программы, то есть разбить программу на отдельные части, каждая из которых выполняет какую-то законченную задачу, либо ее малую часть. Роль таких частей будут выполнять процедуры и функции.
Программы, состоящие из процедур и функций, называются модульными. Процедуры и функции в свою очередь могут вызывать процедуры и функции более низкого уровня и так далее. Таким образом, каждая модульная программа имеет иерархическую структуру. Следует заметить, что обработчики событий от объектов экранных форм тоже реализуются как процедуры. На третьем этапе при отладке приложения обязательно должна анализироваться правильность работы на исходных тестовых образцах. На этом этапе нужно проверить соответствие разработанной программы исходному заданию, а также проверить ее на отсутствие ошибок. Подытожив все вышесказанное, можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. 7
Программа должна быть реализована с графическим интерфейсом пользователя в среде Borland Delphi и должна выполнять следующие функции: запрашивать фамилию, имя и группу учащегося; выводить поочередно вопросы из базы; принимать ответы учащегося; анализировать правильность ответов и рассчитывать итоговый балл пропорционально количеству правильных ответов; вести протоколирование ответов и записывать их в файле на жестком диске; по окончании тестирования выводить правильную оценку; предусмотреть перемешивание вопросов8, чтобы при повторных запусках порядок следования вопросов был различным. 9
Последующие разделы будут посвящены решению поставленных задач и разработке приложения с вышеперечисленными функциями.
В предыдущем разделе было сказано, что процесс решения поставленной задачи разбивается на 3 этапа, первый из которых заключается в построении интерфейса с пользователем на основе экранных форм и визуальных объектов проектирования.
По сформулированной в предыдущем задании постановке должна иметься возможность авторизации тестируемого учащегося - ввода его фамилии и группы. Для этого предусмотрим отдельную форму авторизации FormAvto. Для возможности ввода данных об учащемся поместим на форме поля ввода типа TEdit и соответствующие метки описания к ним.
Список объектов экранной формы приведен в таблице 1.1 Таблица 1.1 - Объекты экранной формы FormAvto
Имя | Тип | Назначение |
abel1 | TLabel | надпись «Задайте фамилию, инициалы и группу учащегося» |
Label2 | TLabel | надпись «Фамилия» |
Label3 | TLabel | надпись «Имя» |
Efam | TEdit | поле для вода фамилии учащегося |
EGroup | TEdit | поле для вода фамилии учащегося |
BitBtnStart | TBitBtn | поле для ввода группы учащегося |
https://studwood.net/1722461/informatika/razrabotka_ekrannyh_form_algoritma_programmy
Для начала теста предусмотрена кнопка типа TBitBtn, который в отличие от обычных кнопок типа TButton позволяет задавать не только текст, но и изображение.
В обработчике нажатия на эту кнопку должна выводиться форма с вопросами. Внешний вид спроектированной формы приведен на рисунке 2.1
Источник: составлено автором
При построении формы предполагалось, что база вопросов будет построєна таким образом, чтобы ответ предполагал выбор только одного из перечисленных четырех вариантов ответов. То есть, база не должна содержать вопросов с множественным выбором, либо вариантов без правильного ответа. Также не должно быть вопросов, требующих ввода ответа в текстовом виде.
Источник: составлено автором
Рисунок 2.2 - Внешний вид формы FormTest Во избежание кратковременного завершения теста скроем системное меню окна, установив параметр формы FormTest. BorderIcons biSystemMenu равным false. Также в алгоритме следует предусмотреть, что в начале тестирования кнопка с надписью «Начать заново» должна быть невидимой, и должна появляться только после ответа на все вопросы и вывода итоговой оценки.
Анализируя все вышеизложенные предположения и разработанные формы, можем составить словесные алгоритмы приложения.
Запустить экранную форму авторизации FormAvto. При нажатии на кнопку «Начать» следует выполнить действия:
-
Сгенерировать базу вопросов, и перемешать их случайным образом; -
Сформировать имя файла 10из имени студента и его группы и открыть файл для записи; -
Обнулить количество правильных ответов; -
Установить номер текущего вопроса на первый вопрос; -
Скрыть форму FormAvto и показать форму 11с тестами FormTest; -
Показать первый вопрос и варианты его ответов на форме FormTest; -
Ожидать нажатия на кнопку «Принять ответ».
При нажатии на кнопку «Принять ответ» следует выполнить действия:
-
Проанализировать выбранный вариант ответа и сравнить его с правильным, и если ответ правильный, то нарастить количество правильных ответов на 1; -
. Записать в файл протокола текущий вопрос и вариант, который выбрал пользователь в качестве ответа; -
Если номер текущего вопроса меньше общего количества вопросов в базе, то нарастить номер на 1, вывести очередной вопрос на форму и перейти к началу пункта 3. -
Если номер текущего вопроса равен количеству вопросов в базе, то: .4.1. подсчитать оценку пропорционально количеству правильных ответов; .4.2. показать сообщение с оценкой; .4.3. сделать кнопку «Начать заново» видимой .