Смекни!
smekni.com

Создание программного обеспечения электронного учебника (стр. 7 из 8)

Соответственно, после удачного выполнения тестовой части главы 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&bsol;'+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