Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Практическая работа № 35





«Тест»

 

Цель работы - создать программу, которая тестирует учащегося по информатике и математике.

Проект должен содержать последовательность форм, реализующих диалог с тестируемым учащимся.

На первой форме происходит регистрация учащегося.


 

 

Фрагмент программы (unit1):

uses Unit2;

{$R *.dfm}

 

procedure TForm1.Button2Click(Sender: TObject);

Begin

Close;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

Begin

Form2.Label3.Caption:=Form1.Edit1.Text;

Form2.ShowModal;

end;
На второй форме предлагается выбрать один из тестов.

 

 


Фрагмент программы (unit2):

uses Unit3, Unit6;

{$R *.dfm}

 

procedure TForm2.Button1Click(Sender: TObject);

Begin

Form3.ShowModal;

end;

 

procedure TForm2.Button2Click(Sender: TObject);

Begin

Form2.Close;

end;

 

procedure TForm2.Button3Click(Sender: TObject);

Begin

Form6.Edit2.Text:='';

Form6.ShowModal;

end;

На третьей форме предлагается проути тест по информатике.

 


 

Фрагмент программы (unit3):

uses Unit4, Unit2;

{$R *.dfm}

 

procedure TForm3.Button1Click(Sender: TObject);

Begin

k:=0;

if (Form3.Edit1.Text='монитор') or (Form3.Edit1.Text='Монитор') or

(Form3.Edit1.Text='МОНИТОР') then k:=k+1;

if (Form3.Edit2.Text='Клавиатура') or (Form3.Edit2.Text='клавиатура')

or (Form3.Edit2.Text='КЛАВИАТУРА') then k:=k+1;

if Form3.Edit3.Text='8' then k:=k+1;

Form4.Label2.Caption:=IntToStr(k);

if k=0 then Form4.Label1.Caption:='Очень плохо' else

if k=1 then Form4.Label1.Caption:='Плохо' else

if k=2 then Form4.Label1.Caption:='Хорошо' else

if k=3 then Form4.Label1.Caption:='Очень хорошо';

Form3.Edit1.Text:='';

Form3.Edit2.Text:='';

Form3.Edit3.Text:='';

Form4.ShowModal;

end;

 

procedure TForm3.Button2Click(Sender: TObject);

Begin

Form3.Close;

end;

На следующей форме отображается результат тестирования и предложение о промотре ответа.

 

 


Фрагмент программы (unit4):

uses Unit1, Unit5, Unit3, Unit2;

{$R *.dfm}

 

procedure TForm4.Button2Click(Sender: TObject);

Begin

Form4.Close;

end;

 

procedure TForm4.Button1Click(Sender: TObject);

Begin

Form4.Close;

Form3.Close;

end;

 

procedure TForm4.Button3Click(Sender: TObject);

Begin

Form5.ShowModal;

end;

На следующей форме отображаются правильные ответы.

 

 


Фрагмент программы (unit5):

uses Unit4, Unit3, Unit2, Unit1;

{$R *.dfm}

 

procedure TForm5.Button1Click(Sender: TObject);

Begin

Form4.Close;

Form3.Close;

Form2.Close;

Form1.Close;

Form5.Close;

end;

Если учащийся выбрал тест по математике, то ему предлагается проверить свои знания таблицы умножения. На следующей форме случайным образом выбираются числа. Учащийся должен ввести значение произведения в текстовое поле. С помощью кнопки «проверка» выясняется правильность введенного ответа. Если ответ правильный, то можно сгенерировать следующий пример. После нескольких примеров можно проверить свой рейтинг.

 


 

Фрагмент программы (unit6):

uses Unit7, Unit1;

{$R *.dfm}

 

procedure TForm6.Button1Click(Sender: TObject);

var n,i:integer;

Begin

randomize;

a:=random(10)-0;

b:=random(10)-0;

Form6.Label1.Caption:=IntToStr(a);

Form6.Label2.Caption:=IntToStr(b);

Form6.Edit2.Text:='';

Form6.Label6.Caption:='';

end;

 

procedure TForm6.Button2Click(Sender: TObject);

Begin

if (a*b=StrToInt(Form6.Edit2.Text)) then

Begin

Form6.Label6.Caption:='Правильно';

m:=m+1;

r:=r+1;

q:=q+1;

End

Else

Begin

Form6.Label6.Caption:='Не правильно';

r:=r-1;

q:=q+1;

end;

Form6.Label1.Caption:='';

Form6.Label2.Caption:='';

end;

 

procedure TForm6.Button3Click(Sender: TObject);

Var

c:real;

Begin

Form7.Label2.Caption:=Form1.Edit1.Text;

Form7.Label1.Caption:='Вы ответили на '+IntToStr(q)+' вопросов, из них правильно '+IntToStr(m);

Form7.Label4.Caption:='Ваш рейтинг = '+IntToStr(r);

c:=m/q;

if c=0 then Form7.Label3.Caption:='Очень плохо' else

if (c>0)and(c<0.5) then Form7.Label3.Caption:='Плохо' else

if c=0.5 then Form7.Label3.Caption:='Надо доучить' else

if (c>0.5) and (c<1) then Form7.Label3.Caption:='Хорошо' else

if c=1 then Form7.Label3.Caption:='Молодец!';

Form7.ShowModal;

end;

При нажатии на кнопке «Ваш рейтинг» на следующей форме появляется результаты рейтенга. Тестирование можно завершить.

 


Фрагмент программы (unit7):

uses Unit6;

{$R *.dfm}

 

procedure TForm7.Button1Click(Sender: TObject);

Begin

Form7.Close;

Form6.Close;

end;

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

function ShowModal: Integer;

Данная функция позволяет показывать форму в работе режима диалога.

 

 








Дата добавления: 2015-09-04; просмотров: 480. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия