Традиційне програмування, спрощений варіант якого застосований в Mathcad і здійснюється за допомогою панелі інструментів Programming має ряд істотних переваг:
Щоб почати створення програмного модуля, слід натиснути на панелі Programming кнопку Add Line. Потім, якщо приблизно відомо, скільки рядків коди міститиме програма, можна створити потрібну кількість ліній повторними натисненнями кнопки Add Line.
Програмний модуль є функцією, описаною із застосуванням як сугубо алгоритмічних засобів (операторів), так і засобів вхідної мови Mathcad. Як і в традиційному програмуванні, при визначенні функції вказується її ім'я, список формальних параметрів (аргументів) і алгоритм обчислення значення - тіло функції. Всі змінні, які вводяться усередині модуля, включаючи формальні параметри, є локальними по відношенню до всього документа.
Нижче наведено приклад програми функції:
Огляд програмних операторів Mathcad:
Команда |
Функція |
Приклад |
Add Line |
Додати новий програмний рядок |
|
Присвоювання значення локальної змінної. |
||
if |
Умовний оператор (оператор розгалуження) іf; умова повинна стояти після іf, а оператор, що виконується, якщо виконано задану умову – перед іf. |
|
otherwise |
Оператор, що задає альтернативну гілку умовного оператора. Позначає оператор, що повинен бути виконаний, якщо умова оператора іf не виконується. |
|
for |
Оператор цикла з параметром. За ключовим словом for слідує змінна- лічильник, а після символа приналежності вводиться проміжок зміни цієї змінної. |
|
while |
Оператор цикла с передумовою. Внутрішні оператори циклу будуть виконуватися доти, доки буде істинною умова, що слідує за ключовим словом whіle. Приклад показує застосування циклу для знаходження нулів функції методом дотичних Ньютона. |
|
break |
Опертор дострокового припинення циклу або програми. Служить для передчасного завершення циклу, щоб, наприклад, уникнути зациклення або занадто тривалих обчислень. |
|
continue |
Оператор переходу до наступної ітерації. Служить для передчасного завершення поточної ітерації циклу; сам цикл при цьому триває. |
|
retutn |
Передчасне завершення програми; зазначене в комірці значення буде повернуто. |
|
on error |
Оператор, що визначає значення, яке повертається у випадку виникнення помилки. Якщо при обчисленні виразу expr2 виникла помилка, обчислюється вираз expr1. |
Приклад 22. Розглянемо реалізацію метода трапецій для обчислення інтегралів за допомогою програмних операторів MathCad. Обчислити інтеграл при n=10.
Приклад 23. Розглянемо реалізацію метода Гаусса для розв’язання системи лінійних рівнянь за допомогою програмних операторів MathCad.
Функція gauss містить два параметри: a – матриця системи рівнянь і с – вектор вільних членів. Алгоритм функції містить два основних цикли по змінній і. Перший цикл реалізує прямий хід, а другий – зворотний хід методу. У тілі першого циклу передбачена процедура перестановки рівнянь у випадку, якщо провідний елемент виявляється рівним нулю. Як результат, функція повертає вектор x – вектор рішення системи.
Для ілюстрації роботи функції вирішимо наступну систему:
Перевірка:
Приклад 24. Розглянемо реалізацію метода половинного ділення для знаходження коренів нелінійного рівняння за допомогою програмних операторів MathCad.
Створена функція bs_root (bіsectіon root) містить чотири формальних параметри: f – функція, нулі якої шукаються; a і b – границі відрізка локалізації кореня; – абсолютна похибка. Основний алгоритм реалізований за допомогою циклічного оператора whіle, у тілі якого відбувається обчислення середньої точки відрізка, перевірка знаків функції на відрізку та вибір нового відрізка. Для підрахунку числа ітерацій використовується змінна іt. Як результат функція повертає наближене значення кореня та кількість ітерацій.