Journal influence
Bookmark
Next issue
Abstract:
Аннотация:
Author: () - | |
Ключевое слово: |
|
Page views: 11641 |
Print version Full issue in PDF (1.36Mb) |
На кафедре автоматизированных систем управления Томского государственного университета систем управления и радиоэлектроники уже в течение нескольких лет коллектив разработчиков занимается проектированием и созданием различных компьютерных учебных пособий (КУП). Возникла необходимость в специализированной среде разработки КУП [1,2]. В состав комплекса EduCAD входят следующие автоматизированные системы (АС): 1. EduCAD Textbook 2.0 – АС разработки гипертекстовых электронных учебников (ЭУ). 2. EduCAD Control – АС контроля знаний. Состоит из двух подсистем – EduCAD Tests и EduCAD Programs, предназначенных для создания пакетов тестирования и проверки программ учащихся [3]. 3. EduCAD Presentation – АС создания презентационных программ и мультимедийных лекций. 4. EduCAD Practice – динамический шаблон для создания комплексов лабораторно-практических работ по математическим дисциплинам. Рассмотрим особенности разработки данных программ и некоторые особенности функционирования КУП, построенных на их основе. Комплекс разрабатывается в среде программирования Borland C++ Builder, что влияет на способы реализации программ, но несложно провести аналогию для других современных компиляторов, строящих приложения для ОС, поддерживающих ядро Win32. Особенности представления данных Основой функционирования комплекса является разработанный автором пакет визуальных компонентов. Самые главные из них: компонент отображения гипертекстовой информации THyperText, компонент отображения векторной графической информации TVectorPicture, компонент воспроизведения мультимедийных презентаций TEduCADPresentation и компонент шаблона практических работ TeduCADPractice. Компонент THyperText имеет встроенный интерпретатор разработанного специально для этих целей языка ECHTL (EduCAD HyperText Language). Язык разметки построен на теговой основе и имеет следующую структуру: TXT ::= e|TAG TXT TAG ::= <[/]NAME[= VAL]>|DATA VAL ::= #HEX|DEC|STR Здесь e – пустой символ, NAME – имя тега, последовательность букв и цифр, начинающаяся с буквы, #HEX – шестнадцатиричное число, начинающееся с символа «#», DEC – десятичное число, STR – строковое значение тега, DATA – любые символьные данные. На данный момент поддерживается около 80 тегов. Компонент TVectorPicture имеет аналогичный встроенный интерпретатор языка ECVPDL (EduCAD VectorPicture Description Language). Векторные рисунки вставляются в основной текст в виде макросов, их описание имеет следующую структуру: PICT ::= e|PROC PICT PROC ::= NAME(LIST)[;] LIST ::= e|DATA|DATA, LIST DATA ::= #HEX|DEC|STR Здесь e – пустой символ, NAME – имя процедуры, LIST – список параметров, DATA – отдельный параметр. Имеется приблизительно 40 процедур для описания векторной графики. Данные конструкции интерпретируются с помощью синтаксического анализатора (СА). Описание гипертекстовой и графической информации он воспринимает как входные цепочки L-грамматики. Плюсы такого подхода – простота реализации и легкая модифицируемость поведения СА. Достаточно изменить таблицу синтаксического разбора, чтобы анализатор начал работать по новому алгоритму. Изображения других форматов (BMP, ICO, WMF, EMF, JPG) также поддерживаются в виде встроенных макросов. Причем загрузка файлов может происходить и с диска, и с помощью процедур пользователя. В этом случае пользователь получает указатель на экземпляр абстрактного класса Tgraphic из библиотеки VCL, содержащей графические данные. Классы TBitmap, TIcon, TMetafile и TJPEGImage наследуются от TGraphic. Пользователь инициализирует экземпляр класса TGraphic графическими данными, а затем объект THyperText анализирует эти данные следующим образом: if (graphic->ClassType() == __classid(TBitmap)) { // обработка изображения в формате BMP } else if (graphic->ClassType() == __classid(TIcon)) { // обработка изображения в формате ICO } else ... Здесь «graphic» – указатель на родительский класс TGraphic экземпляра какого-либо графического объекта, «__classid» – оператор языка C++, возвращающий указатель на таблицу виртуальных функций класса, с помощью которого производится проверка идентичности различных классов. Пользователь может подключать собственные макросы. В этом случае ему передается указатель на структуру типа THyperMacros, поля которой он заполняет. Среди прочих параметров указываются размеры макроса и его графическое изображение (как указатель на экземпляр класса TGraphic, который обрабатывается аналогичным образом). Компонент TEduCADPresentation работает с объектами-потомками абстрактного базового класса TPresentationObject: - TPresentationText – вывод текста; - TPresentationPicture – вывод графики; - TPresentationMultimedia – воспроизведение мультимедиа-информации; - TPresentationRepeater – изменение свойств ранее отображенных объектов позволяет перерисовывать их с новыми эффектами; - TPresentationClearer – очистка блока изображения. Отображение всех компонентов презентации можно привязать к таймеру, чтобы обеспечить, например, синхронное отображение ее объектов с аудиоинформацией (мультимедийные лекции). Обеспечиваются различные эффекты при выводе информации (в зависимости от ее вида). Компонент TEduCADPractice является шаблоном для создания практических работ. Он поддерживает все необходимые для этого функции, а в местах вычислений по конкретной работе происходит вызов специальных виртуальных методов. Для визуализации решения задач существует два специальных класса. 1) TGraphManager для отображения графиков различных функций. Поддерживает текстовый формат выражений, то есть с помощью компонента TStringParser проводит синтаксический разбор входного выражения, затем, если он успешен, преобразует выражение в польскую строку, по которой выполняются вычисления. Позволяет масштабировать отдельные участки изображения и управлять историей масштабов, содержит множество настроек. 2) TMatrixViewer для отображения векторов и матриц. Поддерживает встроенное (in-place) редактирование элементов данных, выделение цветом необходимых элементов, также имеет множество настроек параметров изображения. Компонент TGraphManager является универсальным графическим контейнером. Рассмотрим следующую часть описания этого класса: ... private: TList *FObjectsList; TDrawingObject * __fastcall Get (int); public: __property TDrawingObject *Objects[int] = { read = Get}; __property TList *ObjectsList = { read = FObjectsList}; ... Видно, что к объекту можно подключать другие объекты, наследующиеся от класса TDrawingObject. По умолчанию подключаются объекты заголовка графика (TGMCaption), а также объекты вертикальной и горизонтальной осей (TGMAxe). Пользователь может подключать эти и другие объекты, в том числе написанные самостоятельно. Для отображения функций предусмотрен компонент TGMFunction, для визуальной манипуляции ими – компонент TfunctionManager. Система EduCAD Textbook АС EduCAD Textbook 2.0 представляет собой редактор ресурсов, представленных в формате ECT (EduCAD Textbook data file). Все текстовые данные кодируются, таким образом достигается сохранность прав разработчиков на конечный коммерческий программный продукт, которым является любое КУП. Пользователь не может просто скопировать из учебника текстовую или графическую информацию. Графическая информация упаковывается в специальный файл HTP (HyperText Pictures data file) и распаковывается по запросу от объекта THyperText. На рисунке 1 показан пример разработки электронного учебника по дисциплине «Методы оптимизации» в системе EduCAD Textbook 2.0. Содержимое кадра отображается компонентом THyperText, который использует для графического оформления компонент TVectorPicture. В том случае, когда функциональности системы недостаточно для реализации поставленной задачи, предусмотрено подключение динамических библиотек. Подключаемая библиотека должна иметь две обязательные функции – инициализации (вызывается при подключении библиотеки к странице учебника) и завершения работы (вызывается при закрытии страницы). Формат данных функций следующий: void __stdcall (TPageMethod *) ( void *page, void *sub_page, char *params); Первый параметр является указателем на активную основную страницу учебника (нулевого уровня), второй – на активную дополнительную страницу, (если она есть, иначе этот параметр равен NULL), третий – на строку, содержащую параметры вызова DLL. Клиентская часть системы позволяет пользователю просматривать учебник, но, в отличие от серверной части, не редактировать его. Если исполняемый файл запускать с параметром, то он воспринимается как идентификатор страницы, с которой следует начать просмотр. Это позволяет открывать учебник на нужной странице при его вызове из других программ (например, в качестве справочного материала по предмету из практических работ). В дальнейшем предполагается создание АС EduCAD Textbook версии 3.0, поддерживающей визуальную разработку кадра учебника, работу с различными элементами управления и другими компонентами, проектируется язык манипуляции ими. То есть для разработки КУП любой сложности дополнительных сред программирования требоваться уже не будет. Система EduCAD Presentation АС EduCAD Presentation пополняет учебную базу данных информацией для анимированных мультимедийных презентаций. Информация сохраняется в файле формата ECP (EduCAD Presentation data file). Клиентская часть системы EduCAD Presentation является центром управления всеми ресурсами учебного курса. Она позволяет: · запускать все остальные компоненты учебного курса, экономя время пользователя на поиск нужных приложений; · воспроизводить различную мультимедийную информацию; · предотвращать повторную загрузку уже запущенных модулей; · воспроизводить анимированные мультимедийные лекции со звуковым сопровождением (компонент TEduCADPresentation). Шаблон EduCAD Practice Динамический шаблон EduCAD Practice является проектом, написанным для компилятора Borland C++ Builder 4.0. По умолчанию поддерживаются: · многооконный интерфейс; · многоуровневый тренажер; · возможность пошагового процесса решения с визуализацией каждого его шага; · древовидная структура решения задач, встраивание деревьев решения друг в друга; · выдача текста программы на языках C, C++ и Pascal, решающих разбираемый метод, в зависимости от уровня доступа. Чтобы конкретизировать шаблон под определенную практическую работу, нужно перегрузить имеющиеся виртуальные функции шаблона. Например, перегрузим функцию следующего вида: void __fastcall IWalker (TDecStepData *, int, bool). Это обеспечит контроль над поведением тренажера при перемещении по дереву решения. Первый параметр является указателем на объект данных решаемой задачи, второй – направлением движения (вперед, назад, в начало, в конец), третий – флагом визуального отображения (устанавливается в значение «ложь», если необходимо миновать данный шаг решения без обновления графических данных, например, если узел решения находится в свернутой ветви). Чтобы облегчить пользователю начало работы при первом запуске программ формата EduCAD Practice, разработан специальный мастер настройки EduCAD WisePractice, позволяющий сделать индивидуальные установки интерфейса программы, начать процесс решения новой задачи на любом уровне тренажера. На рисунке 2 показан пример вычисления интеграла по формуле Симпсона в практической работе «Численное интегрирование функций» по дисциплине «Вычислительная математика». К настоящему времени в рамках комплекса EduCAD подготовлено два мультимедийных обучающих курса – по дисциплинам «Вычислительная математика» и «Концепции современного естествознания». Идет разработка курсов – по дисциплинам «Методы оптимизации» и «Основы теории управления», планируется создание еще нескольких курсов. Цель разрабатываемых КУП состоит в том, чтобы соответствовать новейшим тенденциям в электронном образовании. Список литературы 1. Мицель А.А., Романенко В.В. Автоматизированная система разработки электронных учебников. // Открытое образование. - 2001. - №5. 2. Романенко В.В. Развитие автоматизированного комплекса разработки компьютерных учебных пособий EduCAD. // Сб. тр. ТУСУР: Автоматизированные системы обработки информации, управления и проектирования. – Томск, 2002. - Т.7. 3. Веретенников М.В. Автоматизированная система проверки знаний «EduCAD Control». // Сб. тр. ТУСУР: Автоматизированные системы обработки информации, управления и проектирования.– Томск, 2002. - Т.7. |
Permanent link: http://swsys.ru/index.php?id=644&lang=en&page=article |
Print version Full issue in PDF (1.36Mb) |
The article was published in issue no. № 2, 2003 |
Perhaps, you might be interested in the following articles of similar topics:
- Система программного обеспечения единого технико-программного комплекса для гибких автоматизированных производств механообработки
- Автоматизированное рабочее место расчета стоимости эксплуатации кораблей
- Формулировка задачи планирования линейных и циклических участков кода
- Расчет нечеткого сбалансированного показателя в задачах взвешивания терминов электронных документов
- Использование матричных квадродеревьев для хранения площадных картографических объектов
Back to the list of articles