скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Создание проекта для тестирования знаний студентов по языку программирования Delphi по теме "Назначение и основные свойства палитры компонентов "Standard"

При составлении сетки ответов на предложенные тесты можно рекомендовать следующие требования:

1.  Помимо правильного ответа, три других ответа должны учитывать характерные ошибки учащегося. Очевидно, что построение такой сетки ответов, по силу лишь учителю с очень большим стажем работы. Исходя из этого, заметим, что составление отдельного теста, реально для любого учителя, однако правильный подбор сетки ответов и компоновка релевантного блока тестов по силу лишь опытному учителю.

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

3.  Ответы могут быть подобраны и таким образом, что все ответы являются правильными, но - частично! И лишь один ответ является полным, а следовательно и правильным. ( Обычно такая сетка ответов конструируется при проверке теоретической базы знаний).

 

2.3 Листинг программы

1.  Листинг первой формы: Старт

unit Unit2;

interface

uses

{использованные библиотеки}

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, XPMan, Menus, jpeg, ExtCtrls;

type

TForm2 = class(TForm)

Button2: TButton;

Button3: TButton;

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

Image1: TImage;

Panel2: TPanel;

Memo1: TMemo;

Image2: TImage;

Image3: TImage;

{Описание процедур}

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1, Unit3, Unit4, Unit5;

{$R *.dfm}

//------------------------------------------------------------------

{выход}

procedure TForm2.Button3Click(Sender: TObject);

begin

application.Terminate;

end;

//--------------------------------------------------------------------

{отображение формы с тестом, скрытие главной формы}

procedure TForm2.Button2Click(Sender: TObject);

begin

form3.show;

form2.Hide;

end;

//------------------------------------------------------------------------

{отображение формы "об авторе", скрытие главной формы}

procedure TForm2.N6Click(Sender: TObject);

begin

AboutBox.show;

form2.Hide;

end;

end.

2.  Листинг второй формы: Тест

unit Unit3;

interface

uses

{библиотеки использованные при создании данного модуля}

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus, ExtCtrls, jpeg;

type

{Описание объектов имеющихся на форме}

TForm3 = class(TForm)

Button2: TButton;

Button3: TButton;

Panel1: TPanel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Button1: TButton;

Panel2: TPanel;

Label1: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button4: TButton;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Memo1: TMemo;

Timer1: TTimer;

Image1: TImage;

Image2: TImage;

Label2: TLabel;

{Описание процедур}

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure RadioButton1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure theend;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit2, Unit1;

//--------------------------------------------------------

{ввод глобальных переменных}

var

f:textfile;

s,d:string;

z,g,j,i:integer;

min,sek:byte;

{$R *.dfm}

//-----------------------------------------------------

{процедура для начала и выполнения теста}

procedure TForm3.Button1Click(Sender: TObject);

begin

if timer1.enabled=false then timer1.Enabled:=true;

if s<>''then

if z=strtoint(s)

then g:=g+1;

radiobutton1.visible:=true;

radiobutton2.visible:=true;

radiobutton3.visible:=true;

button2.visible:=true;

button1.caption:='Следующий вопрос';

{если не выбран не один ответ программа выдает соответствующее сообщение}

if (radiobutton1.Checked=false)

and (radiobutton2.Checked=false)

and (radiobutton3.Checked=false)

then showmessage ('Выберите один из вариантов ответа')

else

{иначе выдает следующий вопрос,очищает "радиобаттоны"

и считает кол-во вопросов}

begin

radiobutton1.Checked:=false;

radiobutton3.Checked:=false;

radiobutton2.Checked:=false;

i:=i+1;

if i=16 then theend

else

begin

{в этой процедуре переключателям присваиваются варианты ответов}

readln(f,s);

memo1.Text:=s;

readln(f,s);

radiobutton1.caption:=s;

readln(f,s);

radiobutton2.caption:=s;

readln(f,s);

radiobutton3.caption:=s;

readln(f,s);

radiobutton1.Checked:=false;

end;

end;

end;

//------------------------------------------------------

{процедура для коррекного закрытия программы}

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin

form3.Button3.Click;

end;

//------------------------------------------------------------

{процедура перехода на главную форму}

procedure TForm3.Button2Click(Sender: TObject);

begin

{скрытие теста}

form3.Hide;

{открытие главной формы}

form2.show;

end;

//---------------------------------------------------------

{выход}

procedure TForm3.Button3Click(Sender: TObject);

begin

application.Terminate;

end;

//----------------------------------------------------------------

{проверка активности переключателя и присвоение ему определенного значения}

procedure TForm3.RadioButton1Click(Sender: TObject);

begin

z:=1;

{if radiobutton1.Checked then z:=1;

if radiobutton2.Checked then z:=2;

if radiobutton3.Checked then z:=3;}

end;

//----------------------------------------------------------------

{проверка активности переключателя и присвоение ему определенного значения}

procedure TForm3.RadioButton2Click(Sender: TObject);

begin

z:=2;

{if radiobutton1.Checked then z:=1;

if radiobutton2.Checked then z:=2;

if radiobutton3.Checked then z:=3; }

end;

//-----------------------------------------------------------------------

{проверка активности переключателя и присвоение ему определенного значения}

procedure TForm3.RadioButton3Click(Sender: TObject);

begin

z:=3;

{if radiobutton1.Checked then z:=1;

if radiobutton2.Checked then z:=2;

if radiobutton3.Checked then z:=3;}

end;

//-------------------------------------------------------------------------

{открытие файла с вопросами и ответами для теста на чтение}

procedure TForm3.FormActivate(Sender: TObject);

begin

assignfile(f,'Test.txt');

reset(f);

end;

//-------------------------------------------------------------------------

{процедура для повторного тестирования}

procedure TForm3.Button4Click(Sender: TObject);

begin

form3.Hide;

form2.Show;

form2.Hide;

form3.Show;

g:=0;

j:=0;

i:=0;

sek:=0;

min:=0;

radiobutton1.Checked:=true;

label1.Caption:='Тест';

button1.caption:='Начать тест';

Edit1.Visible:=false;

Edit2.Visible:=false;

Edit3.Visible:=false;

Edit4.Visible:=false;

Edit5.Visible:=false;

Edit6.Visible:=false;

Edit7.Visible:=false;

button1.Visible:=true;

button4.Visible:=false;

end;

//--------------------------------------------------------------------------

procedure TForm3.Timer1Timer(Sender: TObject);

begin

sek:=sek+1;

if sek=60 then begin

sek:=0;

min:=min+1;

end;

if min<10 then label2.Caption:='0'+inttostr(min)+':'

else label2.Caption:=inttostr(min)+':';

if sek<10 then label2.Caption:=label2.Caption+'0'+inttostr(sek)

else label2.Caption:=label2.Caption+inttostr(sek);

if min=8 then theend;

end;

procedure tform3.theend;

begin

timer1.Enabled:=false;

radiobutton1.Visible:=false;

radiobutton2.Visible:=false;

radiobutton3.Visible:=false;

memo1.Text:='РЕЗУЛЬТАТ ТЕСТИРОВАНИЯ';

Edit1.Visible:=True;

Edit2.Visible:=True;

Edit2.Text:=inttostr(i-1);

Edit3.Visible:=True;

Edit4.Visible:=True;

Edit5.Visible:=True;

Edit5.Text:=inttostr(g);

Edit6.Visible:=True;

Edit7.Visible:=True;

Edit7.Text:=inttostr(i-g-1);

closefile(f);

button1.Visible:=false;

button4.Visible:=true;

end;

end.

3.  Листинг третьей формы: Об авторе

unit Unit4;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls, jpeg;

type

TAboutBox = class(TForm)

OKButton: TButton;

Panel2: TPanel;

Memo1: TMemo;

Image1: TImage;

Image2: TImage;

procedure OKButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutBox: TAboutBox;

implementation

uses Unit2;

{$R *.dfm}

procedure TAboutBox.OKButtonClick(Sender: TObject);

{переход на главную форму и скрытие окна "об авторе"}

begin

AboutBox.Hide;

form2.show;

end;

end.

2.4 Тестирование программы

В ходе тестирования были проверены требования к программному продукту (тест).

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

Вопросы и правильные ответы к ним:

Пояснение: жирным шрифтом выделены правильные ответы.

Вопрос 1 ответ 2 ответ 3 ответ
1 Название компонента который создает текстовую метку (надпись) на форме? Button. Panel.

Label.

2 Контейнер для компонентов, по своим свойствам похожий на форму (укажите компонент)?

Frames.

Memo. Button
3 Простая командная кнопка (укажите компонент)? Memo. Items.

Button.

4 Список строк с возможностью выбора нескольких из них (укажите компонент)? TImageList

ListBox

ActionList
5 компонент который может служить либо для отрисовки текста (встроенная возможность) либо контейнером для других компонентов? GroupBox Panel Bitmap
6 Компонент для создания и централизованного управления методами, ассоциируемыми с обработчиками событий компонентов? Sorted.

ActionList.

Columns.
7 как выглядит компонент MainMenu после помещения его на форму?

В виде значка

В виде главного меню в верхней части формы Компонент не отоброжается
8 чем различаются компоненты Label и Edit? Максимальным размером вводимого текста.

Текст в Label нельзя редактировать во время работы программы.

Компонент Edit служит для ввода чисел.
9 чем различаются компоненты CheckBox и RadioButton? CheckBox не содержит пояснительной части RadioButton не содержит поля выбора

RadioButton исключает выбор двух значений в одном блоке переключателей

10 Свойство ReadOnly позволяет? Настроить регистр вводимых символов Настроить содержимое текстового поля

запретить редактирование текста в поле

11 Как задается содержимое компонента Memo при создании программы? Вводится в специальном окне

Вводится в отдельном окне, так и в редакторе кода

Вводится в редакторе кода
12 как отображается компонент PopupMenu после помещения его на форму?

В виде значка

В виде контейнера Компонент не отоброжается
13 Контекстное меню (укажите компонент)? Memo

popupmenu

Items
14 Однострочное текстовое поле для ввода данных (укажите компонент)? Text Memo Edit
15 Многострочное текстовое поле (укажите компонент)? Frames
Memo
Align

Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.