Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Роб_прогр_пропед_пр_3 курс.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
137.73 Кб
Скачать

Лабораторна робота № 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?