Соответственно, после удачного выполнения тестовой части главы 2, обучаемый получает доступ к экзамену по главе 2, а после удачного выполнения экзамена по главе 2 он получает доступ к тестированию главы 3 и так далее(см. приложения, листинг 5).
После успешного выполнения последнего (пятого) экзаменационного теста выдается сообщение, в котором кроме информации о набранных баллах по последнему тесту, дается еще информация по итоговому баллу:
Для того чтобы просмотреть результаты прошедших какие-либо тесты студентов, необходимо выбрать “Результаты” в главном меню(см. приложения, листинг 6):
При нажатии на “Результаты” появляется окно, в котором необходимо ввести пароль для входа. Знать пароль должен преподаватель.
В случае, если информация о действующем пароле стала известна большему числу людей, чем необходимо, преподаватель может изменить пароль, для этого просто надо ввести действующий пароль в графу “Пароль” и пароль, на который преподаватель хочет заменить действующий в графу “Новый пароль”.
Основным назначением таблицы результатов, помимо вывода информации об успеваемости конкретного учащегося, является контроль содержания учебного материала пособия, в результате которого может проводится коррекция. Сущность этого состоит в том, что уровень сложности каждого теста должен соответствовать уровню знаний, которые может получить студент по конкретной главе. К примеру, если из ста человек в таблице результатов в тестировании по главе 3 десять человек имеют минимальное количество баллов, а остальные девяносто имеют хорошие и отличные результаты, то это говорит лишь о том, что те десять человек плохо усвоили учебный материал. А если из ста человек, девяносто имели в тестах во всех главах кроме третьей хорошие и отличные результаты, а в третьей у большинства из них результаты ниже среднего, то это говорит о том, что материал, изложенный в главе 3 либо непонятно изложен, либо мало соответствует тестовым заданиям по этой главе.
2.2 Подготовка тестового материала
Тестовый материал создан на основе той информации, которая содержится в главах учебника в разделе ”материал”. Тестовая информация храниться в файлах txt, имеющих следующую структуру:
<количество_вопросов_в_главе>
<номер_вопроса> <вопрос>
<1> <ответ_1> [<*>]
<2> <ответ_2> [<*>]
<3> <ответ_3> [<*>]
<4> <ответ_4> [<*>]
<номер_вопроса> <вопрос>
<1> <ответ_1> [<*>]
<2> <ответ_2> [<*>]
<3> <ответ_3> [<*>]
<4> <ответ_4> [<*>]
Количество_вопросов_в_главе – количество считываемых программой вопросов из файла.
<*> – наличие символа указывает на то, что ответ правильный.
Пример.
20
1. Как называется программа семейства Microsoft Office, которая представляет собой полнофункциональное средство создания интернет-сайтов и управления ими?
1 Microsoft Access
2 Microsoft FrontPage*
3 Microsoft Outlook
4 Microsoft Publisher
20. Одновременное нажатие каких клавиш производит сохранение документа Microsoft Word?
1 Ctrl и Esc
2 Alt и F4
3 Shift и Del
4 Shift и F12*
(см. приложения, листинг 7)
Файлы с вопросами зашифрованы программой WinRAR с использованием внутреннего пароля программы, это позволяет свести на ноль вероятность того, что какой-нибудь более или менее осведомленный учащийся откроет файл с тестовой информацией и воспользуется ей (см. приложения, листинг 8).
Заключение
Таким образом, в ходе выполнения дипломной работы был исследован вопрос разработки программного обеспечения электронного учебника и в качестве практического приложения был разработан электронный интерактивный учебник по информатике. Был разработан учебный материал по соответствующей теме. На основе изложенного материала была создана тестирующая система, позволяющая объективно оценивать уровень подготовки учащихся. Получена выходная таблица, которая, помимо того, что дает информацию об уровне знаний студентов, позволяет находить недостатки в изложении учебного материала и в формулировке тестовых вопросов. Было представлено, что в настоящее время в сферу образования активно внедряются электронные учебники, позволяющие повышать уровень подготовки учащихся, облегчать работу преподавателям.
Список использованной литературы
1. Архангельский А.Я. Delphi 7 Справочное пособие. - М., Бином-Пресс. -2004. -1024 с.
2. Батищев П.С. Электронный On-Line учебник по курсу информатика.
3. Вигерс Карл. Разработка требований к программному обеспечению. /Пер, с англ. - М.: Издательско-торговый дом "Русская Редакция", 2004. -576с
4. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. - СПб.: Питер, 2001. - 384 с.: ил.
5. Информатика для вас. Электронный учебник
6. Каймин В.А., Жданов В.С. и др. “Информатика” для поступающих в ВУЗы. Москва, АСТ, 2006г.
7. Колин К.К. Фундаментальные соновы информатики: социальная информатика/Учебное пособие для вузов. – М.:Академический проект, 200 –350 с.
8. Красильникова В.А. Становление и развитие компьютерных технологий обучения: Монография. - М.: ИИО РАО, 2002. - 168 с.
9. Круглински Д., Уингоу С, Шеферд Дж. Программирование на Microsoft Visual C++ 6.0 для профессионалов. /Пер, с англ. - СПб: Питер; М.: Издательско-торговый дом "Русская Редакция", 2004. - 861 с.
10. Пайс А. Гении науки. - М.: Институт компьютерных исследований, 2002
11. Платонов Ю.М., Уткин Ю.Г., Иванов М.И. Электронный экзаменатор у Вас дома. Информатика. – М.:СОЛОН-Пресс, 2004 – 176с.
12. Симонович С.В., Мураховский В. И., Интернет у вас дома, ООО «АСТ-Пресс Книга», Москва 2002
Приложение
Листинг
procedure TFMater.PartListClick(Sender: TObject);
var
fl:string;
begin
fl:='Book\'+IntToStr(PartList.ItemIndex+1)+'.rtf';
RE1.Lines.Clear;
RE1.Lines.LoadFromFile(fl);
end;
Листинг 2.
procedure TForm1.BitBtn1Click(Sender: TObject);
var
new: boolean;
i: integer;
begin
if FLogin.ShowModal = idOK then
begin
if (FLogin.Edit1.Text<>'') and (FLogin.Edit2.Text<>'') and (FLogin.Edit3.Text<>'') then
begin
CurStud.Total:=0;
for i:=1 to PCNT do //Очисткатекущейзаписи
begin
CurStud.Tests[i]:=0;
end;
for i:=1 to PCNT do //Очисткатекущейзаписи
begin
CurStud.Exams[i]:=0;
end; CurStud.Login:=FLogin.Edit1.Text;
CurStud.Group:=FLogin.Edit2.Text;
CurStud.Pass:=FLogin.Edit3.Text;
new:=True;
for i:=0 to St-1 do //Поискзаписи
begin
if (Stud[i].Login=CurStud.Login) and (Stud[i].Group=CurStud.Group) then
begin
new:=False;
pn:=i;
end;
end;
if new=True then // Еслиновая - тосоздатьзапись
begin
if Application.MessageBox('Записьненайдена. Создатьновую?','Экзаменатор',mb_IconQuestion+mb_YesNo) = idYes then
begin
St:=St+1;
pn:=St-1;
SetLength(Stud,St);
Stud[St-1]:=CurStud;
FSel.ShowModal;
end;
end
else // Иначепроверитьпароль
begin
if (Stud[pn].Pass<>CurStud.Pass) then
begin
Application.MessageBox('Парольневерен!!!', 'Экзаменатор',mb_ IconExclamation+mb_Ok);
end
else
begin
CurStud:=Stud[pn];
FSel.ShowModal;
end;
end;
end
else // Полянезаполнены
begin
Application.MessageBox('Заполнитетриполя','Экзаменатор',mb_ IconExclamation+mb_Ok);
end;
end;
end;
Листинг 3.
procedure TFSel.BitBtn2Click(Sender: TObject);
var
i,n:integer;
k: single;
f,g: integer;
begin
Qrt:=0;
Qc:=0;
g:=0;
for i:=1 to 50 do Rar[i]:=false;
n:=TestList.Selection.Top-1;
Part:=n div 2+1;
if (n mod 2)=1 then Ex:=true else Ex:=false;
Form1.Hide;
FSel.Hide;
repeat
Qc:=Qc+1;
randomize;
repeat
f:=trunc(random(QuesCnt[Part]-1))+1;
until Rar[f]=false;
Rar[f]:=true;
Qnum:=f;
FTest.BitBtn2.Enabled:=false;
FTest.SB1.Down:=false;
FTest.SB2.Down:=false;
FTest.SB3.Down:=false;
FTest.SB4.Down:=false;
FTest.ShowModal;
if FTest.SB1.Down then g:=1;
if FTest.SB2.Down then g:=2;
if FTest.SB3.Down then g:=3;
if FTest.SB4.Down then g:=4;
if g>0 then
begin
if Questions[Part,Qnum].Answers[g].Rt then Qrt:=Qrt+1
else if not(Ex) then
begin
FNR.ShowModal;
end;
g:=0;
end;
until (FTest.ModalResult=mrCancel) or (Qc=10);
FSel.Show;
Form1.Show;
k:=trunc(Qrt/10*100);
if Ex=true then
begin
if CurStud.Exams[part]<k then CurStud.Exams[part]:=k;
end
else
begin
if CurStud.Tests[part]<k then CurStud.Tests[part]:=k;
end;
CurStud.Total:=0;
for i:=1 to PCNT do CurStud.Total:=CurStud.Total+CurStud.Exams[i];
CurStud.Total:=Trunc(CurStud.Total/5);
Stud[pn]:=CurStud;
if k>39.9 then
begin
if part=5 then
begin
if Ex then FRes.Label1.Caption:='Поздравляем! Вы успешно завершили тестирование. Набранный балл: '+FloatToStrF(k,ffFixed,3,0)+'%. Итоговый балл: '+FloatToStrF(CurStud.Total,ffFixed,3,0)+'%';
end
else FRes.Label1.Caption:='Набранный балл: '+FloatToStrF (k,ffFixed,3,0)+'%. Тестпройден';
end
else
begin
FRes.Label1.Caption:='Набранныйбалл: '+FloatToStrF(k,ffFixed,3,0)+'%. ТестНЕпройден';
end;
FRes.ShowModal;
Qnum:=0;
end;
Листинг4.
procedure TFNR.BitBtn2Click(Sender: TObject);
begin
FMater.PartList.ItemIndex:=Part-1;
FMater.ShowModal;
end;
Листинг 5.
procedure TFSel.FormShow(Sender: TObject);
var
i,n,m: integer;
y:single;
begin
with TestList do
begin
RowCount:=2;
FixedRows:=1;
Rows[0].Strings[0]:='Общийбалл';
Rows[0].Strings[1]:=FloatToStr(CurStud.Total);
Rows[1].Strings[0]:='Тестпоглаве'+IntToStr(1);
Rows[1].Strings[1]:=FloatToStr(CurStud.Tests[1]);
for i:=1 to PCNT-1 do
begin
if CurStud.Exams[i]>40 then
begin
RowCount:=RowCount+1;
Rows[i*2+1].Strings[0]:='Тестпоглаве'+IntToStr(i+1);
Rows[i*2+1].Strings[1]:=FloatToStr(CurStud.Tests[i+1]);
end;
end;
for i:=1 to PCNT do
begin
if CurStud.Tests[i]>40 then
begin
//y:=CurStud.Tests[2];
RowCount:=RowCount+1;
Rows[i*2].Strings[0]:='Экзаменпоглаве'+IntToStr(i);
Rows[i*2].Strings[1]:=FloatToStr(CurStud.Exams[i]);
end;
end;
end;
end;
Листинг 6.
procedure TFResult.FormShow(Sender: TObject);
var
i,j: integer;
begin
with StrGr do
begin
RowCount:=2;
FixedRows:=1;
RowCount:=St+1;
ColCount:=4+PCNT;
Rows[0].Strings[0]:='Фамилия';
Rows[0].Strings[1]:='Группа';
Rows[0].Strings[2]:='Пароль';
Rows[0].Strings[3]:='Итог';
for i:=1 to PCNT do
begin
Rows[0].Strings[3+i]:='Глава'+IntToStr(i);
end;
for i:=0 to St-1 do
begin
Rows[i+1].Strings[0]:=Stud[i].Login;
Rows[i+1].Strings[1]:=Stud[i].Group;
Rows[i+1].Strings[2]:=Stud[i].Pass;
Rows[i+1].Strings[3]:=FloatToStr(Stud[i].Total);
for j:=1 to PCNT do