
- •2. Алфавит Maple-языка и его синтаксис. Основные объекты (определение, ввод, действия с ними). Числа. Обыкновенные дроби.
- •3. Основные объекты (определение, ввод, действия с ними). Радикалы. Константы. Переменные, неизвестные и выражения.
- •4. Последовательности, списки, множества. Массивы. Вектора.
- •Создание массивов, векторов и матриц
- •5. Аналитические преобразования. Операции с формулами. Преобразование типов. Операции оценивания.
- •Оценивание выражений
- •6. Работа с последовательностями, списками, множествами. Последовательности с заданным числом членов
- •Основные функции для произведения членов последовательностей
- •7. Работа с массивами, таблицами. Создание Maple-таблиц и их применение
- •Создание массивов, векторов и матриц
- •8. Внутренняя структура объектов Maple. Подстановка и преобразование типов. Преобразования чисел с разным основанием
- •Контроль за типами объектов
- •9. Операции с полиномами. Определение полиномов
- •Выделение коэффициентов полиномов
- •Оценка коэффициентов полинома по степеням
- •Оценка степеней полинома
- •Контроль полинома на наличие несокращаемых множителей
- •Разложение полинома по степеням
- •Вычисление корней полинома
- •Основные операции с полиномами
- •Операции над степенными многочленами с отрицательными степенями
- •10. Решение уравнений и неравенств.
- •11. Математический анализ. Пределы, суммы. Ряды. Пределы
- •Суммы и ряды
- •12. Математический анализ. Исследование функций. Разложение и приближение функций.
- •13. Математический анализ. Дифференцирование функций. Интегрирование. Производные
- •Интегралы
- •14. Обзор пакетов Maple 15. Пакет linalg. Элементарные операции с матрицами и векторами. Состав пакета linalg
- •15. Пакет LinearAlgebra. Элементарные операции с матрицами и векторами. Назначение и загрузка пакета LinearAlgebra
- •Примеры матричных операций с применением пакета LinearAlgebra
- •Методы решения систем линейных уравнений средствами пакета LinearAlgebra
- •16. Решение систем линейных уравнений. Пакет student. Функции пакета student
- •Функции интегрирования пакета student
- •Иллюстративная графика пакета student
- •17. Основы программирования в maple 15. Задание функций пользователя. Задание функции пользователя
- •10.1.2. Конструктор функций unapply
- •Визуализация функции пользователя
- •18. Основы программирования в maple 15.Условные выражения. Циклы. Операторы пропуска и прерывания. Условные выражения
- •Циклы for и while
- •10.2.5. Операторы пропуска и прерывания циклов
- •19. Процедуры функции. Процедуры. Средства отладки процедур, их сохранение и использование (подключение).
- •Графические процедуры
- •Просмотр кодов процедур
- •Оператор возврата значения return
- •Статус переменных в процедурах и циклах
- •Объявления переменных локальными с помощью оператора local
- •Объявления переменных глобальными с помощью слова global
- •Ключи в процедурах
- •Общая форма задания процедуры
- •20. Решение алгебраических уравнений и систем уравнений. Основная функция solve. Решение систем линейных уравнений
- •21. Одиночные нелинейные и тригонометрические уравнения. Решение одиночных нелинейных уравнений
- •Решение тригонометрических уравнений
- •22. Системы нелинейных и трансцендентных уравнений. Решение уравнений в численном виде. Решение систем нелинейных и трансцендентных уравнений
- •Решение в численном виде — функция fsolve
- •23. Решение функциональных, рекуррентных и др. Уравнений. Функция RootOf. Функция RootOf
- •Решение функциональных уравнений
- •Решение рекуррентных уравнений — rsolve
- •24. Решение обыкновенных дифференциальных уравнений и уравнений в частных производных Примеры аналитического решение оду первого порядка
- •Функция pdsolve
- •25. Двумерная графика в системе maple 15. Команда plot(). Функция plot для построения двумерных графиков
- •26. Двумерные команды пакета plots. Двумерные графические структуры Maple.
- •27. Двумерные команды пакета plottols. Анимация двумерных графиков.
- •28. Пространственная графика в Maple. Команда plot3d().
- •Параметры функции plot3d
- •29. Трёхмерные команды пакета plots. Трёхмерные графические структуры Maple.
- •30. Меню для работы с трёхмерной графикой. Трёхмерные команды пакета plottools.
- •31. Символьные преобразования выражений. Команда simplify, expand. Упрощение выражений — simplify
- •Расширение выражений — expand
- •32. Символьные преобразования выражений. Команда factor, collect. Разложение выражений (факторизация) — factor
- •Комплектование по степеням — collect
- •33. Решение тригонометрических уравнений.
- •34. Решение систем линейных уравнений. Решение систем линейных уравнений
- •35. Решение систем нелинейных и трансцендентных уравнений.
- •36. Поиск эсктремумов функции командой solve.
- •37. Поиск эсктремумов функции командой extrema.
- •38. Поиск минимумов и максимумов аналитической функции командами minimize, maximize.
- •39. Работа с функцией из отдельных кусков. Функция piecewise. Работа с функциями piecewise
- •40. Численное решение дифференциальных уравнений. Команда dsolve.
- •II. Вопросы по практике
Циклы for и while
Зачастую необходимо циклическое повторение выполнения выражения заданное число раз или до тех пор, пока выполняется определенное условие. Maple имеет обобщенную конструкцию цикла, которая задается следующим образом:
|for <name>| | from <expr1>| |to <expr3>| |bу <expr2>| |while <expr4>|
do <statement sequence> od;
Здесь name — имя управляющей переменной цикла, expr1, expr2 и expr3 — выражения, задающие начальное значение, конечное значение и шаг изменения переменной name, expr4 — выражение, задающее условие, пока цикл (набор объектов между словами do и od) будет выполняться.
В ходе выполнения цикла управляющая переменная меняется от значения expr1 до значения expr2 с шагом, заданным expr3. Если блок by <expr2> отсутствует, то управляющая переменная будет меняться с шагом +1 при expr1<expr2. Это наглядно поясняет следующий пример:
> for i from 1 to 5 do print(i) od;
1 2 3 4 5
В нем выводятся значения переменной i в ходе выполнения цикла. Нетрудно заметить, что она и впрямь меняется от значения 1 до значения 5 с шагом +1 Следующий пример показывает, что границы изменения управляющей переменной можно задать арифметическими выражениями:
> for i from 7/(2+5) to 2+3 do print(i) od;
1 2 3 4 5
А еще один пример показывает задание цикла, у которого переменная цикла меняется от значения 1 до 10 с шагом 2:
> for i from 1 to 10 by 2 do print(i) od;
1 3 5 7 9
В этом случае выводятся нечетные числа от 1 до 9. Шаг может быть и отрицательным:
> for i from 9 to 1 by -2 do print(i) od;
9 7 5 3 1
Следует отметить, что expr1>expr2 задать заведомо невыполнимое условие, например, expr1>expr2 и положительное значение шага, то цикл выполнятся не будет. В цикл можно прервать с помощью дополнительного блока while <expr4>. Цикл с таким блоком выполняется до конца или до тех пор, пока условие expr4 истинно:
> for i from 1 to 10 by 2 while i<6 do print(i) od;
1 3 5
Таким образом, конструкция цикла в Maple-языке программирования вобрала в себя основные конструкции циклов for и while. Есть еще одна, более специфическая конструкция цикла:
|for <name>| |in <expr1>| | while <expr2>| do <statement sequence> od;
Здесь expr1 задает список значений, которые будет принимать управляющая переменная name. Цикл будет выполняться, пока не будет исчерпан список и пока выполняется условие, заданное выражением expr2. Следующий пример иллюстрирует сказанное:
> for i in [1,2,5,-1,7,12] do print(i) od;
1 2 5 -1 7 12
> for i in [1,2,5,-1,7,12] while i>0 do print(i) od;
1 2 5
В цикле этого вида управляющая переменная может меняться произвольно.
10.2.5. Операторы пропуска и прерывания циклов
Иногда бывает нужным пропустить определенное значение переменной цикла. Для этого используется оператор next (следующий). Приведенный ниже пример иллюстрирует применение оператора next в составе выражения if-fi для исключения вывода значения i=-2:
> for i in [1,2,3,-2,4] do if i=-2 then next else print(i) fi od;
1 2 3 4
Другой оператор — break — прерывает выполнение фрагмента программы (или цикла) Его действие поясняет слегка модифицированный предшествующий пример:
> for i in [1,2,3,-2,4] do if i=-2 then break else print(i) fi od;
1 2 3
В данном случае при значении i=-2 произошло полное прекращение выполнения цикла. Поэтому следующее значение 4 переменной i присвоено не было и это значение на печать не попало.
Любой из операторов quit, done или stop обеспечивает также прерывание выполнения текущей программы (в частности цикла), но при этом окно текущего документа закрывается.