Слайд 2
Mathcad содержит встроенную среду программирования, что значительно расширяет
возможности вычислительного пакета. Операторы программирования находятся в меню Математика
–> Операторы и символы –> Программирование:
Слайд 3
«Программирование» – для создания программной структуры.
«Локальное назначение» –
знак «равно» для программ.
«Оператор if»– оператор условия.
«Оператор else»– альтернативный
выбор.
«Оператор return» – выход из программы.
«Try / On Error» – применяется, если при выполнении программы может возникнуть ошибка.
Команды:
Слайд 4
Эти команды можно сочетать с операторами, переменными и
функциями Mathcad. Например, Вы можете использовать структуру функции для
ввода входных значений:
Слайд 5
«Программирование» и «Локальное определение»
Создадим программу, которая вычисляет разницу
между двумя переменными a и b.
На рисунке представлена структурная
диаграмма программы:
Здесь всего три элемента: вход, действие и выход. Вместо структурной диаграммы можно использовать другие способы, помогающие созданию программы, например, блок-схемы или псевдокод.
Слайд 8
Важно! Операторы программирования return, else, if, while и
т.д. следует вставлять из меню программирования.
Ввод этих команд
с клавиатуры не приведет к желаемому результату.
Слайд 9
Всегда тестируйте программы, потому что при некоторых значениях
могут получиться бессмысленные результаты.
В некоторых случаях это могут
быть отрицательные числа, ноль или бесконечность.
Слайд 10
У операторов программирования есть свои горячие клавиши
«Программирование» –
правая квадратная скобка ]
«Локальное назначение» – левая фигурная скобка
{
«return»– [Ctrl+\]
Слайд 12
Вычислим площадь поверхности цилиндра диаметром D и высотой
H. Структурная диаграмма этой программы:
Слайд 13
Программа и некоторые выходные результаты показаны ниже. Возможно,
нужно запретить отрицательные входные значения…
Заметьте, что переменные внутри программы
являются локальными.
Локальная переменная не определяется вне программы
Слайд 14
Входным значениям можно дать числа с единицами измерения:
Однако
если задать единицу измерения только одной переменной, Mathcad скажет,
что единицы не совместимы:
Поэтому единицы измерения следует использовать единообразно.
Слайд 15
Операторы if и else
Необходимо создать программу функции, которая
принимает следующие значения:
Слайд 16
Операторы if и else
Структурная диаграмма программы представлена ниже.
Треугольник означает выбор между двумя или более альтернативными вариантами.
Напишем программу, используя операторы if и else.
Слайд 17
Введите имя функции и местозаполнитель для первой строки:
Нажмите
if в меню программирования или с помощью горячей клавиши
}. Появится вторая строка, которая относится к оператору if:
Слайд 18
Введите критерий выбора и желаемое значение функции.
Обратите
внимание на серые линии справа:
Нажмите на внутреннюю серую линию
(станет мигающей синей), затем вставьте оператор else.
Появится еще одна строка, относящаяся к else:
Слайд 19
Введите необходимую функцию под else.
Внутренняя серая линия
удлинится, что указывает на то, что операторы ifи else
связаны между собой.
Нажмите на нее, нажмите [Enter], затем вставьте оператор return:
Слайд 20
При работе с программой можно добавлять новые строки
нажатием клавиши [Enter].
Где появится местозаполнитель, зависит от положения
курсора.
Выбрана внутренняя серая линия:
Слайд 22
Векторы и матрицы
Откройте Функции –> Все функции и
откройте раздел Векторы и матрицы. Найдите функции last() и
length().
Это функции для определения некоторых свойств вектора:
Функция length() определяет длину вектора, т.е. количество элементов в нем, а функция last() выводит индекс последнего элемента. По умолчанию в Mathcadнумерация элементов вектора начинается с нуля, поэтому у четвертого элемента массива индекс 3.
Слайд 25
Усечение и округление
Наименьшее целое число, большее x:
Наибольшее целое
число, меньшее x:
Округление:
Усечение:
Подведя указатель мыши к имени функции в
списке, Вы увидите ее полное название и краткое описание.
Если Вы вставите функцию в рабочую область, а затем нажмете [F1], Вы получите расширенное описание функции
Слайд 26
Try / On Error
Последняя команда, которую мы изучим
в этом уроке, используется для указания, что должно быть
сделано, если при выполнении программы возникает ошибка (например, деление на ноль).
Если при выполнении программы в блоке try возникает ошибка, программа выполняет действия в блоке on error:
Слайд 27
программа с тремя операторами if внутри блока try:
Слайд 28
При неверном вводе появится сообщение об ошибке. Таким
образом, можно отследить большую часть ошибок, но не все:
Поскольку
переменная abc не определена, функция не вычисляется.
Слайд 29
Резюме
Мы изучили следующие элементы программирования:
Входные данные – обычно
вводятся как параметры функции.
Первая строка программы – вводится с
помощью ]. Больше линий – с помощью [Enter].
Оператор локального определения – вводится с помощью {.
В конструкциях выбора с помощью оператора if применяются операторы сравнения.
If вводится с помощью }. За if вводится логическое выражение, например x<0. Под оператором записывается алгоритм, который должен быть выполнен, если выражение после if верно.
Слайд 30
Резюме
После if может следовать оператор else или другой
оператор if.
[Enter] добавляет новую строку в программу. Место появления
новой строки зависит от позиции курсора до нажатия на [Enter].
Вывод переменной осуществляется с помощью оператора return. Переменной может быть одиночная переменная, вектор или матрица, которые могут содержать как числовые значения, так и текст.
Mathcadсодержит большое число встроенных функций, которые могут быть полезны при написании программ. Список функций с подсказками можно открыть по команде Функции –> Все функции.
Используйте try / onerror, чтобы указывать на ошибки.
Слайд 31
Программирование в Mathcad —
циклы
Слайд 32
команды:
for – для циклов for.
while – для циклов
while.
return – как команду для отслеживания ошибок.
Слайд 33
Операции Mathcad, которые мы рассматривали ранее, достаточно безвредны
– они не заставят Ваш компьютер «зависнуть». Но с
циклами это не так. Поэтому для начала следует изучить команды в меню
Вычисления –> Элементы управления:
Кнопка «Автоматический расчет» обычно включена. Она отключается при нажатии на кнопку «Остановить все расчеты». Зеленый индикатор в левом нижнем углу становится серым. «Остановить все расчеты» служит для прекращения всех расчетов в документе на случай, если что-то пошло не так. При автоматическом расчете вычисления производятся лишь в том случае, когда происходят какие-либо изменения. С помощью кнопки «Рассчитать» можно сделать пересчет всего документа. Кнопка «Отключить область» прекращает вычисления в тех математических областях, которые Вы выбрали.
Слайд 34
Циклы for
Циклы for применяются, когда заранее известно число
повторений вычислений.
Программа ниже формирует вектор из n+1 элементов.
Значения начинаются с нуля и имеют шаг 1.
Слайд 35
Составим программу.
Задайте имя программы-функции, вставьте программную структуру (вертикальная
линия) и определение цикла forиз меню Математика –> Операторы
и символы –> Программирование или с помощью сочетания клавиш [Ctrl+Shift+”]:
Слайд 36
Введите команды тела цикла и оператор return:
Проверим программу:
Слайд 37
Как видно, использование дробных или отрицательных чисел –
не лучшая идея.
Вы можете изменить точку начала, но
этого лучше избегать:
Видите нули, которые появились в начале вектора? Причиной появления этих нулей является то, что если не определить некоторые элементы вектора, то им автоматически присвоится значение 0:
Слайд 38
While делает то же самое, что и предыдущий
цикл for
До цикла необходимо создать строку, содержащую определение начального
значения счетчика.
Следующую строку можно прочитать как «Выполнять цикл, пока соблюдается условие i≤n».
После определения элемента вектора нужно задать команду на увеличение переменной-счетчика, так как в цикле while это не происходит автоматически.
Слайд 39
пример цикла while вычисляет экспоненту отрицательного числа, используя
разложения в ряд:
Суммирование будем производить с помощью цикла while.
Будем проверять, насколько изменяется общая сумма S при каждом увеличении k.
Если абсолютное значение этого изменения достаточно мало, цикл завершится.
Слайд 40
Чтобы начать цикл, необходимо определить первые два элемента
вектора:
Кроме того, мы определили начальное значение суммы S и
счетчика k.
Дальнейшие вычисления производятся в цикле:
Слайд 41
Проверка:
С положительными числами программа работает хорошо,
но для
работы с отрицательными она не предназначена.
Слайд 42
Отладка
Одна из простых технологий отладки программ – вывод
промежуточных результатов вычислений и их сравнение с тем, какие
значения должны быть.
Пример на цикле while:
Число элементов вектора верное, но второй элемент неправильный. Похоже, что последние элементы нашего вектора получили правильный индекс, а второй элемент (с индексом 1) – нет.
Слайд 43
Отладка
Мы можем проверить, какой индекс получил второй элемент,
вставив «returni» в первую строку цикла while.
Программа остановит вычисление
и вернет значение i:
Ошибка в первой строке.
Замените 2 на 1, удалите дополнительную строку return,
и получите верный результат.
Слайд 44
После отладки всегда следует удалять дополнительные строки, которые
Вы вводите, так как программа всегда прекращает работу после
первого оператора return.