Елементи програмування в MathCAD

 

Традиційне програмування, спрощений варіант якого застосований в 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. Як результат функція повертає наближене значення кореня та кількість ітерацій.