У випадку необхідності за допомогою мови Plus можна реалізовувати чисельні методи. Як приклад, розглянемо метод Ньютона для розв’язування нелінійних рівнянь.
Приклад. Знайти наближене значення кореня рівняння
х 3 – 3 х 2 + 2 х – 1 = 0
з початковим наближенням х 0 = 2.
Кожне наступне наближене значення кореня нелінійного рівняння можна знайти за наступними формулами:
xn+ 1 = xn – ∆xn, ∆xn = f (xn) / f ' (xn),
де f (xn), f ' (xn) – значення функції та її похідної для значення аргументу xn.
Коренем нелінійного рівняння буде таке значення xn, для якого |∆ xn | < e, де e – задана точність. Модель реалізації алгоритму задачі зображено на рис. 8.1.
Фактичні аргументи виклику процедури Metod_Njutona є простими. Однак кожен із цих аргументів може бути складним виразом, який обчислюється одночасно з викликом процедури. Результат обчислення кожного аргументу використовується замість аргументу, який заявлений у визначенні процедури. Кінцеве значення кожного аргументу визначається відповідно до його позиції.
Рис. 8.1. Модель методу Ньютона для розв’язування нелінійних рівнянь
Локальні змінні в Plus-процедурах автоматично не ініціалізуються. Тому вони визначаються до виконання дій з ними. Якщо у прикладі (рис. 8.1) не ініціалізувати, наприклад, локальну змінну e_ конкретним значенням, здійсниться зупинка через помилку “Operand B. Недопустиме значення. Елемент даних не був ініціалізованим”.
Результати моделювання наведені на рис. 8.2.
З отриманих результатів видно, що значення кореня нелінійного рівняння х3 – 3х2 + 2х – 1 = 0 дорівнює 2,324718. В цьому можна переконатися підставивши це значення у вихідне рівняння.