Разработка тестирующего приложения по дисциплине философия
Изучение теоретических основ программирования, методов структурирования программ и программных модулей. Написание программного продукта с помощью объектно-ориентированного языка программирования Delphi для всех типов устройств с Windows XP/Vista/7.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.03.2014 |
Размер файла | 2,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Актуальность выбранной темы обусловлена тем, что технические устройства глубоко внедрились в образовательный процесс, и возникает необходимость в применении этих устройств, для проверки знаний. Посредником между проверкой знаний и техническими устройствами выступает программный продукт, представленный в виде контролирующей программы.
Целью курсовой работы является: написание программного продукта с помощью объектно-ориентированного языка программирования Delphi, который будет корректно работать на всех устройствах, поддерживающих операционную систему семейства Windows XP/Vista /7.
В соответствии с поставленной целью необходимо выполнить следующие задачи:
Изучить теоретические основы программирования
Изучить и проанализировать методы структурирования программ и программных модулей
Изучить среду программирования Borland Delphi 7
Создать приложение в среде программирования Borland Delphi 7
Выполнить отладку разработанного приложения.
Обоснование выбора ЯП
В настоящее время существует множество языков программирования и сред программирования. Некоторые предназначены для написания клиентских приложений, некоторое для написания серверных приложений. На сегодняшний день умение работать в среде программирования Delphi является ценным качеством для профессионала, поэтому необходимо развивать навыки работы в данной среде, что, в свою очередь, поможет нам стать квалифицированными специалистами в программировании.
Delphi - среда программирования, в которой используется язык программирования ObjectPascal. Начиная со среды разработки Delphi 7.0, в
официальных документах Borland стала использовать название Delphi для обозначения языка ObjectPascal. В настоящее время программистам стала доступна версия пакета Delphi - BorlandDelphi 7 Studio. BorlandDelphi 7 Studioпозволяет создать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. Особых требований, по современным меркам, к ресурсам компьютера пакет не предъявляет.
Рекомендуемые источники литературы
Для выполнения данной работы потребовалось воспользоваться следующими источниками литературы:
Культин Н.Б. «Основы программирования в Delphi 7» , 2009г
Культин Н.Б. «Delphi в задачах и примерах» 2010г
Фаронов.В «Delphi для начинающих»
Описание программы
1. Delphi - среда программирования
delphi программа программирование
1.1 Общие сведения
Название программы - «Контролирующая программа на тему: «Промежуточное тестирование по учебной дисциплине «Философия»». Данный программный продукт помогает преподавателю провести проверку знаний у студентов в соответствии со всеми требованиями и критериями оценки. Программный продукт состоит из трех окон. Первое окно - это титульное окно, которое знакомит пользователей с программой, а также кем эта программа была выпущена. Титульное окно включает в себя меню справки и две кнопки: «Далее» и «Выход». После нажатия кнопки «Далее» программа предложит зарегистрировать пользователя. После регистрации пользователь соответственно приступает к тесту. Вопросы тестов можно разделить на четыре категории:
Вопросы, в которых необходимо выбрать только один вариант ответа
Вопросы, в которых необходимо выбрать несколько вариантов ответа
Вопросы, в которых необходимо установить соответствие вариантов
Вопросы, в которых необходимо вписывать правильный ответ.
Общее число вопросов не превышает 30, все вопросы скомбинированы универсально, что позволяет более широко проверить уровень знаний учащихся по данной дисциплине.
1.2 Функциональное назначение
С ростом технического прогресса необходимо внедрять технологии не только в домашнем быту, но еще и в других сферах деятельности человека, особенно в сфере образования. Программный продукт содержит 30 вопросов, скомбинированных из разных вариантов, вариантов всего два. Основным назначением данной программы является промежуточная проверка знаний по дисциплине философия и выявление некоторых ошибок и недочетов по некоторым темам предмета, а также упрощенная и быстрая аттестация студента (учащегося). Пройти тестирование может абсолютно каждый, в целях проверки уровня знаний по философии и выявления некоторых недостатков в знании данной дисциплины.
Описание инструментальной оболочки
Тестирующая программа написана на объектно-ориентированном языке программирования Delphi 7. Вид экрана после запуска Delphi несколько необычен. Вместо одного окна на экране появляется пять:
Главное окно Delphi 7
Окно стартовой формы - Form1
Окно редактора свойств объектов - Object Inspector
Окно просмотра списка объектов - Object TreeView
Окно редактора кода - Unit1.pas.
Окно редактора кода почти полностью закрыто окном стартовой формы. В главном окне находится меню команд, панели инструментов и палитра компонентов.
Окно стартовой формы (Form1) представляет собой заготовку главного окна разрабатываемого приложения.
Окно Object Inspector - окно редактора свойств объектов, предназначено для редактирования значений свойств объектов. В терминологии визуального проектирования объекты - это диалоговые окна и элементы управления (поля ввода и вывода, командные кнопки, переключатели и др). Свойства объекта - это характеристики, определяющие вид, положение и поведение объекта. Например, свойства Width и Height задают размер (ширину и высоту) формы, свойства Top и Left - положение формы на экране, свойство Caption - текст заголовка.
В окне редактора кода, которое можно увидеть, отодвинув в сторону окно формы, следует набирать текст программы.
Для создания данного программного продукта потребовались следующие компоненты: форма (Form), Бит-кнопка (BitBtn), Изображение (Image), мое меню (Mein Menu), таймер (Timer), вэб браузер (WebBrowser), поле редактирования (Edit), лэйбл (Label), радиокнопка (RadioButton), флажок (CheckBox), окно сообщения (процедура ShowMessage).
Компонент BitBtn - это командная кнопка, похожая на компонент Button с другим именем, она также используется для реализации в программе команд с помощью обработчика события OnClick этого компонента, но в отличие от компонента Button, у компонента BitBtn есть уникальное свойство Glyph, которое позволяет разместить на компонент BitBtn картинку в формате *BMP, для красивого оформления приложения.
Компонент Image дает отображение на форме графического изображения. Свойство Picture типа TPicture содержит отображаемую графическую сотавляющюю у которой тип - битовая матрица, пиктограммы, метафайла или определенного пользователем типа.
Компонент Main Menu - не визуальный компонент delphi (место размещения которого на форме не имеет значения для пользователя так как он увидит не сам компонент, а меню, с генерированное им), предназначенный для вывода главного меню на форме.
Во многих современных программах необходимо работать с данными в формате HTML. В качестве средства для просмотра таких данных в Delphi применяется компонент TWebBrowser, который использует элемент управления ActiveXWebBrowser, входящий в состав MicrosoftInternetExplorer. Таким образом, этот компонент имеется на любом компьютере, на котором установлен InternetExplorer. Все последние версии Windows содержат TWebBrowser в своем составе и без него практически неработоспособны.
Компонент Label предназначен для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы.
Компонент Timer (не визуальный компонент, который может размещаться в любом месте формы) позволяет задавать в приложении интервалы времени. Таймер находит многочисленные применения: синхронизация мультипликации, закрытие каких-то окон, с которыми пользователь долгое время не работает, включение хранителя экрана или закрытие связей с удаленным сервером при отсутствии действий пользователя, регулярный опрос каких-то источников информации, задание времени на ответ в обучающих программах - все это множество задач, в которых требуется задавать интервалы времени, решается с помощью таймера.
Компонент Edit представляет собой однострочное текстовое поле, служащее для ввода данных пользователем.
Компонент Delphi RadioButton - это "радиокнопка", и как следует из названия, служит для "переключения каналов", как и в настоящем радиоприёмнике. Это значит, если выбран один из компонентов Delphi RadioButton, то с остальных компонентов выбор автоматически снимается. Получается, что в данный момент может быть выбран только один из группы компонентов Delphi RadioButton. Компонент Delphi RadioButton состоит из круглого окошка и текстовой строки. В окошке появляется отметка выбора данного компонента, текстовая строка поясняет его смысл. За изменение текстовой строки отвечает свойство Caption. Основное же свойство компонента Delphi RadioButton - Checked (т.е. "выбрано") типа Boolean, доступное как для чтения, так и для записи. У выбранного компонента свойство Checked равно True.
Компонент Delphi CheckBox это флажок - независимый переключатель. Флажок Delphi CheckBox используется в программе для визуализации состояний включено-выключено. Каждый щелчок мышкой по компоненту Delphi CheckBox меняет его состояние на противоположное. Смена состояния переключателя также доступна и в программе.
При создании данного программного продукта была использована не только инструментальная оболочка, но и графический редактор Adobe Photoshop CS5. Adobe Photoshop - многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems.
В основном работает с растровыми изображениями, однако имеет некоторые векторные инструменты.
Продукт является лидером рынка в области коммерческих средств редактирования растровых изображений, и наиболее известным продуктом фирмы Adobe. Часто эту программу называют просто Photoshop (Фотошоп). Программное обеспечение Adobe Photoshop CS5, соответствующее отраслевым стандартам, позволяет создавать профессиональные изображения. С легкостью выделяйте сложные области. Удаляйте любые элементы изображения с мгновенным интеллектуальным заполнением пустой области.
2. Разработка программного продукта
2.1 Логическая структура
Тест Выход
2.1 Функциональное описание форм
Главное меню.
Перед открытием главного меню будет загружаться форма-логотип (Рисунок 1). Форма-логотип видна всего 5 секунд, что является достаточным лимитом времени для всех форм-логотипов.
Рисунок 1. Форма логотип
Для обработки формы-логотипа был написан следующий код:
procedure TForm1.FormShow(Sender: TObject);
begin
Form5.ShowModal;
end;
Procedure TForm1.FormShow(Sender: TObject) выполняет процедуру показа формы для Form1. В ходе этой процедуры выполняется следующая команда Form5.ShowModal. Она означает, что необходимо показать форму 5 (Form5). Для создания формы логотип потребовалось добавить в проект дополнительную форму, добавить компонент image в свойство picture загрузить изображение логотипа, добавить компонент Timer (таймер) и внести для него следующий код:
procedure TForm5.Timer1Timer(Sender: TObject);
begin
close;
end;
Procedure TForm5.Timer1Timer(Sender: TObject) говорит о том, что будет обработана процедура таймера. В ходе процедуры выполняется команда Close, которая говорит о том, что форма 5 будет закрыта через определенный интервал времени который будет указан в свойствах таймера. В свойство таймера interval пишем значение 5000, которое соответствует 5 секундам.
Главная форма (Рисунок 2) загружается автоматически при запуске программы.
Рисунок2 - Главная форма
На форме располагаются кнопки навигации «Тест», «Выход».
Кнопка «Тест» закрывает главное меню и открывает окно регистрации участника.
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
PlaySound('008.wav', 0, SND_ASYNC);
Form1.Hide;
Form2.Show;
Procedure TForm1.BitBtn3Click (Sender: TObject) говорит о том, что для компонента BitBtn3 обрабатывается событие одного нажатия левой кнопки мыши (Click). При нажатии на кнопку выполнится команда PlaySound. Эта команда запускает звуковой файл который будет озвучивать нажатие на кнопку. Затем выполнится команда Form1.Hide, которая скроет главное меню и Form2.Show, которая покажет нам окно регистрации.
Кнопка «Выход» полностью закрывает программный продукт и выгружает его из процесса.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
PlaySound('008.wav', 0, SND_ASYNC);
Form1.Close;
Application.Terminate;
end;
В этом коде аналогично обрабатывается событие одного нажатия левой кнопки мыши, но выполняются другие команды. Команда Form1.Close закрывает форму главного меню. Команда Application.Terminate выгружает приложение из процесса системы. Также на форме главного меню находится контекстное меню «Справка» с двумя разделами «О программе», «Разработчик» (Рисунок3).
Рисунок 3 - Меню справки
Для меню справки используется компонент MainMenu. Для этого компонента записываются заголовки «Справка», «О программе», «Разработчик». Для заголовка «Справка» нет необходимости писать код открытия контекстного меню, так как это основное действие компонента MainMenu. При нажатии на заголовок «О программе» открывается окно вэб-браузера с подробным описанием использования данного программного продукта.
procedure TForm1.N2Click(Sender: TObject);
var
path:string;
begin
Form4.Show;
path:=extractfilepath(application.exename);
Form4.WebBrowser1.navigate(path+'hlp.html');
На созданную форму 4 добавляется компонент WebBrowser. Procedure TForm1.N2Click(Sender: TObject) процедура обработки одного нажатия левой
кнопки мыши по заголовку «О программе». Var - раздел объявления переменной. Задается переменная path с типом данных string. Команда Form4.Show показывает форму 4 с компонентом WebBrowser.
Рисунок 4 - окно справки.
Переменной Path присваивается значение запуска файла path:= extractfilepath (application.exename). На форме 4 компонент WebBrowser загружает текстовый документ в формате html (Рисунок 4).
Для открытия меню «Разработчик» код аналогичен, как и для меню «О программе».
Окно регистрации. В окне регистрации пользователь записывает свои данные (Рисунок5).
Рисунок 5 - Окно регистрации
В окне регистрации для компонентов Edit1, Edit2, Edit3 необходимо прописать событие OnChange.
procedure TForm2.Edit1Change(Sender: TObject);
begin
If (Edit1.Text< >'') and (Edit2.Text< >'') and (Edit3.Text< >'') then button1.Enabled:= true else button1.Enabled:= false;
end;
В данном коде прописано условие If (Edit1.Text< >'') and (Edit2.Text< >'') and (Edit3.Text< >'') then button1.Enabled:= true else button1.Enabled:= false;. Оно означает, что если текст Edit1, Edit2, Edit3 неравен ничему, то кнопка Button1 не активна, иначе - она активна. Для компонента Button1 необходимо в свойство Enabled поставить значение true. Процедура Change для Edit2 и Edit3 прописывается аналогично как и для Edit1. Когда все поля формы заполняются, кнопка «Далее» становится активной. Для этой кнопки прописывается следующий код:
procedure TForm2.Button1Click(Sender: TObject);
var fi:Textfile;
s:string;
s1:string;
s2:string;
begin
Form3.Show;
Form2.Hide;
s:= (Edit1.Text);
s1:= (Edit2.Text);
s2:= (Edit3.Text);
assignfile (fi,'d:\\результат тестирования по философии.txt');
If (Edit1.Text<>' ') and (Edit2.Text<>' ') and (Edit3.Text<>' ')then
begin
rewrite(fi);
writeln(fi, s+'Имя: '+'', s1+'Группа: ',s2);
closefile(fi);
end;
end;
Procedure TForm2.Button1Click(Sender: TObject); .Здесь прописана процедура одного нажатия левой кнопки мыши по компоненту Button1, который находится на форме 2. В разделе var объявлены переменные: fi, s, s1, s2. Переменная fi имеет тип данных Textfile который отвечает за то, что эта переменная задает параметры для действий над текстовым файлом. S, s1, s2 имеют тип данных string (строка), то есть все значения этих переменных будут обрабатывать строковые значения. Этим переменным присваиваются значения, которые будут вписаны в Edit1, Edit2, Edit3. Далее выполняется команда AssignFile, которая создает файл. В скобках прописывается файловая переменная (fi) и путь для создания текстового файла. Затем прописывается условие If (Edit1.Text<>' ') and (Edit2.Text<>' ') and (Edit3.Text<>' ') then. Это условие говорит о том, что если значения текста в полях Edit1, Edit2, Edit3 не равны ничему, то есть в них будет какой либо текст то начать выполнение следующей команды. Следующая команда - это rewrite(fi). Эта команда записывает файловую переменную (fi). После записи файла выполняется команда writeln (fi, s+'Фамилия: 's1 +'Имя: ' s2+'Группа: ').
Эта команда выводит в строку значения записанной файловой переменной (fi). Далее закрывается (fi) через команду close(fi) и открывается окно теста (Рисунок 6).
Рисунок 6 - Форма с тестом
На данной форме представлен вопрос с выбором только одного вариантf ответа. Здесь активными являются следующие компоненты: Label1, Label2, Label3, RadioButton1, RadioButton2, RadioButton3, RadioButton4, Bitbtn1.
Код программы для этого типа вопросов:
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
if radiobutton2.Checked then ball:=ball+1;
Label2.Caption:='Верны ли следующие суждения о философии ? А) Философия невозможна в обществе тоталитарного, казарменного режима. Б) Философия рождена свободой и для свободы';
RadioButton1.Caption:= 'Верно только А';
RadioButton2.Caption:= 'Верно только Б';
RadioButton3.Caption:= 'Верны оба суждения';
RadioButton4.Caption:= 'Оба суждения неверны';
BitBtn1.Visible:= false;
BitBtn2.Top:= BitBtn1.Top;
BitBtn2.Left:= BitBtn1.Left;
BitBtn2.Height:= BitBtn1.Height;
BitBtn2.Width:= BitBtn1.Width;
BitBtn2.Visible:= true;
num:=1;
num:=num+1;
Label3.Caption:= 'Вопрос № ' + IntToStr(num);
RadioButton1.Checked:=false;
RadioButton2.Checked:=false;
RadioButton3.Checked:=false;
RadioButton4.Checked:=false;
end;
Для подсчета бала и перехода на следующий вопрос, также обрабатывается событие одного нажатия левой кнопки мыши, для компонента BitBtn1 (procedure TForm3.BitBtn1Click(Sender: TObject);). Поскольку первый вопрос записан на форме в заголовки Label1, Label2, для начала необходимо прописать условие подсчета бала, иначе подсчет бала просто не произойдет из-за того, что значения компонентов Radiobutton обнуляются с каждым новым вопросом. Условие подсчета бала if radiobutton2.Checked then ball:=ball+1. Если выбран Radiobutton под номером 2, то к переменной ball прибавляется единичка. Переменная ball объявляется в разделе var для всей формы, поэтому в коде для кнопки этого раздела нет. После подсчета бала компоненты Radiobutton обнуляются с помощью функции Checked:=false. Обнуление Radiobutton необходимо для того, чтобы при переходе на следующий вопрос не было выбрано ни одного варианта ответов. В заголовок Label1 в свойство Caption записывается тип вопроса, чтобы пользователям было более понятно.
Сами вопросы выводятся в Caption для Label2. Номера вопросов выводятся в Label3 также через свойство Caption. Ответы на вопросы выводятся в Caption для всех компонентов Radiobutton.
BitBtn1.Visible:= false скрывает первую кнопку. BitBtn2.Visible:= true показывает вторую кнопку. Все свойства первой кнопки передаются на вторую следующим образом: BitBtn2.Top:= BitBtn1.Top; BitBtn2.Left:= BitBtn1.Left, BitBtn2.Height:= BitBtn1.Height; BitBtn2.Width:= BitBtn1.Width;
Label3 предназначен для выведения номера вопросов, подсчет номера вопроса осуществляется через переменную (num). Аналогичный код прописан для всех компонентов, которые используются для вопросов с выбором одного варианта ответа. Вопрос с выбором нескольких вариантов ответа (Рисунок 7).
Рисунок7 - Выбор нескольких ответов
Для таких вопросов был написан следующий код:
procedure TForm3.BitBtn16Click(Sender: TObject);
begin
if RadioButton1.Checked=true then ball:= ball+1 ;
RadioButton1.Visible:=false ;
RadioButton2.Visible:=false;
RadioButton3.Visible:=false;
RadioButton4.Visible:=false;
CheckBox1.Visible:=true;
CheckBox2.Visible:=true;
CheckBox3.Visible:=true;
CheckBox4.Visible:=true;
CheckBox5.Visible:=true;
CheckBox6.Visible:=true;
CheckBox1.Checked:=false;
CheckBox2.Checked:=false;
CheckBox3.Checked:=false;
CheckBox4.Checked:=false;
CheckBox5.Checked:=false;
CheckBox6.Checked:=false;
Label1.Caption:='Выберите несколько вариантов ответа';
Label2.Caption:='К глобальным проблемам современности относятся: ' ;
CheckBox1.Caption:='Проблема образования народных масс';
CheckBox2.Caption:='Демографическая проблема';
CheckBox3.Caption:='Продовольственная проблема';
CheckBox4.Caption:='Торговая проблема';
CheckBox5.Caption:='Проблема использования космоса';
CheckBox6.Caption:='Научная проблема';
BitBtn16.Visible:= false;
BitBtn17.Top:= BitBtn1.Top;
BitBtn17.Left:= BitBtn1.Left;
BitBtn17.Height:= BitBtn1.Height;
BitBtn17.Width:= BitBtn1.Width;
BitBtn17.Visible:= true;
num:=num+1;
Label3.Caption:= 'Вопрос № ' + IntToStr(num);
end;
Когда появляются вопросы с выбором нескольких вариантов ответа, скрываются компоненты RadioButton через свойство Visible:=false и через это же свойство только с значением true показываются компоненты CheckBox, которые изначально были скрыты. Вывод вопросов и вариантов ответа таrже осуществляется через свойство Caption. Каждая новая кнопка получает свойства предыдущей.
Вопросы, в которых необходимо установить соответствие (Рисунок 8).
Рисунок 8 - Установите соответствие
Код программы:
procedure TForm3.BitBtn25Click(Sender: TObject);
begin
if (CheckBox1.Checked=true) and
(CheckBox2.Checked=true)
then ball:= ball+1 ;
Edit1.Visible:=true;
Label4.Visible:=true;
Label1.Caption:='Установите соответствие';
Label4.Caption:='КОНЦЕПЦИИ СМЫСЛА ЖИЗНИ';
Label5.Caption:='ЕЁ СУЩНОСТЬ';
Edit1.Text:='А';
Edit2.Text:='Б';
Edit3.Text:='В';
Edit4.Text:='Г';
Edit5.Text:='Д';
BitBtn25.Visible:= false;
BitBtn26.Top:= BitBtn1.Top;
BitBtn26.Left:= BitBtn1.Left;
BitBtn26.Height:= BitBtn1.Height;
BitBtn26.Width:= BitBtn1.Width;
BitBtn26.Visible:= true;
num:=num+1;
Label3.Caption:= 'Вопрос № ' + IntToStr(num);
end;
Для этой формы понадобилось добавить новые компоненты Label в которых записываются варианты из которых составляется соответствие. Также были добавлены компоненты Edit, для того чтобы вписывать значения для установки соответствий. Эти компоненты изначально были скрыты. Ненужные компоненты скрываются. Во всем коде изменяется только условие для правильного ответа.
Вопросы, в которых правильный ответ необходимо вписать
(Рисунок 9)
Рисунок 9 - впишите правильное слово
Код программы:
procedure TForm3.BitBtn28Click(Sender: TObject);
begin
if (Edit1.Text='материя') or (Edit1.Text='Материя') or (Edit1.Text='МАТЕРИЯ')
then ball:=ball+1;
Edit1.Width:=121;
Edit1.Left:=350;
Label5.Visible:=false;
Label1.Caption:='Впишите правильное слово';
Label2.Caption:='Найдите и укажите термин, не связанный с понятием "Мировоззрение".';
Label6.Caption:='Мироздание';
Label7.Caption:='Миропонимание';
Label8.Caption:='Система ценностей';
Label9.Caption:='Мировосприятие';
Label10.Caption:='Убеждения';
BitBtn28.Visible:= false;
BitBtn29.Top:= BitBtn1.Top;
BitBtn29.Left:= BitBtn1.Left;
BitBtn29.Height:= BitBtn1.Height;
BitBtn29.Width:= BitBtn1.Width;
BitBtn29.Visible:= true;
num:=num+1;
Edit1.Text:='';
Label3.Caption:= 'Вопрос № ' + IntToStr(num);
end;
Все ненужные компоненты скрываются, снова меняется условие для выбора ответа. Таким условием является if (Edit1.Text='материя') or (Edit1.Text = 'Материя') or (Edit1.Text = 'МАТЕРИЯ') then ball:= ball+1; Нюансом данного условия является то, что про правильный ответ может быть прописан либо заглавными буквами, либо строчными, либо только первая буква будет заглавной. Это нужно для того чтобы программа понимала все символы. Иначе бы бал тоже не засчитывался.
Завершение теста. Когда тест завершается кнопка «далее» сменяется на кнопку «завершить» (Рисунок10).
Рисунок 10 - Завершить
Для завершения теста был написан следующий код:
procedure TForm3.BitBtn30Click(Sender: TObject);
begin
if (Edit1.Text='гипотеза') or (Edit1.Text='Гипотеза') or (Edit1.Text='ГИПОТЕЗА')
then ball:=ball+1;
Label3.Caption:= 'Вопрос № ' + IntToStr(num);
begin
if ball>=27 then
Label2.Caption:='Оценка 5. Количество неправильных ответов:' +IntToStr (ball)
else
if ball<=15
then
Label2.Caption:='Оценка 2. Количество правильных ответов:' +IntToStr (ball)
else
if ball<=18 then
Label2.Caption:='Оценка 3. Количество правильных ответов:' +IntToStr (ball)
else
if ball<=22 then
Label2.Caption:='Оценка 4. Количество правильных ответов:' +IntToStr (ball) ;
end;
Form2.Edit1.Text:='';
Form2.Edit2.Text:='';
Form2.Edit3.Text:='';
Begin
assignfile (fi, 'результат ТЕСТА ПО ФИЛОСОФИИ.txt');
if fileexists ('результат ТЕСТА ПО ФИЛОСОФИИ.txt') then append(fi) else rewrite (fi);
begin
a:= Form2.Edit1.Text+ ' '+ Form2.Edit2.Text+' '+ Form2.Edit3.Text+ ' ';
if ball>=27 then
b:=('Оценка 5. Количество правильных ответов: '+IntToStr (ball))
else if ball<=15 then
b:=('Оценка 2. Количество правильных ответов: '+IntToStr (ball))
else if ball<=18 then
b:=('Оценка 3. Количество правильных ответов: '+IntToStr (ball))
else if ball<=22 then
b:=('Оценка 4. Количество правильных ответов: '+IntToStr (ball) );
writeln(fi,a,b);
writeln(fi);
closefile(fi);
В данном коде прописывается условие для последнего ответа на вопрос if (Edit1.Text='гипотеза') or (Edit1.Text='Гипотеза') or (Edit1.Text='ГИПОТЕЗА') then ball:=ball+1;
Далее записывается условие для команды вывода сообщения в котором показывается оценка участника: if ball>=27 then
Label2.Caption:='Оценка 5. Количество неправильных ответов:' +IntToStr (ball) else if ball<=15 then Label2.Caption:='Оценка 2. Количество правильных ответов:' +IntToStr (ball) else if ball<=18 then Label2.Caption:='Оценка 3. Количество правильных ответов:' +IntToStr (ball) else if ball<=22 then Label2.Caption:='Оценка 4. Количество правильных ответов:' +IntToStr (ball) ;
Условие говорит о том, что если переменная бал больше или равно 27 то на форме через компонент Label2 будет выведено сообщение 'Оценка 5. Количество неправильных ответов: . Для других оценок условие меняется но структура такая же. После этого осуществится дозапись файловой переменной (fi) с помощью команды append. Но перед этой командой будет проверяться наличие файла с помощью команды FileExsists.
Общее описание форм.
С помощью компонента Image загружены фоновые картинки на всех формах программы, кроме форм содержащих текст справки. На все компоненты BitBtn в свойстве Glyph подгружены картинки, для визуального улучшения интерфейса программы.
Также следует отметить, что все кнопки при наведении на них курсора мыши «подсвечиваются», чтобы подчеркнуть, что пользователь намеревается выбрать именно эту кнопку, и что именно эта кнопка выбрана. Такой эффект достигается путем внесения в программный код следующей процедуры:
type
TBitBtn = class(Buttons.TBitBtn) // Вот это я добавил руками
procedure CMMouseEnter(var msg:TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
end;
В type вносится новый класс кнопки - BitBtn. Затем прописываются процедуры CM_MOUSEENTER и CM_MOUSELEAVE. CM_MOUSEENTER - процедура обрабатывающая вхождение курсора мыши в пространство какого либо компонента. CM_MOUSELEAVE наоборот обрабатывает событие выхода курсора мыши из области компонента. Чтобы указать что именно делать этим процедурам в общий код формы записывается следующий код:
procedure TBitBtn.CMMouseEnter(var msg: TMessage); // Мышка над кнопкой
begin
Glyph := nil;
If Tag =1 then
Glyph.LoadFromFile('Выход 2.bmp') ;
PlaySound('24.wav', 0, SND_ASYNC);
if Tag = 2 then
Glyph.LoadFromFile('Тест 2.bmp');
end;
Procedure TBitBtn.CMMouseEnter (var msg: TMessage); показывает что для компонентов BitBtn курсор находится над кнопкой. В ходе обработки этой процедуры обрабатываются следующие команды:
Glyph := nil; Показывает, что свойство подгрузки картинки равно нулю, то есть изображение не будет использовано из ресурсов Delphi
If Tag =1 then; Если Tag равен 1 то… Tag - это свойство кнопки. Разграничивает компоненты BitBtn. Это необходимо для того, чтобы на BitBtn подгружались разные картинки в соответствии с условием подгрузки, а не загружалась одна и та же.
Glyph.LoadFromFile('Выход 2.bmp') Это команда подгрузки файла
в формате BMP
PlaySound('24.wav', 0, SND_ASYNC); загружает мелодию которая озвучивает нажатие на кнопку.
Для процедуры CM_MOUSELEAVE код аналогичный, только в подгрузке выбирается другой файл.
Входные и выходные данные
С точки зрения программирования любой программный продукт содержит входные и выходные данные. Под входными данными понимаются любые данные, которые пользователь вводит в программный продукт для совершения дальнейших действий в зависимости от специфики продукта. Вводимым данным присваивается некая переменная, которая хранится и обрабатывается в памяти программы. Далее эта переменная обрабатывается таким образом, что в итоге она становится результатом выходных данных. Под выходными данными подразумеваются данные, которые пользователь получает в процессе обработки каких либо событий программы, будь то вывод результата или изменение настроек самой программы, все зависит от специфики входных данных и возможностей самой программы. В тестовой программе входными данными являются данные идентифицирующие студента - значения полей ввода «Фамилия», «Имя» и «Группа». Эти значения обрабатываются программой таким образом, что они становятся лишь переменной, которая будет записана в текстовый файл. Следующими данными, которые пользователь вводит в программе - это ответы на вопросы. Программа распознает в соответствии с кодом, выбран правильный ответ или нет, и в зависимости от логики будет либо присваивать «системный бал», либо нет. В результате, выходными данными будет являться всего лишь один текстовый файл, в котором будут записаны идентифицирующие данные студента и результат его тестирования в виде оценки.
3. Эксплуатационная информация
3.1 Формуляр
ШРИФТЫ
Данный программный продукт записывается на два компакт диска формата CD-R. Стандартные CD и DVD имеют диаметр 120 мм при толщине примерно 1.2 мм.
В центре диска (Рис.1) имеется отверстие диаметром 15 мм. Со стороны считывания вокруг центрального отверстия расположена зона фиксации, а за ней выступающая на 0.2 мм опорная плоскость, которая позволяет диску, положенному на плоскую поверхность (например, крышку стола), не касаться этой поверхности.
За опорной плоскостью расположена зона информации, предназначенная для записи.
Информация на CD и DVD записывается с помощью лазера в виде спиральной дорожки от центра к периферии. Дорожка состоит их следующих друг за другом углублений (питов) в поликарбонатной основе диска[3]. При осмотре диска местоположение дорожки хорошо видно при косопадающем освещении.
Рекомендации по использованию оптических дисков
Для исключения или снижения вероятности повреждения оптических дисков и обеспечения сохранности записанной информации необходимо соблюдать следующие правила.
Использовать диски и устройства записи известных производителей и поставщиков с соответствующей маркировкой. При этом следует осторожно относиться к заявлениям производителей CD- и DVD±R о 30, 40 или даже 100 годах сохранности записанной информации (следует рассчитывать не более чем на 5 лет использования в условиях офиса). Не использовать для записи диски, время хранения которых до момента записи превышает 2 года.
Создавать дубликаты дисков с особо важной информацией.
Использовать для маркировки дисков (нанесения надписей на сторону этикетки) только специально предназначенные для этого маркеры.
Не наклеивать на поверхность диска стикеры, клеящие ленты и т.п. и, тем более, не воспроизводить, диск с наклейками на его поверхности.
Избегать соприкосновения и трения информационной зоны диска и его этикетки с твердыми, острыми предметами, а также источниками загрязнения (в т.ч. кожей рук). Вставлять (помещать) и извлекать диск из футляра и устройства считывания, прилагая минимальные усилия, избегая его деформации и перекосов.
При появлении загрязнений выполнять очистку диска путем протирания чистым мягким х/б тампоном без длинного ворса, пропитанным водой, этиловым (ГОСТ 18300-87) или изопропиловым (ГОСТ 9805-84) спиртом. Протирание выполнять по радиусу от центра к краю диска.
При появлении сколов на кромке диска скопировать записанную информацию на другой носитель, предварительно установив минимальную скорость считывания.
Правила хранения оптических дисков
Несмотря на то, что оптические диски достаточно устойчивы к кратковременным воздействиям повышенной влажности, высоких температур и механических нагрузок, надежное хранение записанной информации можно обеспечить только соблюдая правила хранения.
Для хранения дисков использовать только специально предназначенные для этого футляры. Диск в футляре хранить в вертикальном положении.
В помещении для длительного хранения дисков допустимы температура воздуха от 10°С до 20 °С при относительной влажности от 20 % до 65 %. Допускаются максимальные суточные колебания температуры 2?С и относительной влажности воздуха - 5%.
Хранить и использовать диски на ближе 0,5 м к источникам тепла и влаги: радиаторы отопления, кондиционер и т.п.
Хранить диски в темноте или при освещении рассеянным светом, не содержащим ультрафиолетовое излучение. Недопустимо освещение дисков прямыми солнечными лучами (даже через оконное стекло).
При хранении и использовании дисков принять меры к предотвращению ударов, перемещению и вибрации дисков внутри футляров.
При хранении и использовании дисков принять меры к предотвращению проникновения влаги, агрессивных жидкостей (растворителей, клея и т.п.), вредных газов, пыли, солнечных лучей и образованию конденсата внутри футляров.
3.2 Руководство пользователя
При запуске программы будет открыто главное меню с кнопками «Выход» и «Тест». Для того чтобы перейти к тесту необходимо нажать на кнопку «Тест». Чтобы закрыть программу нужно нажать на кнопку «Выход». Кнопка тест отроет окно регистрации, в котором необходимо ввести данные: Фамилия, Имя, Группа. Для продолжения необходимо чтобы все поля были заполнены. После регистрации будет открыто окно с тестом. Тесты состоят из 4 типов вопросов:
Вопросы с выбором одного варианта ответа
Вопросы с выбором нескольких вариантов ответа
Вопросы, в которых устанавливаются соответствия
Вопросы ответ, на которые нужно вписать.
Для открытия следующего вопроса необходимо нажать на кнопку «Далее». После завершения теста открывается окно с результатом теста.
3.3 Руководство разработчика
Для установки данного программного обеспечения необходимо вставить компакт диск с программой. Для запуска программы нужно нажать двойным щелчком мыши по exe-файлу. Для корректной работы система должна обладать всеми правами администратора. Минимальные системные требования. Данная программа может работать в среде операционных систем от Windows XP до Windows 7. Особых требований по современным меркам, к ресурсам компьютера не имеет: процессор должен быть типа Pentium или Celeron с тактовой частотой не ниже 166 Мгц, оперативная память - 128 Мбайт, достаточное место свободного дискового пространства.
Заключение
В результате выполнения данной работы цель достигнута, поставленные задачи были выполнены. Теоретические основы программирования изучены, программа составлена с использованием нескольких модулей. Отладка программы произведена в соответствии с продуманными тестовыми вариантами. Все ошибки исправлены. Программа протестирована на различных операционных системах и соответствует минимальным требованиям. Программный продукт полностью готов и работоспособен.
Размещено на Allbest.ru
...Подобные документы
Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.
курсовая работа [782,4 K], добавлен 26.05.2014Основные типы модулей, использующиеся в среде программирования Delphi 6. Концепция объектно-ориентированного программирования. Разработка эскизного и технического проектов программы. Алгоритм выполнения операций сложения, вычитания и умножения матриц.
курсовая работа [559,1 K], добавлен 03.01.2011Рассмотрение теории и технологии работы со средой программирования Delphi. Описание Описание интерфейса программы, структуры данных, генерации точек. Разработка задания по выявлению всех квадратов, которые могут быть образованы точками на плоскости.
реферат [21,0 K], добавлен 13.01.2015Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.
учебное пособие [1,6 M], добавлен 28.12.2013Разработка 32-разрядных приложений Windows с помощью системы виртуального объектно-ориентированного программирования Delphi. Работа с коммуникационными портами. Виртуальное проектирование Windows. Назначение контактов COM порта (разъём DB-9S.).
реферат [32,7 K], добавлен 28.08.2009Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.
курсовая работа [2,3 M], добавлен 31.01.2016Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.
курсовая работа [974,0 K], добавлен 21.12.2016Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения.
курсовая работа [1,8 M], добавлен 16.09.2015История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.
курсовая работа [970,5 K], добавлен 15.05.2014Изучение общей структуры языка программирования Delphi: главные и дополнительные составные части среды программирования. Синтаксис и семантика языка программирования Delphi: алфавит языка, элементарные конструкции, переменные, константы и операторы.
курсовая работа [738,1 K], добавлен 17.05.2010Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.
курсовая работа [2,4 M], добавлен 27.08.2012Применение объектно-ориентированного программирования для написания нескольких модулей программы. Вычисление алгебраического уравнения методом половинного деления. Применение метода Эйлера в теории численных методов общих дифференциальных уравнений.
курсовая работа [398,1 K], добавлен 26.02.2015Сущность и история развития объектно-ориентированного программирования. Наследование как важнейшее свойство объекта. Экземпляры объектных типов. Поля объектов, методы, полиморфизм. Производительность объектных программ. Пример программного продукта.
курсовая работа [33,3 K], добавлен 25.03.2012Разработка клиентского приложения для информационной системы "Работа торгового склада" с помощью языка объектно-ориентированного программирования Delphi 6 и технологии InterBase Express. Описание реляционной модели данных и этапы ее проектирования.
курсовая работа [1,0 M], добавлен 19.03.2009Стадии обработки документов в туристическом агентстве, проектирование базы данных. Реализация программного продукта с помощью объектно-ориентированного языка программирования Borland Delphi 7.0. и системы управления базами данных Microsoft Access 2003.
дипломная работа [6,5 M], добавлен 22.01.2012Анализ методов объектно-ориентированного программирования на примере численных. Детальная характеристика модулей и связь их в одну общую программу. Принципы интегрирования по общей формуле трапеции и решение дифференциального уравнения методом Эйлера.
курсовая работа [511,6 K], добавлен 25.03.2015Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.
контрольная работа [25,1 K], добавлен 14.03.2015Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.
курсовая работа [880,1 K], добавлен 21.04.2015