Главная  | О журнале  | Авторы  | Новости  | Конкурсы  | Научные мероприятия  | Вопросы / Ответы

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

К содержанию номера журнала: Вестник КАСУ №1 - 2008

Автор: Копытина И.В.

В настоящее время в процессе обучения студентов широко используются электронные учебники. Электронный учебник представляет собой комплект обучающих, контролирующих, моделирующих и прочих программ, размещаемых на магнитных носителях, в которых отражено основное научное содержание учебной дисциплины. Для оптимизации учебного процесса нами был создан электронный учебник по дисциплине «Численные методы», сочетающий в себе теоретический материал, практические задания и различные тесты по всем разделам. Ниже представлена его структура и описана методика его создания.

Структура электронного учебника

Запуск учебника производится при помощи главного файла title.htm. Работа начинается с появления титульного листа учебника. На нём, помимо названия учебника, также указано учебное заведение, факультет, кафедра, город и год выпуска.

Рисунок 1. Титульный лист электронного учебника

При щелчке по названию появляется меню, содержащее ссылки на данные разделы:

- Аннотация;

- Оглавление;

- Тесты;

- Итоговое тестирование;

- Задания для самостоятельной работы;

- Глоссарий;

- Помощь;

- Сведения об авторах;

- Список используемой литературы.

Рисунок 2. Главное меню электронного учебника

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

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

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

В начале лекции используются закладки для упрощения навигации по теоретическому и практическому материалу. Также закладки служат в некотором виде структурой данной подтемы.

Рисунок 3. Оглавление электронного учебника

Рисунок 4. Вид проекта окна «Решение уравнений с одной неизвестной» (IV тема, I лекция)

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

Рисунок 5. Панель навигации на примере одной из тем учебника (в нижней части страницы)

В конце каждого раздела предлагается пройти тестирование. Тестировщики для разделов были выполнены также в среде HTML. В учебнике всего девять тестировщиков – ровно столько, сколько тем в учебнике.

В самой последней лекции предлагается пройти итоговое тестирование. Этот тестер выполнен в среде Delphi.

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

В конце каждой лекции также предлагается прорешать задания для самостоятельной работы (всего десять вариантов). Просмотреть задания можно также при помощи главного меню.

В разделе «Помощь» содержатся указания по работе с учебником. Здесь рассказывается о структуре учебника, о том, какие разделы он содержит.

Сведения об авторах содержат данные о составителях учебника.

Раздел «Список используемой литературы» содержит сведения об изданиях, с помощью которых был составлен данный учебник. В них можно найти более подробную информацию по той или иной теме учебника.

Фоном главных страниц учебника служат формулы из лекционного материала учебника, фон остальных страниц имитирует страницу тетради в клетку с полями.

Так как данный учебник создавался в программе Microsoft FrontPage, то для него более всего подходит браузер Internet Explorer версии 4.0 и выше. Он полностью позволяет отобразить все тонкости оформления, задуманные при составлении учебника.

Создание тестовой оболочки в среде JavaScript

При создании промежуточных (рубежных) тестов была использована среда JavaScript. Тест представляет собой десять вопросов с тремя вариантами ответов на каждый в виде HTML-страницы. В конце страницы находится кнопка «Проверка ответов» с находящимся рядом текстовым окном, показывающим результаты тестирования при нажатии на данную кнопку. По окончании теста предлагается вернуться к лекционному материалу и продолжить изучение следующего.

Принцип работы теста таков. При создании элемента управления CheckBox задаются следующие его свойства: в случае верного ответа задаётся идентификатор, например, ID="c1", и значение VALUE="1". В противном случае идентификатор можно не задавать, а значение по умолчанию – VALUE="ON".

Рисунок 6. Вид окна тестировщика, выполненного в среде HTML

Файл test.js, созданный в среде JavaScript и динамически подключаемый при прохождении тестирования, находится в той же папке, где находится проект и имеет следующий листинг кода программы:

function count()

{

itog.value=0;

if (c1.checked)

{itog.value=Number(itog.value)+Number(c1.value);}

if (c2.checked)

{itog.value=Number(itog.value)+Number(c2.value);}

if (c3.checked)

{itog.value=Number(itog.value)+Number(c3.value);}

if (c4.checked)

{itog.value=Number(itog.value)+Number(c4.value);}

if (c5.checked)

{itog.value=Number(itog.value)+Number(c5.value);}

if (c6.checked)

{itog.value=Number(itog.value)+Number(c6.value);}

if (c7.checked)

{itog.value=Number(itog.value)+Number(c7.value);}

if (c8.checked)

{itog.value=Number(itog.value)+Number(c8.value);}

if (c9.checked)

{itog.value=Number(itog.value)+Number(c9.value);}

if (c10.checked)

{itog.value=Number(itog.value)+Number(c10.value);}

}

Суть данной программы такова: сначала счётчик count устанавливается равным нулю. При выборе верного ответа счётчик увеличивается на единицу, т.е. на значение, заданное при создании элемента управления CheckBox (VALUE=”1”). По окончании тестирования тестируемый, нажимая на кнопку «Проверка ответов», вызывает функцию count (function count()), прописанную в рассмотренном выше подключаемом файле test.js. Результат прохождения тестирования отображается в текстовом окне рядом с кнопкой.

Создание тестовой оболочки в среде Delphi

Для создания тестовой оболочки для итогового тестирования по курсу численных методов была использована среда программирования Delphi.

Тест запускается либо из главного меню при нажатии на ссылку «Итоговое тестирование», либо из последней лекции, где в завершение изучения материала предлагается пройти тестирование по всему курсу численных методов.

Работа с программой начинается с нажатия на кнопку «Начать тест…».

Рисунок 7. Вид окна тестировщика, выполненного в среде Delphi

Для работы с программой нужно обязательно пройти регистрацию. Появляется диалоговое окно для ввода личных данных тестируемого.

Рисунок 8. Вид окна «Данные»

Для этого в программе были прописаны коды для записи данных (данные сохраняются в файле result.txt в том же каталоге, где находится exe-файл тестирующей программы). В случае, если хотя бы одно из полей не заполнено, появляется предупреждающее окно:

Рисунок 9. Вид предупреждающего окна «Сообщение»

Листинг данной процедуры представлен ниже:

procedure TAnketa.SaveButtonClick(Sender: TObject);

var

s: string;

begin

if (edit1.text<>'')and(edit2.text<>'')and(edit3.text<>'')and(edit4.text<>'')

then

begin

AssignFile(output, 'result.txt');

s:= 'Фамилия - ' + Edit1.Text + ' Имя - ' + Edit2.Text + ' Отчество - ' + Edit3.Text + ' Группа - ' + Edit4.Text+ ' Количество ошибок: ' + IntToStr(sum) + #13;

Writeln(s);

close;

TestForm.Show;

Anketa.Hide;

end;

if (edit1.text='')or(edit2.text='')or(edit3.text='')or(edit4.text='') then

begin

Anketa.Enabled:=false;

MesForm.Show;

end;

end;

В случае успешного введения данных запускается тест.

Рисунок 10. Вид окна «Итоговое тестирование по курсу «Численные методы»

Для загрузки тестового файла прописывается следующий код:

procedure TTestForm.RunButtonClick(Sender: TObject);

begin

FileName:='chm.tst';

LoadFile;

QuestionNumber:=0;

FalseNumber:=0;

NextButton.Enabled:=true;

NextQuestion;

Anketa.Show;

TestForm.Hide;

RunButton.Enabled:=false;

end;

Для реализации проверки знаний используется цикл с параметром. Листинг данной процедуры приведён ниже:

procedure TTestForm.NextQuestion;

var

i:Integer;

begin

Randomize;

Question:=QuestionList.Count-1;

QuestionLabel.Caption:=PQuestion(QuestionList[Question]). Name;

QuestionCheckList.Items.Clear;

for i:=0 to PQuestion(QuestionList[Question]).ResultCount-1 do

QuestionCheckList.Items.Add(PQuestion(QuestionList[Question])

.ResultText[i]);

Inc(QuestionNumber);

end;

В случае неправильного ответа в программе тестирования предусмотрено «возвращение» к теоретическому материалу с помощью специально предназначенной для этого API-функции под Win32 – ShellExecute. Для организации связи электронного учебника с программой тестирования автоматически вызывается страница с лекцией. Просмотрев её, тестируемый может ответить на этот же вопрос и продолжить тестирование. Следующий вопрос не появится, пока не будет дан правильный ответ на данный.

procedure TTestForm.NextButtonClick(Sender: TObject);

var

OK:Boolean;

i:Integer;

Lecture:array[1..30]of PAnsiChar;

begin

OK:=true;

for i:=0 to PQuestion (QuestionList[Question]).ResultCount-1 do

if PQuestion(QuestionList[Question]). ResiltValue[i]

<>QuestionCheckList.Checked[i] then OK:=false;

Lecture[1]:='Book\1.htm';

Lecture[2]:='Book\1.htm';

Lecture[29]:='Book\8-4.htm';

Lecture[30]:='Book\9.htm';

if OK=false then

begin

Inc(FalseNumber);

for i:=1 to 30 do

begin

if (OK=false) and (QuestionNumber=i) then

ShellExecute(handle, 'open', Lecture[i], nil, nil,

SW_SHOWMAXIMIZED);

end;

end;

if (QuestionNumber<30) and (OK = true) then

begin

QuestionList.Delete(Question);

NextQuestion;

NextButton.Enabled:=true;

end

else

NextButton.Enabled:=false;

if (QuestionNumber<30) then

begin

NextButton.Enabled:=true;

end

else

begin

NextButton.Enabled:=false;

ResultButton.Enabled:=true;

end;

end;

При завершении теста появляется сообщение с результатами тестирования.

Рисунок 11. Окно результатов

Код данной процедуры представлен ниже:

procedure TTestForm.ResultButtonClick(Sender: TObject);

begin

Procent:=100-Round(FalseNumber/30*100);

Application.MessageBox(PChar('Ваш результат - '+

IntToStr(30-FalseNumber)+' из 30 или '+FloatToStr(Procent)+'%!'),'');

sum:= FalseNumber;

ResultButton.Enabled:=false;

end;

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

Рисунок 12. Окно просмотра результатов в текстовом файле result.txt

Создание анимационных роликов в среде Macromedia Flash

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

Создание анимационных роликов позволяет оживить процесс изучения, наглядно показать, как строятся довольно сложные чертежи. Поэтому для более простого ознакомления с порой довольно сложным материалом темы в HTML-страницы были внедрены анимации.

С помощью анимаций легко представить, как строится график или проходит какой-либо процесс.

Для сравнения рядом помещён готовый рисунок. Например, один из самых сложных рисунков данного курса – это построение интегральных кривых семейства и касательных к ним (VIII тема, IV лекция: численное решение дифференциальных уравнений методом Рунге-Кутта).

Рисунок 13. Рисунок (в формате JPEG), изображающий построение интегральных кривых семейства и касательных к ним

Рисунок 14. Анимационный flash-ролик (в формате SWF), визуализирующий процесс построения интегральных кривых семейства и касательных к ним

Данные ролики были созданы в виде слайдов: постепенно появляются линии, визуализируя процесс построения всего рисунка от появления осей координат до завершающего этапа построения.

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

Кроме того, были завизуализированы: построение интерполяционного многочлена Лагранжа (численное дифференцирование и интегрирование); поиск графического решения дифференциального уравнения в виде ломаной (численное решение обыкновенных дифференциальных уравнений методом Эйлера); построение интегральных кривых семейства и касательных к ним (численное решение дифференциальных уравнений методом Рунге-Кутта); нахождение вида приближающей функции для заданной таблицы (обработка экспериментальных данных методом наименьших квадратов).

ЛИТЕРАТУРА

1. Лапчик М.П. Численные методы / М.П. Лапчик. - Омск, 1980.- 224 с.

2. Заварыкин В.М. Численные методы / В.М. Заварыкин, В.Г. Житомирский, М.П. Лапчик.- Москва: Просвещение, 1990.- 320 с.

3. Демидович Б.П. Основы вычислительной математики / Б.П. Демидович, И.А. Марон – Москва, 1970.- 351 с.

4. Данилина Н.И. Численные методы /Н.И. Данилина.- Москва, 1976.- 400 с.

5. Самарский А.А. Численные методы / А.А. Самарский, А.В. Гулин.- Москва: Наука, 1989.- 326 с.

6. Калиткин Н.Н. Численные методы / Н.Н. Калиткин.- Москва, 1978.- 344 с.

7. Крылов В.И. Вычислительные методы / В.И. Крылов, В.В. Бобков, Г.И. Монастырский, ч.2. - Наука, 1977.- 286 с.

8. Бахвалов Н.С. Численные методы / Н.С. Бахвалов, ч.1.- Наука,1973.-450 с.

9. Воробьёва Г.Н. Практикум по вычислительной математике / Г.Н. Воробьёва, А.Н. Данилова.- Москва: Высшая школа, 1990.- 317 с.

10. Дьяконов В.П. Справочник по алгоритмам и программа на языке Бейсик для персональных ЭВМ / В.П. Дьяконов. – Москва: Наука, 1989.- 210 с.

11. Волков Е.А. Численные методы / Е.А. Волков. - Москва, 1987.- 354 с.

12. Демидович Б.П. Численные методы анализа / Б.П. Демидович, И.А. Марон, Э.З. Шувалова.- Москва, 1963.- 264 с.

13. Азанов Н.П. Основы HTML / Н.П. Азанов. - Алматы, 2001.- 456 с.

14. Белунцев В. Macromedia Flash 5: Анимация в Интернете / В. Белунцев. – Москва, 2001.- 325 с.

15. Шапошников И. Web-сайт своими руками/ И. Шапошников. - СПб.: БХВ, 2000.- 287 с.

16. Шафран, Энди. Создание Web-страниц: Самоучитель / Э.Шафран [Пер. с англ.М.Федорова].- СПб.:Питер, 2001.- 316 с.

17. Могилев А.В. Информатика / А.В. Могилев, Н.И. Пак, Е.К. Хеннер. - М.: изд. Академия, 2001.- 412 с.

18. Шафрин Ю.А. Информационные технологии / Ю.А. Шафрин. - М.: Изд. ЛБЗ, 2001.- 324 с.

19. Кон А.И. Секреты Internet / А.И. Кон. - Изд. Ростов н/Д: Феникс, 2000. – 289 с.

20. Драхвелидзе П. Программирование в Delphi 7 / П. Драхвелидзе, Е. Марков. - СПб.: БХВ – Петербург, 2004. – 784 с.

21. Хомоненко А. Самоучитель Delphi / А. Хомоненко, В.Гофман. - СПб.: БХВ – Петербург, 2003. – 576 с.

22. Фаронов В. Система программирования Delphi / В.Фаронов. – СПб.:БХВ-Петербург, 2004. – 888 с.

23. Симонович С. Специальная информатика / С. Симонович, Г. Евсеев, А. Алексеев. – М.: АСТпресс, 2001. – 478 с.



К содержанию номера журнала: Вестник КАСУ №1 - 2008


 © 2024 - Вестник КАСУ