Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
навчальний посібник.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.76 Mб
Скачать

8.4. Рекурсія

Рекурсія – це можливість задання функції таким чином, щоб в тілі функції містився виклик цієї ж функції. В Mathcad дозволяється здійснювати рекурентні обчислення тільки в програмних блоках. Рекурсивне визначення функції має складатись щонайменше з двох частин:

    • початкового визначення функції;

    • визначення функції в термінах її попереднього значення.

Приклад: Знайти найбільший спільний дільник чисел 126 і 39.

Рис.8.13. Структура і приклад рекурсії.

8.5. Пошук помилок в програмах

Звичайно програми, автори яких не володіють достатніми навичками, навряд чи будуть працювати при першому завантаженні. Очевидно, більшість помилок може бути легко знайдена, але якщо помилка з’явилась вперше, визначити її місцезнаходження не просто. Особливо це стосується великих програм.

У професійних мовах програмування високого рівня помилки, зазвичай, знаходить сама система при виконанні спеціальної процедури, яка називається компіляцією. В Mathcad аналогічної процедури немає, але є інша можливість ефективно визначати синтаксичні помилки в алгоритмі.

Клацнувши правою клавішею мишки над функцією в якій виникла помилка, отримаємо контекстне меню в якому слід вибрати команду розташовану у верхньому рядку – Trace Error (пошук помилки). Далі відкриється спеціальна однойменна панель, яка містить різні пункти для пошуку помилки:

- First (перша). Якщо натиснути цю кнопку, то фрагмент програми, який викликає помилку, зафарбується в червоний колір і виокремиться курсором.

Детальний аналіз виокремленого виразу допоможе знайти помилку, наприклад, відсутність знаку множення. До речі, враховуючи те, що знаки за принципом замовчування в Mathcad не відображаються, візуально знайти таку помилку важко.

- Previous (попередня). Оскільки вплив помилки розповсюджується іноді рівнями (наприклад, при неправильному заданні індекса), виникає необхідність здійснити виправлення у різних місцях програми. Для підняття на рівень вище і використовується ця команда.

- Next (наступна). Команда є ідентичною до попередньої за функціями, але протилежна за напрямом.

- Last (остання). Команда розміщує курсор на останній рівень розповсюдження помилки.

- Close (закрити). Команда призначена для згортання вікна Trace Error.

Питання для самоконтролю

  1. Що може бути результатом виконання Mathcad-програми?

  2. Як вставити додатковий оператор до вже існуючого програмного блоку?

  3. Які логічні операції можна використовувати в середовищі Mathcad?

  4. Де зазвичай в Mathcad-програмі використовують оператор otherwise?

  5. Чи можна всередині циклу, організованого з допомогою оператора for, присвоювати змінній-лічильнику деяке значення? Відповідь деталізуйте.

  6. Коли припиняється повторення тіла циклу при використанні оператора while в Mathcad-програмі?

  7. Що отримаємо при використанні оператора break не всередині циклу?

  8. Для чого призначено оператор continue?

  9. Які засоби перехоплення помилок при виконанні програмного блоку надає Mathcad?

  10. В чому зміст в Mathcad рекурсивного задання функції?