Разработка обучающей программы по теме "Обыкновенные дифференциальные уравнения"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



>однородное ДУ I порядка 8 CONSTгенерация константы

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

Таблица 6 - Расшифровка обозначений нетерминалов

НетерминалеРасшифровкаДУдифференциальное уравнениеEXP1правая часть ДУ первого порядка;EXP2правая часть ДУ второго порядка;EXPXфункция от переменной х;EXPYфункция от переменной y;UOунарная операция;OPбинарная операция (любая);OP1бинарная операция + или -;OP2бинарная операция * или /;OP3бинарная операция ^.CONSTконстанта

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

Использование данной автоматной грамматики с наложенными ограничениями позволяет сгенерировать ДУ при условии, что задан алгоритм выбора правил для генерации. Для выбора правил генерации используется генератор случайных чисел C++ Builder random.

Алгоритм работы модуля для выбора правил осуществляется следующими этапами:

-генерация порядка ДУ; так как порядков всего два, то вероятность генерации ДУ первого порядка составляет 50 процентов, оставшиеся 50 процентов сгенерированных выражений относятся к дифференциальным уравнениям второго порядка;

-в соответствии с порядком ДУ выбирается тип канонической формы для генерации; вероятность генерации каждого из типов ДУ второго порядка составляет 1/8 из общего числа генерируемых дифференциальных уравнений, а вероятность генерации ДУ каждого из типов второго порядка 1/14 из общего числа генерируемых дифференциальных уравнений;

-выполнение процедуры заполнения правил EXPX и EXPY если таковые имеются;

-последовательно заполняются правила OP, OP1, OP2, OP3, UO, для генерации используемых операций, при выборе правил с несколькими операциями используется генерация числового значения указывающего на подставляемую операцию; например, при замене нетерминала OP1 возможен вариант выбора либо операции сложение, обозначаемой генерируемым числом 1, или операции вычитание - 2;

-генерируются константы для замены нетерминалов CONST.

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

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

а)выбор того или иного параметра канонической формы;

б)преобразование данного параметра путем изменения всех знаков на противоположенные;

в)преобразование самого левого знака на противоположенный;

г)сокращение выражения отбрасыванием одной из его частей.

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