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

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

Практическая работа № 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; просмотров: 453. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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

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

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