Пакет аналитических вычислений Maple, страница 2

Область текста содержит поясняющие сообщения или любую другую текстовую информацию, которая может потребоваться для обеспечения наглядности документа Maple. Добавить область текста можно нажатием клавиши «InsertPlainText» на панели управления или сочетанием Ctrl+T.

Область вывода содержит результаты выполнения команд Maple. Например, результатом команды описанной в примере 1.1 является число 2. Оно и будет отображаться в области вывода.

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

1.2 Примеры выполнения команд Maple

Выполнение вычислений в Maple производится посредством команд. Эти команды представлены в виде функций и процедур. Чтобы облегчить понимание рассмотрим сначала несколько примеров, а только после этого дадим их описание.

Пример 1.2. Найдем интеграл от sin(x) по dx

 


Особенности:

·  Каждая команда должна оканчивать точкой с запятой (либо двоеточием).

·  Выполнение команды производится нажатием клавиши Enter.

·  В скобках записываются параметры команды. Говоря математическим языком, записываются формальные параметры (аргументы функции).

·  В Maple имеет значение запись команды в верхнем или нижнем регистре. То есть, команда Sqrt(x);  не будет распознана компилятором в отличие от команды sqrt(x);

Maple позволяет производить как символьные (неопределенный интеграл), так и числовые вычисления:

Пример 1.3. Числовое вычисление

 


*

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

Пример 1.4. Вывод значений осуществляется только в первом случае

 


Пример 1.5.Рассмотрим простую задачу произведения двух заданных чисел

 


*

Отредактируем вторую команду и, выполнив её повторно, получим довольно странный результат:

 


*

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

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

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

Пример 1.6. Вызов справки по функции solve

 


*

1.3 Язык программирования

Система Maple имеет огромное (около 2000!) количество функций. Их разнообразие действительно нельзя преувеличить. Но что же делать, если поставленная задача не тривиальная и нужной функции нет в наличии? В этот момент на помощь приходит встроенный язык программирования Maple. Он использует синтаксис, близкий к общеизвестным Паскалю и Си.

Мы будем рассматривать элементы процедурного программирования, использующего условные переходы и циклы, на описании которых и остановимся.

Конструкция условного перехода if:

Обеспечивает выполнение или невыполнение некоторой последовательности операторов (часто всего лишь одного) в зависимости от заданных условий. Имеет следующий вид:

if <условие> then <последовательность операторов>

| elif <условие> then <последовательность операторов> |

| else <последовательность операторов> |

End if;

Где:

<условие> - это выражение логического типа, которое имеет лишь два значения: истина или ложь. И в случае второго, выполнится соответственно либо проверка следующего условия после elif, либо последовательность операторов расположенная после else.

<последовательность операторов> - операторы в порядке их выполнения.

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

Пример 1.7. Нахождение максимума из 3-х чисел

 


*

*

*

*

*

*

Имеет место следующая конструкция:

if <условие> then <последовательность операторов> fi;

Она называется неполным оператором if, так как в ней не указаны операторы, действующие при невыполнении условия.

Также вместо записи «End if» можно записывать «fi» (if наоборот).

Пример 1.8. Проверить меньше ли 9 число a, где a=10

 


*

Конструкция повторения for...while...do:

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

Первый формат:

| for <имя переменной> || from <выражение1> || by <выражение2> || to <выражение3> ||  while <выражение4> |

do <последовательность операторов> end do;

Где:

<имя переменной> - объявление переменной для установки значений из диапазона, задаваемого выражениями 1 и 2.

<выражение1> - начальное значение.

<выражение2> - шаг.

<выражение3> - конечное значение.

<выражение4>- это выражение логического типа, которое имеет лишь два значения: истина или ложь. При истинном значении последовательность операторов будет выполнена, иначе нет.

<последовательность операторов> - операторы в порядке их выполнения.

Пример 1.9. Сумма чисел от 1 до 100

 


Bторой формат:

for <имя переменной> || in <выражение1> || while <выражение2>

do <последовательность операторов> end do;

Где: