МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ СТАЛИ И СПЛАВОВ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ НОВОТРОИЦКИЙ ФИЛИАЛ кафедра экономики и информатики КУРСОВАЯ РАБОТА РАЗРАБОТКА ЛАБОРАТОРНОГО ПРАКТИКУМА ИсполнительСтудент группы РуководительДата допуска к защите200г.
Новотроицк 2001 МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ СТАЛИ И СПЛАВОВ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ НОВОТРОИЦКИЙ ФИЛИАЛ кафедра экономики и информатики ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ Студент Ф.И.О группа Тема курсовой работы проекта Разработка лабораторного практикума Создание тестирующей программы
Срок сдачи курсового проекта Перечень вопросов подлежащих исследованию или разработке а Актуальность и значимость темы. б История развития обучающих и контролирующих программ. в Обоснование выбора используемых компонентов г Алгоритмы реализации проектов. Руководитель СОДЕРЖАНИЕ стр.ВВЕДЕНИЕ .41.СОЗДАНИЕ ТЕСТИРУЮЩИХ ПРОГРАММ С ИСПОЛЬЗОВА-НИЕМ ВИЗУАЛЬНЫХ КОМПОНЕНТОВ 1.Аналитический обзор .2.Описание
компонентов, используемых при реализации практической части курсовой работы 1.Компонент TLabel 2.Image .3.Компонент TTimer 4.Компонент TButton 5.Компонент TEdit 6.Компонент TRadioButton .7.Компонент TComboBox 8.Компонент TCheckBox 192.РАЗРАБОТКА ПРОГРАММЫ 1.Постановка задачи 2.Алгоритм реализации работы 21ЗАКЛЮЧЕНИЕ 32СПИСОК
ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ .33ПРИЛОЖЕНИЕ 34ПРИЛОЖЕНИЕ 35ПРИЛОЖЕНИЕ 38ПРИЛОЖЕНИЕ 41ПРИЛОЖЕНИЕ 52ПРИЛОЖЕНИЕ 64ПРИЛОЖЕНИЕ 98 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1. httpwww-2net.spbstu.ruCDEDmethod-rec . Особенности разработки учебных материалов. Статья. 2. Фаронов В.В. Delphi 4. Учебный курс. М. Нолидж, 1999. -447с. 3. Г Марков Е.П. Delphi среда визуального программирования. СПб.BHV-Санкт-Петербург, 1996. -352с. 4. Епанешников А Епанешников В. Программирование в среде Delphi 0. Учебное пособие. В 4-х частях. Ч.1. Описание среды. М.ДИАЛОГ-МИФИ, 1997. -235с. 5. Епанешников А Епанешников В. Программирование в среде Delphi 0. Учебное пособие.
В 4-х частях. Ч.2. Язык Object Pascal 9.0. М.ДИАЛОГ-МИФИ, 1997. -319с. 6. Фаронов В.В. Турбо Паскаль 0. Начальный курс. Учебное пособие. М.Нолидж, 1997. -616с. 7. Фаронов В.В. Турбо Паскаль 0. Практика программирования. Учебное пособие. М.Нолидж, 1997. -432с. ВВЕДЕНИЕ Оглядываясь назад, в эпоху становления средств вычислительной
техники, можно условно выделить ступени развития автоматизированных обучающих систем. Первые, самые ранние, представляли собой лишь электронные версии печатных изданий и содержали только текстовую информацию. Достоинством таких систем в сравнении с бумажными аналогами, по существу, являлась лишь интеграция информации. Постепенно, с развитием вычислительной техники, их стали сменять системы, которыми можно было пользоваться и как справочниками, то есть поисковые системы.
Далее арсенал автоматизированных обучающих систем пополняется статической графикой, компонентами мультимедиа звук и видео, компьютерной анимацией. Таким образом системы развивались в области информационных баз знаний, поддерживающих уже не только текстовое, но и аудио-видеовоздействие на обучаемого. Колоссальный скачок был сделан и в сфере развития систем контроля, ведь без них, по существу, обучающая система мало чем отличается от справочного пособия.
Итак, средства контроля обеспечивают ввод ответа обучаемого, обработку полученной информации и выдачу управляющего воздействия например, вы вводите ответ, а система одобряет или отвергает его. Следуя дальше по ступеням интеллектуализации обучающих систем, можно заметить, как плавно механизмы контроля перетекают в механизмы анализа высказываний обучающегося. Отметим, однако, что не следует путать их с простым контролем как простой оценки единичного события с интегральным оцениванием, являющимся результатом анализа и систематизации множества разнородных ответов данных в разное время. Не вдаваясь в теорию обучения, давайте рассмотрим простой пример. Ведь чем по сути отличается средство для создания обучающего курса от средства для создания мультимедийных энциклопедий Примерно тем же, чем учебник отличается от лектора, ведущего лекции в учебном заведении. Ведь учебник дает ответы на конкретные вопросы, помогает решать конкретные задачи и позволяет контролировать
себя, заглядывая на последнюю страничку и сверяя правильный ответ с полученным. А как быть тем, кто не знает, какой вопрос задать или не может правильно его сформулировать В классических учебных заведениях для этого существует лектор, который заботливо проводит студента по коридору знаний, понимает, с чего начать, и по ответам студента, на основе собственного опыта, делает выводы об уровне знаний студента в целом то есть дает ему интегральную оценку.
Иными словами, анализ высказываний обучающегося позволяет не только контролировать учебный процесс, но и определяет стратегию обучения в зависимости от предыстории ответов и исходя из определенного набора правил. В свою очередь, из анализа высказываний обучаемого проистекает управляющее воздействие на него, которое в частном случае может быть и удаленным. Последний метод, который называется дистанционной формой обучения, в настоящее время находится в стадии становления.
Вследствие данного обстоятельства в последнее время технологии автоматизированного обучения все больше тяготеют к Internet -технологиям. В данной курсовой работе речь пойдет о создании лабораторной работы по теме Создание тестирующей программы, которая и будет являться объектом исследования. 1. СОЗДАНИЕ ТЕСТИРУЮЩИХ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ ВИЗУАЛЬНЫХ КОМПОНЕНТОВ 1. Аналитический обзор В качестве инструментального средства целесообразно использовать систему компьютерного тестирования СКТ, удовлетворяющую следующим требованиям 1 простота подготовки тестовых заданий задания могут создаваться преподавателями в минимальной степени владеющими компьютером широкий диапазон применения возможность использования для подготовки тестов по широкому спектру дисциплин удобная система управления базами тестовых заданий удаление, добавление заданий, объединение баз заданий наличие систем сбора и обработки статистической информации по результатам тестирования для
тестируемых и для тестовых заданий лгкость организации оперативного контроля знаний в учебном процессе удобные средства решения задач например, наличие встроенного микрокалькулятора с расширенными возможностями встроенные мультимедийные возможности компактность система тестирования с количеством тестовых заданий до нескольких сотен должна помещаться на одну дискету низкие системные требования достаточно Windows 9598NT. Бурное развитие глобальной компьютерной сети показало перспективность удаленного тестирования
студентов с помощью интерактивных Web-тестов, устанавливаемых на серверах, подключенных к локальной компьютерной сети или сети Интернет. Более широкому распространению таких информационных технологий в образовании, позволяющих не только повысить интенсивность и эффективность процесса обучения, но и существенно расширить аудиторию потенциальных слушателей ведущих университетов страны, препятствует трудоемкость процесса разработки тестов, предназначенных для работы в
Web-сети. Для создания интерактивных Web-тестов преподавателю помимо знаний по курсу, для которого предназначен тест, требуются специальные навыки в области применения Интернет-технологий, либо необходима помощь соответствующего специалиста. При использовании для разработки учебных материалов любого из большого количества имеющихся инструментальных средств создания и редактирования HTML-документов, например, таких как Netscape Composer или Microsoft FrontPage, требуются базовые сведения о гипертексте и определенные навыки в области программирования. Кроме того, для придания Web-документам интерактивных свойств, позволяющих оперативно реагировать на информацию, введенную пользователем, автору потребуются еще более глубокие знания Интернет-технологий, связанные с необходимостью написания программ-обработчиков с использованием Java, JavaScript или
CGI-приложений. Таким образом, создание учебных материалов для дистанционного обучения в Web-сети предъявляет весьма высокие требования к квалификации преподавателя-разработчика в области практического использования современных информационных технологий. В противном случае необходима совместная работа коллектива специалистов различного профиля. Эти обстоятельства существенно повышают трудоемкость создания учебных
Web-пособий и, в определенной степени, сдерживают процесс развития такой формы дистанционного образования. 1.2. Описание компонентов, используемых при реализации практической части курсовой работы В практической части данной курсовой работы используются следующие визуальные и невизуальные компоненты 2, 3, 4, 5 среды программирования Borland Delphi 6.0. 1.2.1. Компонент TLabel TLabel служит для отображения текста на экране.
Можно изменить шрифт и цвет метки, если дважды щелкнуть на свойство Font в Инспекторе Объектов. Видно, что это легко сделать и во время выполнения программы, написав всего одну строчку кода. Этот компонент доступен из модуля STDCTRLS, и находится на странице Палитры компонентов Standard. Компонент представляет собой статический текст.
С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов. Но он имеет и другую важную функцию если в составе текста TLabel есть символы-акселераторы, информация об их нажатии может передаваться от TLabel другому элементу управления. Свойства компонента приведены в табл.1 Таблица 1 Свойства компонента TLabel СвойствоОписаниеPb property Caption TCaption TCaption string255Содержит строку с выводимым текстом.Pb property Alignment TAlignmentУстанавливает правило выравнивания текста по правому, левому краю или по центру клиентской области.Pb property AutoSize BooleanВ случае True происходит автоматическое приведение размеров компонента к размерам текста и высоте шрифта.Продолжение табл.1Pb property ShowAccelChar BooleanПоказывает, отображается ли в
TLabel акселератор символ, перед которым стоит знак амперсанда . Если оно равно False, амперсанд никак не интерпретируется. В случае True акселератор выделяется в строке подчеркиванием и нажатие клавиш Аlt символ приводит к передаче фокуса окну FocusControl т.к. TLabel сам не является оконным компонентом.Pb property
FocusControl TWinControlОпределяет оконный компонент, которому посылаются сообщения о вводе акселератора.Pb property Transparent BooleanПрозрачность фона компонента. Если свойство установлено в True, то при перерисовке элемента управления не происходит закрашивание клиентской области. В противном случае происходит закрашивание кистью bsSolid и цветом Color.Pb property WordMrap BooleanОпределяет возможность разрыва слов в случае, если длина выводимого
текста превышает ширину компонента. 1.2.2. Компонент TImage TImage – отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу. Этот компонент доступен из модуля EXTCTRLS, и находится на странице Палитры компонентов Additional. Этот компонент служит надстройкой над классом
TPicture и замыкает всю иерархию графических объектов VCL. Он предназначен для показа на форме изображения битовой карты TBitmap, метафайла TMetafile, значка TIcon. Свойство Pb property Picture TPicture служит контейнером для графического объекта одного из перечисленных классов. В качестве канвы используется канва объекта Picture. Graphic только если поле Graphic ссылается на объект класса TBitmap Pb property Canvas TCanvas Если это не так, то попытка обращения к свойству вызовет исключительную ситуацию EInvalidOperation, так как рисовать на метафайле или значке нельзя. Следующие три свойства определяют, как именно Tpicture располагается в рабочей области компонента Pb property AutoSize Boolean означает, что размеры компонента настраиваются по размерам содержащегося
в нем графического объекта. Устанавливать его в True нужно перед загрузкой изображения из файла или буфера обмена Pb property Stretch Boolean если это свойство установлено в True, то изображение натягивается на рабочую область, при необходимости уменьшая или увеличивая свои размеры. Если оно установлено в False, то играет роль следующее свойство Pb property Center Boolean если это свойство установлено в
True, изображение центрируется в пределах рабочей области. В противном случае располагается в ее верхнем левом углу. 1.2.3. Компонент TTimer TTimer – таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval. Период времени может составлять от 1 до 65535 мс. Этот компонент доступен из модуля EXTCTRLS, и находится на странице
Палитры компонентов System. Этот невизуальный компонент предназначен для уведомления программы об истечении определенных промежутков времени. Компонент инкапсулирует системный таймер Windows и работает через посылку сообщений WMTIMER. Свойство Pb property Enabled Boolean включаетвыключает таймер, влияя на генерацию им событий. Будучи установлен в Enabled, таймер начинает генерировать события
OnTimer через интервал времени Рb property Interval Word который измеряется в миллисекундах. После каждого истечения такого интервала инициируется обработчик, связанный с событием Pb property OnTimer TNotifyEvent При этом программист получает очередной квант времени. При активизации и деактивизации таймера или изменении интервала в системе может не оказаться свободных таймеров. В этом случае генерируется исключительная ситуация EOutOfResources. 1.2.4. Компонент TButton TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, по двойному щелчку можно создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом procedure TForm1.Button1ClickSender
TObject begin MessageDlgAre you there,mtConfirmation,mbYesNoCancel,0 end Этот компонент доступен из модуля STDCTRL, и находится на странице Палитры компонентов Standard. Двойной щелчок на кнопке не предусмотрен. Основным событием, связанным с нажатием кнопки любым способом является Pb property OnClick TNotifyEvent Под любым способом здесь подразумевается щелчок мышью, нажатие комбинации
клавиши акселератора, нажатие Enter или Esc только для некоторых кнопок или вызов метода Click из программы. Текст кнопки, появляющийся на ее поверхности, определен в свойстве Pb property Caption string Если в составе текста есть амперсанд , то следующий за ним символ используется в акселераторе, и нажатие комбинации клавиш Аlt символ вызывает нажатие кнопки. Водораздел среди кнопок проходит по тому, что именно означает нажатие.
Ряд кнопок TRadioButton, TCheckBox и группа TRadioGroup предназначен для ввода или переключения фиксированных параметров, и программиста более интересует их состояние в некоторый момент времени, чем сам факт нажатия. Кнопки TButton, TSpinButton и TBitBtn напротив, как правило, своим нажатием инициируют немедленные действия. Кнопка TSpeedButton может успешно служить для решения обеих задач. Как уже было сказано, нажатие влечет за собой OnClick. Но это не означает, что всегда нужно писать код для обработки всех нажатий. Например, исключением из этого правила является использование кнопок в модальных формах. Модальная форма, или модальный диалог специальная разновидность окон Windows и форм Delphi, предназначенная для ввода пользователем необходимых программе данных или выбора одного ответа из нескольких вариантов. Обычно при этом ему предоставляется несколько кнопок, соответствующих
вариантам. Вплоть до получения ответа в модальном диалоге пользователь не может переключиться на другие окна той же задачи, а в системном модальном диалоге и на другие задачи. Для использования в таких случаях предназначены стандартная кнопка Windows TButton и ее младшая сестра TBitBtn, отличающаяся только наличием картинки на ее поверхности. При их нажатии значение свойства ModalResult кнопки передается одноименному свойству формы, где такое
изменение означает вывод формы из модального состояния и ее закрытие Pb property ModalResult TModalResult TModalResult LowInteger HighInteger В модальной форме могут быть предусмотрены две специальные кнопки, соответствующие положительному и отрицательному решениям. Одна из них срабатывает при нажатии на клавиатуре Enter , другая Esc . Любая кнопка может получить такой статус, установив в
True соответственно одно из свойств Pb property Default Boolean Pb property Cancel Boolean У двух рассмотренных кнопок результат, который при нажатии кнопки передается модальной форме, будет соответственно равен mrOk и mrCancel. 1.2.5. Компонент TEdit TEdit – стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. Этот компонент доступен из модуля STDCTRL, и находится на странице Палитры компонентов Standard. Этот компонент не содержит собственного кода, в нем только опубликованы свойства его предка TCustomEdit. Он представляет собой редактируемую строку далее просто редактор. Стиль обрамления этого компонента Pb property BorderStyle
TBorderStyle по умолчанию равен bsSingle. Если свойство Pb property AutoSize Boolean равно True, компонент изменяет свою высоту в зависимости от размера шрифта свойство Font. Для того чтобы изменения имели место, должен еще быть установлен стиль обрамления bsSingle. Вводимый в редактор текст может автоматически подвергаться некоторым преобразованиям. Преобразование, задаваемое свойством CharCase, позволяет автоматически преобразовывать все символы
только в верхний или только в нижний регистр Pb property CharCase TEditCharCase TEditCharCase ecNormal, ecUpperCase, ecLowerCase По умолчанию установлен стиль ecNormal и преобразования не происходит. Аналогично, свойство Pb property OEMConvert Boolean определяет необходимость автоматического преобразования вводимых символов из кодировки OEM в ANSI и обратно.
Такое свойство часто бывает нужно при обработке текста в кодировке MS-DOS. Два следующих свойства описывают поведение выделенного текста при переходе фокуса. Первое из них Pb property AutoSelect Boolean описывает реакцию редактирующего элемента при получении фокуса. Если оно установлено в True по умолчанию это так, то при получении фокуса ввода весь текст в нем выделяется независимо от состояния свойства SelText.
Если AutoSelect установлено в False, то при получении фокуса выделяется лишь то, что было выделено до его утери. После утери фокуса редактором выделенный в нем текст обычно теряет цветовое выделение. Чтобы оно оставалось, установите в False второе свойство Pb property HideSelection Boolean На длину текста может быть наложено ограничение. Свойство Pb property MaxLength Integer определяет максимальную длину текста редактора в символах. Если значение этого свойства равно 0, то ограничений на длину текста нет. Свойство PasswordChar предназначено для ввода пароля с использованием редактора Pb property PasswordChar Char Его значение это символ, используемый для отображения вместо любых вводимых символов. Можно запретить возможность редактирования текста. Если значение свойства Pb property ReadOnly Boolean равно
True, текст изменить нельзя. Можно отследить изменения текста в редакторе, обрабатывая поступающие события Pb property OnChange TNotifyEvent 1.2.6. Компонент TRadioButton TRadioButton позволяет выбрать только одну опцию из нескольких. Если опять открыть диалог Options Project и выбрать страницу Linker Options, то можно видеть, что секции Map file и
Link buffer file состоят из наборов RadioButton. Этот компонент доступен из модуля STDCTRL, и находится на странице Палитры компонентов Standard. Радиокнопка переключатель, или кнопка с зависимой фиксацией также стандартный элемент управления Windows. Особенностью радиокнопок является механизм их переключения. Они группируются автоматически, то есть при выборе одной из них все остальные, принадлежащие тому же
элементу управления или форме, освобождаются. Для того чтобы в форме можно было использовать несколько независимых групп радиокнопок, используйте специальные компоненты. Свойство Pb property Checked Boolean определяет, нажата ли данная радиокнопка. При изменении этого свойства генерируется событие OnClick. У радиокнопки имеется свойство Caption, содержащее связанный с ней текст.
Выравнивание текста радиокнопки определяется свойством Pb property Alignment TLeftRight и может проводиться только по левому или по правому краю. У этого компонента предусмотрено также событие Pb property OnDblClick Такое событие посылается только уже нажатой радиокнопке, в то время как OnClick только ненажатой. 1.2.7. Компонент TComboBox TComboBox во многом напоминает ListBox, за исключением того, что позволяет вводить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен спадающий вниз drop-down combo box, который можно видеть внизу окна диалога выбора файла. Этот компонент доступен из модуля STDCTRL, и находится на странице Палитры компонентов Standard. Этот стандартный элемент управления
Windows комбинированный список имеет много общего с TListBox. Он состоит из собственно списка и помещенного рядом поля ввода редактирующего элемента. Таким образом, пользователь может выбрать одно из готовых значений какой-то величины или ввести свое. Стиль компонента в части правил взаимного сочетания списка и редактора определяется свойством Рb property Style TComboBoxStyle TComboBoxStyle csDropDown, csSimple, csDropDownList,csOwnerDrawFixed,
csOwnerDrawVariable Его значения имеют следующий смысл csSimple весь список виден все время. Текущий выбор отображается в редакторе, его можно изменить csDropDown список открывается выпадает и скрывается при нажатии кнопки, расположенной справа от текста. Такой список будем называть выпадающим csDropDownList список выпадающий, но редактирующий элемент заменен статическим текстом и вводить свои данные пользователь не может csOwnerDrawFixed определяемый пользователем
стиль списка с постоянной высотой элемента csOwnerDrawVariable определяемый пользователем стиль списка с переменной высотой элемента. Принципы пользовательской отрисовки списка для csOwnerDrawFixed и csOwnerDrawVariable, а также связанные с этим методы и события остались такими же, как в TListBox. По умолчанию устанавливается стиль csDropDown. Организация списка также сходна с предыдущей. Приведенные свойства и методы имеют то же назначение Pb property Items TStrings property ItemIndex Integer procedure Clear Pb property Sorted Boolean Ro property Canvas TCanvas Текст, содержащийся в редактирующем элементе списка, доступен через свойство Pb property Text TCaption Его максимальная длина ограничена числом символов, равным значению свойства Pb property MaxLength Integer Если MaxLength равно 0, то ограничений на длину строки нет до 255 символов.
При изменении текста а также при смене выбранного элемента возникает событие OnChange. Часть текста может быть выделена. Три свойства содержат выделенный текст, его положение и длину property SelText string property SelStart. Integer property SelLength Integer Метод procedure SelectAll выделяет весь текст. Значение свойства property DroppedDown Boolean соответствует состоянию списка
True соответствует открытому выпавшему списку. С его помощью можно показывать или скрывать список из программы. При изменении состояния списка возникает событие Pb property OnDropDown TNotifyEvent Максимальное число элементов, которые показываются при выпадении списка Pb property DropDownCount integer по умолчанию оно равно 8. В первой версии VCL это свойство описано, но не реализовано не играет роли.
1.2.8. Компонент TCheckBox TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора пункт меню Options Project, страница Compiler, то можно увидеть, что оно состоит преимущественно из CheckBox ов. Этот компонент доступен из модуля STDCTRL, и находится на странице
Палитры компонентов Standard. Кнопка с независимой фиксацией, или флажок. Является стандартным элементом управления Windows. Состояние кнопки отражает свойство Pb property State TCheckBoxState Оно может принимать одно из трех значений . TCheckBoxState cbUnchecked, cbChecked, cbGrayed Способ перехода из состояния в состояние при нажатии устанавливается свойством Pb property AllowGrayed Boolean Если оно равно False, кнопка имеет два состояния и при каждом нажатии переходит из cbUnchecked в cbChecked и обратно. Если AllowGrayed True, кнопка имеет три состояния и при нажатиях движется по циклу cbGrayed cbChecked cbUnchecked. Показывает, отмечена ли кнопка т. е. State cbChecked, свойство Pb property Checked Boolean
Оно доступно для записи с его помощью можно и отмечать кнопки. Значение False соответствует cbUnchecked. Выравнивание текста только по правому или левому краю задается при помощи свойства Pb property Alignment TLeftRightTLeftRight taLeftJustify taRightJustify Кнопка также имеет свойство Caption. Двойной щелчок на кнопке не предусмотрен. 2. РАЗРАБОТКА ПРОГРАММЫ 2.1. Постановка задачи Разработать лабораторный практикум по теме
Создание тестирующей программы. Программа должна содержать заставку с названием проекта, и перечень вопросов с вариантами ответов, из которых нужно выбрать правильный. По окончании тестирования должен быть выдан результат тестирования. 2.2. Алгоритм реализации работы Лабораторный практикум реализуется в десять этапов, в каждом из них происходит усложнение задачи. На первом этапе создается заставка, содержащая название тестирующей программы.
В качестве примера производится тестирование на знание программы Microsoft Excel из пакета программ Microsoft Office 2000. Необходимо создать проект для запуска заставки тестирующей программы, которая будет отображаться на экране 10 секунд рис.1. Для этого необходимо задать свойства компонентов табл.2, и создать процедуру завершения показа заставки TForm1.Timer1Timer Приложение 1.
Таблица 2 Свойства компонентов Form1CaptionПриглашение к тестированиюWindowStateмаксимальное окноColorclGreenImage1Pictureвставка из файла, в котором сохранена копия экрана окна EXCELLabel1CaptionПрограмма тестирования по пакету Microsoft EXCELWordWrapTrueFontTimes New Roman, 20 p, полужирный, белый, выровнен по центруColorclGreenTimer1Interval5000Even tsOnTimer Close закрытие формы Рис.1. Задание 1, форма 1 На втором этапе создается проект для запуска вопроса с вводом ответа тестирующей программы Project2, Unit2.pas, Form2. Пример проекта приведен на рис.2. Рис.2. Проект второго этапа Таблица 3 Свойства компонентов Form2CaptionВопрос с вводом ответаWindowStateнормальное окноColorclInfoBkLabel1CaptionТекст вопросаWordWrapTrueFontTimes New Roman, 16 p, полужирный, синий, выровнен по центру, на белом фонеEdit1FontTimes New Roman, 16 p, красныйButton2Exitпроцедура закрытия формыButton1OKобработка введенного ответа
Для этого необходимо задать свойства компонентов табл.3, и создать процедуру проверки правильности ответа на вопрос TForm2.Button1Click Приложение 1. На форме показывается вопрос, и в поле ввода ожидается ответ. После ввода ответа происходит его передача в переменную S блок 2, перевод всех букв в верхний регистр, и проверка этой переменной блок 3. Если введенный ответ совпадает с правильным, то происходит вывод сообщения о правильности ответа блок 5,
и закрытие формы блок 6. Иначе происходит вывод сообщения о том, что ответ неверен блок 4. На форме также присутствует кнопка Exit, которая позволяет прервать работу программы и выйти в систему кнопка выхода. На третьем этапе необходимо создать проект для запуска заставки, а затем через 10 сек вопроса с вводом ответа Project3, Unit1.pas, Unit2.pas. Для этого необходимо открыть первый проект, добавить в него модуль
Unit2 из проекта 2. В коде модуля Unit1 необходимо в разделе описания модулей добавить второй модуль Unit2, а в процедуре Timer1Timer убрать команду Close, вместо которой необходимо отключить таймер, сделать первую форму невидимой, и активизировать вторую форму Приложение 1 и 2. А также в коде модуля Unit2 вместо Close необходимо ввести команду Application.Terminate блок 2. На четвертом этапе нужно создать проект для вопроса с выбором ответа из выпадающего списка Project4, Unit4.pas, Form4. Пример такой формы приведен на рис.3. Необходимо задать также свойства компонентов табл.4. Таблица 4 Свойства компонентов ComboBox1TextОтвет из спискаItemsСписок ответов например, Простой Вычисляемый СравнивающийButton1OKобработка выбранного ответа
Рис.3. Вопрос с выбором ответа из выпадающего списка В списке варианты ответов заранее заданы, поэтому необходимо выполнить обычный выбор необходимо ответа. Выбранный ответ сравнивается с эталонным Приложение 2, и если он правильный, программа завершает свою работу блок 3. На пятом этапе необходимо создать проект для вопроса с выбором одного ответа Project5, Unit5.pas, Form5. Пример такого проекта приведен на рис.4.
Рис.4. Вопрос с выбором ответа Необходимо задать свойства компонентов, используемых в этом проекте табл.4. Таблица 4 Свойства компонентов RadioButton1CaptionПервый ответRadioButton2CaptionВторой ответRadioButton3CaptionТретий ответRadioButton4CaptionЧетвертый ответButton1OKобработка выбранного ответа Правильный ответ находится в третьей радиокнопке, поэтому при выборе ответа, и нажатии на кнопку OK, происходит следующее проверяется, какая радиокнопка была выбрана
Приложение 2, рис.14, блок 2, и если результат проверки положителен, то происходит завершение работы приложения блок 3. На шестом этапе нужно создать проект для вопроса с выбором нескольких правильных ответов Project6, Unit6.pas, Form6. Пример такого проекта приведен на рис.5. Рис.5. Вопрос с несколькими ответами При выделении правильных ответов, и нажатии кнопки OK, происходит обработка ответа Приложение 2. Если, при проверки условия, происходит совпадение рис.15, блок2, то приложение завершает свою работу блок 3. Кнопка Exit позволяет не отвечать на вопрос, и прервать выполнение этого приложения, т.е. она работает аналогично кнопкам Exit, описанным выше. На седьмом этапе необходимо создать проект для вопроса с выбором ответа с помощью картинки Project7, Unit7.pas, Form7. Пример такого проекта приведен на рис.6. Рис.6. Вопрос с картинкой
В этом случае на форму помещаются компоненты CheckBox, а картинка создается в любом графическом редакторе, например в Adobe PhotoShop 6.0. Обработка правильного ответа осуществляется аналогично предыдущему проекту Приложение 2, рис.16. Проверяется условие совпадения ответа блок 2, и в случае совпадения приложение завершает свою работу блок 3. На восьмом этапе необходимо дополнить Project3 новыми вопросами, представленными в этапах 4-7.
Сохранить проект предлагается под именем Project8. Для этого в каждом модуле при обработке кнопки ОК нужно сделать невидимой текущую форму и вызывать следующую форму по аналогии с третьим этапом, и по окончании тестирования сделать вывод количества и процента правильных ответов рис.7. Рис.7. Результат тестирования Глобальные переменные, необходимые для подсчета количества и процента правильных ответов, необходимо
объявить в специальном модуле UNIT0.pas. Этот модуль, не содержащий никакой формы, вставляется в проект по команде FILE NEW с выбором UNIT, а затем сохраняется как модуль UNIT0.pas. В каждом модуле в конструкции USES нужно добавить UNIT0 Приложение 6. При вычислении результатов тестирования используется модуль Unit8, в котором вызывается процедура TForm8.FormActivate
Приложение 2, рис.17. Здесь происходит преобразование переменных и вывод их на форму. Во-первых, общее количество вопросов блоки 2 и 3, во-вторых, количество правильных ответов блоки 4 и 5, и в-третьих подсчет процента правильных ответов и вывод его блоки 6 и 7. Все остальные процедуры построены аналогичным образом, согласно этапам 3-7 Приложение 3. На девятом этапе необходимо модифицировать проект восьмого этапа Project8, разработав процедуру ввода исходной информации о вопросах и ответах из текстовых файлов. Для этого нужно создать пять по количеству видов вопросов текстовых файлов 1.ТХТ, 2.ТХТ, 3.ТХТ, 4.ТХТ, 5.ТХТ. Информацию в каждом файле набрать в виде Первая строка текст вопроса Вторая строка номера правильных ответов Третья, четвертая, пятая и шестая строки варианты ответов
Седьмая строка вид вопроса 1 5. В модуле UNIT0 необходимо написать процедуру ввода из текстового файла Приложение 4, рис.23. Здесь сначала открывается необходимый текстовый файл блоки 2 и 3 и переменной-счетчику NSTR присваивается значение 1 блок 4. После этого производится ввод вопроса из этого файла блоки 5 и 6, потом читается правильный ответ блоки 7 и 8. Далее считываются варианты ответов, которые помещаются в специальный массив
Otvet блоки 9-11, и номер вид вопроса блоки 12 и 13. После этого файл закрывается блок 14 и процедура завершает свою работу блок 15. Для события формы FORM2 OnShow необходимо записать операторы вызова процедуры VVOD и назначения текста вопроса Приложение 4, рис.24. В этой процедуре задается имя тестового файла 1.txt блок 2, и вызывается процедура
VVOD для чтения данных блок 3. Далее проверяется условие совпадения вида вопроса блок 4, и в положительном случае на форму выводится вопрос блок 5. Также необходимо исправить проверку на введенный ответ в обработке кнопки ОК Приложение 4, рис.25. Сначала обнуляются переменные количества правильных ответов, и общего количества вопросов. Потом считывается ответ из поля ввода блок 2. В блоке 3 ответ проверяется, и при положительном результате проверки выводится сообщение, что ответ
был правильным блок 5 и к счетчику правильных ответов прибавляется единица блок 6. В противном случае выводится сообщение о том, что ответ неверен блок 4. Далее, пройденный вопрос считается, с рабочего стола исчезает форма 2 и выводится форма 4 блок 7. В случае нажатия кнопки Exit активизируется процедура Button2Click Приложение 4, рис.26, которая завершает работу данного приложения. При появлении на рабочем столе формы 4 активизируется процедура FormShow Приложение 4, рис.27 в которой происходит аналогичная работа по вводу данных блоки 2 и 3, и обработка номера вопроса для вывода блоки 4 и 5. Далее выводятся возможные варианты ответов в компонент ComboBox блоки 6 и 7. При ответе на вопрос активизируется процедура Button1Click Приложение 4, рис.29, которая работает аналогично процедуре
Button1Click предыдущей формы, в которой вызывается следующая форма. Во всех остальных формах работа процедур происходит аналогично вышеописанным Приложение 4, рис.28 – 38. В последней форме происходит преобразование необходимых переменных и вывод их на форму Приложение 4, рис.39. Во-первых, общее количество вопросов блоки 2 и 3, во-вторых, количество правильных ответов блоки 4 и 5, и в-третьих подсчет процента правильных ответов и вывод его блоки 6
и 7. На десятом, последнем, этапе нужно продолжить модификацию проекта Project8, выполнив ввод исходной информации о вопросах и ответах из одного текстового файла 0.ТХТ. Во всех модулях необходимо убрать назначение имени файла. В модуле Unit0 в процедуре VVOD нужно добавить назначение имени файла 0.ТХТ. В модуле Unit0 в процедуре VVOD требуется записать операторы вычисления номера строки
NSTR начала ввода информации нового вопроса и цикл пустого чтения для пропуска ненужной информации Приложение 5, рис.41. Сначала, в этой процедуре, задается имя тестового файла 0.txt блок 2, потом этот файл открывается блок 3. Далее вычисляется номер строки начала ввода информации нового вопроса и пропускается ненужная информация блоки 4-7. После этого производится ввод вопроса из файла блоки 8 и 9, потом читается правильный ответ блоки 10 и 11. Далее считываются варианты ответов, которые помещаются в специальный массив Otvet блоки 12-14, и номер вид вопроса блоки 15 и 16. После этого файл закрывается блок 17 и процедура завершает свою работу блок 18. После этого во всех модулях отображения вопросов задать оператор изменения номера вопроса qq1. Все процедуры показа форм и обработки ответов остаются аналогичными девятому этапу Приложение 5, рис.42 – 59. ЗАКЛЮЧЕНИЕ В результате выполнения данной курсовой работы был разработан
лабораторный практикум. Было проведено исследование компонентов программной среды Borland Delphi 6.0, которые использовались при создании данного практикума. В результате исследования были выявлены следующие недостатки полученного лабораторного практикума 1. Невозможность вернуться к предыдущему вопросу тестирующей программы 2. Незащищенность исходного текстового файла с вопросами и ответами, в результате чего есть возможность
обойти ответы и получить положительную оценку 3. Жесткая привязка к линейке операционных систем Windows. Однако, помимо недостатков, есть и достоинства у получаемого программного продукта и использования лабораторного практикума 1. Программный продукт малотребователен к системным ресурсам компьютера. Минимальная конфигурация процессор не ниже Pentium, оперативная память не ниже 16 Mb, операционная система Windows 95 98 Me NT 2000 XP 2.
Программный продукт можно использовать для контроля знаний по любым дисциплинам, достаточно изменить текстовый файл с вопросами и ответами 3. Лабораторный практикум легок в изучении, и дает достаточно необходимых знаний для создания тестирующих программ. В результате учета всех сделанных выше замечаний возможно улучшение создаваемого программного продукта, на которое потребуется минимум изменений исходного кода программы.