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

Лабораторна робота № 12 Додатковий оператор програмування циклів on error та функція error в пакеті Mathcad

Мета роботи: Навчитись проводити розрахунки використовуючи додатковий оператор програмування циклів on error та функцію error в пакеті Mathcad.

Теоретичні відомості

Оператор on error, цей оператор обробляє помилки, що виникають при виконанні тих або інших обчислень і записується у вигляді:

< вираження 1 > on error < вираження 2 >.

Виконується < вираз 1 >, якщо при виконанні < виразу 2 > виникає помилка. Якщо помилка не виникає, то виконується < вираз 2 >.

Приклад: Використаємо оператор on error для запобігання появи помилки "ділення на нуль" при обчисленні функції angl(x,y).

Функція error використовується для висновку діагностичних повідомлень при виникненні в обчисленнях помилки і записується у вигляді:

error ( "< діагностичне повідомлення користувача >").

Функція використовується в лівому полі умовного оператора if, як показано в наступному прикладі.

Приклад: Програмування висновку діагностичного повідомлення при спробі спроектувати вектор v на нульовий вектор w.

Приклад: Визначення факторіала числа при умові, що число повинне бути ціле та позитивне:

Завдання на лабораторну роботу

Написати програм-функцію розв'язку рівняння у(х)=(ах-b)/х, при умові, що х≠0.

Програма виконання роботи

1. Завантажити середовище Mathcad.

2. Відкрити блок програмування.

3. Ознайомитись з додатковим оператором програмування циклів on error, що викладено в теоретичних відомостях.

4. Виконати приклади, що наведені в лабораторній роботі.

5. Виконати завдання на лабораторну роботу і результати зберегти у власній папці.

6. Оформити результати у формі звіту.

7. Закінчити роботу в Mathcad.

Оформлення звіту

Звіт повинен містити:

- назву та мету роботи;

- наведені приклади;

- блок-схему алгоритму та програму-функцію розв'язку рівняння;

- висновки по роботі з аналізом операторів та розроблених програм-функцій.

Запитання для самоперевірки

1. Дайте визначення оператора on error?

2. Що робить Mathcad коли виявляє оператор on error?

3. Як ввести оператор on error?

4. Функція error?

5. З яким оператором використовується функція error?

6. Як працює програм-функція завдання?

Лабораторна робота № 13 Модульне програмування в межах одного документа Mathcad

Мета роботи: Навчитись проводити розрахунки використовуючи модульне програмування в межах одного документа Mathcad.

Теоретичні відомості

Загальна ідея модульного програмування полягає в наступному:

- реалізації обчислювальних процесів у вигляді окремих програмних одиниць - модулів;

- звертанні до цих модулів в інших програмах з передачею даних, необхідних для обчислювального процесу.

Модульне програмування в одному документі характеризується тим, що:

- для реалізації простих обчислень використовуються локальні функцій, а більш складних - програми - функції;

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

Приклад: Реалізуємо у вигляді програми-функції обчислення певного інтеграла виду:

Використовуючи формулу Симпсона з автоматичним вибором числа вузлів. При цьому програма-функція Simpson (f, a, b, N) обчислює певний інтеграл по формулі Симпсона при фіксованому числі інтервалів N, а програма-функція Adapt (f, a, b) вибирає по заданій точності обчислення інтеграла (рівної 10-8) кількість інтервалів.

Перша програм-функція:

Друга програм-функція в якій викликається перша:

Використовуючи ці програми - функції обчислимо певний інтеграл від функції f(x) = x2 на відрізку [0, 1]. Точне значення інтеграла дорівнює 1/3=0.33333333333333... Звернення до програми-функції Adapt дає результат:

Перед зверненням до програми-функції Adapt необхідно описати функцію користувача f(x) у вигляді:

тому що ім'я функції f(x) використовується як фактичний параметр.

Модульне програмування дозволяє зменшити об'єм вихідних текстів програм, зробити їх більше простішими, прискорити написання та тестування програм, зменшити витрати на супровід (експлуатацію) програм.

Завдання на лабораторну роботу

Розробити програм-функцію визначення площі витяжних шахт, яка має ім’я „plo” для власного варіанту (див. табл. 15).

Площа витяжних шахт та їхня кількість в приміщенні визначається за формулою:

, м2;

де L=30000 м3 – кількість припливного повітря;

- швидкість руху у витяжній шахті:

, м/с.

де h – висота витяжної шахти, м,

tв=18 оС та tз=5 оС – температура повітря в середині приміщення та зовні.

Розробити програм-функцію визначення кількості шахт, яка має ім’я „kol_vo” за формулою:

, шт,

де f – переріз однієї шахти, мм2.

Програма виконання роботи

1. Завантажити середовище Mathcad.

2. Відкрити блок програмування.

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

4. Виконати приклади, що наведені в лабораторній роботі.

5. Виконати завдання на лабораторну роботу і результати зберегти у власній папці.

6. Оформити результати у формі звіту.

7. Закінчити роботу в Mathcad.

Індивідуальні завдання до виконання лабораторної роботи

Таблиця 15. – Значення величин для розрахунку за варіантом.

№ варіанту

h,м

f, мм2

№ варіанту

h,м

f, мм2

1

2

400

16

8

700

2

3

500

17

9

400

3

4

600

18

10

500

4

5

700

19

2

600

5

6

400

20

3

700

6

7

500

21

4

400

7

8

600

22

5

500

8

9

700

23

6

600

9

10

400

24

7

700

10

2

500

25

8

400

11

3

600

26

9

500

12

4

700

27

10

600

13

5

400

28

2

700

14

6

500

29

3

400

15

7

600

30

4

500

Оформлення звіту

Звіт повинен містити:

- назву та мету роботи;

- наведені приклади;

- блок-схему алгоритму та програму-функцію визначення площі витяжних шахт та їхню кількість в приміщенні;

- висновки по роботі з аналізом операторів та розроблених програм-функцій.

Запитання для самоперевірки

1. Загальна ідея модульного програмування?

2. Що дозволяє зменшити модульне програмування?

3. Чим характеризується модульне програмування в одному документі?

4. Назвіть методи реалізації модульного програмування в пакеті Mathcad?

5. Як працює розроблена по завданню на лабораторну роботу програм-функція?