Автор работы: Пользователь скрыл имя, 16 Июля 2013 в 12:02, дипломная работа
Принципы обучения имеют прямое отношение к разработке
автоматизированных обучающих систем. Рассмотрим кратко каждый из этих принципов:
1. Эффективно усваивается материал предметной области, если учащиеся выполняет задания и интерес к предмету.
2. Обучение является более эффективным, если формы приобретения знаний и навыков таковы, что без труда могут быть перенесены в условия "реальной жизни", для чего они и предназначены. Обычно это означает, что учащемуся важнее научиться находить правильные ответы на вопросы, чем просто узнавать их.
Введение 10
Глава 1. Постановка задачи и проектирование электронного пособия. 17
1.1 Анализ существующих разработок 17
1.2 Актуальность проекта 17
1.3 Каким требованиям должно отвечать разрабатываемое приложение 18
1.4 Требования к структуре приложения 20
1.5 Требования к программному и аппаратному обеспечению,
используемому в процессе эксплуатации приложения 21
1.6 Программное и аппаратное обеспечение для разработки
приложения и обоснование выбора. 22
Глава 2. Аналитическая часть. 23
2.1. Инструментарий (перечень используемых программных средств,
с указанием для разработки в каких частях проекта они
используются); 23
2.2. Структурная схема проекта и последовательность разработки
отдельных частей проекта (главное окно программы,
навигационная панель, меню, заставки, вкладки, графика,
анимация, и т.д.); 31
2.3. Инструкция пользователю по инсталляции программного
продукта и по его эксплуатации. 35
Заключение. 39
Литература. 40
procedure N5Click(Sender: TObject);
procedure BtDaleeClick(Sender: TObject);
procedure BtRezClick(Sender: TObject);
procedure BtZanClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
Test=record
tema: string[100];
vopros,otv1,otv2,otv3,otv4:
flag1,flag2,flag3,flag4:
end;
var
Form1: TForm1;
FName:string;
f:file of Test;
rec,n,prav,nepr:integer;
p:Test;
vt,redak:boolean;
mn: set of 0..99;
implementation
uses T_Pas, T_prpas;
{$R *.dfm}
procedure TForm1.SaveRec(); //Процедура сохранения в полях записи данных из компонентов формы
begin
p.tema:=ETema.Text;
p.vopros:=EVop.Text;
p.otv1:=Eotv1.Text;
p.otv2:=Eotv2.Text;
p.otv3:=Eotv3.Text;
p.otv4:=Eotv4.Text;
p.flag1:=Chotv1.Checked;
p.flag2:=Chotv2.Checked;
p.flag3:=Chotv3.Checked;
p.flag4:=Chotv4.Checked;
end;
procedure TForm1.Pusto(); //Процедура очистки полей
begin
EVop.Text:='';
Eotv1.Text:='';
Eotv2.Text:='';
Eotv3.Text:='';
Eotv4.Text:='';
Chotv1.Checked:=false;
Chotv2.Checked:=false;
Chotv3.Checked:=false;
Chotv4.Checked:=false;
end;
procedure TForm1.OpenRec(); //Процедура
распределения данных полей
begin
ETema.Text:=p.tema;
EVop.Text:=p.vopros;
Eotv1.Text:=p.otv1;
Eotv2.Text:=p.otv2;
Eotv3.Text:=p.otv3;
Eotv4.Text:=p.otv4;
end;
procedure TForm1.N2Click(Sender: TObject); //Процедура создания теста
begin
if SaveDialog1.Execute() then
begin
FPas.ShowModal;
FPas.Free;
vt:=false;
pntest.Visible:=false;
FName:=SaveDialog1.FileName;
AssignFile(f,FName);
rewrite(f);
rec:=FilePos(f);
CloseFile(f);
Panel2.Visible:=True;
GroupBox1.Visible:=True;
Panel3.Visible:=True;
ETema.SetFocus;
n:=1;
PnNom.Caption:=IntToStr(n);
Form1.Caption:=Form1.Caption+' '+ExtractFileName(FName);
BtBack.Enabled:=False;
BtForward.Enabled:=False;
redak:=true;
label1.Caption:='Введите тему';
label2.Caption:='Введите
GroupBox1.Caption:='Введите
PnTest.Visible:=false;
end;
end;
procedure TForm1.N3Click(Sender: TObject); //Процедура открытия теста
begin
if OpenDialog1.Execute() then
begin
FprPas.ShowModal;
FprPas.Free;
Pusto();
vt:=false;
pntest.Visible:=false;
FName:=OpenDialog1.FileName;
AssignFile(f,FName);
reset(f);
read(f,p);
OpenRec();
ETema.Text:=p.tema;
closeFile(f);
n:=1;
rec:=0;
PnNom.Caption:=IntToStr(n);
BtBack.Enabled:=False;
BtSave.Enabled:=False;
BtForward.Enabled:=True;
Panel2.Visible:=True;
GroupBox1.Visible:=True;
Panel3.Visible:=True;
Form1.Caption:=Form1.Caption+' '+ExtractFileName(FName);
redak:=true;
label1.Caption:='Введите тему';
label2.Caption:='Введите
GroupBox1.Caption:='Введите
PnTest.Visible:=false;
end;
end;
procedure TForm1.BtSaveClick(Sender: TObject); //Кнопка Сохранить
begin
SaveRec();
AssignFile(f,fname);
reset(f);
seek(f,rec);
write(f,p);
rec:=FilePos(f);
closeFile(f);
pusto();
inc(n);
PnNom.Caption:=IntToStr(n);
Btback.Enabled:=true;
EVop.SetFocus;
end;
procedure TForm1.FormCreate(Sender: TObject); //Процедура создания формы
begin
Randomize;
end;
procedure TForm1.BtBackClick(Sender: TObject); //Кнопка назад
begin
dec(rec);
dec(n);
AssignFile(f,Fname);
reset(f);
seek(f,rec);
read(f,p);
closeFile(f);
OpenRec();
PnNom.Caption:=IntToStr(n);
BtForward.Enabled:=true;
if Rec=0 then BtBack.Enabled:=False;
BtSave.Enabled:=false;
end;
procedure TForm1.BtForwardClick(Sender: TObject); //Кнопка Далее
begin
SaveRec();
AssignFile(F,Fname);
reset(f);
seek(f,rec);
write(f,p);
rec:=FilePos(f);
closeFile(f);
reset(f);
seek(f,rec);
if rec=FileSize(f) then
begin
p.otv1:='';
p.otv2:='';
p.otv3:='';
p.otv4:='';
p.flag1:=false;
p.flag2:=false;
p.flag3:=false;
p.flag4:=false;
p.vopros:='';
BtSave.Enabled:=true;
BtForward.Enabled:=false;
end else read(f,p);
CloseFile(f);
OpenRec();
BtBack.Enabled:=true;
inc(n);
PnNom.Caption:=IntToStr(n);
end;
procedure TForm1.N5Click(Sender: TObject); //Процедура открытия теста для прохождения
begin
if OpenDialog1.Execute() then
begin
prav:=0;
nepr:=0;
vt:=true;
PnTest.Visible:=true;
PnOtv.Visible:=true;
label1.Caption:='Тема';
label2.Caption:='Вопрос';
GroupBox1.Caption:='Отметьте правильный(ые) ответ(ы) флажком(ами)';
FName:=OpenDialog1.FileName;
AssignFile(f,FName);
reset(f);
for n:=0 to filesize(f) do
include(mn,n);
rec:=random(filesize(f));
seek(f,rec);
exclude(mn,rec);
read(f,p);
OpenRec();
ETema.Text:=p.tema;
//closeFile(f);
n:=1;
PnNom.Caption:=IntToStr(n);
BtZan.Enabled:=False;
BtRez.Enabled:=False;
BtDalee.Enabled:=True;
Panel2.Visible:=True;
GroupBox1.Visible:=True;
Panel3.Visible:=True;
Form1.Caption:=Form1.Caption+' '+ExtractFileName(FName);
Lbnepr.Visible:=false;
Lbprav.Visible:=false;
LbOc.Visible:=false;
Lbnepr.Caption:='Количество неправильных ответов: ';
LbPrav.Caption:='Количество правильных ответов: ';
LbOc.Caption:='Ваша оценка: ';
redak:=false;
end;
end;
procedure TForm1.BtDaleeClick(Sender: TObject); //Кнопка Далее при прохождении теста
begin
if (chOtv1.Checked=p.flag1)and(
and(ChOtv3.Checked=p.flag3)
then
begin
inc(prav);
lbpr.Caption:='Правильные ответы: '+IntToStr(prav);
end else
begin
inc(nepr);
lbn.Caption:='Неправильные ответы: '+IntToStr(nepr);
end;
Chotv1.Checked:=false;
Chotv2.Checked:=false;
Chotv3.Checked:=false;
Chotv4.Checked:=false;
repeat
rec:=random(filesize(f));
until rec in mn;
exclude(mn,rec);
seek(f,rec);
read(f,p);
OpenRec();
inc(n);
PnNom.Caption:=IntToStr(n);
if n=30 then
begin
BtRez.Enabled:=true;
BtDalee.Enabled:=False;
end;
end;
procedure TForm1.BtRezClick(Sender: TObject); //Кнопка Результат
begin
if (chOtv1.Checked=p.flag1)and(
and(ChOtv3.Checked=p.flag3)
then
begin
inc(prav);
lbpr.Caption:='Правильные ответы: '+IntToStr(prav);
end else
begin
inc(nepr);
lbn.Caption:='Неправильные ответы: '+IntToStr(nepr);
end;
Chotv1.Checked:=false;
Chotv2.Checked:=false;
Chotv3.Checked:=false;
Chotv4.Checked:=false;
btZan.Enabled:=true;
BtRez.Enabled:=false;
Panel2.Visible:=false;
GroupBox1.Visible:=false;
Lbnepr.Caption:=Lbnepr.
LbPrav.Caption:=LbPrav.
case prav of
0..21: LbOc.Caption:=LbOc.Caption+'2'
22..24: LbOc.Caption:=LbOc.Caption+'3'
25..27: LbOc.Caption:=LbOc.Caption+'4'
28..30: LbOc.Caption:=LbOc.Caption+'5'
end;
Lbnepr.Visible:=true;
Lbprav.Visible:=true;
LbOc.Visible:=true;
end;
procedure TForm1.BtZanClick(Sender: TObject); //Кнопка Заново
begin
BtRez.Enabled:=false;
BtDalee.Enabled:=true;
BtZan.Enabled:=false;
Panel2.Visible:=true;
Panel3.Visible:=true;
GroupBox1.Visible:=true;
OpenRec();
for n:=0 to filesize(f) do
include(mn,n);
rec:=random(filesize(f));
seek(f,rec);
exclude(mn,rec);
read(f,p);
//closefile(f);
prav:=0;
nepr:=0;
n:=1;
PnNom.Caption:=IntToStr(n);
Lbnepr.Caption:='Неправильные ответы: ';
LbPrav.Caption:='Правильные ответы: ';
LbOc.Caption:='Оценка: ';
Lbn.Caption:='Неправильные ответы: ';
Lbpr.Caption:='Правильные
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); //Процедура закрытия формы
begin
if (n<10) and (redak) then
ShowMessage('Внимание! В данном
тесте было введено менее 10
вопрсов! Настоятельно
end;
end.
3.Приложение «Об авторе»
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Close;
end;
end.
Информация о работе Разработка электронного учебного пособия по предмету: «Черчение»