Программирование в СКМ Maple

Оператор цикла

Как и в других языках программмирования, в операторе цикла надо указать переменную цикла, ее начальное значение (from), шаг (by), и ее конечное значение (to) и условие для ее выполнения (while). Тело цикла, если даже тело состоит не из большого количества операторов, располагается между do и od. Команда для закрытия скобки od может быть убрана и вместо нее могут стоять команды end или end do. Не все команды оператора цикла могут быть включены в цикл, это является не обязательным условием. Обычно за начальное условие применяется единица и тогда это выглядит следующим образом from: =1(это можно не писать). Как и начальное условие, шаг цикла будет равен единице, a условие while, и, если дано конченое число для заданной переменной данного цикла, нужно указывать только для того чтобы досрочно выйти из цикла. Аналогично, если будет дано условие, то конечное число можно не вносить. Пример:

> k:=0;

> for i from 1 by 2 to 12 while (k<3) do k:=i od;

При выполнении данного цикла (в данном случае он выйдет из цикла при значении k равным 4) на экран выводиться всего две записи k: =1 и k: =3, фиксирующие присвоение заданной переменной k чисел 1 и 3.
До выполнения данного цикла нашей переменной следует присвоить любое значение, если мы этого не сделаем система выдаст сообщение об ошибке и не сможет выполнить проверку этого условия (Error, cannot determine if this expression is true or false). Наша переменная цикла после выполнения присваивает и сохраняет последнее пройденное значение. У нас в примере им будет число 5. Чтобы программа нам вывела на экран значение i не нужно использовать обычные операторы print или while. Нужно написать имя нашей переменной и точку с запятой:

> i;

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

> for i to 5 do for j to 6 do i*j od;od;

То в независимости от того что мы поставим: точку с запятой или же двоеточие, результат промежуточных вычислений мы не сможем увидеть, пока не применим специальный оператор вывода, например, print.

Условный оператор

Простейший условный оператор включает три основные служебные команды: if, then и end. Логическое выражение (условие) ставиться после оператора if. Всегда в конце условного оператора следует поставить: end, fi или end if. Например: if k<5 then k5 end. Если взять усложненную форму оператора, то есть возникает возможность выбора из нескольких вариантов: if k <5 then k5 else k0 end. При выполнении условия k <5, на экран будет выводиться значение переменной k5, если оно не будет выводиться, то на экран выводиться условие k0. Также условный оператор может выполнять команды как оператор выбора:

> if k=1 then k1

> elif k=2 then k2

> elif k=4 then k4

> elif k=5 then k5 else k0 end if;

Опираясь на значение переменной k производиться вывод на экран одного и заданных выражений k1, k2, k3 или k5. Но если не удовлетворяется ни одно из условий, то оператор выдаст значение k0. Есть еще условный оператор, который имеет следующую структуру обращений: ‘if’ (K, M, L). Тут K- заданное условие, за M выступает выражения, возвращающее оператор. Ели заданное условие является истинным, за L выступает выражение, возвращающее условие, если данное условие ложно. Данный оператор удобно использовать определенно в формулы, в качестве некоторой функции какой- либо переменной K с обоими ее значениями M и L.

Процедуры

Для описания простейшей процедуры нужно описать ее имя, перечислить аргументы и задать тело процедуры. В ниже приведенной процедуре F c F с аргументами x и y производиться вычисление произведения xy:

> F:=proc(x,y) x*y end;

Для того чтобы обратиться к процедуре может выглядеть следующим образом: F(5,9) .

Функции

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

> A:={a,b,c}:

> B:={a,b,d}:

> f:=(x,y) -> (nops(x union y),nops(x intersect y) );

> f(A,B);

f := (x, y)→(nops(x ∪ y), nops(x ∩ y))

4, 2.

Работа с графикой

Для того чтобы построить график или нарисовать рисунок, включая анимированных графиков и рисунков, в СКM Maple существует большое количество разнообразных команд. Множество из них требует того, чтобы был вызван пакет, включающий данную команду. Несложные графики можно построить тривиальным оператором plot. Для оператора plot не нужно подключение каких-либо команд. Для него не нужно дополнительных средств.

Приведем некоторые простые варианты для построения графиков функций.

•График элементарных функций; plot(cos). В данной команде указание аргумента не обязательно. (рис.2.1).

Например, такие не очень привычные выражения, как plot(sin+cos). Такие математические высказывания случат либо как демонстративный материал, либо как не очень сложный справочный. Довольно нечасто такие виды обращений используют для оператора plot.

• График (рис.2.2) функции y = sin(x) с обозначением пределов x=0..2*Pi и обрезанием системы координат(0..0.8):

plot(sin(x),x=0..2*Pi,0..0.8).

Если не фиксировать ограничения по оси, то на графике будет показан весь график (если он не определен на бесконечности).

Программирование в СКМ Maple - student2.ru

Рисунок 2.1-График функций y = sin(x) Рисунок 2.2- График функций y = sin(x)
с ограничениями

Глава III.

Наши рекомендации