Описание возможностей разработанной программы «готовимся к егэ»





Скачать 83.19 Kb.
НазваниеОписание возможностей разработанной программы «готовимся к егэ»
Дата публикации18.08.2013
Размер83.19 Kb.
ТипДокументы
100-bal.ru > Математика > Документы
ОПИСАНИЕ ВОЗМОЖНОСТЕЙ РАЗРАБОТАННОЙ

ПРОГРАММЫ «ГОТОВИМСЯ К ЕГЭ».

При составления тестирующих программ основной вопрос, с которой сталкивается программист, является проблема хранения данных. Как было отмечено выше программа «Готовимся к ЕГЭ» разработана школьникам для решения тестовых заданий единого государственного экзамена. Как известно, эти задания содержат в себе: изображения, формулы, таблицы, графики. Следовательно, хранения данных тестовых заданий в базе данных MS Access можно осуществить лишь с использованием OLE – объектов. Но данный способ «не всегда работает», так как при переносе OLE – объектов из базы данных MS Access возникает ряд проблем. Поэтому нами была предпринята идея хранения заданий в документе Microsoft Word с использованием «тегов».

Приведем фрагмент

<t>

0:01:00

<\t>

<a>

Лазер излучает свет с длиной волны 600 нм. Свет лазера делят на два пучка, которые затем направляют на экран. Определите оптическую разность хода пучков, при которой на экране наблюдается максимум освещенности.

<\a>

200 нм<\v>

300 нм<\v>

900 нм<\v>

1,2 мкм<\v>

2<\ans>

<d>

<\d>

<s>

<\s>

<t>

0:01:00

<\t>

<b>

Билет на автобус стоит 15 рублей. Какое максимальное число билетов можно будет купить на 100 рублей после повышения цены билета на 20%?

<\b>

<ans>5<\ans>

<d>

Ответом на задани должно быть целое число или конечная десятичная дробь. Ответ следует записать в бланк ответов №1 справа от номера выполняемого задания, начиная с первой клеточки. Каждую цифру, знак минус и запятую пишите в отдельной клеточке в соответствии с приведенными в бланке образцами. Единицы измерений писать не нужно.

<\d>

<s>

Расшифруем обозначение «тегов».

  • <t>

Задается время на отведенное задание

  • <\t>

  • <b>

Задается описание вопроса задания

  • <\b>

  • <v>

Задается вариант ответа

  • <\v>

  • <ans>

Ответ на поставленное задание

  • <\ans>

  • <d>

Описание требований записи ответа

  • <\d>

  • <s>

Описание подробного решения

  • <\s>

Начало тестирования

При нажатии кнопки начать тест генерируется следующее событие:

procedure TMainForm.StartBtnClick(Sender: TObject);

var

i:integer;

blob : TAdoBlobStream;

FileName:WideString;

ArchiveItem: TZFArchiveItem;

begin

if StartBtn.Caption = 'Начать тест' then

begin

TegNum:=1;

tegnumprev:=1;

zipForge1.FileName:='test.'+IntToStr(SubjectBox.ItemIndex+1)+'.zip';

zipForge1.Password:='8989';

try

// Открытие архива

ZipForge1.OpenArchive(fmOpenRead);

FileName:=IntToStr(SubjectBox.ItemIndex+1)+'.'+YearBox.Text+'.'+NumberBox.Text+'.doc';

if (ZipForge1.FindFirst(FileName,ArchiveItem,faAnyFile-faDirectory)) then

begin

ZipForge1.ExtractFiles(ArchiveItem.FileName);

fn:=ExtractFilePath(Application.ExeName)+ArchiveItem.FileName;

ZipForge1.CloseArchive();

// Открытие файла Word

WappConnect_Open(Wordapp,false,false,CkRunningOrNew,fn);

TestTime:=TimeShow(WordApp);

MainForm.BorderIcons:= [biMinimize, biMaximize];

time:=Now;

Image.Visible:=false;

SubjectBox.Visible:=false;

YearBox.Visible:=false;

NumberBox.Visible:=false;

MainPnl.Visible:=true;

VisibleLabel.Caption:=SubjectBox.Text+' за '+YearBox.Text+' № '+NumberBox.Text;

//Подсчет вопросов части A

KolA:=UmyWApp.KolTeg(WordApp,'a');

for i := 1 to kolA do

begin

{Create the buttons}

RunTimeButtons[i] := TSpeedButton.Create(Self);

with RunTimeButtons[i] do

begin

parent:=ButtonBox;

Width:=35;

Height:=35;

Caption := 'A' + IntToStr(i);

Left := 8+(i-1) * Width;

Top:=50;

GroupIndex:=1;

AllowAllUp := False;

Tag := i;

Font.Size:=12;

{Assign a OnClick handler}

Visible := True;

OnClick := RunTimeButtonclick;

end;

end;

// Подсчет вопросов части B

KolB:=UmyWApp.KolTeg(WordApp,'b');

for i := kolA+1 to kolB+kolA do

begin

{Create the buttons}

RunTimeButtons[i] := TSpeedButton.Create(Self);

with RunTimeButtons[i] do

begin

parent:=ButtonBox;

Width:=35;

Height:=35;

Caption := 'B' + IntToStr(i-kolA);

Left := 8+(i-1-kolA) * Width;

Top:=50+height;

GroupIndex:=1;

AllowAllUp := False;

Tag := i;

Font.Size:=12;

{Assign a OnClick handler}

Visible := True;

OnClick := RunTimeButtonclick;

end;

end;

// Подсчет вопросов части C

KolC:=UmyWApp.KolTeg(WordApp,'c');

for i := kolA+kolB+1 to kolB+kolA+KolC do

begin

{Create the buttons}

RunTimeButtons[i] := TSpeedButton.Create(Self);

with RunTimeButtons[i] do

begin

parent:=ButtonBox;

Width:=35;

Height:=35;

Caption := 'C' + IntToStr(i-kolA-kolB);

Left := 8+(i-1-kolA-kolB) * Width;

Top:=50+2*height;

GroupIndex:=1;

AllowAllUp := False;

Tag := i;

Font.Size:=12;

{Assign a OnClick handler}

Visible := True;

OnClick := RunTimeButtonclick;

end;

end;

// Удаление всех записей из таблицы

with DataForm.AnswerTable do

begin

First;

while not eof do delete;

insert;

end;

DataForm.AnswerTable.FieldByName('Тест').AsString:=IntToStr(SubjectBox.

ItemIndex+1)+'.'+YearBox.Text+'.'+NumberBox.Text+'.doc';

RunTimeButtons[1].Click;

RunTimeButtons[1].Down:=true;

RunTimeButtons[1].Font.Color:=clRed;

StartBtn.Caption:='Завершить тест';

timer.Enabled:=true;

end

else

MessageDlg('Отсутствует тест в базе',mtInformation, [mbYes], 0);

except

MessageDlg('Отсутствует база с тестами',mtError, [mbYes], 0);

end;

end

else

begin

……………

Завершение работы теста

……………

end;

end.

Опишем ключевые моменты выше указанной процедуры:

1) Открываем архив для чтения, извлекаем из него фаил с названием IntToStr(SubjectBox.ItemIndex+1)+'.'+YearBox.Text+'.'+NumberBox.Text+'.doc';

2) Связываем компонент WordАрр c фаилом тестового задания.

3) Подсчитывая количество вопросов части А, В и С, происходит создание соответствующих кнопок. После чего фаил с тестовым задание приобретает вид (производится номерация тегов):

<t>

0:01:00

<\t>

B1

<b1>

Билет на автобус стоит 15 рублей. Какое максимальное число билетов можно будет купить на 100 рублей после повышения цены билета на 20%?

<\b>

5<\ans>



Ответом на задани должно быть целое число или конечная десятичная дробь. Ответ следует записать в бланк ответов №1 справа от номера выполняемого задания, начиная с первой клеточки. Каждую цифру, знак минус и запятую пишите в отдельной клеточке в соответствии с приведенными в бланке образцами. Единицы измерений писать не нужно.

<\d>

<s.b1>

Решение

После повышения цены билета на 20% его стоимость составит: рублей. Значит, на 100 рублей можно будет купить 5 билетов, так как .

Ответ: 5.

<\s>

<t>

0:01:00

<\t>

<a1>

Лазер излучает свет с длиной волны 600 нм. Свет лазера делят на два пучка, которые затем направляют на экран. Определите оптическую разность хода пучков, при которой на экране наблюдается максимум освещенности.

<\a>

<v.a1.1>200 нм<\v>

300 нм<\v>

900 нм<\v>

1,2 мкм<\v>

2<\ans>



<\d>

<s.a1>

<\s>
Процесс тестирования.

В данном пункте опишем процедуру извлечения тестовых вопросов из файла тестовых заданий. При выборе вопроса генерируется следующее событие:

procedure TMainForm.RunTimeButtonClick(Sender: TObject);

begin

SolBtn.Caption := 'Решение';

//Отображается вопрос

QuestionShow(MainForm.WordApp,  OleContainer,(Sender as TSpeedButton).Caption);

(Sender as TSpeedButton).Font.Color:=clRed;

//Отображается критерии записи ответа

DescriptionMemo.Text:=DescriptionShow(WordApp,(Sender as TSpeedButton).Caption);

if (Sender as TSpeedButton).Caption[1]='A' then

begin

AnswerDBEdit.Visible:=false;

AnswerGroup.Items.Clear;

AnswerGroup.Items:=AnswerShow(MainForm.WordApp, (Sender as TSpeedButton).Caption);

AnswerGroup.DataField:=(Sender as TSpeedButton).Caption;

TegNum:=(Sender as TSpeedButton).Tag;

AnswerGroup.Visible:=true;

end

else

Begin

AnswerGroup.Visible:=false;

AnswerDBEdit.Visible:=true;

AnswerDBEdit.DataField:=(Sender as TSpeedButton).Caption;

AnswerDBEdit.SetFocus;

TegNum:=(Sender as TSpeedButton).Tag;

end;

if DataForm.AnswerTable.FieldByName(

RunTimeButtons[TegNumPrev].Caption).AsString<>''

then

RunTimeButtons[TegNumPrev].Font.Color:=clGreen

else

RunTimeButtons[TegNumPrev].Font.Color:=clBlack;

tegnumprev:=tegnum;

end;

Чтобы было понятно, опишем ключевые моменты выше указанной процедуры на конкретном примере. Например, при нажатии кнопки с надписью А1 программа:

    1. отыскивает в файле тестового задания соответствующий тег <a1> и отображает вопрос, который находится между тегами и <\a>, в компоненте OleContainer.

    2. Отыскивает теги <v.a1.i> и отображает варианты ответов, которые находятся между тегами <v.a1.1> и <\v>, в компоненте AnswerGroup.

    3. Связываем компонент AnswerGroup с полем А1 таблицы AnswerTable.(Если мы работаем с частью В, то в таком случае связываем компонент AnswerDBEdit полем В* таблицы AnswerTable.

Завершение тестирования

Для завершения теста нажимаем кнопку «завершить тестирование», после чего генерируется следующее событие:

procedure TMainForm.RunTimeButtonClick(Sender: TObject);

…………….

StartBtn.Caption:='Начать тест';

if DataForm.AnswerTable.Modified then DataForm.AnswerTable.Post

else DataForm.AnswerTable.Cancel;

SubjectBox.Visible:=true;

YearBox.Visible:=true;

NumberBox.Visible:=true;

Timer.Enabled:=false;

VisibleLabel.Caption:='';

MainPnl.Visible:=false;

Image.Visible:=true;

// Отображаем форму ответов

ResultForm.ShowModal;

for i := 1 to kolA+KolB+kolC do

RunTimeButtons[i].Destroy;

QuitWordAppNotSave(WordApp);

deleteFile(fn);

MainForm.BorderIcons:= [biSystemMenu, biMinimize, biMaximize];

end;

end;

Опишем работу выше указанной процедуры:

    1. Сохраняем изменения в таблице AnswerTable;

    2. Отображаем окно результатов ResultForm. При активации данного окна возникает следующее событие:

procedure TResultForm.FormActivate(Sender: TObject);

Var

i, right:integer;

begin

StringGrid1.Cells[0,0]:='№ вопроса';

StringGrid1.Cells[1,0]:='Задача';

StringGrid1.Cells[2,0]:='Ваш ответ';

StringGrid1.Cells[3,0]:='Правильный ответ';

StringGrid1.Cells[4,0]:='Бал';

StringGrid1.RowCount:=MainForm.kolA+MainForm.kolB+1;

for i:=1 to MainForm.KolA+MainForm.kolB+MainForm.kolC do

begin

StringGrid1.Cells[0,i]:=IntToStr(i);

StringGrid1.Cells[1,i]:=MainForm.RunTimeButtons[i].Caption;

StringGrid1.Cells[2,i]:=DataForm.AnswerTable.FieldByName(

MainForm.RunTimeButtons[i].Caption).AsString;

StringGrid1.Cells[3,i]:=RightShow(MainForm.WordApp,MainForm.RunTimeButtons[i].Caption);

if StringGrid1.Cells[2,i] = StringGrid1.Cells[3,i]

then

begin

StringGrid1.Cells[4,i]:='1';

right:=right+1;

end

else

StringGrid1.Cells[4,i]:='0';

end;

AnswerLabel.Caption:=IntToStr(right)+' правильных ответов из '

+ IntToStr(MainForm.kolA+MainForm.kolB+MainForm.kolB);

TimeLabel.Caption:='Ваше время : '+ MainForm.TimeNowLbl.Caption;

end;

Опишем кратко выше указанную процедуру:

    1. Заполняется таблица результатов;

    2. Подсчитывается количество правильных ответов

3. На заключительном этапе происходит удаление временного файла.

Разработанная программа обеспечивает простую работу при создании тестовых заданий, а также заменяет онлайн тестирование для школьников не имеющих доступ к интернету.

Добавить документ в свой блог или на сайт

Похожие:

Описание возможностей разработанной программы «готовимся к егэ» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Живая физика. Живая геометрия; Готовимся к егэ. Физика; Готовимся к егэ. Математика; Физика. 7 9 класс ч. 1
Описание возможностей разработанной программы «готовимся к егэ» iconГотовимся сдавать егэ по русскому языку в 11 классе Автор: учитель...
Знакомят учащихся с процедурой проведения егэ и процедурой проведения егэ по технологии сга
Описание возможностей разработанной программы «готовимся к егэ» icon«Десять шагов по подготовке к егэ» Памятка для учителя – предметника Шаг 1
Егэ. Серия дисков «Готовимся к егэ» (русский язык, география, история, физика, математика), серия книг «егэ: контрольно- измерительные...
Описание возможностей разработанной программы «готовимся к егэ» iconПрограмма элективного курса «Готовимся к егэ по физике» Автор программы курса: Недбальская И. В
Муниципальное бюджетное общеобразовательное учреждение: Казакларская средняя общеобразовательная школа Высокогорского муниципального...
Описание возможностей разработанной программы «готовимся к егэ» iconПрограмма составлена на основе авторской программы под редакцией...
Михеева Е. В. Информационные технологии: Учеб пособие для сред проф образования – М.: Издательский центр «Академия», 2005
Описание возможностей разработанной программы «готовимся к егэ» iconГотовимся к егэ (советы психолога)
Региональная оценка качества образования учащихся. 2012 г. Русский язык 9 класс 9094(/4)
Описание возможностей разработанной программы «готовимся к егэ» iconПрограмма способна заменить целый шкаф учебных таблиц
Математика. Готовимся к егэ. Решение экзаменационных задач в интерактивном режиме
Описание возможностей разработанной программы «готовимся к егэ» iconГотовимся к егэ. Запишите слово, пропущенное в схеме
...
Описание возможностей разработанной программы «готовимся к егэ» iconТематическое планирование по русскому языку Спецкурс «Стилистика русского языка» Классы
Планирование составлено на основе: Готовимся к егэ. Русский язык / О. Ф. Вакурова, С. И. Львова, И. П. Цыбулько. 5-е изд., стереотипное....
Описание возможностей разработанной программы «готовимся к егэ» icon«Готовимся к егэ по русскому языку» факультативный курс для 10-11...
Котюрова М. П. Лингвистическое выражение связности речи в научном стиле (сравнительно с художественным) : Автореферат диссертации...
Описание возможностей разработанной программы «готовимся к егэ» iconУважаемые участники егэ, родители, учителя!
Егэ (например, вам предлагают купить «задания егэ» и даже «готовые ответы» егэ). Рособрнадзор предостерегает вас от обращений к услугам...
Описание возможностей разработанной программы «готовимся к егэ» iconИспользование возможностей интерактивной доски при организации итогового...

Описание возможностей разработанной программы «готовимся к егэ» iconИнформация для участников егэ 2013 года о сроках, местах и порядке...
Егэ (например, вам предлагают купить «задания егэ» и даже «готовые ответы» егэ). Рособрнадзор предостерегает вас от обращений к услугам...
Описание возможностей разработанной программы «готовимся к егэ» icon525О. В. Загоровская, О. В. Григоренко Русский язык. Готовимся к...
«Товароведение однородных групп продовольственных товаров» для студентов подготовки 100800. 62 «Товароведение» разработано в соответствии...
Описание возможностей разработанной программы «готовимся к егэ» iconКраткое описание ким егэ 2011 года по математике
Сентябрь- октябрь 2011г. –мониторинговые обследования готовности первоклассников к обучению в школе
Описание возможностей разработанной программы «готовимся к егэ» iconРабочая программа разработана на основе авторской программы «Основы...
Рабочая программа разработана на основе авторской программы «Основы безопасности жизнедеятельности», разработанной В. Н. Латчуком...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск