- •6.050701 - “Електротехніка та електротехнології”,
- •6.100101 - “Енергетика та електротехнічні системи
- •6.050701 - “Електротехніка та електротехнології ”.
- •6.100101 - “Енергетика та електротехнічні системи
- •Лабораторна робота № 1 Побудова блок-схем алгоритмів
- •Лабораторна робота № 2 Прості обрахунки в Mathcad
- •Функція – вираз, відповідно до якого проводяться деякі обчислення з аргументами й визначається його чисельне значення.
- •Текстові фрагменти являють собою куски тексту, які користувач хотів би бачити у своєму документі. Існують два види текстових фрагментів:
- •Лабораторна робота № 3 Рішення рівнянь засобами Mathcad
- •Лабораторна робота № 4 Логічні операції та використання виразів відношень в пакеті Mathcad
- •Лабораторна робота № 5 Оператори Add line та локальне присвоювання в пакеті Mathcad
- •Лабораторна робота № 6 Оператори if та otherwise в пакеті Mathcad
- •Лабораторна робота № 7 Оператор for та циклічні алгоритми типу арифметичної прогресії в пакеті Mathcad
- •Лабораторна робота № 8 Оператор while та циклічні ітераційні алгоритми в пакеті Mathcad
- •Лабораторна робота № 9 Спеціальний оператор припинення розрахунку break в пакеті Mathcad
- •Лабораторна робота № 10 Додатковий оператор програмування циклів continue в пакеті Mathcad
- •Лабораторна робота № 11 Додатковий оператор програмування циклів return в пакеті Mathcad
- •Лабораторна робота № 12 Додатковий оператор програмування циклів on error та функція error в пакеті Mathcad
- •Лабораторна робота № 13 Модульне програмування в межах одного документа Mathcad
- •Лабораторна робота № 14 Модульне програмування у декількох документах Mathcad
- •Рекомендована література
Лабораторна робота № 8 Оператор while та циклічні ітераційні алгоритми в пакеті Mathcad
Мета роботи: Навчитись проводити розрахунки використовуючи оператор програмування ітераційних циклів while в пакеті Mathcad.
Теоретичні відомості
Програмування ітераційних циклів. Для програмування таких циклів використовується оператор циклу while. Для введення цього оператора необхідно виконати наступні дії:
клацнути на кнопці while панелі Програмування. На екрані з'являються елементи, показані на рис. 14.
Рис. 14. Структура оператора циклу while
у поле 1 ввести умову виконання циклу;
у поле 2 ввести оператори тіла циклу. У тілі циклу повинні бути присутнім оператори, що створюють умову циклу помилковим інакше цикл буде тривати нескінченно.
На мал. 15. зображена блок-схема оператора циклу while. Оператор while відноситься до базової структури, яка має назву цикл. Цикл припускає повторення виконання деякої інструкції. Як зазначалось раніше розрізняють два види базових циклів, один з них оператор циклу while.
Оператор циклу while виконується в такий спосіб, виявивши оператор while, Mathcad перевіряє зазначену умову. Якщо вона істина, то виконується тіло циклу (вихід по стрілці з написом Так), то інструкція буде виконана, та знову перевіряється умова. Якщо умова не виконується (вихід по стрілці з написом Ні), то інструкція не буде виконана і відбудеться вихід з циклу. Базова структура – цикл має один вхід і один вихід.
Рис. 15. Блок-схема базової структури оператора циклу while.
Для ітераційних циклів до яких відноситься оператор while не можна визначити кількість повторень тіла циклу. Це обумовлено тим, що закінчення таких циклів визначається не виходом параметра циклу за кінцеве значення, а більш складними умовами. Це ілюструє наступний приклад.
Приклад:
Складемо
програму-функцію, що реалізує ітераційну
процедуру наближеного обчислення кореня
квадратного, тобто обчислити значення
x=
, використовуючи ітераційну процедуру:
xn=0.5 (xn--1+a/xn-1),
n=1,2,3,.., x0=a.
Як наближене значення кореня квадратного береться таке значення xn, що задовольняє умові:
,
де - задана точність обчислення.
Видно, що задавши вихідні дані, наприклад, a = 25, = 10-3, не можна, не виконуючи ітераційні обчислення, визначити кількість повторень тіла циклу.
Як видно з тексту програми-функції немає необхідності зберігати в пам'яті всі наближені рішення x0, x1, x2 , ... , і т.д. Досить зберігати попереднє (“старе”) значення xc і наступне (“нове”) значення xn.
Організація ітераційного циклу за допомогою оператора while, без додаткових засобів контролю може привести до зациклення. Наприклад, задавши при зверненні до програми eps < 0 одержуємо зациклення. Для того, щоб вийти із зациклення необхідно натиснути клавішу Esc.
Завдання на лабораторну роботу
1. Використовуючи оператор while написати програм-функцію, яка дозволить найти суму всіх чисел на інтервалі від ар (початкове значення) до аk (кінцеве значення), ім’я програм-функції повинне мати назву „sum”.
2. Розробити алгоритм та програму-функцію знаходження спільної точки двох функцій f1(х) та f2(х) для власного варіанту (див. табл. 11).
Побудувати функції f1(x)=b+aх та f2(x)=cb-aх в Mathcad, їх графічне зображення на рис. 16.
Рис. 16. Графічне зображення функцій f1(x)та f2(x).
Записати програму-функцію знаходження спільної точки та відобразити її на графіку
Програма виконання роботи
1. Завантажити середовище Mathcad.
2. Відкрити блок програмування.
3. Ознайомитись з оператором програмування ітераційних циклів while, що викладено в теоретичних відомостях.
4. Виконати приклади, що наведені в лабораторній роботі.
5. Виконати завдання на лабораторну роботу і результати зберегти у власній папці.
6. Оформити результати у формі звіту.
7. Закінчити роботу в Mathcad.
Індивідуальні завдання до виконання лабораторної роботи
Таблиця 11. – Значення величин для розрахунку за варіантом.
-
№ Варіанту
Коефіцієнти функцій f1(x) та f2(x)
a
b
c
1
16
1
5
с=№ варіанту
2
17
1,2
5,2
3
18
1,4
5,4
4
19
1,6
5,6
5
20
1,8
5,8
6
21
2
6
7
22
2,2
6,2
8
23
2,4
6,4
9
24
2,6
6,6
10
25
2,8
6,8
11
26
3
7
12
27
3,2
7,2
13
28
3,4
7,4
14
29
3,6
7,6
15
30
3,8
7,8
Оформлення звіту
Звіт повинен містити:
- назву та мету роботи;
- наведені приклади;
- програму-функцію, яка дозволить найти суму всіх чисел на інтервалі від ар до аk;
- блок-схему алгоритму та програму-функцію знаходження спільної точки двох функцій f1(х) та f2(х);
- висновки по роботі з аналізом операторів та розроблених програм-функцій.
Запитання для самоперевірки
1. Дайте визначення оператора while?
2. Структура оператора while?
3. Що робить Mathcad коли виявляє оператор while?
4. Чому неможливо визначити кількість повторень тіла циклу при використанні оператора while?
5. До якого типу алгоритмів відноситься оператор while?
6. Як працює програм-функція завдання №2?
