Автор работы: Пользователь скрыл имя, 05 Июня 2012 в 18:25, курсовая работа
В настоящее время проверка знаний осуществляется через проведение тестирования по необходимому предмету. В связи с этим возникает необходимость наличия программного обеспечения, которое бы позволяло автоматизировать процесс проведения тестирования с обработкой и выводом полученных результатов по тестированию.
В связи с этим возникла необходимость разработки программы, которая бы позволяла проводить тестирование по Компьютерной графике с немедленным выводом результатов. Данная программа должна позволять проводить тестирование по Компьютерной графике с автоматической обработкой и отображением полученных данных, чтобы позволить тестирующему узнать результат сразу после тестирования.
Введение
Логическая структура:
обоснование выбора среды разработки;
обоснование выбора метода проектирования;
Аппаратные средства
Вызов проекта
1. Пояснительная записка
1.1 Постановка задачи
1.2 Описание алгоритма
2. Практическая часть
2.1 Листинг программы с комментариями
2.2 Методика испытаний
3. Графическая часть
3.1 Структурная схема представления проекта
3.2 Руководство программиста
3.3 Руководство оператора
Заключение
Литература
Приложения (CD-диск)
2. Практическая часть
2.1 Листинг программы с комментариями
Рассмотрим листинг основных блоков и модулей программы.
Данный проект содержит 3 формы, которые являются основой проектируемого приложения Delphi.
Первая
форма представляет собой форму, на
которой пользователь должен ввести свое
имя и пол.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls,
XPMan;
type
TForm1 = class(TForm)
Button1: TButton;
MainMenu1: TMainMenu;
File1: TMenuItem;
About1: TMenuItem;
N1: TMenuItem;
Edit1: TEdit;
Edit2: TEdit;
XPManifest1: TXPManifest;
Label1: TLabel;
Label2: TLabel;
N2: TMenuItem;
Button2: TButton;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label5: TLabel;
Edit4: TEdit;
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
f: TextFile;
f_name,l_name,gr,d:string;
p1,t1,qq,v,n:integer;
implementation
uses Unit2, Unit3;
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
begin
form1.Visible:=false;
form2.showmodal;
form1.Visible:=true;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
close
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
qq:=1;
p1:=0;
if RadioButton1.Checked then
p1:=1;
if RadioButton2.Checked then
p1:=2;
if not(edit1.text='') and not(edit2.text='') and not(edit3.text='') and (p1<>0)
then begin
f_name:= Edit1.text;
l_name:= Edit2.text;
gr:=edit3.Text;
form3.button1.Caption:= 'Начать ';
form1.Visible:=false;
form3.ShowModal;
form1.Visible:=true;
end
else
Showmessage('Заполните все поля');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
qq:=2;
p1:=0;
if RadioButton1.Checked then
p1:=1;
if RadioButton2.Checked then
p1:=2;
if not(edit1.text='') and not(edit2.text='') and not(edit3.text='') and (p1<>0)
then begin
f_name:= Edit1.text;
l_name:= Edit2.text;
gr:=edit3.Text;
form3.button1.Caption:= 'Начать';
form1.Visible:=false;
form3.ShowModal;
form1.Visible:=true;
end
else
Showmessage('Заполните все поля');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
if n<>0
then begin
edit4.text:=dateToStr(Date);
d:=edit4.text;
AssignFile(f,'.\ Результаты');
{$I-}
Append(f);
{$I+}
if IOResult<> 0
then Rewrite(f);
if p1=1
then
writeln(f, 'Учащийся ',f_name,' ',l_name, ' из группы ',gr)
else
writeln(f, 'Учащаяся ',f_name,' ',l_name, ' из группы ',gr);
if (p1=1) then
writeln(f, 'Получил оценку ',v,' выполнив ',v,' из ',n,' заданий');
if (p1=2) then
writeln(f, 'Получила оценку ',v,' выполнив ',v,' из ',n,' заданий');
if (qq=1) then
writeln(f, 'По теме PhotoShop');
if (qq=2) then
writeln(f, 'По теме CorelDraw');
writeln(f, d);
writeln(f, '');
CloseFile(f);
v:=0;
n:=0;
end;
end;
end.
Вторая форма представляет собой форму, которая отображает сведения о программе и ее создателе.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ExtCtrls,
jpeg;
type
TForm2 = class(TForm)
Image1: TImage;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.
Третья форма это сама форма тестирования. На этой форме пользователь выбирает правильный ответ и жмет Далее.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm3 = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
RadioButton4: TRadioButton;
Label5: TLabel;
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
f: TextFile;
tmp:string;
implementation
uses Unit1;
{$R *.dfm}
function NextQz : boolean;
begin
if not eof(f)
then begin
form3.button1.caption:='
Readln (f, tmp);
form3.label5.caption:=tmp;
Readln (f, tmp);
form3.label1.caption:=tmp;
Readln (f, tmp);
form3.RadioButton1.Tag:=
Readln (f, tmp);
form3.label2.caption:=tmp;
Readln (f, tmp);
form3.RadioButton2.Tag:=
Readln (f, tmp);
form3.label3.caption:=tmp;
Readln (f, tmp);
form3.RadioButton3.Tag:=
Readln (f, tmp);
form3.label4.caption:=tmp;
Readln (f, tmp);
form3.RadioButton4.Tag:=
n:=n+1;
NextQz := TRUE;
end
else NextQz := FALSE;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
label5.WordWrap:=true;
RadioButton1.Visible := true;
RadioButton2.Visible := true;
RadioButton3.Visible := true;
RadioButton4.Visible := true;
Label1.Visible := true;
Label2.Visible := true;
Label3.Visible := true;
Label4.Visible := true;
if Button1.Caption = 'Завершить'
then begin
RadioButton1.tag:=0;
RadioButton2.tag:=0;
RadioButton3.tag:=0;
RadioButton4.tag:=0;
form3.Close;
end;
if RadioButton1.Checked then
v:=v + RadioButton1.Tag;
if RadioButton2.Checked then
v:=v + RadioButton2.Tag;
if RadioButton3.Checked then
v:=v + RadioButton3.Tag;
if RadioButton4.Checked then
v:=v + RadioButton4.Tag;
if not NextQz then begin
label5.WordWrap:=false;
button1.Caption:='Завершить';
RadioButton1.Visible := False;
RadioButton2.Visible := False;
RadioButton3.Visible := False;
RadioButton4.Visible := False;
Label1.Visible := False;
Label2.Visible := False;
Label3.Visible := False;
Label4.Visible := False;
tmp:= 'Тестирование завершено. ' + #13 + #13 +
'Задано вопросов: ' + IntToStr(n) + #13 + #13 +
'Правильных ответов: ' + IntToStr(v);
Label5.AutoSize := TRUE;
Label5.Caption := tmp;
end;
end;
procedure TForm3.RadioButton1Click(
begin
Button1.Enabled := True;
end;
procedure TForm3.RadioButton2Click(
begin
Button1.Enabled := True;
end;
procedure TForm3.RadioButton3Click(
begin
Button1.Enabled := True;
end;
procedure TForm3.RadioButton4Click(
begin
Button1.Enabled := True;
end;
procedure TForm3.Formactivate(Sender: TObject);
begin
RadioButton1.Visible := False;
RadioButton2.Visible := False;
RadioButton3.Visible := False;
RadioButton4.Visible := False;
Label1.Visible := False;
Label2.Visible := False;
Label3.Visible := False;
Label4.Visible := False;
if qq=1
then begin
label5.caption:='Сейчас будет проведен тест'+ #13 + #13 +
'По теме PhotoShop состоящий из 10 вопросов,'+ #13 + #13 +
'для продолжения нажмите <Начать>';
AssignFile(f, '.\1.txt');
Reset(f);
readln(f, tmp);
form3.Caption:=tmp;
Информация о работе Тестирующая программа операционные системы