Разработка программы с помощью языка программирования Delphi

Автор работы: Пользователь скрыл имя, 18 Декабря 2013 в 18:14, курсовая работа

Описание работы

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

Файлы: 1 файл

Разработка программы с помощью языка программирования Delphi.doc

— 202.50 Кб (Скачать файл)

 

 

 

 

 

 

 

 

КУРСОВАЯ РАБОТА

 

 

 

НА ТЕМУ:

"Разработка  программы с помощью языка  программирования Delphi"

 

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

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

программа алгоритм delphi знание студент тестирование

 

Введение

 

Данный курсовой проект был разработан в среде Delphi. Среди множества языков Pascal является наиболее универсальным и легко изучаемым языком. При этом его удобно использовать для создания сложных приложений, базами данных, приложения масштаба предприятия. Delphi так же прост в обучении, как и Visual Basic, но при этом средства языка программирования Pascal позволяет использовать все современные возможности объектно-ориентированного программирования.

Delphi – это среда  быстрой разработки, в которой  в качестве языка программирования  используется язык Delphi. Язык Delphi – строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

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

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

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

 

1. Анализ технического задания и постановка задачи проектирования


 

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

Для удобства анализа  результатов и ответов будет  полезно отслеживать каждый из ответов  тестируемого и сохранять лог ответов в текстовый файл на жестком диске.

Дадим определение понятиям, которые используются в данной работе. Определим следующие понятия: строка, файл, массив, запись.

Тип STRING (строка) в «Borland Delphi» широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [0..N] OF CHAR, однако, в отличие от последнего, количество символов в строке–переменной может меняться от 0 до N, где N – максимальное количество символов в строке.

Под файлом понимается либо именованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного «виртуального» диска), либо логическое устройство – потенциальный источник или приемник информации.

Запись представляет собой совокупность компонент различных типов.

«Borland Delphi» может использовать объекты, содержащее множество однотипных элементов, которые называются массивами. Массив – это формальное обледенение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. Для хранения содержимого типизированного файла и обработки удобно использовать массивы с элементами типа запись. Удобство массивов заключается в том, что можно обращаться к отдельному элементу массива по номеру. Дополнительное удобство привносят динамические массивы, отличительной особенностью которых является возможность динамического изменения размерности массива, то есть динамическое выделение или освобождение памяти под требуемое в данный момент количество элементов массива.

Поскольку данная программа  является приложением Windows, то для ее реализации будем использовать стандартный подход при написании программ под Windows с использованием графического интерфейса. Так отдельно создадим форму с визуальными компонентами, для различных визуальных компонент сопоставляем процедуры – обработчики. Далее, как только происходит событие на каком-то из визуальных компонент, (щелчок мыши, нажатие на кнопку или пункт меню), операционная система посылает приложению соответствующее сообщение, и запускается соответствующий обработчик именно для этого события. Тогда решение задачи можно разбить на 3 этапа:

  1. Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент, предназначенных для ввода исходных данных, запуска действий по обработке исходных данных, вывода результата обработки, вывода результатов на экранную форму. Еще можно предусмотреть вывод информации разработчике и задании курсового проекта.
  2. Разработка обработчиков событий от элементов экранных форм, разработка алгоритмов и программных кодов действий обработки текстового файла согласно заданию.
  3. Подготовка тестовых исходных данных и отладка программы.

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

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

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

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

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

Подытожив все вышесказанное, можно сформулировать требования к  разрабатываемому программному обеспечению  и выполнить постановку задания на проектирование.

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

– запрашивать фамилию, имя и группу учащегося;

– выводить поочередно вопросы из базы;

– принимать ответы учащегося;

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

– вести протоколирование ответов и записывать их в файле на жестком диске;

– по окончании тестирования выводить правильную оценку;

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

Последующие разделы  будут посвящены решению поставленных задач и разработке приложения с  вышеперечисленными функциями.

 

 

2. Разработка экранных форм и алгоритма программы

 

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

По сформулированной в предыдущем задании постановке должна иметься возможность авторизации  тестируемого учащегося – ввода  его фамилии и группы. Для этого  предусмотрим отдельную форму авторизации FormAvto. Для возможности ввода данных об учащемся поместим на форме поля ввода типа TEdit и соответствующие метки описания к ним. Список объектов экранной формы приведен в таблице 2.1

 

Таблица 2.1 – Объекты  экранной формы FormAvto

Имя

Тип

Назначение

Label1

TLabel

надпись «Задайте фамилию, инициалы и группу учащегося»

Label2

TLabel

надпись «Фамилия»

Label3

TLabel

надпись «Имя»

Efam

TEdit

поле для вода фамилии  учащегося

EGroup

TEdit

поле для ввода группы учащегося

BitBtnStart

TBitBtn

кнопка для начала теста с надписью «НАЧАТЬ»


 

Для начала теста предусмотрена  кнопка типа TBitBtn, который в отличие  от обычных кнопок типа TButton позволяет  задавать не только текст, но и изображение. В обработчике нажатия на эту  кнопку должна выводиться форма с  вопросами. Внешний вид спроектированной формы приведен на рисунке 2.1

 

 

Рисунок 2.1 – Внешний  вид формы FormAvto

 

Для вывода вопросов, ввода  ответов пользователя предусмотрим отдельную форму FormTest. Список объектов, используемых в форме приведен в  таблице 2.2, а внешний вид приведен на рисунке 2.2.

 

Таблица 2.2 – Объекты экранной формы FormTest

Имя

Тип

Назначение

Label1

TLabel

надпись «Текущий вопрос»

LbNom

TLabel

надпись, в которой  будет выводиться номер текущего вопроса

StaticText1

TStaticText

поле, в котором будет  выводиться очередной вопрос

RGroup1

TRadioGroup

поля для вывода вариантов  ответов и их указания студентом

BitBtn1

TBitBtn

кнопка «Принять ответ» для анализа ответа и перехода к следующему вопросу

BNewTest

TButton

кнопка для закрытия формы тестов и перехода на форму  авторизации (для новой попытки тестирования)


 

При построении формы  предполагалось, что база вопросов будет построєна таким образом, чтобы ответ предполагал выбор  только одного из перечисленных четырех  вариантов ответов. То есть, база не должна содержать вопросов с множественным выбором, либо вариантов без правильного ответа. Также не должно быть вопросов, требующих ввода ответа в текстовом виде (например, ответ вычисленной формулы или правильное написание ключевого слова).

 

Рисунок 2.2 – Внешний вид формы FormTest

 

Во избежание кратковременного завершения теста скроем системное  меню окна, установив параметр формы FormTest. BorderIcons biSystemMenu равным false. Также в алгоритме следует предусмотреть, что в начале тестирования кнопка с надписью «Начать заново» должна быть невидимой, и должна появляться только после ответа на все вопросы и вывода итоговой оценки.

Анализируя все вышеизложенные предположения и разработанные  формы, можем составить словесные  алгоритмы приложения.

  1. Запустить экранную форму авторизации FormAvto
  2. При нажатии на кнопку «Начать» следует выполнить действия:
    1. Сгенерировать базу вопросов, и перемешать их случайным образом;
    2. Сформировать имя файла из имени студента и его группы и открыть файл для записи;
    3. Обнулить количество правильных ответов;
    4. Установить номер текущего вопроса на первый вопрос;
    5. Скрыть форму FormAvto и показать форму с тестами FormTest;
    6. Показать первый вопрос и варианты его ответов на форме FormTest;
    7. Ожидать нажатия на кнопку «Принять ответ».
  3. При нажатии на кнопку «Принять ответ» следует выполнить действия:
    1. Проанализировать выбранный вариант ответа и сравнить его с правильным, и если ответ правильный, то нарастить количество правильных ответов на 1;
    2. Записать в файл протокола текущий вопрос и вариант, который выбрал пользователь в качестве ответа;
    3. Если номер текущего вопроса меньше общего количества вопросов в базе, то нарастить номер на 1, вывести очередной вопрос на форму и перейти к началу пункта 3.
    4. Если номер текущего вопроса равен количеству вопросов в базе, то:
      1. подсчитать оценку пропорционально количеству правильных ответов;
      2. показать сообщение с оценкой;
      3. сделать кнопку «Начать заново» видимой
  4. При нажатии кнопки «Начать заново» закрыть форму с тестами FormTest и показать форму авторизации FormAvto.

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

Информация о работе Разработка программы с помощью языка программирования Delphi