да. Cереда. Разработка тестирующей программы по теме Информатика
Скачать 139 Kb.
|
ЗаключениеПодводя итоги хочется напомнить о значимости тестирующих программ. В настоящее время во многих вузах России вступительные экзамены проводятся в форме тестирования на ЭВМ. Но такая форма предполагает определенную начальную подготовку учащегося как пользователя персонального компьютера. Ребёнок никогда не работавший с тестами часто допускают ошибки не из-за незнания предмета, а из-за неумения работать с тестами. Поэтому разработка тестирующей программы дала мне опыт не только в рамках разработки тестов, но и для их решения. В качестве интегрированной среды разработки была выбрана система Delphi. Во время выполнения данной работы мне удалось ближе познакомиться с визуальной средой программирования Delphi и научиться в ней работать. Курсовая работа дала важные для учебного процесса основы практического применения теоретических знаний. Была разработана тестирующая программа на тему «Информатика», тем самым цели курсовой работы были достигнуты, а задачи решены. Список использованной литературыАстафьева, Н.Е. Информатика и ИКТ: Практикум для профессий и специальностей технического и социально-экономического профилей / Н.Е. Астафьева. - М.: Academia, 2019. - 384 c. Астафьева, Н.Е. Информатика и ИКТ: Практикум для профессий и специальностей технического и социально-экономического профилей / Н.Е. Астафьева. - М.: Academia, 2014. - 384 c. Астафьева, Н.Е. Информатика и ИКТ: Практикум для профессий и специальностей технического и социально-экономического профилей: Учебное пособие / Н.Е. Астафьева. - М.: Academia, 2016. - 447 c. Астафьева, Н.Е. Информатика и ИКТ: Практикум для профессий и специальностей технического и социально-экономического профилей / Н.Е. Астафьева. - М.: Academia, 2017. - 94 c. Босова, Л. Информатика и ИКТ: Учебник для 9 класса / Л. Босова, А. Босова. - М.: Бином. Лаборатория знаний, 2012. - 323 c. Босова, Л. Информатика и ИКТ. Учебная программа и поурочное планирование для 8-9 классов / Л. Босова, А. Босова. - М.: Бином. Лаборатория знаний, 2012. - 87 c. Босова, Л. Информатика и ИКТ. Учебная программа и поурочное планирование для 5-7 классов / Л. Босова, А. Босова. - М.: Бином. Лаборатория знаний, 2009. - 93 c. Босова, Л. Информатика и ИКТ. Учебная программа и поурочное планирование для 5-7 классов / Л. Босова, А. Босова. - М.: Бином. Лаборатория знаний, 2011. - 93 c. Приложениеprogram Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} var f: textfile; nvar: string; begin Application.Initialize; Assignfile(f,nvar); try reset(f); except end; Application.Initialize; Application.Title := 'Тест'; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end. Листинг модуля Unit1: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Button1: TButton; Button2: TButton; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; Edit1: TEdit; Edit2: TEdit; Label3: TLabel; Label4: TLabel; Image1: TImage; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } vopros,otvet1,otvet2,otvet3,otvet4: array[1..30] of string; da1,da2,da3,da4: array[1..30] of integer; nvar: string; end; var Form1: TForm1 implementation uses Unit2; {$R *.dfm} var f: TextFile; // файл теста (вопросы и варианты ответов) n: integer; // количество вопросов в тесте prav: integer; // количество правильных ответов level: array[1..4] of integer; // критерии оценок mes: array[1..4] of string; // комментарии dd: string; procedure TForm1.Button2Click(Sender: TObject); begin form1.Close end; procedure TForm1.Button1Click(Sender: TObject); var i: integer; label 1; begin if form1.Edit1.Text='' then begin showmessage ('Введите свою Фамилию!'); abort; end; if form1.Edit2.Text='' then begin showmessage ('Введите своё Имя!'); abort; end; if radiobutton1.checked then begin nvar:='var1.txt'; end else begin if radiobutton2.checked then begin nvar:='var2.txt'; end else begin if radiobutton3.checked then begin nvar:='var3.txt'; end else begin if radiobutton4.checked then begin nvar:='var4.txt'; end else begin showmessage ('Ноебходимо выбрать вариант'); abort; end; end; end; end; form2.show; b:=1; form1.hide; Assignfile(f,nvar); try reset(f); except end; readln(f,dd); form2.Caption:=dd; for i:=1 to 4 do begin readln(f,dd); mes[i]:=dd; readln(f,dd); level[i]:=strtoint(dd); end; for i:=1 to 1000 do begin if not EOF(f) then begin readln(f,dd); vopros[i]:=dd; readln(f,dd); otvet1[i]:=dd; readln(f,dd); da1[i]:=strtoint(dd); readln(f,dd); otvet2[i]:=dd; readln(f,dd); da2[i]:=strtoint(dd); readln(f,dd); otvet3[i]:=dd; readln(f,dd); da3[i]:=strtoint(dd); readln(f,dd); otvet4[i]:=dd; readln(f,dd); da4[i]:=strtoint(dd); n:=i; end else goto 1; end; 1: prav:=0; i:=1; form2.Label2.Caption:= vopros[i]; form2.CheckBox1.Caption:= otvet1[i]; form2.CheckBox1.Tag:=da1[i]; form2.CheckBox2.Caption:= otvet2[i]; form2.CheckBox2.Tag:=da2[i]; form2.CheckBox3.Caption:= otvet3[i]; form2.CheckBox3.Tag:=da3[i]; form2.CheckBox4.Caption:= otvet4[i]; form2.CheckBox4.Tag:=da4[i]; form2.Button1.Enabled:=false; end; end. Листингмодуля Unit2: unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; Button1: TButton; Button2: TButton; Image1: TImage; procedure Button2Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox3Click(Sender: TObject); procedure CheckBox4Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } nvar,sss: string; t: integer; end; var Form2: TForm2; b,i: integer; c: string; vopros,otvet1,otvet2,otvet3,otvet4: array[1..30] of string; da1,da2,da3,da4: array[1..30] of integer; implementation uses Unit1; {$R *.dfm} var f: textfile; // файл теста j,n: integer; // количество вопросов в тесте prav: integer; // количество правильных ответов level: array[1..4] of integer; // критерии оценок mes: array[1..4] of string; // комментарии dd: string; procedure TForm2.Button2Click(Sender: TObject); begin form2.close; form1.close; end; procedure TForm2.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then begin CheckBox2.Checked:=false; CheckBox3.Checked:=false; CheckBox4.Checked:=false; end; Button1.Enabled:=true; end; procedure TForm2.CheckBox3Click(Sender: TObject); begin if CheckBox3.Checked then begin CheckBox2.Checked:=false; CheckBox1.Checked:=false; CheckBox4.Checked:=false; end; Button1.Enabled:=true; end; procedure TForm2.CheckBox4Click(Sender: TObject); begin if CheckBox4.Checked then begin CheckBox2.Checked:=false; CheckBox3.Checked:=false; CheckBox1.Checked:=false; end; Button1.Enabled:=true; end; procedure TForm2.CheckBox2Click(Sender: TObject); begin if CheckBox2.Checked then begin CheckBox1.Checked:=false; CheckBox3.Checked:=false; CheckBox4.Checked:=false; end; Button1.Enabled:=true; end; procedure TForm2.Button1Click(Sender: TObject); var dd: string; label 2; begin t:=t+1; if t<=8 then begin sss:=inttostr(t)+'.bmp'; end; if (t>8) and (t<=16) then begin sss:=inttostr(t-8)+'.bmp'; end; if t>16 then begin sss:=inttostr(t-16)+'.bmp'; end; form2.Image1.Picture.LoadFromFile(sss); if form1.radiobutton1.checked then begin nvar:='var1.txt'; end else begin if form1.radiobutton2.checked then begin nvar:='var2.txt'; end else begin if form1.radiobutton3.checked then begin nvar:='var3.txt'; end else begin nvar:='var4.txt'; end; end; end; i:=b+1; if i=2 then begin Assignfile(f,nvar); try reset(f); except end; readln(f,dd); for j:=1 to 4 do begin readln(f,dd); mes[j]:=dd; readln(f,dd); level[j]:=strtoint(dd); end; for j:=1 to 1000 do begin if not EOF(f) then begin readln(f,dd); vopros[j]:=dd; readln(f,dd); otvet1[j]:=dd; readln(f,dd); da1[j]:=strtoint(dd); readln(f,dd); otvet2[j]:=dd; readln(f,dd); da2[j]:=strtoint(dd); readln(f,dd); otvet3[j]:=dd; readln(f,dd); da3[j]:=strtoint(dd); readln(f,dd); otvet4[j]:=dd; readln(f,dd); da4[j]:=strtoint(dd); n:=j+1; end else goto 2; end; end; 2: b:=b+1; c:=floattostr(b); label1.Caption:='Вопрос '+ c ; if CheckBox1.Checked then prav:=prav+CheckBox1.Tag; if CheckBox2.Checked then prav:=prav+CheckBox2.Tag; if CheckBox3.Checked then prav:=prav+CheckBox3.Tag; if CheckBox4.Checked then prav:=prav+CheckBox4.Tag; if Button1.Caption = 'Завершить' then close; if i begin form2.Label2.Caption:= vopros[i]; form2.CheckBox1.Caption:= otvet1[i]; form2.CheckBox1.Tag:=da1[i]; form2.CheckBox2.Caption:= otvet2[i]; form2.CheckBox2.Tag:=da2[i]; form2.CheckBox3.Caption:= otvet3[i]; form2.CheckBox3.Tag:=da3[i]; form2.CheckBox4.Caption:= otvet4[i]; form2.CheckBox4.Tag:=da4[i]; form2.CheckBox1.Checked:=false; form2.CheckBox2.Checked:=false; form2.CheckBox3.Checked:=false; form2.CheckBox4.Checked:=false; form2.Button1.Enabled:=false; i:=i+1; end else begin Button1.Caption := 'Завершить'; CheckBox1.Visible:=false; CheckBox2.Visible:=false; CheckBox3.Visible:=false; CheckBox4.Visible:=false; dd:='Тестирование завершено.'+#13+ 'Правильных ответов: '+inttostr(prav)+'из '+inttostr(n-1)+'.'+#13; i:=1; while (prav inc(i); dd:=dd+mes[i]; form2.Label1.Caption:='Уважаемый(ая) ' + form1.Edit2.Text+' '+ form1.Edit1.Text+ '!'; form2.Label1.AutoSize:=true; form2.Label1.WordWrap:=true; form2.Label1.Font.Size:=14; label2.Caption:=dd; end; end; end. |