Автор: Пользователь скрыл имя, 17 Мая 2012 в 09:51, курсовая работа
Работа проведена с целью разработки тестирующей программы в среде Delphi, соответствующей заданным условиям.
В соответствии с целью работы были поставлены и решены следующие основные задачи:
1. Обследование и разработка технического задания
2. Построение блок-схемы программы
3. Разработка программы.
4. Тестирование и устранение ошибок.
АННОТАЦИЯ
ВВЕДЕНИЕ
1 ФОРМАЛИЗАЦИЯ ЗАДАЧИ
2 исходные данные, искомые результаты и форма их представления
3 алгоритм решения задачи и его описание
4 ПРОГРАММА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ
5 план отладки программы
6 ИНСТРУКЦИИ ПО РАБОТЕ С ПРОГРАММОЙ
7 АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ И ВЫВОДЫ
ЗАКЛЮЧЕНИЕ
ИСТОЧНИКИ ИНФОРМАЦИИ
ПРИЛОЖЕНИЯ
1 Исходный код программы
2 Программа и исходные коды на CD диске
В результате проведенной работы мы получили приложение, способное проводить тестирование обучающихся по дисциплине «Теория вероятности и математическая статистика», имеющее два варианта по пять вопросов с четырьмя вариантами ответа.
Программа получает от пользователя его личные данные (Фамилия, Имя) и номер варианта для теста. Далее тестирование проходит путем выбора ответа из четырех предложенных. Программа анализирует полученные данные и подсчитывает конечный результат, который выводит пользователю в окно, а также сохраняет в текстовый файл для дальнейшего анализа полученных результатов.
Программа может применяться для контроля усвоения материала по дисциплине «Теория вероятности и математическая статистика».
Сейчас программа имеет всего варианта теста. Для более качественного результата и повышения профессиональности программы необходимо увеличить количество вариантов и вопросов, а также предусмотреть выбор нескольких вариантов ответов.
ЗАКЛЮЧЕНИЕ
В настоящее время широко в нашу жизнь внедряются информационные технологии. На сегодняшний день, наверное, не осталось никакой области, где бы они ни применялись. Одной из сфер деятельности, в которой информационные технологии получили широкое распространение, является сфера образования.
В результате курсовой работы были выполнены следующие этапы:
1. Обследование и разработка технического задания
2. Построение блок-схемы программы
3. Разработка программы.
4. Тестирование и устранение ошибок.
Таким образом, мы приходим к следующему выводу - использование разработанной программы заметно поможет в образовательном процессе. Сократит время проверки знаний и трудоемкость работ по проверке результатов.
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Культин Н.Б. - Основы программирования в Delphi 7, – СПб.: БХВ-Петербург, 2005
2. Ревич Ю. - Нестандартные приемы программирования на Delph. – СПб.: БХВ-Петербург, 2005
3. Сухарев - Основы Delphi. Профессиональный подход. – СПб.: Наука и Техника, 2004
4. Фленов - Библия Delphi. – СПб.: БХВ-Петербург, 2008
5. Ремизов Н. Delphi – М.: Питер, 2000.
6. Шпак Ю.А. - Delphi 7 на примерах. – К.: Издательство Юниор, 2003
7. Дарахвелидзе П., Марков Е. - Программирование в Delphi 7 (+ дискета). – СПб.: БХВ-Петербург, 2003
8. Кэнту - Delphi 7 для профессионалов. – СПб.: Питер, 2004. – 1101 с.: ил
ПРИЛОЖЕНИЯ
1 Исходный код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, Menus, ComCtrls, XPMan, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Memo1: TMemo;
XPManifest1: TXPManifest;
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N7: TMenuItem;
Image1: TImage;
Panel1: TPanel;
N9: TMenuItem;
Timer_sys: TTimer;
GroupBox1: TGroupBox;
ComboBox1: TComboBox;
Label1: TLabel;
ConfirmBut: TButton;
PcAnswer1: TPageControl;
PcAnswer2: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
RadioGroup3: TRadioGroup;
RadioGroup4: TRadioGroup;
RadioGroup5: TRadioGroup;
RadioGroup6: TRadioGroup;
RadioGroup7: TRadioGroup;
RadioGroup8: TRadioGroup;
RadioGroup9: TRadioGroup;
RadioGroup10: TRadioGroup;
Conf_v1: TSpeedButton;
Conf_v4: TSpeedButton;
Conf_v5: TSpeedButton;
Conf_v2: TSpeedButton;
Conf_v3: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label4: TLabel;
SaveDialog1: TSaveDialog;
Conf_v1Click2: TSpeedButton;
Conf_v2Click2: TSpeedButton;
Conf_v3Click2: TSpeedButton;
Conf_v4Click2: TSpeedButton;
Conf_v5Click2: TSpeedButton;
SaveGB: TButton;
procedure N9Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer_sysTimer(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ConfirmButClick(Sender: TObject);
procedure Conf_v1Click(Sender: TObject);
procedure Conf_v2Click(Sender: TObject);
procedure Conf_v3Click(Sender: TObject);
procedure Conf_v4Click(Sender: TObject);
procedure Conf_v5Click(Sender: TObject);
procedure SaveGBClick(Sender: TObject);
procedure Conf_v1Click2Click(Sender: TObject);
procedure Conf_v2Click2Click(Sender: TObject);
procedure Conf_v3Click2Click(Sender: TObject);
procedure Conf_v4Click2Click(Sender: TObject);
procedure Conf_v5Click2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
rez:integer; //переменная для хранения результата тестирования
timena4, timekon:string; // переменные для хранения времени начала и конца тестирования
implementation
uses Unit3, Unit2;
{$R *.dfm}
procedure TForm1.N9Click(Sender: TObject);
begin
Form3.Show; //показывает окно "О программе"
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Application.Terminate; //закрывает приложение при нажатии на кнопку "выход"
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[1].Text:='
end;
procedure TForm1.Timer_sysTimer(Sender: TObject);
begin
StatusBar1.Panels[2].Text:=
StatusBar1.Panels[3].Text:=
end;
procedure TForm1.N2Click(Sender: TObject);
begin
timena4:=''; //время начала теста обнуляется
timekon:=''; //время конца теста обнуляется
GroupBox1.Visible:=true; //показ панели для ввода данных
PcAnswer1.Visible:=false; //скрываем панели с вопросами
PcAnswer2.Visible:=false;
Memo1.Lines.Clear; //очищаем окно для отображения информации
end;
procedure TForm1.ConfirmButClick(Sender: TObject);
begin
if (Edit1.Text='') or (edit2.Text='') then ShowMessage('Заполните все поля!')
else //проверка все ли поля с данными заполнены
begin
timena4:=timetostr(now); //в переменную записывается время начала теста
Memo1.Lines.Add('*************
StatusBar1.Panels[5].text:=
Panel1.Enabled:=true;
Panel1.Visible:=true;
if ComboBox1.Text='Вариант №1' then //если выбран 1 вариант, то
begin
GroupBox1.Visible:=false; //скрываем панель для ввода данных
Memo1.Lines.Add('Вариант №1'); //выводим в информационное окно вариант
StatusBar1.Panels[1].Text:='
PcAnswer1.Visible:=true; //активируем окно с 1 вариантом
PcAnswer1.ActivePage:=
end
else
if ComboBox1.Text='Вариант №2' then //если выбран 2 вариант
begin
GroupBox1.Visible:=false; //скрываем панель для ввода данных
Memo1.Lines.Add('Вариант №2'); //выводим в информационное окно вариант
StatusBar1.Panels[1].Text:='
PcAnswer2.Visible:=true; //активируем окно со 2 вариантом
PcAnswer2.ActivePage:=
end
else //если вариант не выбран,
ShowMessage('Вариант не выбран!'); //выводим сообщение
end;
end;
procedure TForm1.Conf_v1Click(Sender: TObject);
begin
if RadioGroup6.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup6.ItemIndex=1 then //если выбран правильный вариант ответа, то
begin
rez:=rez+1; //записываем в результат + 1 балл
TabSheet6.Enabled:=false; //отключаем возможность изменения ответа
PcAnswer1.ActivePage:= TabSheet7; //переходим к следующему вопросу
end
else //при неверном ответе, также переходим к следующему вопросу, без балла
TabSheet6.Enabled:=false;
TabSheet7.Enabled:=true;
PcAnswer1.ActivePage:= TabSheet7;
end;
end;
procedure TForm1.Conf_v2Click(Sender: TObject);
begin
if RadioGroup7.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup7.ItemIndex=0 then
begin
rez:=rez+1;
TabSheet7.Enabled:=false;
PcAnswer1.ActivePage:= TabSheet8;
end
else
TabSheet7.Enabled:=false;
TabSheet8.Enabled:=true;
PcAnswer1.ActivePage:= TabSheet8;
end;
end;
procedure TForm1.Conf_v3Click(Sender: TObject);
begin
if RadioGroup8.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup8.ItemIndex=2 then
begin
rez:=rez+1;
TabSheet8.Enabled:=false;
PcAnswer1.ActivePage:= TabSheet9;
end
else
TabSheet8.Enabled:=false;
TabSheet9.Enabled:=true;
PcAnswer1.ActivePage:= TabSheet9;
end;
end;
procedure TForm1.Conf_v4Click(Sender: TObject);
begin
if RadioGroup9.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup9.ItemIndex=2 then
begin
rez:=rez+1;
TabSheet9.Enabled:=false;
PcAnswer1.ActivePage:= TabSheet10;
end
else
TabSheet9.Enabled:=false;
TabSheet10.Enabled:=true;
PcAnswer1.ActivePage:= TabSheet10;
end;
end;
procedure TForm1.Conf_v5Click(Sender: TObject);
begin
if RadioGroup10.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup10.ItemIndex=0 then
begin
timekon:=timetostr(now);
rez:=rez+1;
TabSheet10.Enabled:=false;
Memo1.Lines.Clear; //очищаем информационное окно
memo1.Font.Size:=10; //меняе шрифт в окне и записываем туда результат
memo1.Lines.Add('*************
memo1.Lines.SaveToFile(Edit2.
SaveGB.Visible:=true; //активируем кнопку для сохранения вручную
end
else
TabSheet10.Enabled:=false;
Memo1.Lines.Clear;
memo1.Font.Size:=10;
memo1.Lines.Add('*************
memo1.Lines.SaveToFile(Edit2.
SaveGB.Visible:=true;
end;
end;
procedure TForm1.SaveGBClick(Sender: TObject);
begin
if savedialog1.Execute then //при сохранении вручную содержимое информационного
memo1.Lines.SaveToFile(
end;
procedure TForm1.Conf_v1Click2Click(
begin
if RadioGroup1.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup1.ItemIndex=3 then
begin
timekon:=timetostr(now);
rez:=rez+1;
TabSheet1.Enabled:=false;
TabSheet2.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet2;
end
else
TabSheet1.Enabled:=false;
TabSheet2.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet2;
end;
end;
procedure TForm1.Conf_v2Click2Click(
begin
if RadioGroup2.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup2.ItemIndex=2 then
begin
timekon:=timetostr(now);
rez:=rez+1;
TabSheet2.Enabled:=false;
TabSheet3.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet3;
end
else
TabSheet2.Enabled:=false;
TabSheet3.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet3;
end;
end;
procedure TForm1.Conf_v3Click2Click(
begin
if RadioGroup3.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup3.ItemIndex=1 then
begin
timekon:=timetostr(now);
rez:=rez+1;
TabSheet3.Enabled:=false;
TabSheet4.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet4;
end
else
TabSheet3.Enabled:=false;
TabSheet4.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet4;
end;
end;
procedure TForm1.Conf_v4Click2Click(
begin
if RadioGroup4.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup4.ItemIndex=1 then
begin
timekon:=timetostr(now);
rez:=rez+1;
TabSheet4.Enabled:=false;
TabSheet5.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet5;
end
else
TabSheet4.Enabled:=false;
TabSheet5.Enabled:=true;
PcAnswer2.ActivePage:= TabSheet5;
end;
end;
procedure TForm1.Conf_v5Click2Click(
begin
if RadioGroup2.ItemIndex=(-1) then ShowMessage('не выбран ни один из вариантов ответов')
else
begin
if RadioGroup5.ItemIndex=0 then
begin
timekon:=timetostr(now);
rez:=rez+1;
TabSheet5.Enabled:=false;
Memo1.Lines.Clear;
memo1.Font.Size:=10;
memo1.Lines.Add('*************
memo1.Lines.SaveToFile(Edit2.
SaveGB.Visible:=true;
end
else
TabSheet5.Enabled:=false;
Memo1.Lines.Clear;
memo1.Font.Size:=10;
memo1.Lines.Add('*************
memo1.Lines.SaveToFile(Edit2.
SaveGB.Visible:=true;
end;
end;
end.
2 Программа и исходные коды на CD диске
17