Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кравчук(mathcad) / 2 семестр / MathCAD. Лабораторний практикум. 2010

.pdf
Скачиваний:
275
Добавлен:
29.02.2016
Размер:
11.67 Mб
Скачать

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

Умову індивідуального завдання "Розгалужений алгоритм" візьміть із навчального посібника Visual Basic 6.0 відповідно до власного варіанта, який такий самий як у 1 семестрі, тобто дорівнює номеру студента в списку групи за 1 семестр [1, c. 103-110].

Зразок виконання лабораторної роботи

Умова. Обчислити функцію f(x) для кожного значення аргументу x = x1, x = x2, x = x3. Усі розрахунки виконати з точністю до трьох значущих цифр (використати функцію round(x, n)).

 

 

2

 

 

 

2

 

 

 

 

 

 

 

1

 

 

 

 

 

tg(a

 

xb

) ,

 

 

 

x c ;

c

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ax2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) arccos

 

 

 

 

,

 

x c;

a 0,2 ln3;

c2 b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ax

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

ln

c

 

b

 

,

x c;

b

sin

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 0,6065;

x2 0,971;

x3 0,345.

 

Порядок виконання роботи

1.Складіть розгалужений алгоритм обчислення функції f(x), та накресліть його блок-схему.

2.Перекладіть алгоритм із мови блок-схем на вхідну мову MathCAD.

3.Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем

LR02_Прізвище.xmcd.

4.Відредагуйте першу текстову область: а) змініть номер лабораторної роботи з №1 на №2; б) замініть слово "Лінійний" на "Розгалужений".

5.У розділі "Початкові дані" проведіть покажчиком миші із затиснутою ЛКМ уздовж існуючих формул: утворений пунктирний прямокутник повинен проходити крізь ці формули, і навколо них повинні з'явитись пунктирні рамки - свідчення того, що обидві формули виділені:

6.Відпустить ЛКМ і натисніть клавішу Del , щоб видалити ці формули.

7.Тепер уведіть формули з початковими даними для даної лабораторної роботи, натискаючи наступні клавіші:

x . 1

Shift

+ :

0

. 6

 

0

6

5

 

 

 

Результат:

 

x .

2

 

 

+

:

0

.

9

7

1

Результат:

5 разів →

 

Shift

 

x .

3

 

 

+

:

0

.

3

4

5

Результат:

5 разів →

 

Shift

 

 

 

 

 

 

 

 

 

 

40

 

 

 

Блок - схема

 

 

 

 

Початок

 

 

 

a = 0,2 ln 3

 

 

 

b

=

s in

р

 

 

 

 

 

 

9

 

 

 

c

10

4 104

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

Введення

 

 

 

 

 

x

 

 

 

 

 

x>c

 

 

 

 

 

-

 

+

 

 

 

x=c

 

 

 

-

 

 

 

ax2

 

 

 

 

 

 

 

f(x) e ax ln c2

b2

f(x)=arccosc2 +b2

f(x) = tg(a2 +xb2 )

Виведення

a, b, c, x, f(x)

Кінець

8.Клацніть ЛКМ на вільному місці робочого листка й будете мати:

9.Знищте існуючі формули в розділі "Проміжні значення" таким же чином, як у пункті 5, і введіть формули для визначення параметрів a, b і c, що входять до функції f(x), натискаючи наступні клавіші та кнопки на панелі інструментів Calculator:

41

a

Shift

+

:

0

.

2

*

 

3 = Результат:

b

 

 

+

:

 

 

 

/ 9

=

Результат:

Shift

 

 

 

c

 

 

 

+

:

1

/

 

e

=

Результат:

 

Shift

 

10.Двічі клацніть ЛКМ на останньому значенні й у діалоговому вікні Result Format (Форматувати результат) збільште кількість цифр після десяткової крапки до 5.

11.Клацніть ЛКМ на вільному місці робочого листка й будете мати:

12.Значення змінної x підібрані таким чином, щоб перше з них x1 дорівнювало б значенню параметра c, якщо його закруглити до чотирьох цифр після десяткової крапки (згідно із правилом запасної цифри в наближених обчисленнях кінцевий результат обчислень буде відомий із трьома значущими цифрами, якщо початкові дані та всі проміжні значення відомі з точністю до чотирьох значущих цифр); значення x2 було б більше за c, а значення x3 було б менше за c.

13.У даний момент значення параметра c не дорівнює x1. Для забезпечення цієї рівності необхідно параметр c округлити до чотирьох цифр після десяткової крапки, тому в наступному рядку робочого листка слід увести такі оператори:

x . 1 c = Результат: - неправда, що x1 дорівнює c

c r o u n d ( c , 4 ) = Результат:

x . 1 c = Результат: - це правда, що x1 дорівнює c

14.Двічі клацніть ЛКМ на значенні c і в діалоговому вікні Result Format (Форматувати результат) збільште кількість цифр після десяткової крапки до 5,

атакож установіть прапорець Show trailing zeros (Показати замикаючі нулі).

15.Клацніть ЛКМ на вільному місці робочого листка й будете мати:

,

тобто внаслідок округлення значення змінної c стало точним і тепер може дорівнювати x1.

16.В індивідуальному завданні округляти слід той параметр, до якого прирівнюється x.

17.Для скорочення тексту робочого листка доцільно описати три однорядкові функції користувача, кожна з яких повертає значення відповідного виразу з гілки розгалуження:

42

f . 1 ( x ) Shift + : a Spacebar + x * b 5 разів →

f . 2 ( x ) Shift + : acos / a * x c Spacebar + b

f . 3 ( x ) Shift + : - a * x Spacebar Spacebar +

с * b Spacebar - b

18.Клацніть ПКМ на кожній з функцій, виберіть у контекстному меню пункт Properties… (Властивості...), в діалоговому вікні Properties встановіть прапорець Show Border (Показати рамку) й будете мати:

19.У наступному рядку створіть текстову область із текстом:

Використання умовної функції if

20.Нижче опишіть кінцеву функцію користувача f(x), у якій організуйте розгалуження за допомогою вбудованої функції if:

f ( x )

i f ( ) , , x > c

 

f . 1 ( x )

i f ( ) , , x

c

 

f . 2 ( x )

 

 

f . 3 ( x )

21.Клацніть ПКМ на описі функції, виберіть у контекстному меню пункт Properties… (Властивості...), в діалоговому вікні Properties встановіть прапорець Show Border (Показати рамку) й будете мати:

22.Тепер можна викликати цю функцію з фактичними параметрами x1, x2 і x3, щоб отримати відповіді:

23.Внаслідок округлення параметра c до чотирьох значущих цифр згідно із правилом запасної цифри в наближених обчисленнях, відповіді будуть містити тільки три вірні цифри. Тому на першій відповіді необхідно двічі клацнути ЛКМ й у діалоговому вікні Result Format (Форматувати результат) вибрати дві цифри після десяткової крапки (із цілою частиною цього результату в ньому тоді буде всього три значущі цифри), а також установити прапорець Show Trailing Zeros (Показати замикаючі нулі).

24.Переходимо до розв'язування завдання за допомогою умовного оператора if.

43

25.У наступному рядку створіть текстову область із текстом:

Використання умовного оператора if

26.Це завдання ми виконуємо на тому ж робочому листку, на якому вище використали умовну функцію if в описі однорядкової функції f(x). Щоб ці результати не впливали на подальший розв’язок, а також щоб функція f(x) не була перевизначена, будемо використовувати для нової функції інше ім'я, наприклад, g(x).

27.Зробіть у наступному рядку опис ПФ, що буде реалізовувати розгалуження за допомогою умовного оператора if:

g ( x ) x > c 4 рази ← f . 1 ( x )

x c 4 рази ← f . 2 ( x )

f . 3 ( x )

28.Клацніть ПКМ на функції, виберіть у контекстному меню пункт Properties… (Властивості...), в діалоговому вікні Properties встановіть прапорець Show Border (Показати рамку) й будете мати:

29.Тепер можна викликати цю функцію з фактичними параметрами x1, x2 і x3, щоб отримати відповіді:

30.Порівняйте значення функцій f(x) і g(x), отриманих за допомогою умовної функції та умовного оператора. Якщо вони співпадають, то обоє завдання виконані правильно.

31.У наступному рядку створіть текстову область із текстом:

Результат розрахунку у Visual Basic

32.Далі вставте зображення форми з результатами виконання цього завдання

всистемі програмування Visual Basic.

33.Оскільки ці значення співпали з отриманими в MathCAD за допомогою функцій f(x) та g(x), то можна вважати, що завдання розв'язано правильно.

34.На рис. 2.17 показаний лістинг виконання зразка лабораторної роботи №2.

35.Оформіть звіт про виконання лабораторної роботи за наступними пунктами: Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанту, Схема

алгоритму, Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови MathCAD.

36.Захистіть роботу у викладача, давши відповіді на контрольні запитання.

44

Рис. 2.17. Лістинг виконання зразка ЛР з MathCAD №2

45

Контрольні запитання.

1.Дайте визначеннярозгалуженогоалгоритму, інаведітьпростийприклад.

2.Длячогопризначенафункціякористувача?

3.Щотакеформальніпараметри іякуфункцію вони виконують?

4.Якздійснюється викликоднорядковоїфункції користувача?

5.Учомуполягає відмінністьфактичнихпараметрів від формальних?

6.Який вираз називаєтьсялогічним?

7.Щотакежирнийзнак рівностій чим вінвідрізняєтьсявід звичайного тонкого?

8.Якийпріоритет установленийдля операцій улогічнихвиразах?

9.Опишітьдію умовноїфункціїif.

10.Щотакепрограма-функція іяким оператором вонастворюється?

11.Як ідлячого використовується умовний операторif?

12.Заякихумоввиконуєтьсяоператорotherwise?

13.Дерозміщуєтьсярезультат виконанняпрограми-функції іяким вінможебути?

14.Длячоговказується індекспри викликупрограми-функції?

46

Лабораторна робота №3. Дискретна змінна. Графіки.

Виконання завдання "Арифметичний цикл"

Мета:

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

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

засвоїти прийоми форматування двовимірних графіків;

вивчити правила застосування оператора арифметичного циклу for при програмуванні в тілі програм-функцій;

виконати індивідуальне завдання "Арифметичний цикл".

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

Дискретна змінна (Range Variable)

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

Визначення дискретної змінної

Формат ДЗ:

< ім'я > := < перше значення > [, < друге значення >] .. < останнє значення >

Тут елементи формату мають такі значення:

< перше значення > - перше значення x1 діапазону визначення ДЗ;

[, < друге значення >] - друге значення x2 діапазону визначення ДЗ, яке може бути задане (повний формат ДЗ) або ні (скорочений формат ДЗ);

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

уводиться кнопкою Range Variable (Дискретна змінна, діапазон) на панелі інструментів Matrix (Матриці), або гарячою клавішею ; Semicolon (Крапка з комою), і не може бути введена із клавіатури клавішею . Point (Крапка).

< останнє значення > - останнє значення xn діапазону визначення ДЗ. Якщо друге значення необхідно задавати (повний формат ДЗ), то його

можна представити:

a)власним значенням, тоді MathCAD обчислює значення кроку як різницю між заданими другим і першим значенням: ∆x = x2 - x1;

b)як суму першого значення та кроку зміни ДЗ x2 = x1+∆x, щоб крок зміни ДЗ дорівнював заданому нами ∆x.

Якщо крок зміни ДЗ за умовами задачі дорівнює 1 чи -1, то друге значення не задають (скорочений формат ДЗ). У цьому випадку MathCAD крок зміни ДЗ за умовчанням установлює рівним 1, якщо x1 < xn, у протилежному випадку значення кроку дорівнює -1.

47

Приклад.

У загальному випадку повний формат ДЗ використовується для визначення дійсної ДЗ. Як правило, скорочений формат ДЗ використовується для визначення цілої ДЗ. Наприклад, оператор i := 1 .. 5 створює цілу ДЗ зі значеннями i = {1, 2, 3, 4, 5}.

Щоб задати ДЗ , необхідно зробити наступне:

1.Надрукувати ім'я ДЗ.

2.Увести оператор присвоювання ":=" кнопкою Definition (Визначення)

на панелі інструментів Calculator (Калькулятор) або клавішами Shift + : ).

3.Сформувати діапазон зміни ДЗ:

a)надрукувати перше значення ДЗ;

b)натиснути клавішу , Comma (Кома – команда на створення списку значень) і ввести друге значення ДЗ (у випадку скороченого формату цей пункт пропустити);

c)ввести символ діапазону ".." - горизонтальну двокрапку кнопкою Range Variable (Дискретна змінна, діапазон) на панелі інструментів Matrix

(Матриці), або клавішею ; ;

d) надрукувати останнє значення ДЗ.

Для зручності формування ДЗ доцільно представляти друге значення як суму першого значення та кроку зміни ДЗ. Наприклад,

,

де використані тільки прості змінні з нижніми літеральними індексами, набраними за допомогою клавіші . Point (Крапка).

Для визначення діапазону ДЗ можна використовувати довільні скалярні вирази. Тому може так трапитися, що вказане у форматі ДЗ останнє значення буде більше суми першого значення ДЗ і цілого числа n кроків, і менше аналогічної суми для (n + 1) кроків:

,

тоді сума x.1 + n∙Δx і буде насправді останнім значенням ДЗ. Наприклад, останнім значенням ДЗ x := 2, 5.. 10 будесума x.3 := x.1 + 2∙(5 - 2) = 8 < 10.

Приклад. Задати ДЗ із множиною значень

a = { 1,2; 1,4; … ; 2 }.

Тут a1 = 1,2 - < перше значення >; ∆a = 1,4 - 1,2 = 0,2 - крок зміни; an = 2 - < останнє значення >. Лістинг виконання цього прикладу має вигляд:

48

Використання дискретної змінної

Дискретна змінна, хоча зовнішньо й схожа на вектор, але принципово відрізняється від нього: не можна звернутися до окремого значення ДЗ і скористатися ним. ДЗ завжди опрацьовується в MathCAD як нероздільна множина чисел, для кожного з яких один раз розраховується результат.

При виведенні ДЗ оператором обчислення значень = , у робочому листку завжди з'являється Output Table (Таблиця результатів), у якій за умовчанням виключений показ номерів рядків та стовпчиків. Це наочно показує відмінність ДЗ від векторів та матриць. Таблиця значень ДЗ може містити максимум 16 рядків. Якщо ж ДЗ має більше 16 значень, то в 16-му рядку з'являється символ Ellipsis (Три крапки), а праворуч від таблиці - смуга прокрутки для перегляду наступних значень ДЗ.

Дискретна змінна не може бути використана для визначення значень іншої змінної. Наприклад, якщо після оператора i := 1 .. 5 розмістити визначення j := i + 1 , змінна i буде виділена червоним кольором, і спливе повідомлення про помилку: "This value must be a scalar or a matrix" (Ця величина повинна бути скаляром чи матрицею).

Дискретну змінну можна використовувати у виразах. У результаті вираз буде мати множину значень, розрахованих у відповідності до значень ДЗ, тобто сам стане дискретною змінною, але в загальному випадку вже нерівномірно розподіленою у своєму діапазоні. Наприклад, для дискретної змінної i := 1 .. 5

вираз i2 + 1 сформує нерівномірну дискретну множину значень {2, 5, 10, 17, 26}. Цю множину не можна занести в нову змінну, але можна використовувати в подальших виразах.

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

49