Тестирующая программа в среде Delphi

Автор: Пользователь скрыл имя, 17 Мая 2012 в 09:51, курсовая работа

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

Работа проведена с целью разработки тестирующей программы в среде Delphi, соответствующей заданным условиям.
В соответствии с целью работы были поставлены и решены следующие основные задачи:
1. Обследование и разработка технического задания
2. Построение блок-схемы программы
3. Разработка программы.
4. Тестирование и устранение ошибок.

Содержание

АННОТАЦИЯ
ВВЕДЕНИЕ
1 ФОРМАЛИЗАЦИЯ ЗАДАЧИ
2 исходные данные, искомые результаты и форма их представления
3 алгоритм решения задачи и его описание
4 ПРОГРАММА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ
5 план отладки программы
6 ИНСТРУКЦИИ ПО РАБОТЕ С ПРОГРАММОЙ
7 АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ И ВЫВОДЫ
ЗАКЛЮЧЕНИЕ
ИСТОЧНИКИ ИНФОРМАЦИИ
ПРИЛОЖЕНИЯ
1 Исходный код программы
2 Программа и исходные коды на CD диске

Работа содержит 1 файл

курсач с рамкой(готовое).doc

— 842.00 Кб (Скачать)

 


7 АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ И ВЫВОДЫ

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

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

Программа может применяться для контроля усвоения материала по дисциплине «Теория вероятности и математическая статистика».

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

 

 


ЗАКЛЮЧЕНИЕ

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

В результате курсовой работы были выполнены следующие этапы:

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:=datetostr(now);    //отображает дату и время в статусной строке

StatusBar1.Panels[3].Text:=timetostr(now);

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('*************************************'+#13#10+'Удачного тестирования,'+Edit1.Text+#13#10+'*************************************');

StatusBar1.Panels[5].text:=edit1.Text+' '+Edit2.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:='Вариант №1';  //и в строку состояния

   PcAnswer1.Visible:=true;    //активируем окно с 1 вариантом

   PcAnswer1.ActivePage:=TabSheet6;  //переходим к первому вопросу

  

   end

  else

  if  ComboBox1.Text='Вариант №2' then   //если выбран 2 вариант

  begin

    GroupBox1.Visible:=false;  //скрываем панель для ввода данных

    Memo1.Lines.Add('Вариант №2');  //выводим в информационное окно вариант

    StatusBar1.Panels[1].Text:='Вариант №2';  //и в строку состояния

    PcAnswer2.Visible:=true;      //активируем окно со 2 вариантом

    PcAnswer2.ActivePage:=TabSheet1;  //переходим к первому вопросу

  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('*************************************'+#13#10+'Данные о тестировании:'+#13#10+'Фамилия: '+Edit2.text+#13#10+'Имя: '+Edit1.Text+#13#10+'Вариант №1'+#13#10+'Количество баллов: '+inttostr(rez)+' из 5'+#13#10+'Время начала работы: '+timena4+#13#10+'Время конца работы: '+timekon+#13#10+'*************************************');

          memo1.Lines.SaveToFile(Edit2.Text+'_вариант_1'+'.txt'); //сохраняем результата в txt файл

          SaveGB.Visible:=true; //активируем кнопку для сохранения вручную

        end

      else

        TabSheet10.Enabled:=false;

        Memo1.Lines.Clear;

        memo1.Font.Size:=10;

        memo1.Lines.Add('*************************************'+#13#10+'Данные о тестировании:'+#13#10+'Фамилия: '+Edit2.text+#13#10+'Имя: '+Edit1.Text+#13#10+'Вариант №1'+#13#10+'Количество баллов: '+inttostr(rez)+' из 5'+#13#10+'Время начала работы: '+timena4+#13#10+'Время конца работы: '+timekon+#13#10+'*************************************');

        memo1.Lines.SaveToFile(Edit2.Text+'_вариант_1'+'.txt');

        SaveGB.Visible:=true;

    end;

end;

procedure TForm1.SaveGBClick(Sender: TObject);

begin

if savedialog1.Execute then     //при сохранении вручную содержимое информационного

memo1.Lines.SaveToFile(Savedialog1.FileName); //окна сохраняется в текстовый файл

end;

 

procedure TForm1.Conf_v1Click2Click(Sender: TObject);

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(Sender: TObject);

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(Sender: TObject);

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(Sender: TObject);

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(Sender: TObject);

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('*************************************'+#13#10+'Данные о тестировании:'+#13#10+'Фамилия: '+Edit2.text+#13#10+'Имя: '+Edit1.Text+#13#10+'Вариант №2'+#13#10+'Количество баллов: '+inttostr(rez)+' из 5'+#13#10+'Время начала работы: '+timena4+#13#10+'Время конца работы: '+timekon+#13#10+'*************************************');

          memo1.Lines.SaveToFile(Edit2.Text+'_вариант_2'+'.txt');

         SaveGB.Visible:=true;

        end

      else

        TabSheet5.Enabled:=false;

        Memo1.Lines.Clear;

        memo1.Font.Size:=10;

        memo1.Lines.Add('*************************************'+#13#10+'Данные о тестировании:'+#13#10+'Фамилия: '+Edit2.text+#13#10+'Имя: '+Edit1.Text+#13#10+'Вариант №2'+#13#10+'Количество баллов: '+inttostr(rez)+' из 5'+#13#10+'Время начала работы: '+timena4+#13#10+'Время конца работы: '+timekon+#13#10+'*************************************');

        memo1.Lines.SaveToFile(Edit2.Text+'_вариант_2'+'.txt');

        SaveGB.Visible:=true;

    end;

end;

 

end.

 

2 Программа и исходные коды на CD диске

17

 



Информация о работе Тестирующая программа в среде Delphi