
- •Івано - Франківський національний технічний університет нафти і газу
- •Д.Ф. Тимків, с.Ф. Кукурудз, в.Р.Процюк, р.Г. Онацко.
- •Глава 1. Графічний інтерфейс . . . . . . . . . . . . . . . . . 10
- •Глава 2. Математичні вирази. Обчислення значень
- •Глава 3. Графіка в Mathcad . . . . . . . . . . . . . . . . . . . 57
- •Глава 9. Розв’язок диференціальних рівнянь . . . . . . 153
- •Глава 1. Графічний інтерфейс
- •1.1. Структура робочого вікна
- •1.2. Панель меню File
- •1.3. Меню Edit
- •1.4. Меню View
- •1.5. Меню Insert
- •1.6. Меню Format
- •1.7. Меню Tools
- •1.8. Меню Symbolics
- •1.9. Меню Windows
- •1.10. Меню Help
- •1.11. Панель форматування
- •1.12. Налаштування інтерфейсу користувача
- •1.13. Налаштування параметрів документа
- •Глава 2. Математичні вирази. Обчислення значень функції
- •2.1. Обчислення значення виразів
- •2.2. Форматування чисел
- •2.3. Комплексні числа
- •2.4. Системи числення
- •2.5. Стандартні математичні функції
- •2.6. Введення тексту
- •2.7. Редагування виразів
- •Завдання для практичної роботи №1 Математичн і вирази. Обчислення значень функції
- •3. Графіка в Mathcad
- •3.1. Побудова графіків
- •3.2. Створення двовимірних графіків
- •3.3. Відображення значень масиву
- •3.4. Форматування графіків
- •3.5. Графіки в полярній системі координат
- •3.6. Основні методи роботи з графіками
- •3.7. Ствлорення тривимірних графіків
- •Глава 4. Матриці та вектори
- •4.1. Матриці
- •4.2. Звертання до елементів масивів
- •4.3. Налаштування початкового індексу масиву
- •4.4. Операції з масивами
- •4.5. Перетворення масивів
- •Глава 5. Розв’язок рівнянь та систем
- •5.1. Розв’язок алгебраїчних рівнянь
- •5.2. Розв’язок систем рівнянь. Розв’язок нелінійної системи рівнянь
- •Глава 6. Обчислення похідних та інтегралів
- •6.1. Обчислення похідних
- •6.2. Обчислення інтегралів
- •Глава 7. Символьні обчислення
- •7.1. Команди меню Symbolics
- •7.2. Символьні операції з виокремленими виразами
- •7.3. Символьні операції з виокремленими змінними
- •7.4. Символьні операції з виокремленими матрицями
- •7.5. Символьні операції інтегральних перетворень
- •7.6. Команди підменю Evaluate
- •7.6.1. Команда Symbolicaly
- •7.6.2. Команда Floating Point
- •7.7.3. Команда Factor
- •7.7.4. Команда Collect
- •7.7.5. Обчислення коефіцієнтів поліномів
- •7.8. Математичні операції з виокремленими змінними
- •7.8.1. Диференціювання
- •7.8.2. Інтегрування
- •7.8.3. Розв’язок рівнянь
- •7.8.4. Підстановка
- •7.8.5. Розкладання в ряд Тейлора
- •7.8.6. Розкладання на правильні дроби
- •7.9. Матричні операції
- •7.10. Інтегральні перетворення
- •7.11. Розв’язок рівнянь та систем
- •7.12. Обчислення нескінченних сум та добутків
- •7.13. Обчислення границь
- •Питання для самоконтролю
- •Завдання для практичної роботи №6 Символьні обчислення
- •Глава 8. Програмування в середовищі Mathcad
- •8.1. Особливості прогорамування
- •8.2. Що таке програма?
- •8.3. Створення програми (Add Line).
- •8.3.1. Оператор програмування Add Line
- •8.3.2. Оператор локального присвоєння
- •8.3.3. Оператор умовного переходу
- •8.3.4. Otherwise – оператор альтернативного вибору
- •8.3.5. Оператор циклу з параметром (лічильний цикл)
- •8.3.6. Оператор циклу з передумовою
- •8.3.7. Оператор дострокової зупинки циклу
- •8.3.8. Оператор Continue
- •8.3.9. Оператор повідомлення про помилку
- •8.3.10. Оператор return
- •8.4. Рекурсія
- •8.5. Пошук помилок в програмах
- •Питання для самоконтролю
- •Завдання для практичної роботи №7 Розв’язок диференціальних рівнянь
- •Глава 9. Розв’язок диференціальних рівнянь
- •9.1. Звичайні диференціальні рівняння
- •9.2. Метод Ейлера для диференціальних рівнянь першого порядку
- •9.3. Розв’язок систем звичайних диференціальних рівнянь
- •9.4. Розв’язок диференціальних рівнянь методом Рунге–Кутти
- •9.5. Розв’язок диференціальних рівнянь другого порядку
- •9.6. Розв’язок крєвої задачі
- •9.7. Розв’язок звичайних диференціальних рівнянь в Mathcad
- •Питання для самоконтролю
- •Завдання для практичної роботи №8 Розв’язок диференціальних рівнянь
- •Перелік використаних джерел
8.4. Рекурсія
Рекурсія – це можливість задання функції таким чином, щоб в тілі функції містився виклик цієї ж функції. В Mathcad дозволяється здійснювати рекурентні обчислення тільки в програмних блоках. Рекурсивне визначення функції має складатись щонайменше з двох частин:
початкового визначення функції;
визначення функції в термінах її попереднього значення.
Приклад: Знайти найбільший спільний дільник чисел 126 і 39.
Рис.8.13. Структура і приклад рекурсії.
8.5. Пошук помилок в програмах
Звичайно програми, автори яких не володіють достатніми навичками, навряд чи будуть працювати при першому завантаженні. Очевидно, більшість помилок може бути легко знайдена, але якщо помилка з’явилась вперше, визначити її місцезнаходження не просто. Особливо це стосується великих програм.
У професійних мовах програмування високого рівня помилки, зазвичай, знаходить сама система при виконанні спеціальної процедури, яка називається компіляцією. В Mathcad аналогічної процедури немає, але є інша можливість ефективно визначати синтаксичні помилки в алгоритмі.
Клацнувши правою клавішею мишки над функцією в якій виникла помилка, отримаємо контекстне меню в якому слід вибрати команду розташовану у верхньому рядку – Trace Error (пошук помилки). Далі відкриється спеціальна однойменна панель, яка містить різні пункти для пошуку помилки:
- First (перша). Якщо натиснути цю кнопку, то фрагмент програми, який викликає помилку, зафарбується в червоний колір і виокремиться курсором.
Детальний аналіз виокремленого виразу допоможе знайти помилку, наприклад, відсутність знаку множення. До речі, враховуючи те, що знаки за принципом замовчування в Mathcad не відображаються, візуально знайти таку помилку важко.
- Previous (попередня). Оскільки вплив помилки розповсюджується іноді рівнями (наприклад, при неправильному заданні індекса), виникає необхідність здійснити виправлення у різних місцях програми. Для підняття на рівень вище і використовується ця команда.
- Next (наступна). Команда є ідентичною до попередньої за функціями, але протилежна за напрямом.
- Last (остання). Команда розміщує курсор на останній рівень розповсюдження помилки.
- Close (закрити). Команда призначена для згортання вікна Trace Error.
Питання для самоконтролю
Що може бути результатом виконання Mathcad-програми?
Як вставити додатковий оператор до вже існуючого програмного блоку?
Які логічні операції можна використовувати в середовищі Mathcad?
Де зазвичай в Mathcad-програмі використовують оператор otherwise?
Чи можна всередині циклу, організованого з допомогою оператора for, присвоювати змінній-лічильнику деяке значення? Відповідь деталізуйте.
Коли припиняється повторення тіла циклу при використанні оператора while в Mathcad-програмі?
Що отримаємо при використанні оператора break не всередині циклу?
Для чого призначено оператор continue?
Які засоби перехоплення помилок при виконанні програмного блоку надає Mathcad?
В чому зміст в Mathcad рекурсивного задання функції?