Главная Случайная страница


Полезное:

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


Категории:

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






Практическая работа № 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;

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

 

 


Date: 2015-09-18; view: 627; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию