Численные методы в среде символьной математики. Программирование и решение задач: Учебно-методическое пособие, страница 4

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

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

Программирование в пакете DERIVE

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

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

DeclareSimplification SettingsMode: ExactBranch: Principal

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

Операндами в DERIVE могут быть следующие объекты:

¨  целое число или целая дробь:  17,  65/123;

¨  действительные числа:  5.67∙10 –6;

¨  литералы:  “aB37”, “_”, “т.е. любой символьный набор в кавычках”;

¨  идентификатор: Ya, v1z, g, wF_,... Буквы верхнего и нижнего регистров включаются в идентификаторы следующими установками в меню:

DeclareInput SettingsInput Mode: Word Case Sensitivity: Sensitive

¨  вектор: [a0, a1, ... ,aN] – представляется взятыми в квадратные скобки списком в общем случае различных компонентов любых типов, например, константы, переменные, векторы, матрицы, функции, …;

¨  матрица: – вектор с векторными компонентами. Например, матрица размером 2×3 представляет собой вектор с двумя компонентами, которые в свою очередь являются векторами с тремя компонентами любых типов, например, – [[ê, y, Y],[g, a0, 17]] ;

¨  функцияимя | имя(список формальных параметров) – при вызове функции, определенной только именем, параметры в функцию передаются значениями операндов, упомянутых в определении функции. В функцию со списком формальных параметров, на фиксированные определением места вписываются фактические имена или фактические значения. Не названные в списке параметры из определения функции передаются своими значениями. Функции возвращают значения тех типов, которые определялись последними.

Определение значений операндов осуществляется посредством оператора присваивания:

имя_операнда:=значение_операнда

При желании дополнительные нюансы определений можно найти в подпунктах пункта Declare главного меню. Имя операнда может быть представлено только идентификатором или идентификатором со списком фактических (или формальных) параметров.

Однажды присвоенное операнду значение сохраняется до тех пор, пока оператором присваивания оно не будет заменено другим. Это правило действует даже в том случае, когда с поля экрана выражения присваивания удалены. Особенно об этом стоит помнить, когда по некоторому оператору присваивания символьного выражения выполняется промежуточное приближенное вычисление (режим Approximate), а затем пытаются продолжить символьные преобразования с этим операндом.