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

MathCAD. Лабораторний практикум. 2010

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

 

 

 

Продовження таблиці 2.1

Математичний

Запис у

 

Дія функції

запис

MathCAD

 

 

 

Log and Exponential - Логарифмічні та показникові функції

 

 

 

 

ex

ex, або

 

Повертає число e, піднесене до степеня x

 

exp(x)

 

(e в степені x або експонента від x)

ln x

ln(x)

 

Натуральний логарифм x > 0 за основою e

-

ln0(x)

 

натуральний логарифм x ≥ 0 за основою e,

 

для x = 0 повертає значення -1 10307

log b x

log(x, b)

 

Логарифм числа x за основою b

lg x

log(x, [10])

 

Десятковий логарифм x (за основою 10)

 

 

Степені функції

 

 

 

 

cos 2 α

cos(α)2

 

Повертає значення косинуса кута α у

 

 

 

радіанах, піднесене до квадрату

lg 2 (α + )3

log((α+ )3)2

 

Повертає значення десяткового

 

логарифма (α+ )3, піднесене до квадрату

Зауваження.

1. В MathCAD між іменем функції та дужками, у яких записується її аргумент, не може знаходитися жоден символ. Тому, наприклад, природний математичний запис квадрата косинуса cos2 x перекладається на вхідну мову MathCAD наступним чином: cos(x)2. Тобто показник 2 степеня функції вводиться після дужок, для чого перед тим за допомогою клавіш , , Ins та Spacebar виділяється лініями введення функція з дужками, а потім

натискається кнопка Square (Квадрат) на панелі Calculator.

2. Аргумент тригонометричних функцій необхідно вводити в

радіанах. Для переведення градусів у радіани необхідно значення кута в градусах помножити на вбудовану константу

deg = π/180 = 1.7453292519943295×10-2.

Це перевідний коефіцієнт із градусів у радіани, тобто число радіан в одному градусі. Наприклад, якщо кут αrad := 18° заданий у градусах. Тоді формула MathCAD αdeg := αrad deg буде визначати його вже у радіанах. Або можна для знаходження синуса цього кута записати вираз sin(αrad deg).

3.Вбудована функція ln(x) уводиться кнопкою Natural Logarithm (Натуральний логарифм) на панелі Calculator і знаходить натуральний логарифм числа x (логарифм числа x за основою e).

4.Вбудована функція log(x, [b]) уводиться кнопкою Logarithm (Логарифм) на панелі Calculator і знаходить логарифм числа x за основою b. Другий аргумент b знаходиться в квадратних дужках, тому він не є обов'язковим. Якщо він відсутній, то дана функція повертає значення десяткового логарифма, тобто за умовчанням за основою b = 10.

Утабл. 2.2 наведені деякі інші корисні вбудовані функції.

30

 

Таблиця 2.2

Деякі корисні вбудовані функції MathCAD

 

 

Запис у MathCAD

Дія функції

 

 

Truncation and Round-Off - функції зрізання та округлення

 

 

ceil(x)

Повертає найменше ціле число x (x - дійсне)

floor(x)

Повертає найбільше ціле число x ( x - дійсне)

round(x, [n])

Округляє x до n цифр після десяткової крапки;

якщо n не указано, округляє до найближчого цілого

 

trunc(x)

Повертає цілу частину x, відкидаючи дробову частину

Number Theory / Combinatorics - Теорія чисел / Комбінаторика

 

 

mod(x, y)

Повертає залишок від ділення x на y, має знак x

(x, y - дійсні числа)

 

sign(x)

Повертає знак числа: 0 для x = 0, 1 для x>0, -1 для x<0

На рис. 2.10 наведені приклади використання розглянутих функцій.

Рис. 2.10. Лістинг використання функції зрізання та округлення

Редагування формул

Повторимо прийоми редагування формул, наведені в теоретичних відомостях до ознайомчої лабораторної роботи, на прикладі.

Приклад. У формулі y = sin 1 + 2∙3 замінити оператор додавання "+" на оператор віднімання "-".

1 спосіб:

1)клацнути ЛКМ між sin(1) та оператором "+", і впевнитися, що sin(1) підкреслений ГЛВ, а ВЛВ знаходиться праворуч (див. нижче 1) колаж));

2)натисніть клавішу Del : замість оператора "+" з'явиться мітка-

заповнювач оператора (див. нижче 2) колаж)); 3) натисніть клавішу - : замість мітки-заповнювача оператора з'явиться

символ оператора віднімання "-" (див. нижче 3) колаж)).

31

2 спосіб:

1)клацнути ЛКМ між оператором "+" і числом 2, і впевнитися, що число 2 підкреслене ГЛВ, а ВЛВ знаходиться ліворуч (див. нижче 1) колаж));

2)натисніть клавішу Spacebar (Пробіл), щоб виділити увесь добуток 2∙3, тобто правий операнд оператора додавання "+" (див. нижче 2) колаж));

3)натисніть клавішу Backspace : замість оператора "+" з'явиться мітка-

заповнювач оператора (див. нижче 3) колаж)); 4) натисніть клавішу - : замість мітки-заповнювача оператора з'явиться

символ оператора віднімання "-" (див. нижче 4) колаж)).

Для виправлення синтаксичних помилок в іменах змінних та функцій, слід клацнути ЛКМ зліва від помилкового символу й натиснути клавішу Del , або клацнути ЛКМ справа від помилкового символу й натиснути клавішу

Backspace .

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

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

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

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

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

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

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

4.Відкрийте файл LR01_Zrazok.xmcd, й за допомогою команди головного меню Window/Tile Horizontal (Вікно/Горизонтальна черепиця) розташуйте вікна обох файлів одне під іншим.

5.Використовуючи вікно файлу LR01_Zrazok.xmcd, як зразок виконання власного варіанту, скопіюйте із нього необхідні області.

6.Відредагуйте першу текстову область: а) змініть номер лабораторної роботи з №0 на №1; б) замініть речення "Варіант №0 (зразок)" на " Варіант №N", де N - номер власного варіанта. Іншу частину робочого листка можна очистити.

7.Перекладаючи алгоритм розв'язання власного завдання з мови блок-схем на вхідну мову MathCAD, уведіть у робочий листок необхідні формули.

32

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

вхідної мови MathCAD.

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

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

1.Яку функцію виконує панель інструментів Math?

2.ДлячогопризначеніматематичніпанеліінструментівCalculatorіGreekSymbol?

3.Поясніть призначення кнопки Insert Function?

4.Чим відрізняються оператори Definition і Evaluate Numerically?

5.Що таке пріоритет операцій і для чого він призначений?

6.Як піднести функцію sin(x) до третього степеня?

7.Для чого курсор введення в математичній області складається із двох ліній?

8.Як замінити оператор у виразі?

9.Який оператор призначений для виведення числових значень формул?

10.Вякомувікніможназмінитиврезультатікількістьзнаківпіслядесятковоїкрапки?

33

2.1.2. Змістовий модуль 2. Mathcad: основні типи алгоритмів Лабораторна робота №2. Програмування в Mathcad. Функція if та оператор if.

Виконання завдання "Розгалужений алгоритм"

Мета:

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

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

вивчити дію умовної функції if(<умова>,<вираз1>,<вираз2>);

ознайомитися із засобами програмування в програмах-функціях (ПФ);

звернути особливу увагу на виведення результатів роботи ПФ;

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

виконати індивідуальне завдання "Розгалужений алгоритм".

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

Розгалужений алгоритм

Розгалужений алгоритм описує обчислювальний процес, у якому послідовність дій залежить від виконання деяких умов, записаних у вигляді логічних виразів. Таким чином, у залежності від початкових даних та проміжних результатів програма в часі має змінювану структуру.

Функція користувача

У MathCAD вбудовано доволі багато функцій, які можна переглянути за

допомогою кнопки на панелі інструментів Standard (Стандартна). Але завжди виникає потреба розширити систему новими функціями, що потрібні користувачеві, тобто функціями користувача (ФК).

ФК може бути однорядковою та багаторядковою (програма-функція, ПФ).

Опис однорядкової функції користувача

Формат опису однорядкової ФК:

<ім’я функції > [ ( < список формальних параметрів > ) ] := < вираз >, де:

<ім’я функції > - довільний ідентифікатор, який не повинен співпадати з іменем будь-якої вбудованої функції;

[ ( < список формальних параметрів > ) ] - необов’язковий перелік використаних у < вираз > змінних, які відокремлені одна від одної комами;

< вираз > - довільний арифметичний або логічний вираз.

Якщо у < вираз > є змінні, які відсутні у списку формальних параметрів, то їхні значення необхідно визначити до опису ФК. У подальшому при виклику даної ФК такі змінні завжди будуть мати ці значення, хоча б ви й намагалися їх змінити.

Виклик однорядкової ФК

Формат виклику однорядкової ФК:

< ім’я функції > [ ( < список фактичних параметрів > ) ]

34

Тут фактичні параметри також відокремлені комами, причому їхня кількість і типи повинні відповідати формальним параметрам (скаляри - скалярам, масиви - масивам).

Дія функції: кожному формальному параметрові ставиться у відповідність фактичний параметр; обчислюється < вираз > і його значення повертається через ім’я функції в місце виклику даної функції.

Логічні вирази

Логічні вирази складаються із чисел, констант, змінних та функцій, які з'єднані між собою знаками арифметичних та логічних операцій. Значення логічного виразу може бути рівним 1 (істина, True), або 0

(неправда, False).

Для появи на екрані панелі логічних операцій натисніть

кнопку Boolean Toolbar (Булева панель інструментів) на панелі інструментів Math (Математика) (рис. 2.11). Тут знаходяться наступні знаки відношень: (логічна рівність - жирний знак рівності на відміну від звичайного тонкого знака рівності "="); <; >; <; >; , та інші логічні оператори: - заперечення ("не", "not"), - логічне множення ("∙", "і", "and") (мнемоніка: And A ); - логічне додавання ("+", "або", "or"). При натисканні на кнопку логічного оператора на екрані з'являється відповідний символ оператора із двома полями для

Рис. 2.11

Кнопка та панель

Boolean

вводу його операндів - лівого та правого: .

Операції в логічних виразах мають різний пріоритет, і він зменшується в напрямку: 1) заперечення; 2) операції в дужках; 3) арифметичні операції; 4) відношення; 5) логічне множення; 6) логічне додавання. Для зміни послідовності виконання операцій застосовують круглі дужки.

Для обчислення значень логічних виразів використовують таблицю значень логічних операцій (рис. 2.12).

Рис. 2.12. Таблиця значень деяких логічних операцій

Наприклад, обидва вирази на рис. 2.13 мають одне й те саме значення, але для демонстрації послідовності виконання операцій у другому виразі розставлені дужки.

Рис. 2.13. Послідовність виконання операцій у логічних виразах

35

Умовна функція if

Для організації розгалужень у робочому листку використовується вбудована умовна функція if (якщо), яка використовується як самостійно, так і всередині ПФ. Формат цієї функції:

if( < логічний вираз > , < вираз_1 > , < вираз_2 > ).

Умовна функція if вводиться за допомогою кнопки Insert Function (Вставити функцію, категорія функцій Piecewise Continuous (Кусково- неперервні)) на панелі інструментів Standard (Стандартна), або із клавіатури кнопками: i f ( ) , , , після чого утворюється наступна математична

область із трьома полями для введення виразів.

В якості аргументів < вираз_1 > та < вираз_2 > можуть бути числа, константи, арифметичні та логічні вирази, функції, у тому числі й умовна функція if, що дозволяє створити в робочому листку розгалуження будь-якої складності.

Дія функції: якщо логічний вираз істинний, то функція повертає значення < вираз_1 >, у протилежному випадку вона приймає значення < вираз_2 >.

Програмування в тілі програм-функцій (ПФ)

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

Засоби створення ПФ

Засоби створення ПФ - це набір операторів із панелі інструментів Programming (Програмування). Для появи на екрані панелі

програмування натисніть кнопку Programming Toolbar (Панель інструментів "Програмування") на панелі інструментів Math (Математика) (рис. 2.14). Тут знаходяться символи наступних операторів, необхідних для виконання завдання даної лабораторної роботи.

1.

(Додати лінію) - Add Program Line (Додати

 

рядок у програмі) або Programming Operator (Оператор

 

програмування): створює й продовжує жирну вертикальну

 

лінію, а праворуч від неї розміщує додаткові поля вводу, у які

 

записуються оператори, тобто тіло ПФ (гаряча клавіша

]

-

Рис. 2.14.

ліва квадратна дужка, закриваюча). Якщо вертикальна лінія

Кнопка та

введення

розташована праворуч

, нове поле введення

додається знизу. Навпаки, коли вертикальна лінія введення

панель

Programming

розташована ліворуч , нове поле додається зверху.

 

2. (Якщо) - умовний оператор (гарячі клавіші Shift + } ).

3. (Інакше) - оператор іншого вибору для оператора if (клавіші

Ctrl + Shift + } ).

36

Опис програми-функції

Опис ПФ розміщується в робочому листку перед викликом даної функції,

імає такий формат:

<ім'я ПФ > - унікальне ім'я, за яким викликається дана функція й через це ж ім'я, і тільки через нього, повертається в робочий листок результат виконання даної ПФ.

( < список формальних параметрів > ) – наведений у круглих дужках список використаних у тілі ПФ змінних, що відокремлені одна від одної комами. Через формальні параметри всередину ПФ передаються необхідні для обчислення результату дані. В якості формальних параметрів можуть використовуватися імена простих змінних, масивів і функцій. ПФ може зовсім не мати формальних параметрів. Якщо змінна використовується в правій частині оператора в тілі ПФ і не входить до списку формальних параметрів, вона повинна бути визначена в робочому листку до опису даної ПФ. У подальшому змінити значення такої змінної буде неможливо, тобто вона стає сталим параметром даної ПФ, значення якого задається тільки до опису цієї ПФ.

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

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

Щоб створити об'єкт < результат > у вигляді масиву, необхідно виконати наступні дії.

1.Відкрити

панель інструментів Matrix, натис-

Рис. 2.15. Кнопка

нувши кнопку

Vector and Matrix Toolbar (Па-

Vector and Matrix

нель інструментів "Матриці та вектори") на панелі

Toolbar і панель

Matrix

інструментів Math (Математика) (рис. 2.15).

2. На панелі інструментів Matrix (Матриця) натиснути кнопку Matrix or

37

Vector (Матриця або вектор) або натиснути комбінацію клавіш Ctrl + M . На екрані з'явиться діалогове вікно Insert Matrix (Вставити матрицю) (рис. 2.16), у якому слід задати кількість рядків (Rows) та стовпчиків (Columns):

якщо об'єктом < результат > є вектор-стовпець, то кількість рядків (Rows) дорівнює кількості елементів вектора, а кількість стовпчиків (Columns) дорівнює одиниці;

Рис. 2.16.

Діалогове вікно "Вставити матрицю"

якщо об'єктом < результат > є матриця, то

кількість рядків (Rows) та стовпчиків (Columns) задаємо такою, щоб загальна кількість елементів матриці n×m дорівнювала б кількості елементів, які необхідно вивести з програми-функції. Наприклад, необхідно вивести три прості змінні s, k, p та один масив y (усього чотири елемента виведення). Можна задати матрицю розміром 2 2, або матрицю розміром 1 4.

3.Натиснути кнопку ОК .

4.З'явиться пустий шаблон матриці (вектора), наприклад, для матриці

розміром 1 4: .

5. У поля введення слід вписати імена простих змінних або масивів, що виводяться із програми-функції.

У результаті ім'я ПФ набуває того ж типу даних, що й об'єкт < результат >.

Виклик програми-функції MathCAD

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

<ім'я функції > [ ( < список фактичних параметрів > ) ] [ < індекс > ]

Унаведеному форматі окремі елементи мають указані нижче значення.

<список фактичних параметрів > - список чисел, констант, змінних (простих, векторних або матричних) чи виразів, що відокремлені комами. Фактичні параметри вказують, при яких конкретних значеннях формальних параметрів здійснюються обчислення в тілі ПФ і тому вони повинні бути визначені раніш місця виклику ПФ. Між фактичними й формальними параметрами повинна бути відповідність за кількістю й типом:

1) якщо формальним параметром є проста змінна, то фактичним може бути константа, проста змінна, арифметичний вираз;

2) якщо формальний параметр - вектор або матриця, то фактичним повинний бути також, відповідно, вектор, або матриця.

<індекс > не вказується, коли об'єкт < результат > є простою змінною (виразом). Якщо ж об'єкт < результат > є вектором або матрицею, < індекс > указує номер елемента в цьому об'єкті. Виклик ПФ без зазначення < індекс > приводить до виведення значень простих та розміру {n, m} (n - кількість рядків, m - кількість стовпчиків) інших елементів об'єкту < результат >.

38

Умовний оператор if

Умовний оператор if призначений для організації розгалужень у тілі ПФ і не може бути застосованим за межами ПФ. Він має два формати - однорядковий та багаторядковий.

Дія оператора: якщо логічний вираз має значення 1 (істина), то повертається величина < вираз_1 >.

Оператор otherwise не є обов'язковим, тому він наведений у квадратних дужках, але, якщо він є, то при значенні логічного виразу 0 (неправда) оператор if буде повертати величину < вираз_2 >.

 

Для введення оператора if необхідно виконати такі дії.

1.

Надрукувати ім’я ПФ, наприклад, g(x).

 

 

 

 

 

 

2.

Увести оператор присвоювання (клавіші

 

Shift

+

:

).

 

3.

Створити тіло ПФ, натиснувши кнопку

 

Add Line

на панелі засобів

програмування. З’явиться шаблон для введення тіла ПФ: .

4. У верхньому полі введення натиснути кнопку if на панелі засобів програмування, або натиснути клавіші Shift + } (оператор if, на відміну від імені умовної функції if, із клавіатури вводити не можна).

5.На екрані з'явиться шаблон із двома полями введення : у ліве поле вводиться < вираз_1 >, а в праве - < логічний вираз > (однорядковий формат).

6.Якщо в ліве поле ввести оператор Add Line необхідне число разів, то формат оператора if стане багаторядковим.

7.Для введення оператора otherwise необхідно перейти на наступне після

оператора if поле введення тіла ПФ і натиснути кнопку otherwise на панелі засобів програмування.

8.На екрані з'явиться шаблон з одним полем введення .

9.Увести в це поле <вираз_n>.

10.В умовному операторі if може також використовуватись оператор break для дострокового виходу із блоку.

39

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]