Разработка электронного учебного пособия по предмету: «Черчение»

Автор работы: Пользователь скрыл имя, 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

Вложенные файлы: 1 файл

Курсач.doc

— 6.55 Мб (Скачать файл)

    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:string[255];

    flag1,flag2,flag3,flag4:boolean;

    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(ChOtv2.Checked=p.flag2)

and(ChOtv3.Checked=p.flag3)and(ChOtv4.Checked=p.flag4)

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(ChOtv2.Checked=p.flag2)

and(ChOtv3.Checked=p.flag3)and(ChOtv4.Checked=p.flag4)

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.Caption+IntToStr(nepr);

LbPrav.Caption:=LbPrav.Caption+IntToStr(prav);

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 вопрсов! Настоятельно рекомендуется  открыть этот тест для ввода  всех 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.

 

 

 

 




Информация о работе Разработка электронного учебного пособия по предмету: «Черчение»