You are on page 1of 165

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТРАНСПОРТНИЙ УНІВЕРСИТЕТ

Данчук В.Д., Кравчук А.П., Алєксєєнко К.М.

MathCAD

Київ – 2010
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТРАНСПОРТНИЙ УНІВЕРСИТЕТ

Данчук В.Д.
Кравчук А.П.
Алєксєєнко К.М.

MathCAD
Лабораторний практикум з дисципліни “Інформатика”

для студентів денної форми навчання


напрямів “Автомобільний транспорт”, “Машинобудування”,
“Зварювання” та “Професійна освіта”

Затверджено
на засіданні навчально-методичної Ради
Національного транспортного університету
протокол № 10 від 15 червня 2010 р.

Київ НТУ 2010


MathCAD. Лабораторний практикум з дисципліни “Інформатика” для
студентів денної форми навчання, напрямів “Автомобільний транспорт”,
“Машинобудування”, “Зварювання” та “Професійна освіта”. – К.: НТУ, 2010. –
162 с.

Укладачі: В.Д. Данчук, доктор фіз.-мат. наук, професор,


А.П. Кравчук, ст. викладач,
К.М. Алєксєєнко, ст. викладач.
Зміст
Розділ 1. Організація навчального процесу за кредитно-модульною
системою. Семестр 2. MathCAD 5
Вступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Кредитно-модульна організація навчального процесу . . . . . . 5
1.2. Викладання дисципліни "Інформатика"
за кредитно-модульною системою . . . . . . . . . . . . . . . . . . 7
Розділ 2. Лабораторні роботи з дисципліни "Інформатика".
Семестр 2. MathCAD 13
2.1. Модуль 1. MathCAD: основи застосування . . . . . . . . . . . . . 13
2.1.1. Змістовий модуль 1. Mathcad: основи інтерфейсу . . . . . . . . 13
Лабораторна робота №0 (ознайомча)
Робота з документами Mathcad. . . . . . . . . . . . . . . . . . . . 13
Лабораторна робота №1.
Виконання завдання "Лінійний алгоритм" . . . . . . . . . . . . . 29
2.1.2. Змістовий модуль 2. Mathcad: основні типи алгоритмів . . . . 34
Лабораторна робота №2.
Програмування в Mathcad. Функція if та оператор if.
Виконання завдання "Розгалужений алгоритм" . . . . . . . . . . 34
Лабораторна робота №3.
Дискретна змінна. Графіки.
Виконання завдання "Арифметичний цикл" . . . . . . . . . . . . 47
Лабораторна робота №4.
Програмування в Mathcad. Оператор while.
Виконання завдання "Ітераційний цикл" . . . . . . . . . . . . . . 62
2.1.3. Запитання для самоконтролю . . . . . . . . . . . . . . . . . . . 71
2.1.4. Самостійна робота студентів (СРС-1, 2, 3) . . . . . . . . . . . . 73
Теоретичні завдання для виконання самостійної роботи . . . . . 73
Практичні завдання для виконання самостійної роботи . . . . . . 74
2.2. Модуль 2. Mathcad: модульне програмування
та розв’язання систем рівнянь . . . . . . . . . . . . . . . . . . . . 75
2.2.1. Змістовий модуль 3. Mathcad: модульне програмування . . . . 75
Лабораторна робота №5.
Обробка масивів.
Виконання завдання "Обробка векторів і матриць за допомогою
операторів та вбудованих функцій MathCAD" . . . . . . . . . . . 75
Лабораторна робота №6.
Обробка одновимірних масивів.
Виконання завдання "Обробка векторів" . . . . . . . . . . . . . . 98
3
Лабораторна робота №7.
Обробка двовимірних масивів.
Виконання завдання "Обробка матриць" . . . . . . . . . . . . . . 110
Лабораторна робота №8.
Модульне програмування в одному документі.
Виконання завдання "Однорядкова функція користувача". . . . . 125
Лабораторна робота №9.
Модульне програмування в декількох документах.
Виконання завдання " Багаторядкова функція користувача" . . . . 130
2.2.2. Змістовий модуль 4.
Mathcad: розв'язання систем рівнянь . . . . . . . . . . . . . . . 137
Лабораторна робота №10.
Нелінійні рівняння та системи (СНР).
Виконання завдання "Розв'язання нелінійних рівнянь та систем" . 137
Лабораторна робота №11.
Системи лінійних алгебраїчних рівнянь (СЛАР).
Виконання завдання "Розв’язання систем лінійних алгебраїчних
рівнянь" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
2.2.3. Запитання для самоконтролю . . . . . . . . . . . . . . . . . . . 155
2.2.4. Самостійна робота студентів (СРС-4, 5, 6, 7, 8, 9) . . . . . . . . 158
Теоретичні завдання для виконання самостійної роботи . . . . . . 158
Практичні завдання для виконання самостійної роботи . . . . . . 159
2.3. Перелік теоретичних питань та практичних завдань
до підсумкового модульного контролю (екзамену) . . . . . . . . 160
Література . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

4
Розділ 1. Організація навчального процесу
за кредитно - модульною системою.
Семестр 2. MathCAD
Вступ
Болонський процес - це процес гармонізації систем освіти країн Європи з
метою створення єдиного європейського простору вищої освіти. Його початок
можна віднести ще до середини 1970-х років, коли Радою міністрів ЄС була
прийнята Резолюція про першу програму співробітництва в сфері освіти.
Офіційною датою початку процесу прийнято вважати 19 червня 1999 року,
коли в м. Болонья на спеціальній конференції міністри освіти 29 європейських
держав прийняли декларацію «Зона європейської вищої освіти», або Болонську
декларацію. В 2005 році в Бергені Україна офіційно приєдналася до
Болонської декларації.

Основними напрямами Болонського процесу є:

 побудова європейської зони вищої освіти як ключового напрямку розвитку


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

1.1. Кредитно-модульна організація навчального процесу


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

5
реалізується відповідними формами навчального процесу протягом певного
оптимального часу, визначеного на їхнє засвоєння.
Заліковий кредит – це одиниця виміру навчального навантаження
необхідного для засвоєння змістових модулів (модулів).
1 кредит = 36 ак. год. повного навчального навантаження (аудиторні та
СРС) – за шкалою ECTS.
1 кредит = 54 ак. год. повного навчального навантаження (аудиторні та
СРС) – за національною шкалою.
Модульний контроль – це один із видів контролю стану засвоєння
системи знань та вмінь із модуля навчальної дисципліни, що включає один
модуль або блок змістових модулів. Форми модульного контролю
визначаються у відповідності до елементів модуля даної дисципліни
(тестування, письмова контрольна робота).
Підсумковий контроль – це контроль стану засвоєння знань та вмінь
студента з навчальної дисципліни в цілому в семестрі. Форми підсумкового
контролю – залік, екзамен.
Поточне оцінювання знань – це контроль стану засвоєння поточних
знань у рамках змістового модуля. Форми поточного оцінювання знань
визначаються у відповідності до елементів змістового модуля даної
дисципліни.
Рейтинговий показник студента з дисципліни – це числова величина,
яка дорівнює сумі набраних студентом балів у відповідності до запровадженої
єдиної шкали оцінок за однією з наведених нижче процедур:
- з усіх контрольних зрізів із дисципліни в семестрі (відвідування занять,
поточне оцінювання знань при вивченні змістових модулів, модульний
контроль, наукова робота), якщо студент не приймає участі в
підсумковому контролі;
- нормованої кількості балів за роботу в семестрі, кількості балів, отриманих
під час підсумкового контролю, наукову роботу, якщо студент приймає
участь у підсумковому контролі.
Рейтинговий показник студента з модуля дисципліни – це числова
величина, яка дорівнює сумі набраних балів із відвідування занять та поточного
оцінювання знань при вивченні змістових модулів, модульного контролю.
Рейтинг студента – це порядкова позиція студента в групі за результатами
навчання з навчальної дисципліни або з усіх навчальних дисциплін
(визначається за середнім арифметичним рейтингових показників з усіх
навчальних дисциплін).
Кредитно-модульна система передбачає запровадження рейтингової
системи оцінювання знань студентів і шкалу оцінок за єдиними критеріями
відповідно до табл. 1.1.

6
Табл. 1.1
За За шкалою
За національною
шкалою університету Примітка
шкалою
ECTS (в балах)
A Відмінно 90-100 (+n)* n –кількість балів,
BC Добре 75-89 отриманих студентом
DE Задовільно 60-74 з відповідної
FX Незадовільно з 1-59 дисципліни за
можливістю наукову роботу (до
повторного складання 15 балів).
*
– Якщо студент, при врахуванні його наукової роботи, набирає більше 100
балів, то він отримує А (за шкалою ECTS), “відмінно” (за національною
шкалою).
При участі студента у підсумковому контролі максимальна кількість балів,
яку студент може отримати під час підсумкового контролю, складає 60 б.,
максимальна нормована кількість балів за роботу у семестрі, яка враховується у
рейтингу студента під час проведення підсумкового контролю, - 40 б.
Технологія нормування кількості балів із дисципліни, отриманих студентом за
роботу в семестрі, наведена в табл. 1.2.
Табл. 1.2.
Нормована кількість балів за Кількість балів,
Рейтинг студента в роботу в семестрі, яка отриманих за
семестрі ( Qс , бали) враховується на підсумковому підсумковий
н
контролі ( Qс , бали) контроль (бали)
90-100 -
75-89 40
60-74 30
Qпк
35-59 20
17-34 10
<17 0
Рейтинг студента, що не приймає участь у
Q p  Qc
підсумковому контролі ( Q p , бали)
Рейтинг студента, що приймає участь у
Q p  Qcн  Qпк
підсумковому контролі ( Q p , бали)

1.2. Викладання дисципліни «Інформатика»


за кредитно-модульною системою
Дисципліна «Інформатика» у Національному транспортному університеті
вивчається протягом одного навчального року (два семестри).
У зв'язку з переходом до кредитно-модульної системи процесу навчання

7
передбачається поділ навчального матеріалу дисципліни на 2 модулі в семестрі,
кожен з яких у свою чергу складається з 2-х змістових модулів. Кожний
змістовий модуль закінчується контролем отриманих студентами знань у
вигляді письмового тесту. Кожний модуль закінчується проведенням
модульного контролю. Підсумковим контролем у 1 семестрі є залік, а в 2
семестрі – екзамен. Також протягом семестру проводиться неперервний
поточний контроль у рамках кожного змістового модулю за чотирма
основними критеріями: відвідування лекцій, відвідування лабораторних занять,
активність на лабораторному занятті, виконання індивідуальних робіт та
завдань для самостійної роботи (СРС).
У цьому навчальному посібнику розглядається матеріал 2 семестру, а саме
вивчення універсальної системи математичних розрахунків MathCAD.
Розподіл балів за елементами змістових модулів при поточному
оцінюванні знань:
1. Відвідування лекцій (0 – 1,5 бали)
1,5 б – присутність на лекції та наявність конспекту;
1,0 б – відсутність на лекції та наявність конспекту;
0,5 б – присутність на лекції та відсутність конспекту;
0 б – відсутність на лекції та відсутність конспекту.
2. Відвідування лабораторних занять (0 – 0,5 бали)
0,5 б – присутність на ЛЗ.;
0 б – відсутність на ЛЗ.
3. Лабораторне заняття (0 – 2 бали):
2 б – робота виконана, захищена й оформлено звіт;
1 б – робота виконана, але не захищена;
0 б – робота не виконана.
4. Самостійна робота студента (0 – 2 бали):
2 б – робота виконана повністю й захищена;
1 б – робота виконана повністю, але не захищена;
0 б – робота не виконана.
Критерії оцінювання знань студентів при проведенні підсумкового контролю.
Оцінка 50 – 60 балів (“відмінно”) виставляється студентові, який глибоко
та міцно засвоїв матеріал, відмінно справляється із задачами та питаннями,
показує знайомство з фаховою літературою, володіє різносторонніми
навичками та прийомами виконання практичних завдань, уміє добре
орієнтуватись у виробничих ситуаціях.
Оцінка 41 – 49 балів (“добре”) виставляється студентові, який твердо знає
програмний матеріал, правильно застосовує теоретичні знання при рішенні
практичних завдань, володіє необхідними навичками та прийомами виконання
цих завдань.
Оцінка 30 – 40 балів (“задовільно”) виставляється студентові, який має
знання тільки основного матеріалу, але не засвоїв його деталей, допускає
неточності, неправильне тлумачення окремих елементів завдання та відчуває
труднощі при виконанні практичних завдань.
8
Оцінка 0 – 29 балів (“незадовільно”) виставляється студентові, який не
знає значної чистини програмного матеріалу, допускає багато помилок,
невпевнено виконує завдання.
Структуру модулів у 2 семестрі навчальної дисципліни «Інформатика» за
модульною системою подано в табл. 1.3.

Основні характеристики модуля 1.


Загальна характеристика модуля 1.
Модуль складається із двох змістових модулів. Мета його полягає в
засвоєнні студентами основних принципів роботи з універсальною системою
математичних розрахунків MathCAD.
Структура модуля 1.
Цей модуль містить у собі матеріал першого та другого змістових модулів.
Перший змістовий модуль (ЗМ1). Основи роботи з універсальною
системою математичних розрахунків MathCAD.
Другий змістовий модуль (ЗМ2). Програмування алгоритмів основних
видів обчислювальних процесів.
Основні поняття модуля 1.
Інтерфейс вікна програми MathCAD, панелі інструментів, текстова й
математична області, область графіка, елементи вхідної мови MathCAD:
символи, константи, змінні, числа, вбудовані функції, оператори, арифметичні
та логічні вирази, дискретна змінна, однорядкові функції користувача,
багаторядкові функції користувача – програми-функції, засоби програмування
в тілі програм-функцій, результат програми-функції, формат результату
обчислень.
Основні задачі модуля 1.
1. Знайомство із графічним інтерфейсом програми MathCAD.
2. Опанування загальними та математичними панелями інструментів.
3. Вивчення правил створення й форматування текстових та математичних
областей.
4. Знайомство з виведенням та форматуванням результатів розрахунків.
5. Табулювання функцій.
6. Засвоєння правил перекладу алгоритмів із мови блок-схем на вхідну мову
MathCAD.
7. Організація в робочому листку та в програмах-функціях основних типів
обчислювальних процесів: лінійних, розгалужених та циклічних.
8. Створення та форматування графіків.
Знання та вміння, якими повинен володіти студент у модулі 1.
1. Знати основні елементи інтерфейсу програми MathCAD та їхнє призначення.
2. Уміти користуватися основними кнопками загальних та математичних
панелей інструментів.

9
Таблиця 1.3
РОЗПОДІЛ БАЛІВ ПРИ РЕЙТИНГОВІЙ СИСТЕМІ ОЦІНЮВАННЯ ЗНАНЬ
З НАВЧАЛЬНОЇ ДИСЦИПЛІНИ "ІНФОРМАТИКА" У ДРУГОМУ СЕМЕСТРІ

Кількість балів у

контроль (залік,
Модулі Модуль 1 Модуль 2

Підсумковий

екзамен)
семестрі
Кількість балів
40 60
за модуль

Змістові модулі ЗМ1 ЗМ2 ЗМ3 ЗМ4


16,5 19,5
Кількість балів
8,5 15 17,5 23
за ЗМ та МК
Кількість балів
за видами Л ЛЗ СРС Л ЛЗ СРС Л ЛЗ СРС Л ЛЗ СРС
роботи

МК № 2
МК №1
100 100
Відвідування 1,5 1 3 2 4,5 3 4,5 2,5
Активність на
4 6 6 8
заняттях
Виконання
2 4 4 8
СРС
Участь у наукових конференціях, семінарах, круглих столах,
Наукова робота 15
студентських олімпіадах та конкурсах – 0-15 балів

10
3. Володіти прийомами введення тексту та формул у робочий листок.
4. Уміти форматувати текст та редагувати формули.
5. Уміти виводити результати розрахунків у різних форматах.
6. Володіти прийомами табулювання функцій.
7. Уміти створювати блок-схеми основних типів алгоритмів: лінійних,
розгалужених і циклічних та відповідні програми на вхідній мові MathCAD
у робочому листку та в програмах-функціях.
8. Уміти створювати об'єкт < результат роботи програми-функції > різного
типу: скаляр, вектор, матрицю та гніздовий масив.
9. Уміти аналізувати отримані результати розрахунків.

Основні характеристики модуля 2.


Загальна характеристика модуля 2.
Модуль складається із двох змістових модулів. Мета модуля:
 засвоєння студентами основних принципів обробки масивів вбудованими
операторами та функціями MathCAD, і створеними програмами-функціями;
 опанування принципами модульного програмування в одному та декількох
документах;
 набуття навиків розв'язування нелінійних рівнянь, систем нелінійних рівнянь
та систем лінійних алгебраїчних рівнянь за допомогою вбудованих функцій
MathCAD.
Структура модуля 2.
Цей модуль містить у собі матеріал третього та четвертого змістових
модулів.
Третій змістовий модуль (ЗМ3). Обробка масивів та модульне
програмування.
Четвертий змістовий модуль (ЗМ4). Розв'язування рівнянь та систем
рівнянь.
Основні поняття модуля 2.
Масиви: вектори, матриці, гніздові масиви; векторні й матричні оператори
та функції, програмні методи обробки масивів, принципи модульного
програмування в одному документі, основи модульного програмування в
декількох документах, бібліотеки програм-функцій користувача, нелінійні
рівняння та їхні типи: алгебраїчні й трансцендентні, вбудовані функції для
розв'язування нелінійних рівнянь, системи нелінійних рівнянь, системи
лінійних алгебраїчних рівнянь.
Основні задачі модуля 2.
1. Засвоєння методів створення масивів різного типу.
2. Знайомство з векторними й матричними операторами та функціями MathCAD.
3. Набуття навиків створення програм-функцій для обробки масивів.
4. Опанування методами модульного програмування.
5. Вивчення технології розв'язування рівнянь та систем рівнянь.
6. Удосконалення навичок графічного аналізу функцій.

11
Знання та вміння, якими повинен володіти студент у модулі 2.
1. Уміти створювати масиви різного типу.
2. Знати основні векторні й матричні оператори та функції MathCAD.
3. Володіти програмними методами обробки масивів.
4. Уміти структурувати робочі документи MathCAD згідно із принципами
модульного програмування.
5. Володіти прийомами розв'язування рівнянь та систем рівнянь лінійного й
нелінійного типів.
6. Мати навики графічного аналізу функцій.
Послідовність виконання та вимоги до оформлення лабораторної роботи.
Частина лабораторної роботи, яка виконується студентом поза
аудиторного навчання.
1. Вивчити теоретичний матеріал по темі даної лабораторної роботи.
2. Підготувати відповіді на контрольні запитання.
3. Переписати в зошит для лабораторних робіт умову індивідуального
завдання (номер варіанта – це номер у списку групи).
4. Ретельно проаналізувати умову індивідуального завдання порівняно з
умовою зразка виконання цього ж завдання.
5. Скласти алгоритм розв'язування завдання на засадах аналізу алгоритму
виконання зразка цього завдання.
6. Нарисувати блок-схему алгоритму за допомогою лінійки та олівця, що
дозволить швидко й охайно (в разі необхідності) внести виправлення.
7. Алгоритм виконання завдання перекласти з мови блок-схем на вхідну мову
MathCAD, тобто скласти програму виконання завдання. Оператори програми
записувати через клітинку (рядок), щоб можна було внести виправлення (в разі
необхідності).
Частина лабораторної роботи, яка виконується студентом на занятті.
1. Запустити MathCAD і записати чистий робочий документ на диск під
іменем LRNN_Прізвище.xmcdz, де NN - номер лабораторної роботи.
2. Увести програму виконання завдання в робочий документ.
3. По мірі введення програми періодично записувати документ на диск, щоб
результати роботи не були втраченими у випадку зависання комп'ютера чи
зникнення живлення.
4. Переписати в зошит результати розрахунків і проаналізувати їх.
5. Порівняти результати розрахунку з результатами, отриманими в першому
семестрі при виконанні цього ж завдання в системі програмування Visual Basic.
6. Записати в зошит висновки щодо виконання завдання, у яких відобразити
засвоєні нові елементи вхідної мови MathCAD та їхнє призначення.
7. Захистити роботу у викладача, відповівши на контрольні запитання по темі
лабораторної роботи.

12
Розділ 2. Лабораторні роботи з дисципліни
"Інформатика". Семестр 2. MathCAD

2.1. Модуль 1. MathCAD: основи застосування


2.1.1. Змістовий модуль 1. Mathcad: основи інтерфейсу

Лабораторна робота №0 (ознайомча). Робота з документами MathCAD

Мета:
 ознайомитись з інтерфейсом програми MathCAD;
 набути навиків створювання областей різного типу та зміни їхніх
властивостей;
 навчитись введенню, виведенню та форматуванню числових значень;
 засвоїти правила запису формул.

Теоретичні відомості
Інтерфейс програми MathCAD
MathCAD (Mathematics Computer-Aided Design) - математична система
автоматизованого проектування, призначена для виконання та документації
математичних розрахунків. В основу її роботи закладений принцип WYSIWYG
(What You See Is What You Get - Що Ви бачите, то й одержите), тому
роздрукований документ має той самий вигляд, що й на екрані комп'ютера.
Інтерфейс MathCAD схожий на інтерфейс будь-якої програми, що створена для
роботи під управлінням операційної системи Windows. Вікно програми
MathCAD 14 зображено на рис. 2.1, де пронумеровано його складові частини.
1. Рядок заголовка Title Bar із кнопкою системного меню вікна , ім'ям
програми та ім'ям поточного документа , кнопками
управління вікном .

2. Рядок головного меню Menu Bar для вибору різних груп команд, а саме:
 File (Файл) - робота з файлами, Інтернет та електронною поштою;
 Edit (Правка) - редагування документа;
 View (Вид) - вмикання-вимикання панелей інструментів та інших
елементів інтерфейсу, а також зміна вигляду документа;
 Insert (Вставка) - вставка графіків та інших об’єктів;
 Format (Формат) - форматування об’єктів;
 Tools (Інструменти) - перевірка орфографії, анімація, управління
обчисленнями;
 Symbolics (Символіка) - операції символьного процесора;
 Window (Вікно) - управління вікнами декількох відкритих документів;
 Help (Допомога) - робота з довідковою базою даних.

13
3. Панель інструментів Standard Toolbar (Стандартна) із кнопками
швидкого виконання найбільш уживаних команд головного меню.
4. Панель інструментів Formatting Toolbar (Форматування) із кнопками
команд форматування об'єктів документа.
5. Панель інструментів Math Toolbar (Математика) із кнопками панелей
математичних операцій, графіків і грецьких літер. За умовчанням ця панель є
плаваючою, але її можна прикріпити до границі робочого листка, потягнувши
лівою кнопкою миші за рядок заголовка.
6. Робочий листок Worksheet із курсором введення у вигляді червоного
хрестика (Crosshair), який показує на пусте місце в документі.
7. Горизонтальна смуга прокрутки для швидкого переміщення в документі.
8. Рядок стану Status Bar у якому виводиться інформація про вибраний
елемент інтерфейсу, режим обчислень автоматичний AUTO, чи ручний Calc
F9, номер поточної сторінки Page N.
9. Вертикальна смуга прокрутки для швидкого переміщення в документі.

Рис. 2.1. Вікно програми MathCAD 14

Панель інструментів Математика - Math Toolbar


Панель інструментів Математика призначена для швидкого виведення
на екран математичних панелей інструментів, які інакше треба було б виводити
командою головного меню View/Toolbars/ (Перегляд/Панелі інструментів/).
Тут знаходяться кнопки виведення на екран наступних математичних панелей
інструментів:

14
1. Calculator Toolbar Button (Калькулятор) - для вставки в робочий
листок цифр, символів арифметичних операторів та найбільш уживаних
вбудованих функцій (див. рис. 2.5 на с. 19);
2. Graph Toolbar Button (Графік) - для вставки в робочий листок шаблонів
різноманітних графіків (див. рис. 2.18 на с. 50);
3. Vector and Matrix Toolbar Button (Вектори й матриці) - для вставки в
робочий листок пустих масивів (векторів і матриць), символів операцій із
масивами (див. рис. 2.15 на с. 37);
4. Evaluation Toolbar Button (Обчислення) - для вставки в робочий листок
символів операторів оцінювання виразів у числовому , або в символьному
вигляді , оператора присвоювання ;
5. Calculus Toolbar Button (Числення) - для вставки в робочий листок
символів операторів диференціювання, інтегрування, сумування,
знаходження добутку та границь;
6. Boolean Toolbar Button (Бульові (логічні) операції) - для вставки в
робочий листок символів логічних операторів (див. рис. 2.11 на с. 35);
7. Programming Toolbar Button (Програмування) - для вставки в робочий
листок символів операторів програмування для створення програм-функцій
(див. рис. 2.14 на с. 36);
8. Greek Symbol Toolbar Button (Грецькі символи) - для вставки в робочий
листок грецьких букв;
9. Symbolic Keyword Toolbar Button (Ключові слова символьних операцій) -
для вставки в робочий листок символьних операторів та ключових слів
символьних операцій.
Будь-яку панель інструментів можна розташувати в зручному для вас місці
робочого листка. Для цього достатньо перемістити панель затиснутою лівою
кнопкою миші на рядку заголовку в необхідне місце робочого листка.
Поняття про документ та вхідну мову MathCAD
Документ MathCAD - це файл на носії інформації з розширенням імені:
 ".xmcd". MathCAD XML Document - робочий листок, записаний на мові
eXtensible Markup Language (розширювана мова розмітки), призначений для
поширення в мережі Інтернет, і який тому може бути відкритий у будь-якому
браузері;
 ".xmcdz". MathCAD Compressed XML Document - робочий листок,
записаний у стислому форматі для економії місця на носії;
 ".mcd". MathCAD {11 | 12 | 13} Worksheet - робочий листок, записаний на
внутрішній мові MathCAD (старий формат попередніх версій).
Документ MathCAD об'єднує програмний код, написаний на візуально-
орієнтованій мові програмування, з результатами його виконання та текстовими й
формульними коментарями. Створюється документ шляхом введення в
15
робочий листок символів із клавіатури або з математичних панелей
інструментів. При цьому в залежності від характеру символу, що вводиться,
утворюються об'єкти різного роду, які називаються областями. Саме із цими
візуальними (видимими) об'єктами й працює MathCAD у напрямку зліва
направо, та зверху вниз, що є загальноприйнятим для мов програмування високого
рівня. Виключенням є область із глобальним визначенням. Така область
опрацьовується MathCAD у першу чергу, і тому може бути розташована в будь-
якому місці документа. Таким чином, MathCAD зможе опрацювати будь-яку
область тільки тоді, коли перед тим, тобто лівше або вище, будуть визначені
значення всіх невідомих, що входять у дану область.
У робочому листку можна створити три типи областей: текстову,
математичну та графічну (область графіка).
Текстова область призначена для розміщення коментарів, і створюється
за допомогою вбудованого текстового редактора з достатньо розвиненими
засобами форматування тексту.
Математична область призначена для введення формул за допомогою
вбудованого редактора формул, мова якого максимально наближена до
звичайної математичної мови. Значення формули можна оцінити в числовому
вигляді за допомогою обчислювального процесора MathCAD, або в
символьному (алгебраїчному) вигляді за допомогою символьного процесора
MathCAD з елементами штучного інтелекту.
Графічна область призначена для представлення та аналізу результатів
розрахунків у вигляді різноманітних графіків, що значно підвищує наочність
документу MathCAD.
У результаті документу MathCAD можна надати вигляд повноцінної
наукової статті чи книжки.
Засоби створення документа (інтерфейс, редактори тексту й формул,
обчислювальний та символьний процесори) об'єднані в одне інтегроване
середовище розробки програм розв'язання математичних задач та документації
результатів розрахунків, що значно полегшує пошук та аналіз розв'язку.
Створення та форматування текстової області
Текстова область Text Region призначена для розміщення коментарів. Вона
створюється й форматується таким чином:
1) клацнути лівою кнопкою миші (ЛКМ) у потрібному місці робочого листка;
2) виконати команду Menu Bar/Insert/ Text Region (Головне меню/Вставка/
текстова область), або натиснути клавіші Shift + " (якщо мова введення із клавіатури

англійська, це клавіші Shift + ; якщо - українська, це клавіші Shift + );


3) курсор введення змінить вигляд із червоного хрестика на
червону вертикальну лінію - лінію введення тексту (Text
Insertion Point) у рамці з маркерами границь області (рис. 2.2); Рис. 2.2.
4) на панелі Форматування вибрати: шрифт, що підтримує Пуста
кирилицю, наприклад, Arial Cyr; розмір літер - 12 або 14 пт; текстова
характер накреслення літер: B - жирний, I - курсив, U - область
16
підкреслений; спосіб вирівнювання тексту - по лівому краю, по центру, по
правому краю;
5) увести текст, наприклад, "Лабораторна робота з MathCAD №0",
починаючи та закінчуючи найдовше по ширині речення пробілами.
Форматування введеного тексту
за допомогою контекстного меню.
1. Викликати контекстне меню текстової
області правою кнопкою миші (ПКМ) та вибрати
пункт Properties… (Властивості…), щоб
з'явилось діалогове вікно Properties (рис. 2.3).
2. Для залиття текстової області кольором
установити прапорець Highlight Region
(Підсвітити область), натиснути кнопку
Choose Color… (Вибрати колір…), вибрати
мишею потрібний колір та натиснути на Рис. 2.3. Вікно властивостей
текстової області
кнопку ОК . Результат:

3. Для показу рамки текстової області встановити прапорець Show Border


(Показати рамку) та натиснути на кнопку ОК . Результат:

Форматування введеного тексту командами головного меню,


або відповідними кнопками на панелі інструментів Форматування.
1. Виділити потрібну частину введеного тексту.
2. Виконати команду Menu Bar/Format/Text… (Головне меню/Форматувати/Текст…).
3. З'явиться діалогове вікно Text Format (Формат тексту).
4. Вибрати назву шрифту (Font), характер накреслення (Font Style), його
розмір (Size), ефекти написання (Effects) та колір (Color).
5. Для цього можна також скористатися відповідними кнопками на панелі
інструментів Форматування.
Зміна розмірів створеної області.
1. Активувати область лівою кнопкою миші.
2. Навколо області з'явиться рамка із трьома
маркерами границь (чорними прямокутниками).
3. Навести покажчик миші на бажаний маркер Рис. 2.4. Перетягування
границі так, щоб покажчик миші змінився на кутового маркеру у
двобічну стрілку (див. рис. 2.4). сторону збільшення
4. Затиснути ліву кнопку миші та області
пересунути границю в одному з напрямків.
Переміщення текстової області в інше місце робочого листка.
1. Навести покажчик миші на границю області вільну від маркерів, так щоб
він перетворився на маленьку долоню.
17
2. Затиснути ліву кнопку миші, і перемістити область у бажане місце.
Параметри форматування однієї текстової області не поширюються
автоматично на інші текстові області, тому для створення наступної текстової
області, з тими ж самими елементами форматування тексту, зручно скопіювати
одну літеру в попередній області, вставити її в нове місце робочого листка,
увести потрібний текст, і тільки потім знищити цю зайву літеру.
Необхідно слідкувати, щоб області не перекривалися, саме для цього
доцільно показувати їхні границі.
У створену текстову область можна вставити математичну область
командою Menu Bar/Insert/Math Region (Головне меню/Вставка/Математична
область), або клавішами Ctrl + Shift + A ). Це дозволяє оформити належним
чином умову розв'язуваної задачі. Але слід нагадати, що при цьому результати
виконання операторів у вставленій математичній області будуть впливати на
подальші обчислення.

Засоби виконання обчислень у тілі робочого листка


Для перекладу алгоритму розв'язання задачі з мови блок-схем на вхідну мову
MathCAD, тобто складання програми розв'язання задачі, передбачені наступні
засоби: числа, вбудовані константи, змінні, вбудовані функції, функції користувача,
арифметичні та логічні оператори, арифметичні та логічні вирази, формули.
Змінна - елементарний об'єкт мови MathCAD, який має ім'я (ідентифікатор)
та значення, що може змінюватися під час виконання програми.
Константа - аналогічна змінній, але її значення не може змінюватися під
час виконання програми. В MathCAD використовуються тільки вбудовані
константи, наприклад,
π = 3.141592653589793 - відношення довжини кола до діаметру;
e = 2.718281828459045 - основа натуральних логарифмів (число Ейлера);
m
c = 2.998×108 - швидкість світла у вакуумі (m та s - міжнародні
s
позначення у системі СІ одиниць довжини - метра та часу - секунди, відповідно).
Функція - це іменований алгоритм обробки переданих йому параметрів
для отримання результуючого значення й повернення цього значення через ім’я
функції до місця її виклику. В MathCAD вбудовано багато функцій, і
переглянути перелік існуючих функцій можна за допомогою кнопки Insert
Function (Вставити функцію) на панелі Standard (Стандартна).
Оператор - інструкція мови програмування, яка виконує певну операцію
над деякими величинами - операндами чи аргументами даної операції. По суті,
оператор - це спеціальна функція, яка виконує базову дію мови програмування,
має більш коротке ім'я, що співпадає з позначенням відповідної операції в
математиці, наприклад, як для оператора арифметичного додавання "+". Як
правило, синтаксис застосування оператора відрізняється від синтаксису
виклику звичайної функції.
Арифметичний вираз - це числа, константи, змінні та функції, об'єднані
в одну мовну конструкцію за допомогою арифметичних операторів.

18
Формула - це ім'я змінної об'єднане з виразом за допомогою оператора
присвоювання := .
Імена змінних та функцій можуть мати довільну довжину, складаються з
латиниці, кирилиці та грецьких букв, цифр (від 0 до 9) та деяких спеціальних
символів: штрих, апостроф (клавіші Ctrl + F7 ), символ нескінченності
(кнопка на панелі Calculus (Числення) або клавіші Ctrl + Shift + Z ),
підкреслення, відсоток, літеральний нижній індекс простої змінної.
Ім'я не може починатися із цифри, містити пробіли та співпадати з
іменами вбудованих констант та функцій.
Акцентуємо увагу: рядкові та прописні імена є різними (наприклад,
змінна x відрізняється від змінної X).
Літеральний нижній індекс простої змінної, на відміну від числового
нижнього індексу масиву, є складовою частиною імені, тобто не може приймати
самостійного числового значення, і використовується тільки для покращення
зовнішнього вигляду документа й наближення його до природної математичної
мови. Уводиться такий індекс клавішею крапка . (якщо мова введення із

клавіатури англійська, то це клавіша ; якщо - українська, це клавіша ), чи


кнопкою Decimal Point (Десяткова крапка) на панелі Calculator. Наприклад,
прості змінні x1 та sn після введення в робочий листок MathCAD мають наступний

вигляд: , де індекси "1" та "n" є складовою частиною


імен, тобто "1" - це не число, а "n" не може приймати числове значення.

Створення математичної області


Математична область створюється автоматично при
введенні в робочий листок чисел, імен чи операторів.
Більшість символів уводиться із клавіатури, інші з
математичних панелей інструментів. Відкрити панель,
наприклад, Calculator Toolbar (Калькулятор), можна або
командою Menu Bar / View / Toolbars / Calculator, або
натиснувши відповідну кнопку на панелі Math (рис. 2.5).
Звідси вводяться імена найбільш уживаних функцій,
константи, цифри та арифметичні оператори. Для зручної
роботи доцільно цю панель перемістити затиснутою лівою
кнопкою миші на рядку заголовку в правий верхній куток
робочого листка. Повний перелік вбудованих функцій
доступний через кнопку Insert Function (Вставити
функцію) на панелі інструментів Standard. Грецькі букви Рис. 2.5.
вводяться з панелі інструментів Greek Symbol Toolbar Кнопка та
панель
(однойменна кнопка на панелі Math). Цю панель слід Calculator
помістити під панеллю Calculator.

19
Введення числових значень
Для присвоювання змінній значення необхідно:
1) клацнути лівою кнопкою миші в потрібному місці робочого листка;
2) надрукувати ім'я змінної, яке не повинно співпадати із вбудованими
іменами MathCAD, наприклад, "Ім'я" (натиснути клавіші І м Ctrl + F7 я );
3) курсор введення змінить вигляд із червоного хрестика на дві сині лінії -
лінії введення формул: горизонтальну (Underline) і вертикальну (Insertion Line)

у рамці: ;
4) увести оператор присвоювання кнопкою Definition (Визначення) на панелі

Calculator (якщо мова введення із клавіатури англійська, це клавіші Shift + ;

якщо - українська, це клавіші Shift + , або при першому визначенні даної

змінної можна натиснути клавішу = ): ;


5) після оператора присвоювання з'явиться Placeholder (Мітка-заповнювач)
- маленький чорний прямокутник, який представляє поле введення;
6) увести в це поле числове значення одним із чотирьох способів:
 як ціле число;
 як десяткове число (Decimal Notation) з деякою кількістю цифр після крапки;
 у науковому форматі (Scientific Notation), тобто представленні з порядком
(Exponential Notation) і основою 10, для чого після уведення числа надрукуйте
символ множення й уведіть 10 у потрібному степеню (послідовність кнопок на

панелі Calculator: 3 . 4 x 1 0 xy - 2 ; результат: );


 у вигляді змішаного дробу, записаного як ціле число й правильний дріб,
що розглядається як сума цього числа та дробу (кнопка Mixed Number
(Змішане число) на панелі Calculator). У строгій математичній літературі запис
у вигляді змішаного дробу переважно не використовується через подібність
позначення змішаного дробу з позначенням добутку цілого числа із дробом.
Введення та редагування арифметичних виразів та формул
Символи вводяться у вираз за допомогою клавіатури та кнопок
математичних панелей інструментів по принципу "Що бачу, те й увожу", тобто
мова формульного редактора MathCAD максимально наближена до природної
математичної мови. У багатьох відношеннях він дуже схожий на редактор
формул програми Word, але має й ряд принципових відмінностей.
Введення символів.
1. Символ уводиться в частину виразу, підкреслену горизонтальною лінією
введення (ГЛВ), ліворуч від вертикальної лінії введення (ВЛВ).
2. Шрифт, розмір та накреслення символів вибирається відповідними
кнопками на панелі Форматування аналогічно тому, як це було зроблено для
символів у текстовій області, але тепер ці параметри форматування будуть
поширюватися на всі існуючі та майбутні математичні області.
20
3. Числові коефіцієнти у виразах форматуються окремо, і це форматування
впливає на всі інші математичні області та результати розрахунків.
4. Клавіша Ins переміщує ВЛВ із одного кінця ГЛВ на протилежний (див. колаж нижче).
5. Клавіші управління курсором ← Left і → Right переміщують ВЛВ уздовж
підкресленої ГЛВ частини виразу, а далі до наступної змістової частини виразу:

6. Клавіша пробіл Spacebar поширює виділення на декілька змістових


частин виразу в напрямку, залежному від розташування ВЛВ.
Введення функцій.
1. спосіб. Ім'я будь-якої функції можна вводити із клавіатури. Дужки після
імені функції вставляються із клавіатури по черзі: спочатку відкриваюча ( , а потім
закриваюча ) ; між дужками друкується аргумент функції.
2. спосіб. Імена найбільш уживаних вбудованих функцій разом із дужками
можна вставити з панелі Calculator (Калькулятор) (див. рис. 2.5 на с. 19).
3. спосіб. Імена інших вбудованих функцій можна вставити за допомогою
кнопки Insert Function (Вставити функцію) на панелі Standard
(Стандартна), яка відкриває однойменне діалогове вікно (рис. 2.6). У цьому
вікні слід вибрати мишею категорію функції, ім'я функції й натиснути кнопку
ОК . Функція буде вставлена у вибране місце робочого листка разом із
дужками й залишиться тільки ввести її аргумент.

Рис. 2.6. Вікно Insert Function (Вставити функцію)

21
Введення операторів.
1
Розрізняють унарні (з одним операндом: |x|, x, , x2) та бінарні (із
x
двома операндами: n x , xy, /, , +, -) оператори.
Символ будь-якого оператора можна вводити:
1) із клавіатури;
2) з математичних панелей інструментів (наприклад, символи
арифметичних операторів уводяться з панелі Calculator).
Символ оператора вводиться ліворуч від вертикальної лінії введення
(ВЛВ), якщо вона в правому кінці горизонтальної лінії введення (ГЛВ), або
праворуч від ВЛВ, якщо вона в лівому кінці ГЛВ:

В MathCAD встановлений пріоритет (першочерговість) виконання


операцій, який наведений нижче в порядку зменшення:
 зміна знака числа чи змінної;
 функції, у тому числі піднесення до степеня;
 вираз у дужках
 множення та ділення;
 додавання та віднімання.
Для зміни послідовності виконання операцій використовуються круглі
дужки. Обидві круглі дужки разом вставляються навколо виділеної лініями
введення частини виразу із клавіатури клавішею апостроф ' , або з панелі
Calculator кнопкою Parentheses (Круглі дужки).
Оператор, що вводиться, відноситься до виділеної лініями введення частини
виразу, яка стає його операндом (тим, над чим виконується операція оператору), і
якщо там є оператори нижчого пріоритету, то навколо операнду автоматично
ставляться дужки.
Якщо перший множник оператора множення є складним, тобто містить у
собі ще оператори, то оператор множення можна не вводити, і одразу ввести
другий множник: MathCAD, за умовчанням, автоматично вставить між
множниками символ оператора множення.
Заміна введеного оператора.
Перший спосіб.
1. Виділити лініями введення лівий операнд замінюваного оператора.
2. Розташувати ВЛВ на правому кінці ГЛВ та натиснути клавішу Del .
3. Символ оператора зникне, і з'явиться мітка-заповнювач оператора -
маленька чорна рамка.
4. Увести символ потрібного оператора.

Другий спосіб.
1. Виділити лініями введення правий операнд знищуваного оператора.
22
2. Розташувати ВЛВ на лівому кінці ГЛВ та натиснути клавішу BackSpace .
3. Символ оператора зникне й прості операнди зіллються, або, у випадку
складних операндів, з'явиться мітка-заповнювач оператора .
4. Увести символ потрібного оператора.

Підсумована інформація про зовнішній вигляд курсору введення в різних


випадках наведена на рис. 2.7.

Рис. 2.7. Курсори введення та мітки-заповнювачі

Виведення та форматування числових результатів


1. Для виведення значення формули можна в будь-якому її місці натиснути
клавішу = або кнопку Evaluate Numerically (Оцінити чисельно) на панелі
Calculator, математичний процесор MathCAD виконає розрахунки за
формулою, і виведе її значення у форматі General (загальний) із трьома знаками
після десяткової крапки за умовчанням.
2. Формат представлення числового результату може бути змінений командою
головного меню Format/Result… (Форматувати/Результат…), або подвійним
клацанням ЛКМ на результаті, після чого з'явиться діалогове вікно Format Result
(Форматувати результат) (рис. 2.8.).
3. Числовий результат може бути представленим у таких форматах:
 General (Загальний, за умовчанням): числа по модулю на інтервалі
(10-n, 10n) виводяться з фіксованою крапкою й трьома знаками після неї; за
межами цього інтервалу числа виводяться в науковому форматі (із
плаваючою крапкою); n - Exponential Threshold (Експоненціальний або
Степеневий поріг), який за умовчанням дорівнює трьом і може бути
змінений у вікні Result Format;
 Decimal (Десятковий): числа завжди виводяться з фіксованою крапкою;
 Scientific (Науковий): числа завжди виводяться із плаваючою крапкою,
тобто в експоненціальному форматі;
 Engineering (Інженерний): різновид наукового формату, у якому показник
ступеня кратний трьом;
 Fraction (Дріб): числа виводяться за умовчанням у загальному випадку у
вигляді неправильного дробу.
23
Рис. 2.8. Діалогове вікно Format Result (Форматувати результат).
1 - Format (Формат числа);
2 - Number of decimal places (Кількість цифр після десяткової крапки);
3 - прапорець Show trailing zeros (Показати замикаючі нулі);
4 - прапорець Show exponents as E000 (Показати степінь як E000)
(внутрішньо-рядковий експоненціальний формат для використання
у тих мовах програмування, що не використовують верхні індекси)
Стилі програмування в MathCAD
MathCAD - це система програмування, яка орієнтована на математика, а не
на професійного програміста, і документ MathCAD - це в повному розумінні
цього слова комп'ютерна програма. В інших системах програмування, наприклад,
у Visual Basic редагування та виконання програм виконуються окремо. В
MathCAD код програми й результат її виконання об'єднані в одному документі,
хоча редагування формул і розрахунки по ним виконуються в часі роздільно.
Можна навіть відключити автоматичне обчислення всіх формул у робочому
листку командою головного меню Tools/Calculate/Automatic Calculation
(Інструменти/Обчислити/Автоматичні обчислення), або конкретної формули за
допомогою команди її контекстного меню Disable Evaluation (Заблокувати
обчислення). Після цього в правому верхньому кутку кожної заблокованої
математичної області з'являється позначка про блокування обчислень у вигляді
маленького чорного прямокутника. Зняти блокування обчислень можна тією ж
самою командою головного меню Tools/Calculate/Automatic Calculation
(Інструменти/Обчислити/Автоматичні обчислення), або командою контекстного
меню Enable Evaluation (Дозволити обчислення).
Розрізняють два стиля програмування в MathCAD: програмування в
робочому листку та програмування в тілі програм-функцій.
Програмування в робочому листку спирається на те, що математичні області в
робочому листку опрацьовуються математичним процесором MathCAD зліва
направо, та зверху вниз, що дозволяє дуже просто організувати лінійний
обчислювальний процес. Для розміщення наступної математичної області далі в

24
цьому ж рядку слід виходити з попередньої області стрілкою → Right. Для
покращення зовнішнього вигляду документа бажано, щоб області були також
вирівняні по вертикалі. Тому для створення нижньої області слід виходити з верхньої
області стрілкою  Down. Для вирівнювання існуючих областей по горизонталі їх
необхідно виділити, провівши по ним вказівником миші із затиснутою лівою кнопкою,
а потім натиснути на кнопку Align Across (Вирівняти по горизонталі) на панелі
інструментів Стандартна. Відповідно для вирівнювання по вертикалі необхідно
виділити стовпчик областей і натиснути кнопку Align Down (Вирівняти зверху
вниз). Математичні області не повинні перекриватися, тому на стадії створення
документа доцільно показати їхні границі за допомогою контекстного меню таким же
чином, як і для текстових областей. Потім ці границі можна скрити.
Зразок виконання лабораторної роботи
Умова. Обчислити при заданих дійсних числах x та y значення виразу:
arctg x  5 x 2  y 2
z c ,
1,6  10 2  b 2  a
де a - різниця кубів x та y; b - сума квадратів x та y; c - середнє арифметичне a та b.
Порядок виконання роботи Блок-схема
1. Складіть лінійний алгоритм обчислення
виразів a, b, c, z, який є послідовним виконанням Початок
операцій, та накресліть його блок-схему.
2. Перекладіть алгоритм із мови блок-схем на вхідну Введення
мову MathCAD. x, y
3. Відкрийте програму MathCAD і запишіть
чистий робочий листок на жорсткий диск у папку
D:\Мои документы \ Викладач \ Група\ під іменем a = x3 - y3
LR01_Zrazok.xmcd. У процесі виконання роботи
періодично зберігайте файл кнопкою Save b = x2 + y2
(Зберегти) на панелі інструментів Стандартна.
4. По центру першого рядка робочого листка c=(a+b)/2
створить текстову область.
5. На панелі Форматування виберіть: шрифт, що
підтримує кирилицю, наприклад, Arial Cyr; розмір літер arctg x  5 x 2  y 2
z c
- 14 пт; характер накреслення літер: B - жирний та U - 1,6  10 2  b 2  a
підкреслений; спосіб вирівнювання тексту: по центру;
перейдіть на клавіатурі на українську мову введення.
6. Уведіть текст: Виведення
x, y, a, b, c, z
" Лабораторна робота з MathCAD №0 ".
7. Натисніть клавішу Enter , зніміть підкреслення
шрифту кнопкою U , уведіть тему лабораторної роботи Кінець
"Лінійний алгоритм", натисніть клавішу Enter , уведіть
25
"Варіант №0 (Зразок)", натисніть клавішу Enter і введіть шифр групи, Прізвище.
8. За допомогою контекстного меню підсвітить область жовтим кольором і
покажіть границю області.
9. Скопіюйте першу букву "Л" у цій текстовій області, вставте її по центру
нижче даної текстової області, і введіть текст "Початкові дані". Скопійовану
букву "Л" знищте.
10. Клацніть ЛКМ на початку наступного рядка, перейдіть на клавіатурі на
англійську мову введення, уведіть букву "x".
11. На панелі Форматування виберіть: розмір літер - 14 пт; характер
накреслення літер: B - жирний.
12. Уведіть символ оператора присвоювання кнопкою Definition
(Визначення) на панелі Calculator (якщо мова введення із клавіатури англійська, це
клавіші Shift + ; якщо - українська, це клавіші Shift + , або при першому
визначенні даної змінної можна натиснути клавішу = ).
13. Уведіть числове значення 5.34.
14. На панелі Форматування виберіть: розмір літер - 14 пт; характер
накреслення літер: B - жирний.
15. Натисніть 7 разів на клавішу → Right, щоб вийти із цієї математичної
області точно в цьому ж рядку далі.
16. Уведіть аналогічно числове значення -5.75 для змінної y.
17. Уведіть у наступному рядку по центру заголовок наступного розділу
"Проміжні значення" таким самим чином, як у пункті 9.
18. Клацніть ЛКМ на математичній області x:=5.34 , натисніть 7 разів на
клавішу  Down для виходу точно по вертикалі.
19. Уведіть англійську літеру "a", натисніть клавіші Shift + : , уведіть
англійську літеру "x", натисніть клавіші Shift + 6 , у верхньому індексі

з'явиться поле для введення показника степеня, уведіть число 3: .


20. Натисніть клавішу Spacebar , щоб поширити виділення на весь
степінь, уведіть символ оператора віднімання клавішею - і введіть вираз y3

таким же чином, як у пункті 19: .


21. Натисніть клавішу = , щоб вивести числове значення змінної a.
22. Вийдіть із цієї області чотирикратним натисненням клавіші  Down.
23. Для введення формули b = x2 + y2 та виведення її значення натисніть такі
клавіші та кнопки на панелі Calculator:
b Shift + : x Spacebar + y =
24. Вийдіть із цієї області чотирикратним натисненням клавіші  Down.
ab
25. Для введення формули c  та виведення її значення натисніть такі клавіші:
2
c Shift + : / a + b → 2 =
26
26. Двічі клацніть ЛКМ на значенні a і у вікні Format Result (Форматувати
результат)та збільште кількість цифр після десяткової крапки до 7. Аналогічні
дії виконайте для значень b та c.
27. Уведіть у наступному рядку по центру заголовок останнього розділу
"Кінцевий результат" таким самим чином, як у пункті 9.
ab
28. Клацніть ЛКМ на математичній області c : , натисніть 7 разів на
2
клавішу  Down для виходу точно по вертикалі.
29. Уведіть кінцеву формулу для z та виведіть її значення, натиснувши такі
клавіші та кнопки на панелях Standard (Стандартна) та Calculator (Калькулятор):

z Shift + : / atan x Spacebar + ← ← 5 → x

Spacebar - y → → → 1 . 6 * 1 0 Spacebar

- b Spacebar + a Spacebar Spacebar Spacebar


Spacebar Spacebar Spacebar c =
30. Двічі клацніть ЛКМ на значенні z і у вікні Format Result (Форматувати
результат) та збільште кількість цифр після десяткової крапки до 17; виберіть
формат Scientific (Науковий); відмітьте прапорці Show trailing zeros (Показати
замикаючі нулі) та Show exponents as E000 (Показати степінь як E000).
31. Уведіть нижче по центру заголовок наступного розділу "Результат
розрахунку в Visual Basic" таким самим чином, як у пункті 8.
32. По центру наступного рядка вставте зображення з результатами виконання
цієї ж роботи в системі програмування Visual Basic і порівняйте їх із результатами,
отриманими в MathCAD.
33. На рис. 2.9.1 та 2.9.2 показаний лістинг виконання лабораторної роботи №0.

Рис. 2.9.1. Лістинг виконання ознайомчої ЛР з MathCAD


27
Рис. 2.9.2. Закінчення лістингу виконання ознайомчої ЛР з MathCAD
34. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи; Тема роботи; Варіант; Група, Прізвище; Умова варіанту;
Блок-схема алгоритму; Результати розрахунків; Висновки: перелік засвоєних
елементів вхідної мови MathCAD.
35. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
Контрольні запитання
1. Назвіть основні елементи інтерфейсу MathCAD.
2. Як вивести на екран панелі інструментів?
3. Що таке текстова область і як її створити та форматувати?
4. Як вставити математичну область у текстову область?
5. Як створити математичну область і для чого вона призначена?
6. Для чого призначений літеральний нижній індекс простої змінної?
7. Поясніть процедуру введення числових значень у робочий листок.
8. За якими правилами вводяться формули в робочий листок?
9. За допомогою яких клавіш і як саме переміщаються лінії введення формул?
10. Як виводиться й форматується числове значення формули?
11. В якому порядку опрацьовуються формули в MathCAD?
12. Як вирівняти області по горизонталі та по вертикалі?

28
Лабораторна робота №1. Виконання завдання "Лінійний алгоритм"

Мета:
 набути навиків перекладу лінійного алгоритму розв'язання задачі з мови
блок-схем на вхідну мову MathCAD;
 закріпити навики роботи з інтерфейсом програми MathCAD;
 удосконалити прийоми роботи з областями різного типу;
 повторити правила запису формул;
 виконати індивідуальне завдання "Лінійний алгоритм".

Теоретичні відомості
Повторити теоретичні відомості до ознайомчої роботи з MathCAD.
Вбудовані функції MathCAD
У MathCAD вбудовано більше 650 різноманітних функцій, які згруповані
по 34 категоріям. Повний перелік вбудованих функцій доступний через кнопку
Insert Function (Вставити функцію) на панелі інструментів Standard (див.
рис. 2.6 на с. 21). У табл. 2.1 наведені деякі вбудовані елементарні функції.

Таблиця 2.1
Вбудовані елементарні функції MathCAD

Математичний Запис у
Дія функції
запис MathCAD
Trigonometric - Тригонометричні функції (аргумент α у радіанах)
sin α sin(α) Повертає значення синуса кута α
cos α cos(α) Повертає значення косинуса кута α
tg α tan(α) Повертає значення тангенса кута α
csc α = 1/sin α csc(α) Повертає значення косеканса кута α
sec α = 1/cos α sec(α) Повертає значення секанса кута α
ctg α = 1/tg α cot(α) Повертає значення котангенса кута α
Обернені тригонометричні функції (значення - кут у радіанах)
Арксинус x - повертає кут α, синус якого
arcsin x asin(x) р
дорівнює x, де -1 ≤ x ≤ 1, -  б 
р
2 2
Арккосинус x - повертає кут α, косинус
arccos x acos(x)
якого дорівнює x, де -1 ≤ x ≤ 1, 0 ≤ α ≤ π
Арктангенс x - повертає кут, тангенс
arctg x atan(x) р
якого дорівнює x, де -∞ < x < ∞, - < б <
р
2 2
Арккотангенс x - повертає кут, котангенс
arcctg x acot(x)
якого дорівнює x, де -∞ < x < ∞, 0 < α < π

29
Продовження таблиці 2.1
Математичний Запис у
Дія функції
запис MathCAD
Log and Exponential - Логарифмічні та показникові функції
x ex, або Повертає число e, піднесене до степеня x
e
exp(x) (e в степені x або експонента від x)
ln x ln(x) Натуральний логарифм x > 0 за основою e
натуральний логарифм x ≥ 0 за основою e,
- ln0(x)
для 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 - дійсне)
Округляє x до n цифр після десяткової крапки;
round(x, [n])
якщо n не указано, округляє до найближчого цілого
trunc(x) Повертає цілу частину x, відкидаючи дробову частину
Number Theory / Combinatorics - Теорія чисел / Комбінаторика
Повертає залишок від ділення x на y, має знак x
mod(x, y)
(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 і Greek Symbol?
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  );  - логічне додавання ("+", "або", Рис. 2.11
"or"). При натисканні на кнопку логічного оператора на екрані Кнопка та
з'являється відповідний символ оператора із двома полями для панель
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 і панель
інструментів Math (Математика) (рис. 2.15). Matrix
2. На панелі інструментів Matrix (Матриця) натиснути кнопку Matrix or

37
Vector (Матриця або вектор) або натиснути
комбінацію клавіш Ctrl + M . На екрані з'явиться
діалогове вікно Insert Matrix (Вставити матрицю)
(рис. 2.16), у якому слід задати кількість рядків (Rows)
та стовпчиків (Columns):
 якщо об'єктом < результат > є вектор-стовпець, то
кількість рядків (Rows) дорівнює кількості Рис. 2.16.
елементів вектора, а кількість стовпчиків Діалогове вікно
(Columns) дорівнює одиниці; "Вставити матрицю"
 якщо об'єктом < результат > є матриця, то
кількість рядків (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
Індивідуальні завдання для виконання лабораторної роботи
Умову індивідуального завдання "Розгалужений алгоритм" візьміть із
навчального посібника 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

 ax 2
f ( x)  arccos 2 2
, x  c; a  0,2  ln 3 ;
 c  b
  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 Результат:

5 разів → x . 2 Shift + : 0 . 9 7 1 Результат:

5 разів → x . 3 Shift + : 0 . 3 4 5 Результат:


40
Блок - схема

Початок

a = 0,2 ln 3

р
b = s in
9

104 
c  104  
 e

Введення
x

x>c
-
x=c
+

-
a x2
a x 2 2 f(x) = arccos
f(x)  e  ln c  b c2 + b2 f(x) = tg(a 2 + x b 2 )

Виведення
a, b, c, x, f(x)

Кінець

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

9. Знищте існуючі формули в розділі "Проміжні значення" таким же


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

41
a Shift + : 0 . 2 * 3 = Результат:

b Shift + : / 9 = Результат:

c Shift + : 1 / e = Результат:
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
Побудування графіків функцій
Для побудування графіків в MathCAD передбачено використання
різноманітних шаблонів, які доступні за командою головного меню
Insert/Graph (Вставка/Графік), або кнопкою Graph Toolbar (панель
інструментів "Графік") на панелі інструментів Math (Математика) (рис. 2.18).
На панелі інструментів Graph (Графік)
розташовані кнопки для введення шаблонів графіків у
робочий листок. Для виконання даної лабораторної
роботи необхідно скористатися кнопкою X-Y Plot
(X-Y Графік), або натиснути гарячі клавіші Shift + @ ,
щоб увести в робочий листок шаблон для побудування
графіка у двовимірній декартовій системі координат
Рис. 2.18. Кнопка
(прямокутній системі координат) (рис. 2.19).
Graph Toolbar і
Розглянемо основні елементи шаблону X-Y Графік. панель Graph
1, 3 - поля для введення границь вертикальної осі
ординат Y, які MathCAD заповнює автоматично з аналізу діапазону значень
зображуваної функції. У ці поля користувач потім може ввести власні значення.
2 - поле для введення імені функції з аргументом у круглих дужках.
4, 7 - поля для введення границь горизонтальної осі абсцис X, які MathCAD
заповнює автоматично наступними величинами: за умовчанням це -10 та 10,
якщо аргумент функції в робочому листку не визначений, або це мінімальне та
максимальне значення з діапазону значень аргументу (незалежної змінної)
зображуваної функції. У ці поля користувач потім може ввести власні значення.
6 - поле для введення імені аргументу функції.
5, 8, 9 - маркери границь області графіка, призначені для зміни його розмірів
за допомогою миші.

Рис. 2.19. Шаблон X-Y Plot (X-Y Графік)


50
Швидкий X-Y графік функції (QuickPlot)
Для побудування швидкого X-Y графіка функції необхідно:
1) вставити в робочий листок шаблон "X-Y Графік";
2) у полі введення аргументу функції (рис. 2.19, 6) надрукувати будь-яке
ім'я змінної, що не визначена у робочому листку (наприклад, t);
3) у полі введення імені функції (рис. 2.19, 2) надрукувати ім'я зображуваної
функції з тим самим аргументом у дужках (наприклад, tan(t));
4) клацнути ЛКМ за межами графіка.
Графік функції буде побудований, за умовчанням, у діапазоні значень
аргументу [-10, 10] (рис. 2.20). Аналіз створеного графіка дозволяє вивчити
поведінку даної функції, установити наявність розривів та екстремумів.

Рис. 2.20. Швидкий X-Y Plot (X-Y Графік) функції tg x

X-Y графік функції у визначеному діапазоні


Для візуалізації поведінки функції на деякому відрізку значень аргументу
використовується другий спосіб побудування X-Y графіка. Для цього необхідно:
1) визначити аргумент функції як дискретну змінну, наприклад:
x:= 0, 0.1 .. π
2) вставити в робочий листок шаблон "X-Y Графік";
3) у полі введення аргументу функції надрукувати x;
4) у полі введення імені функції (рис. 2.19, 2) надрукувати ім'я зображуваної
функції з аргументом x у дужках, наприклад tan(x);
5) клацнути ЛКМ за межами графіка.
Визначений діапазон [0, π] містить точку розриву другого роду xd = π/2, але
MathCAD вважає, що функція неперервна і тому з'єднує відрізком дві точки на
графіку, які розташовані по різні боки від розриву (рис. 2.21).

51
Рис. 2.21. X-Y Plot (X-Y Графік) функції tg x у діапазоні [0, π]
Для коректного зображення розривної функції слід будувати її графік
окремо до точки розриву, і окремо після точки розриву (рис. 2.22). При цьому
необхідно на одному графіку побудувати дві різні частини функції, для чого
після імені tan(xDL) слід натиснути клавішу , (Кома), і в новому полі введення
внизу ввести друге ім'я tan(xDR). Аналогічно вводиться список незалежних
змінних у поле введення аргументу функції нижче осі X: xDL, xDR. Безумовно, ці
дискретні змінні повинні бути визначені перед графіком операторами:

За умовчанням MathCAD зображує кожну функцію різним кольором і


різним типом лінії. Зразки цих ліній показуються під іменами функцій біля осі Y.

Рис. 2.22. X-Y Plot (X-Y Графік) функції tg x у діапазоні [0, π]


з виключеною точкою розриву
52
Форматування X-Y графіка функції
Виділений за допомогою ЛКМ X-Y графік функції можна відформатувати
командою головного меню Format/Graph/X-Y Plot… (Форматувати/Графік/X-
Y графік...), яка відкриває діалогове вікно Formatting Currently Selected X-Y
Plot (Форматування вибраного X-Y графіка). Це вікно швидше можна відкрити
подвійним клацанням ЛКМ на графіку (рис. 2.23).
За умовчанням у цьому вікні активна вкладка X-Y Axes (X-Y осі). Для
виконання даної лабораторної роботи слід знати наступні елементи цієї вкладки.
1. Прапорець Grid Lines (Лінії сітки) дозволяє показати на графіку лінії
сітки замість поділок шкали для відповідної осі координат.
2. Колір ліній сітки (за умовчанням зелений) можна вибрати з палітри
кольорів, яка відкривається подвійним клацанням ЛКМ на віконці з кольором
навпроти прапорця Grid Lines.
3. Кількість поділок шкали кожної осі координат можна задати, якщо зняти
прапорець Auto Grid (Автоматична шкала). Тоді стане активне поле введення
Number of grids (Кількість поділок) і в ньому можна буде змінити значення за
умовчанням 2 на необхідне.
Вкладка Traces (Сліди) дозволяє змінювати спосіб представлення на
графіку зображуваної функції (рис. 2.24). На одному графіку через кому можна
зобразити максимум 16 функцій. Кожній функції відповідає один рядок на
вкладці де в стовпчиках можна змінювати параметри зображення цієї функції.
У стовпчику Symbol (Символ) можна клацнути ЛКМ поле зі списком,
потім навести покажчик миші на штовхач , що з'явився, натиснути ЛКМ і в
списку наявних символів вибрати бажаний (рис. 2.24).

Рис. 2.23. Вкладка X-Y Axes (X-Y осі)


53
Рис. 2.24. Вкладка Traces (Сліди): список Symbol (Символ)

Стовпчик Symbol Weight (Розмір символу) призначений для зміни


розміру символу.
У стовпчику Line (Лінія) вибирається тип лінії:

Стовпчик Line Weight (Товщина лінії) містить список товщини ліній.


У стовпчику Color (Колір) вибирається колір лінії.
Стовпчик Type (Тип) дозволяє вибрати тип графіка: lines (лінії), points
(точки) та ін.
Слід зауважити, що за умовчанням MathCAD автоматично вибирає для
зображення декількох функції на одному графіку різний тип лінії та колір, щоб їх
було легко візуально розрізнити.
Оператор арифметичного циклу for
Оператор арифметичного циклу for (для), інакше кажучи, оператор циклу
з параметром, застосовується для організації обчислювального процесу із
заданим числом повторень виконання однієї й тієї ж послідовності операторів,
яка являється його тілом. Такий обчислювальний процес коротко називається
арифметичним циклом. Формат оператора for має наступну структуру:

Оператор for вводиться в програму-функцію (ПФ) кнопкою For


Loop (Цикл Для) на панелі інструментів Програмування. При цьому в ПФ
з'являється шаблон із трьома полями для введення його операндів:
54
У поле 1 вводиться ім'я параметра циклу, який буде змінюватися після
завершення кожного циклу обчислень. У поле 2 вводиться діапазон зміни
параметра циклу:
< перше значення >, < друге значення > .. < останнє значення >,
тобто така сама структура, як при визначенні дискретної змінної. Наприклад,
1 .. 5 (крок зміни за умовчанням дорівнює 1), або x1, x1 + Δx .. xn.
Число повторень циклу визначається за формулою:
 x  x1 
n n  1 ,
 Δx 
де квадратні дужки […] позначають цілу частину виразу.
У поле 3 вводиться будь-який оператор, або оператор Add Line для
створення багатьох полів введення, у яких розміщується послідовність
операторів, тобто тіло оператора for.
Дія оператора:
1) параметру циклу присвоюється перше значення;
2) якщо значення параметра циклу не перевищує останнього значення, то
цикл виконується; у протилежному випадку цикл завершується;
3) значення параметра циклу збільшується на крок його зміни, і
здійснюється перехід до пункту 2.
Після завершення обчислень параметр циклу дорівнює: x = xn + Δx.
За межами ПФ параметр циклу не визначений.
Індивідуальні завдання для виконання лабораторної роботи
Умову індивідуального завдання "Арифметичний цикл" візьміть із
навчального посібника Visual Basic 6.0 відповідно до власного варіанта, який
такий самий як у 1 семестрі, тобто дорівнює номеру студента в списку групи за
1 семестр [1, с. 114-116].
Зразок виконання лабораторної роботи
Умова. Скласти блок-схему та програму для обчислення значень функції:
a rctg (b x)
y x  = ; b = 0, 7 5 ; x = 1, 35 ; 1 , 4 ; 1 , 4 5; ... ; 2 , 0  ,
1 + sin 2 x
де x змінюється від x1 до xn із кроком x. Результати обчислень вивести у вигляді
таблиці значень x та y. Значення y вивести із чотирма знаками після коми.
Порядок виконання роботи
1. Складіть циклічний алгоритм із параметром x для обчислення значень
функції y(x), та накресліть його блок-схему.

55
2. Перекладіть алгоритм із мови блок-схем на вхідну мову MathCAD.
3. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR03_Прізвище.xmcd.
4. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №3; б) замініть речення "Лінійний алгоритм" на
"Арифметичний цикл". Іншу частину робочого листка можна очистити.
5. У розділі "Початкові дані" задайте значення вхідних параметрів:

,
де крок зміни аргументу x знайдений як Блок-схема
різниця між його другим і першим
значенням: Δx = x2 - x1 = 1,4 - 1,35 = 0,05. Початок
6. У наступному рядку створить дискретну
змінну та опис однорядкової функції
Введення
користувача, яка буде обчислювати значення
b, x1, xn, dx
y(x) відповідні значенням x:

x = x1, xn, dx

7. Після цього можна вивести значення x, arctg ( b x )


та викликати функцію y(x) для виведення її
y
1  sin 2 x
значень.
8. Поруч із цими результатами розмістіть
зображення форми з результатами виконання Виведення
даного завдання в системі програмування x, y
Visual Basic, щоб можна було порівняти
обидва розв'язки.
9. У наступному розділі побудуйте
швидкий графік функції y(x) для візуального Кінець
аналізу її поведінки. Якщо в заданому
діапазоні зміни x у функції існують точки
розриву, знайдіть їхні координати з виразу
функції.
Побудування графіка функції y(x)
10. Далі побудуйте графік функції y(x) у
визначеному діапазоні зміни x (рис. 2.25).
11. Як показує аналіз виразу зображуваної
функції, вона не має точок розриву, тому її
графік існує у всьому заданому діапазоні
зміни аргументу x. Рис. 2.25. Графік функції
12. Тепер слід від форматувати графік, щоб у визначеному діапазоні
надати йому вигляду, відповідному до вимог за умовчанням
представлення графічної інформації в друкованих роботах.
56
13. Уведіть нові границі для осей координат, заміняючи зазначені MathCAD
автоматично за умовчанням як мінімальні та максимальні значення в діапазонах
зміни x та y:
вісь X: замість 1.35 введіть x1 - Δx; вісь Y: замість 0.406 введіть 0.4;
замість 2 введіть x1 + Δx; замість 0.538 введіть 0.55.
14. Розрахуйте кількість проміжків у сітках за формулами:

,
де кількості повинні бути цілими числами; якщо якась кількість не є цілою, то
слід зменшувати на крок нижню границю відповідної осі до тих пір, доки ця
кількість не стане цілою.
15. Двічі клацніть ЛКМ на графіку, щоб відкрити діалогове вікно Formatting
Currently Selected X-Y Plot (Форматування вибраного X-Y графіка (див. вище
рис. 2.23 на с. 53).
16. На вкладці X-Y Axes (X-Y осі) зніміть прапорці Auto Grid (Автоматична
шкала), уведіть у поля введення Number of grids (Кількість поділок) знайдені
кількості nx та ny.
17. Установіть прапорці Grid Lines (Лінії сітки).
18. Клацніть ЛКМ вкладку Traces (Сліди)
19. У стовпчику Symbol (Символ) клацніть ЛКМ поле зі списком, наведіть
покажчик миші на штовхач , що з'явився, натисніть ЛКМ і в списку наявних
символів виберіть символ □ (Пустий квадрат) (див. рис. 2.24 на с. 54).
20. Натисніть кнопку ОК .
21. За допомогою маркерів рамки області графіка змініть його розміри таким
чином, щоб клітини сітки стали квадратними.
22. Натисніть на графіку ПКМ, у контекстному меню виберіть пункт
Properties… (Властивості…), установіть прапорець Show Border (Показати рамку).
23. Клацніть ЛКМ за межами графіка й отримайте:

Рис. 2.26. Відформатований графік функції у визначеному діапазоні

57
Реалізація завдання за допомогою оператора for
24. Спочатку сформуйте опис програми-функції з ім'ям MakeMxy(x1, xn, Δx)
(Створити Матрицю значень x та y). Зверніть увагу на те, що нижні індекси у
формальних параметрах x1 та xn є літеральними, тобто їх слід набирати за
допомогою клавіші . (Крапка).
25. Перший оператор ПФ: i ← 0 ініціалізує лічильник номерів рядків
створюваної матриці.
26. Другий оператор організує арифметичний цикл for, тіло якого містить
наступні оператори:
o i ← i + 1 (лічильник рядків матриці);
o Mxyi,1 ← x (визначення елемента в i-му рядку першого стовпчика
поточним значенням x); нижні індекси набрані за допомогою клавіші [ ,
кнопки Subscript (Нижній індекс) на панелі інструментів Matrix
(Матриці), або кнопки кнопки Subscript (Нижній індекс) на панелі
інструментів Formatting (Форматування);
o Mxyi,2 ← y(x) (визначення елемента в i-му рядку другого стовпчика
значенням функції x(x)); оскільки це останній рядок ПФ, то результатом
функції буде матриця Mxy.
27. Викличте ПФ MakeMxy(x1, xn, Δx) і виведіть результати розрахунків.
28. Виділите з матриці Mxy кнопкою Matrix Column (Стовпець матриці)
на панелі інструментів Matrix (Матриці, див. рис. 2.15 на с. 37) перший, а потім
другий стовпець, і занесіть їх у змінні vx та vy, відповідно.
29. Побудуйте графік залежності vy від vx.
30. Лістинг виконання зразка лабораторної роботи з MathCAD №3 наведений
на рис. 2.27.1 - 2.27.3.

Рис. 2.27.1. Лістинг виконання зразка ЛР з MathCAD №3:


початкові об'єкти
58
Рис. 2.27.2. Продовження лістингу виконання зразка ЛР з MathCAD №3:
застосування дискретної змінної для табулювання функції та
побудування X-Y графіка функції

59
Рис. 2.27.3. Закінчення лістингу виконання зразка ЛР з MathCAD №3:
застосування оператора for для табулювання функції та
побудування графіка функції, заданої в табличному вигляді
60
31. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанту, Схема
алгоритму, Результати розрахунків; Висновки: перелік засвоєних елементів
вхідної мови MathCAD.
32. Захистіть роботу у викладача, давши відповіді на контрольні запитання.

Контрольні запитання
1. Який алгоритм називається циклічним?
2. Для чого призначені цикли?
3. Який цикл називається арифметичним, і чим він відрізняється від інших?
4. Що таке дискретна змінна й для чого вона використовується?
5. Для чого призначений оператор діапазону і яким символом він позначається?
6. Як установлюється крок зміни дискретної змінної?
7. Як побудувати графік функції?
8. У чому головна особливість швидкого графіка функції?
9. Що необхідно зробити перед побудування графіка функції у визначеному
діапазоні?
10. Назвіть 9 основних елементів області графіка.
11. Що таке форматування графіка функції?
12. Як на графіку показати лінії сітки?
13. Що треба зробити, щоб функція на графіку зображувалась не тільки у
вигляді кривої лінії, але й булі показані точки, у яких вона розраховувалася?
14. Запишіть формат оператора арифметичного циклу for.
15. Як водиться оператор for у тіло ПФ?
16. Скільки операндів має оператор for, і що в них розміщується?
17. Поясніть механізм роботи оператора for.

61
Лабораторна робота №4. Програмування в Mathcad. Оператор while.
Виконання завдання "Ітераційний цикл"
Мета:
 набути навиків перекладу ітераційного алгоритму розв'язання задачі з
мови блок-схем на вхідну мову MathCAD;
 вивчити правила використання оператора ітераційного циклу while при
програмуванні в тілі програм-функцій;
 навчитися розраховувати похибки отриманих результатів;
 виконати індивідуальне завдання "Ітераційний цикл".

Теоретичні відомості
Оператор ітераційного циклу while
Оператор while (доки) застосовується для організації ітераційних циклів,
які виконуються доки істинна умова циклу. Число повторень виконання
послідовності операторів у такому циклі заздалегідь невідоме, але воно може
бути визначеним у тілі циклу. Оператор while має наступний формат:

,
де < логічний вираз > є передумовою циклу, тому такий цикл почнеться
тільки, якщо забезпечити перед початком циклу істинність його умови.
Дія оператора:
1) обчислюється значення логічного виразу:
a) якщо воно дорівнює 1 ("істина"), то виконується тіло циклу, у якому
повинний бути оператор, що впливає на значення операндів
логічного виразу, і здійснюється перехід до пункту 1;
b) у протилежному випадку, коли значення логічного виразу дорівнює 0
("неправда"), цикл завершується, і здійснюється перехід до пункту 2;
2) здійснюється вихід із програми-функції.
Зауваження: якщо ПФ складена неправильно й зациклилася (цикл
виконується нескінченно), то її можна зупинити, натиснувши клавішу Esc .
Для введення оператора while у тіло ПФ необхідно натиснути кнопку
While Loop (Цикл Доки) на панелі засобів програмування або
комбінацію клавіш Ctrl + ] . У робочому листку з'явиться шаблон із двома
полями для введення його операндів:

.
У верхнє поле вводимо логічний вираз - умову виконання циклу. У нижнє
поле вводимо оператор, який повинен виконуватися в циклі, або натискаємо
кнопку Add Line для введення послідовності операторів.
62
Індивідуальні завдання для виконання лабораторної роботи
Умову індивідуального завдання "Ітераційний цикл" візьміть із
навчального посібника Visual Basic 6.0 відповідно до власного варіанта, який
такий самий як у 1 семестрі, тобто дорівнює номеру студента в списку групи за
1 семестр [1, стор. 121-123].
Зразок виконання лабораторної роботи
Умова. Обчислити наближене значення суми спадного ряду
 
lni  5 (c  d)
s(t)   s i t    3 e t
i 1 i 1 i  2
-5 -7
з точністю  = 10 та  = 10 для значень параметру t1  t  tn із кроком t, де
c = 1.9; d = 3,2; t1 = 1,5; tn = 3,5; t = 0,5.
Суму спадного ряду s(t) потрібно обчислювати поки поточна відносна
s t 
похибка розрахунку εi  i перевищує . Необхідно передбачити при i > imax
s
переривання обчислень на той випадок, коли виконання умови εi <  не
відбувається при imax підсумованих членах ряду, де imax - максимально припустима
кількість ітерацій (обмежувач числа підсумованих членів ряду; підбирається
експериментально; спочатку imax = 10000). Точність розрахунків буде досягнута,
як тільки величина i стане менше ніж .
Знайти істинну похибку розрахунку для одного значення параметра t = t1 за формулою:


εtrue   1 
 
s t 1 , 10 5 


st 1 , 
10 7 

й зробити висновок щодо точності розрахунків.
Порядок виконання роботи
1. Складіть ітераційний циклічний алгоритм обчислення суми спадного
ряду, та накресліть його блок-схему.
2. Перекладіть алгоритм із мови блок-схем на вхідну мову MathCAD.
3. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR04_Прізвище.xmcd.
4. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №4; б) замініть речення "Лінійний алгоритм" на "Ітераційний
цикл". Іншу частину робочого листка можна очистити.
5. У розділі "Початкові дані" задайте значення вхідних параметрів:

,
де всі нижні індекси є літеральними, тобто набрані за допомогою клавіші .
(Крапка); p - параметр, що покращує точність розрахунку; спочатку p = 1, а потім
63
його збільшують у 10 разів, доки не буде забезпечена необхідна точність
розрахунку.
6. У наступному рядку опишіть однорядкову функцію користувача s.i(i, t)
для розрахунку i-го доданка суми, та визначте дискретну змінну i, необхідну
для побудування графіка залежності величини доданка від i:

,
звідки треба зробити висновок про збіжність спадного ряду.
7. У наступному розділі робочого листка введіть опис ПФ Sum(t, ε, imax) для
розрахунку суми спадного ряду. Розглянемо призначення операторів, що
введені в тіло даної ПФ. У наведеному нижче списку номер пункту списку
відповідає номеру рядка в ПФ.

1) у перше поле ПФ уведіть пусту матрицю-рядок комбінацією клавіш


Ctrl + M (Rows: 1; Columns: 3), та занесіть у поля введення імена змінних s,
i, ε.i; натисніть клавішу Spacebar , щоб виділити усю матрицю; введіть
локальний оператор присвоювання ← ; знову введіть пусту матрицю 13 і
заповніть її поля значеннями 0, 0, 1; таким чином компактно робиться
ініціалізація початковими значеннями одразу декількох змінних;

64
2) у другий рядок уведіть оператор ітераційного циклу while; у його
ε
правий операнд запишіть логічний вираз ε.i  , який забезпечує обчислення
p
суми із заданою точністю; далі виділіть увесь вираз клавішею Spacebar ;
уведіть логічну операцію  (і); уведіть другий логічний вираз i  imax, який
обмежує допустиму кількість ітерацій і, таким чином, захищає ПФ від
зациклювання; оскільки початкове значення кількості ітерацій i = 0 та
початкове значення поточної відносної похибки розрахунків ε.i = 1, тому умова
циклу істинна:

,
й цикл, хоча б один раз, виконається; буде знайдена реальна величина ε.i, і
почнеться сумування спадного ряду;
3) у нижнє поле оператора while двічі введіть оператор Add Line , щоб
створити блок із трьох полів:
a) у перше поле введіть лічильник кількості ітерацій i ← i + 1 ;
b) у друге поле введіть суматор s ← s + s.i(i, t) ;
c) у трете поле введіть оператор для визначення поточної відносної похибки
розрахунків, як модуля відношення абсолютної похибки розрахунків
(величини поточного доданка суми s.i(i, t)) до значення суми s;
4) в останнє поле ПФ уведіть об'єкт < результат > - пусту матрицю-
стовпець із трьох рядків, і заповніть її іменами змінних s, ε.i, i, у яких
зберігалися результати розрахунку; внаслідок цього ім'я ПФ Sum(t, ε, i.max)
стане вектором-стовпцем, і для виведення окремих його елементів при виклику
даної ПФ необхідно буде вказувати нижній індекс за допомогою кнопки
(Нижній індекс), або клавіші [ .
8. Виведіть результати розрахунків для кожної точності розрахунку  = 10-5
та  = 10-7 (рис. 2.28.2 та 2.28.3); поруч з цими результатами розмістіть
зображення форм з результатами виконання даного завдання у системі
програмування Visual Basic, щоб можна було порівняти обидва розв'язки.
9. Якщо буде досягнуто обмеження кількості ітерацій, то в розділі
початкових даних збільшуйте максимально припустиму кількість ітерацій i.max в
10 разів, доки не буде отримана необхідна точність розрахунків.
10. У наступному розділі робочого листка розрахуйте істинну відносну похибку
результатів обчислень εtrue (рис. 2.28.4). Для спадного ряду значення суми,
знайдене при більшій точності розрахунків (при меншому значенні ε), повинно
містити більше вірних цифр. Тому істинну абсолютну похибку розрахунків
ΔS1true можна знайти як різницю між більш точним значенням суми (його ми
назвали істинним - true) та менш точним значенням суми (його ми назвали
наближеним - approximated). Тоді істинна відносна похибка розрахунків εtrue,
тобто істинна точність розрахунків, буде дорівнювати відношенню істинної
абсолютної похибки розрахунків до істинного значення суми.

65
Назвемо результати виконання операторів у цьому розділі:
(1) S1appr - наближене значення суми спадного ряду для t1 та ε = 10-5 у
науковому форматі з точністю 7 значущих цифр після десяткової крапки
(approximated - приблизно виражений); із цілою частиною - це 8
значущих цифр; серед них буде стільки вірних цифр, скільки одиниць
складає величини показника степеня ε;
(2) S1true - більш точне значення суми спадного ряду для t1 та ε = 10-7 у
науковому форматі з точністю 7 значущих цифр після десяткової крапки
(true - істинний);
(3) ΔS1true - абсолютна похибка метода розрахунку з точністю один знак
після десяткової крапки;
(4) εtrue - відносна похибка метода розрахунку з точністю один знак після
десяткової крапки;
(5) S1appr - визначення наближеного значення суми спадного ряду для t1 та
ε = 10-5 шляхом округлення результату (1) до п'яти вірних цифр і однієї
сумнівної, що встановлено із порівняння результатів (1) та (2);
(6) ΔS1true - сумарна абсолютна похибка метода розрахунку й округлення з
точністю один знак після десяткової крапки, яка враховує не тільки те, з
якою точністю знайдене наближене значення суми, але й те, що це
значення у рядку (5) було округлене;
(7) εtrue - сумарна відносна похибка метода розрахунку й округлення з
точністю один знак після десяткової крапки;
(8) S1(t1, 10-5) - запис наближеного значення суми спадного ряду для t1 та
ε = 10-5 із абсолютною похибкою;
(9) S1(t1, 10-5) - приведення запису наближеного значення суми спадного
ряду для t1 та ε = 10-5 із абсолютною похибкою до загального
порядкового множника, та зазначення істинної відносної похибки
результату;
(10) Перевірка правильності запису результату в рядку (9).

11. Лістинг виконання зразка ЛР з MathCAD №4 наведений на рис. 2.28.1 - 2.28.4.

Рис. 2.28.1. Лістинг виконання зразка ЛР з MathCAD №4:


початкові об'єкти
66
Рис. 2.28.2. Продовження лістингу виконання зразка ЛР з MathCAD №4:
наближений розрахунок суми спадного ряду при ε = 10-5

67
Рис. 2.28.3. Продовження лістингу виконання зразка ЛР з MathCAD №4:
більш точний розрахунок суми спадного ряду при ε = 10-7
68
Рис. 2.28.4. Закінчення лістингу виконання зразка ЛР з MathCAD №4:
розрахунок істинної похибки результатів обчислень

12. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:


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

Контрольні запитання
1. Який алгоритм називається ітераційним?
2. Як визначається кількість ітерацій у циклі?
3. Запишіть формат оператора while.
4. Поясніть дію оператора while.
5. Як уводиться оператор while у ПФ?
6. Скільки та яких операндів має оператор while?
7. Що і як треба зробити щоб цикл while почав виконуватися?
8. Напишіть формулу відносної похибки розрахунку суми спадного ряду.

69
9. Для чого призначений обмежувач числа підсумованих членів ряду?
10. Яким способом у ПФ можна одним оператором присвоїти значення
декільком змінним одночасно?
11. Яким оператором у ПФ визначається кількість ітерацій?
12. Що таке суматор і для чого він призначений?
13. Яким способом можна забезпечити повернення ПФ декількох значень?
14. Який результат поверне ПФ у даній лабораторній роботі, якщо її викликати
без зазначення нижнього індексу?
15. Для чого при виклику даної ПФ треба вказувати нижній індекс?
16. Опишіть як визначається істинна похибка розрахунків.

70
2.1.3. Запитання для самоконтролю
1. Назвіть основні елементи інтерфейсу MathCAD.
2. Як вивести на екран панелі інструментів?
3. Що таке текстова область і як її створити та форматувати?
4. Як вставити математичну область у текстову область?
5. Як створити математичну область і для чого вона призначена?
6. Для чого призначений літеральний нижній індекс простої змінної?
7. Поясніть процедуру введення числових значень у робочий листок.
8. За якими правилами вводяться формули в робочий листок?
9. За допомогою яких клавіш і як саме переміщаються лінії введення формул?
10. Як виводиться й форматується числове значення формули?
11. В якому порядку опрацьовуються формули в MathCAD?
12. Як вирівняти області по горизонталі та по вертикалі?
13. Яку функцію виконує панель інструментів Math?
14. Для чого призначені математичні панелі інструментів Calculator і Greek Symbol?
15. Поясніть призначення кнопки Insert Function?
16. Чим відрізняються оператори Definition і Evaluate Numerically?
17. Що таке пріоритет операцій і для чого він призначений?
18. Як піднести функцію sin(x) до третього степеня?
19. Для чого курсор введення в математичній області складається із двох ліній?
20. Як замінити оператор у виразі?
21. Який оператор призначений для виведення числових значень формул?
22. В якому вікні можна змінити в результаті кількість знаків після десяткової крапки?
23. Дайте визначення розгалуженого алгоритму, і наведіть простий приклад.
24. Для чого призначена функція користувача?
25. Що таке формальні параметри і яку функцію вони виконують?
26. Як здійснюється виклик однорядкової функції користувача?
27. У чому полягає відмінність фактичних параметрів від формальних?
28. Який вираз називається логічним?
29. Що таке жирний знак рівності й чим він відрізняється від звичайного тонкого?
30. Який пріоритет установлений для операцій у логічних виразах?
31. Опишіть дію умовної функції if.
32. Що таке програма-функція і яким оператором вона створюється?
33. Як і для чого використовується умовний оператор if?
34. За яких умов виконується оператор otherwise?
35. Де розміщується результат виконання програми-функції і яким він може бути?
36. Для чого вказується індекс при виклику програми-функції?
37. Який алгоритм називається циклічним?
38. Для чого призначені цикли?
39. Який цикл називається арифметичним, і чим він відрізняється від інших?
40. Що таке дискретна змінна й для чого вона використовується?
41. Для чого призначений оператор діапазону і яким символом він позначається?
42. Як установлюється крок зміни дискретної змінної?
71
43. Як побудувати графік функції?
44. У чому головна особливість швидкого графіка функції?
45. Що необхідно зробити перед побудування графіка функції у визначеному
діапазоні?
46. Назвіть 9 основних елементів області графіка.
47. Що таке форматування графіка функції?
48. Як на графіку показати лінії сітки?
49. Що треба зробити, щоб функція на графіку зображувалась не тільки у
вигляді кривої лінії, але й булі показані точки, у яких вона розраховувалася?
50. Запишіть формат оператора арифметичного циклу for.
51. Як водиться оператор for у тіло ПФ?
52. Скільки операндів має оператор for, і що в них розміщується?
53. Поясніть механізм роботи оператора for.
54. Який алгоритм називається ітераційним?
55. Як визначається кількість ітерацій у циклі?
56. Запишіть формат оператора while.
57. Поясніть дію оператора while.
58. Як уводиться оператор while у ПФ?
59. Скільки та яких операндів має оператор while?
60. Що і як треба зробити щоб цикл while почав виконуватися?
61. Напишіть формулу відносної похибки розрахунку суми спадного ряду.
62. Для чого призначений обмежувач числа підсумованих членів ряду?
63. Яким способом у ПФ можна одним оператором присвоїти значення
декільком змінним одночасно?
64. Яким оператором у ПФ визначається кількість ітерацій?
65. Що таке суматор і для чого він призначений?
66. Яким способом можна забезпечити повернення ПФ декількох значень?
67. Який результат поверне ПФ у даній лабораторній роботі, якщо її викликати
без зазначення нижнього індексу?
68. Для чого при виклику даної ПФ треба вказувати нижній індекс?
69. Опишіть як визначається істинна похибка розрахунків.

72
2.1.4. Самостійна робота студентів (СРС-1, 2, 3)
Студенту надається можливість вибрати тип виконуваної СРС:
теоретична або практична.
За кожну виконану теоретичну СРС виставляється 1 бал, за захист однієї
СРС додається ще 1 бал. За правильне виконання практичної СРС
виставляється 4 бали, за захист практичної СРС додається ще 2 бали.

Теоретичні завдання для виконання самостійної роботи


Зміст СРС-1. Основи Mathcad
1.1. Елементи Mathcad: символи, константи, змінні, числа, вбудовані
функції, оператори, арифметичні вирази.
1.2. Засоби роботи з документами.
Зміст СРС-2. Програмування в Mathcad
2.1. Засоби створення програм-функцій.
Зміст СРС-3. Програмування в Mathcad та графіки
3.1. Порівняння операторів арифметичного циклу for та ітераційного
циклу while.
Примітка. Слід описати дані оператори, а потім написати, що в них є
спільного, і чим вони відрізняються.
3.2. Форматування графіків.

Вимоги до оформлення теоретичної СРС


 Номер варіанта відповідає номеру студента в списку групи.
 Виконується тільки ручкою в шкільному зошиті на 12 сторінок.
 Кожна СРС починається з нової сторінки.
 Здавати тільки при наявності відповідей на всі питання.
 Ксерокопії не приймаються.
 Необхідно підписати роботу на обкладинці зошита таким чином:

У правому верхньому кутку


кружечок з номером варіанту: №

2010/2011
2 семестр
Модуль 1
СРС-1, 2, 3
Група
П.І.Б.

73
Відповідати на питання СРС необхідно за наступним зразком.
1 сторінка зошита

СРС 1

Основи Mathcad
1.1. Елементи Mathcad: символи, константи, змінні, числа, вбудовані
функції, оператори, арифметичні вирази.
Відповідь.

1.2. Засоби роботи з документами.


Відповідь.

Практичні завдання для виконання самостійної роботи


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

Вимоги до оформлення практичної СРС


Титульна сторінка оформлюється таким же чином, як і при виконанні
теоретичної СРС.
При виконанні практичного завдання до СРС-1, 2, 3, необхідно:
1) записати умову завдання;
2) накреслити блок-схему алгоритму розв'язання задачі;
3) перекласти блок-схему алгоритму на вхідну мову MathCAD, тобто
створити програму розв'язання завдання;
4) увести програму в робочий документ MathCAD;
5) виконати програму;
6) отримати результати;
7) якщо студент у 1 семестрі теж виконував практичне завдання до СРС-
1, 2, 3, то слід порівняти отримані результати з тими, що були вирахувані при
виконанні цього ж завдання в системі програмування Visual Basic 6.0: обидва
результати повинні співпадати;
8) зробити висновок, у якому відобразити ті елементи вхідної мови
MathCAD, що були засвоєні при виконанні даного практичного завдання;
9) зафіксувати (написати або роздрукувати) виконані етапи розв'язання
завдання в зошиті для СРС.

74
2.2. Модуль 2. MathCAD: модульне програмування
та розв’язання систем рівнянь
2.2.1. Змістовий модуль 3. Mathcad: модульне програмування
Лабораторна робота №5. Обробка масивів. Виконання
завдання "Обробка векторів і матриць за допомогою
операторів та вбудованих функцій MathCAD"
Мета:
 набути навиків створення векторів і матриць у робочому листку;
 навчитися виводити в робочий листок окремі елементи масивів;
 вивчити оператори MathCAD, призначені для роботи з масивами;
 ознайомитися із вбудованими функціями MathCAD, які обробляють масиви;
 виконати індивідуальне завдання "Обробка векторів і матриць за
допомогою операторів та вбудованих функцій MathCAD”.

Теоретичні відомості
Масиви в MathCAD
Масив (Array) - іменований упорядкований набір даних, кожне з яких
має свій порядковий номер - нижній індекс. Індекс указує на елемент масиву й
уводиться після імені масиву кнопкою Subscript (Нижній індекс) на панелі
інструментів Matrix (Матриці, див. 2.16), або гарячою клавішею [ (Ліва
квадратна дужка), або кнопкою Subscript (Нижній індекс) на панелі
інструментів Форматування.
Нумерація елементів масивів у MathCAD за умовчанням починається з
нуля, тому що саме це значення має вбудована змінна ORIGIN (ПОЧАТОК).
Ім'я даної змінної завжди набирається заголовними буквами. У математиці,
зазвичай, елементи масивів нумеруються з одиниці. Це можна зробити й у
MathCAD оператором ORIGIN := 1 на початку робочого листка.
Масив має дві характеристики:
1) розмірність масиву - кількість нижніх індексів у елемента масиву;
2) розмір масиву - сумарна кількість елементів.
По розмірності масиви називають:
1) вектор - одновимірний масив (розмірність дорівнює одиниці, тобто
елементи вектора мають один нижній індекс);
2) матриця - двовимірний масив (елементи матриці мають два нижніх
індекси: перший - номер рядка, другий (через кому) - номер стовпчика);
3) тензор - багатовимірний масив, або в MathCAD - гніздовий масив.
Елементом масиву може бути число, константа, проста змінна (в тому
числі дискретна), масив, функція, вираз, формула.
Масив, якій містить у якості елементів інші масиви, так звані вкладені
масиви, називається гніздовим масивом (Nested Array).

75
Створення масиву та виведення його значень
В MathCAD можливо створити масив декількома способами.
1. Прямий спосіб введення елементів масиву в шаблон матриці:
 на панелі інструментів Matrix (Матриця) натисніть кнопку Vector or
Matrix (Вектор або Матриця, див. рис. 2.15 на с. 37);
 у діалоговому вікні Insert Matrix (Вставити матрицю) укажіть кількість
рядків (Rows) та стовпчиків (Columns, див. рис. 2.16 на с. 38);
 у шаблон матриці, що з'явиться, уведіть значення елементів, натискаючи
клавішу → Right (Праворуч) для переходу в наступне поле введення.
Матриця розміром n1, тобто матриця-стовпець з n рядків, являється
вектором. Дійсно, оскільки другий індекс завжди дорівнює одиниці, то його
можна опустити, і, таким чином, елемент такої матриці завжди буде мати
тільки один нижній індекс. Саме тому матриця-стовпець у MathCAD є
вектором.
Матриця розміром 1n, тобто матриця-рядок з n стовпчиків, тільки
виглядає як вектор-рядок, оскільки її елемент обов'язково має два індекси.
Створення гніздового масиву розглянемо на прикладі тривимірного
тензора розміром 222 (рис. 2.29):
 створіть шаблон вектора 21 та шаблон
матриці 22;
 скопіюйте шаблон вектора, і вставте його
в кожне поле введення шаблона матриці;
 у кожне поле введення запишіть потріб- Рис. 2.29. Створення
не значення; шаблона
 занесіть створений масив у змінну G.
У результаті ми маємо начебто стопку із двох матриць.
Для звернення до i, j, k елементу масиву G виконайте наступні дії:
 після імені масиву G вставте поле для введення нижнього індексу клавішею
[ й надрукуйте в ньому i;
 натисніть клавішу , (Кома) і в нове поле введення, що з'явилося, вставте j;
 клавішею Spacebar (Пробіл) поширте виділення на весь вираз;
 уведіть навколо нього круглі дужки кнопкою Parentheses;
 після дужок вставте нижній індекс k: .
Таким чином, i та j нумерують гніздо, а k - номер елемента в гнізді, і цей
спосіб індексації елемента тензора в MathCAD відрізняється від звичайного
математичного: Gi,j,k.
Приклад.

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

розглянутого тензора це буде виглядати так: . Але можна


вивести й значення елементів гніздового масиву, якщо подвійним клацанням
ЛКМ на результаті викликати діалогове вікно Result Format (Форматувати
результат) і на вкладці Display Options (Параметри відображення) установити
прапорець Expand nested arrays (Розкривати гніздові масиви).
Гніздовий вектор зі змішаним умістом, наприклад, із числом у першому
елементі, та вектором у другому, зручно використати як результат програми-
функції для виведення одночасно розміру вектора, та й самого вектора.
2. Застосування дискретної змінної для введення-виведення масиву.
Розглянемо це питання на прикладі вектора v = {3, 5, 7}:
o почніть індексацію елементів масивів з одиниці (рис. 2.30, (1));
o створить цілочислову дискретну змінну, яка починається з одиниці, має
кількість значень, що дорівнює розміру
вектора, та змінюється з одиничним
кроком (рис. 2.30, (2));
o уведіть i-ий елемент вектора та присвойте
йому перше значення (рис. 2.30, (3));
o натисніть клавішу , (Кома), щоб увести
друге значення;
o права частина оператора змінить вигляд на
таблицю з пустим полем для введення
другого значення вектора (рис. 2.30, (4));
o таким же чином уведіть трете значення;
o виведіть елементи вектора у вигляді
таблиці значень (рис. 2.30, (5));
o виведіть вектор також у стандартному виг-
ляді із круглими дужками (рис. 2.30, (6));
Акцентуємо увагу!
Якщо вектор має менше 10 значень, то
він виводиться в стандартному вигляді із
круглими дужками.
Навпаки, коли кількість елементів Рис. 2.30. Введення-виведення
вектора більше 10, то він виводиться у вектора за допомогою
вигляді таблиці значень (Output Table) з дискретної змінної
номерами рядків та стовпчиків.
3. Введення вектора чи матриці за
допомогою таблиці даних (Data Table).
Виконайте команду головного меню
Insert / Data / Table (Вставка / Дані / Таблиця) і
MathCAD вставить пусту таблицю разом з
оператором присвоювання (рис. 2.31). Рис. 2.31. Таблиця даних

77
Необхідно ввести ім'я створюваного масиву та необхідні значення
елементів масиву. Перехід між комірками таблиці здійснюється клавішами
управління курсором. Масив буде мати такий розмір, скільки рядків та
стовпчиків були заповнені значеннями.
4. Створення масиву в результаті виконання вбудованої функції, чи
програми-функції користувача.
Вбудована функція matrix(m, n, f)
повертає матрицю розміром m × n, у якій i, j-й
елемент визначається функцією користувача
f(i, j). Опис функції f(i, j) слід розмістити до
використання функції matrix (рис. 2.32).
Використання програм-функцій для Рис. 2.32. Створення матриці
створення матриць буде розглянуто в вбудованою функцією matrix
лабораторній роботі №6.
Векторні й матричні оператори
Домовимося про наступні позначення:
 A та B - заголовні жирні букви позначають матриці;
 Ai,j - позначає елемент матриці А в i-му рядку та j-му стовпчику;
 M - заголовна жирна буква М позначає квадратну матрицю;
 E - заголовна жирна буква E позначає одиничну матрицю, у який
елементи головної діагоналі дорівнюють одиниці, а всі інші дорівнюють нулю;
 u та v - маленькі жирні букви позначають вектори;
 ui - позначає i-ий елемент вектора u;
 s - маленька курсивна буква позначає скаляр;
 m та n - позначають цілі числа.
У табл. 2.3 наведені матричні оператори з панелі інструментів Матриці.

Таблиця 2.3
Векторні й матричні оператори на панелі інструментів Matrix (Матриці)
Кнопка Клавіші Назва Дія
1 2 3 4
Ctrl + M Matrix or Vector Вставляє в робочий листок
Матриця або вектор пустий шаблон матриці з
указаним числом рядків і
стовпчиків
[ Subscript Створює поле для введення
Нижній індекс нижнього індексу масиву
немає Inverse Повертає обернену матрицю
Обернена матриця для несингулярної квадратної
матриці
Shift + | Determinant Знаходить визначник квадрат-
Визначник матриці ної матриці

78
Продовження таблиці 2.3
1 2 3 4
Ctrl + 6 Matrix Column
Стовпець матриці - повертає j-й стовпчик
матриці
Shift + | Absolute value Оператор панелі Калькулятор
Абсолютна величина, для знаходження довжини
модуль n
2
(модуля) вектора:  v i
i 1

Ctrl + 1 Matrix Transpose Повертає для масиву транспо-


Транспонування масиву нований масив, помінявши рядки і
стовпчики місцями (матриця-рядок
стає матрицєю-стовпцем, тобто
вектором, і навпаки)
; Range Variable Оператор діапазону для
Дискретна змінна створення дискретного виразу
* Dot Product Знаходить скалярний добуток
Скалярний добуток двох векторів
Ctrl + 8 Cross Product Знаходить векторний добуток
Векторний добуток двох трьохвимірних векторів
Ctrl + 4 Vector Sum Повертає суму усіх елементів
Сума елементів вектора
вектора
MathCAD, на відміну від Visual Basic, виконує операції не тільки з
окремими елементами масивів, а також із самими масивами. У табл. 2.4
наведені основні операції з векторами та матрицями. Тут кнопки взяті з панелей
інструментів Calculator або Matrix.
Таблиця 2.4
Основні операції з векторами й матрицями
Оператор Кнопки Назва Дія
1 2 3 4
uv Скалярний добуток Знаходить суму добутків від-
векторів однаково- повідних елементів векторів
го розміру
u×v Векторний добуток Знаходить вектор, перпенди-
векторів розміром 3 кулярний площині векторів u
та v, і модулем |u|  |v|  sin(α)
v  s, s  v, Добуток масиву на Помножає кожний елемент
A  s, s  A скаляр масиву на скаляр
u A
,
Ділення масиву на Ділить кожний елемент
s s скаляр масиву на скаляр
v + s, s + v, Сума масиву та Додає до кожного елемента
A + s, s + A скаляра масиву скаляр
79
Продовження таблиці 2.4
1 2 3 4
v - s, Різниця масиву та Віднімає від кожного
A-s скаляра елемента масиву скаляр
- v, Зміна знаку Змінює знак кожного елемен-
-A та масиву на протилежний
Au Добуток матриці на Знаходить добуток матриці з
вектор m стовпчиками на вектор з m
рядками
AB Добуток матриці A Помножає матрицю з m
на матрицю B (не за- стовпчиками на матрицю з m
вжди дорівнює B  A) рядками
A + B, Сума матриць Складає відповідні елементи
B+A однакового розміру матриць
A-B Різниця матриць Віднімає від елементів A
однакового розміру відповідні елементи B
Mn Степінь квадратної n > 0 - добуток n матриць;
матриці n = 0 - одинична матриця;
n < 0 - добуток n обернених
матриць.
Векторні й матричні функції
Вбудовані функції для роботи з векторами та матрицями можна розділити
на три групи (табл. 2.5, 2.6 та 2.7).
1. Функції, які повертають скалярні характеристики векторів і матриць.
2. Функції, які повертають новий вектор чи матрицю.
3. Функції сортування масивів.
Таблиця 2.5
Функції для знаходження скалярних характеристик векторів і матриць
Функція Результат
cols(A) Число стовпців у матриці А
length(v) Число елементів вектора v
last(v) Індекс останнього елемента вектора v
max(A) Найбільший елемент масиву А
min(A) Найменший елемент масиву А
norm1(M) L1 - норма квадратної матриці М.
norm2(M) L2 - норма квадратної матриці М.
norme(M) Евклідова норма квадратної матриці М.
normi(M) Рівномірна норма квадратної матриці М.
rows(A) Число рядків у матриці А
Слід квадратної матриці - сума елементів
tr(M)
головної діагоналі
rank(A) Ранг матриці А
80
Таблиця 2.6
Функції для створення нових векторів і матриць
Функція Результат
augment (s1, s2, s2, …) Масив, утворений приєднанням до масиву А бік
augment (v, u, w, …) у бік справа масиву В (число рядків повинно
augment(A, B, C, …) бути однаковим)
Діагональна квадратна матриця з елементами
diag(v)
вектора v на головній діагоналі
Вектор-стовпець із елементів головної діагоналі
diag(M)
квадратної матриці
Одинична квадратна матриця розміром n  n
identity(n)
(діагональні елементи = 1, інші елементи = 0)
Матриця розміром m × n, у якій i, j -й елемент
matrix(m, n, f)
визначається функцією користувача f(i, j)
stack(s1, s2, s2, …) Масив, утворений приєднанням до масиву А
stack(v, u, w, …) знизу масиву B (число стовпців повинно бути
stack(A, B, C, …) однаковим)
Субматриця з елементів матриці A в рядках з ir
по jr і стовпчиках з ic по jc. Якщо ir > jr, то
submatrix(A, ir, jr, ic, jc) порядок рядків буде оберненим, якщо ic > jc, то
й порядок стовпчикив буде теж оберненим

Таблиця 2.7
Функції сортування елементів векторів і матриць
Функція Результат
1 2
sort(v) Упорядковує елементи вектора v за зростанням
Упорядковує елементи А в стовпчику номер n за
csort(A, n)
зростанням шляхом перестановки рядків
Упорядковує елементи А в рядку номер n за
rsort(A, n)
зростанням шляхом перестановки стовпчиків
reverse(v) Обертає порядок елементів вектора v
reverse(sort(v)) Упорядковує елементи вектора v за спаданням
reverse(А) Обертає порядок рядків матриці А
Приклад. Властивості одиничної й оберненої матриць.

81
Зразок виконання лабораторної роботи
Умова. Задана квадратна матриця А та одинична матриця Е порядку n = 4.
Виконати завдання, застосовуючи векторні й матричні оператори й функції.
1. Сформувати матрицю AT із транспонованої матриці A.
2. Сформувати вектор v з елементів 3-го рядка, вектор u з елементів головної
діагоналі, вектор w з елементів побічної діагоналі матриці А.
3. Обчислити матрицю B, як добуток матриць A і AT, а матрицю C, як
добуток матриць AT і A. Порівняти результати, і зробити висновок.
4. Сформувати діагональну матрицю D із квадратами елементів вектора v на
головній діагоналі
5. Знайти max елементи матриць А, B, C та вектора v. Знайти max елемент у
другому стовпчику, у третьому рядку, на головній та побічній діагоналях A.
6. Сформувати нову матрицю F, приєднавши до матриці А вектор v бік у бік,
та матрицю G, розташувавши транспонований вектор u під матрицею A.
7. Сформувати нову матрицю A1 із матриці А, упорядкувавши елементи
першого стовпця за спаданням.
8. Упорядкувати елементи вектора v за зростанням та за спаданням.
Результати вивести в транспонованому вигляді.
9. Знайти p - довжину вектора v.
10. Обернути порядок стовпчиків матриці А. Обчислити першу норму С.
 
 
11. Знайти вектор z за формулою z =  A-B  AT   v
 
12. Знайти скалярний добуток векторів u та v , і кут α між ними.
13. Знайти d - довжину вектора різниці векторів u та v, і з її допомогою знайти
кут α між векторами.
Порядок виконання роботи
1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR05_Прізвище.xmcd.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №5; б) замініть речення "Лінійний алгоритм" на "Обробка
масивів". Іншу частину робочого листка можна очистити.
3. Лістинг виконання завдань зразка лабораторної роботи з MathCAD №5
наведений на рис. 2.33.1 - 2.33.4.
4. Проаналізуйте умову завдання зразка даної лабораторної роботи, умову
власного варіанта в розділі "Індивідуальні завдання для виконання роботи"
нижче, лістинг виконання зразка даної лабораторної роботи й виконайте
відповідним чином завдання власного варіанта.
5. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанту,
Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови
MathCAD.
6. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
82
Рис. 2.33.1. Лістинг виконання зразка ЛР з MathCAD №5

83
Рис. 2.33.2. Продовження лістингу виконання зразка ЛР з MathCAD №5

84
Рис. 2.33.3. Продовження лістингу виконання зразка ЛР з MathCAD №5

85
Рис. 2.33.4. Закінчення лістингу виконання зразка ЛР з MathCAD №5

86
Контрольні запитання.
1. Дайте визначення поняття "масив".
2. Чим визначається розмірність масиву?
3. Що таке розмір масиву?
4. Який масив називається вектором, матрицею, тензором?
5. Що таке гніздовий масив?
6. Для чого призначений нижній індекс елемента масиву?
7. Як уводиться нижній індекс елемента вектора?
8. Скільки індексів має елемент матриці, і що вони нумерують?
9. Назвіть способи створення масивів?
10. В якому вигляді виводиться масив?
11. Наведіть приклади векторних і матричних операторів.
12. Як знайти довжину вектора.?
13. Як знайти визначник матриці?
14. Коли матриця називається діагональною?
15. Що таке одинична матриця і яка її основна властивість?
16. Коли не існує обернена матриця?
17. Охарактеризуйте основну властивість оберненої матриці.
18. Яким чином додаються матриці?
19. Назвіть три групи векторних і матричних функцій.
20. Що таке підматриця і як її знайти?

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


Виконати, застосовуючи матричні й векторні оператори та функції.

№1
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Обчислити транспоновану матрицю AT.
2. Сформувати вектор v з елементів третього стовпця матриці А.
3. Обчислити C = AAT.
4. Сформувати діагональну матрицю B, елементами головної діагоналі якої
будуть елементи вектора v.
5. Знайти max елементи матриць А, B, C та вектора v.
6. Сформувати нову матрицю D, приєднавши до матриці А матрицю B бік у
бік, та матрицю F, розташувавши матрицю А над матрицею B.
7. Сформувати нову матрицю G із матриці А, упорядкувавши елементи її
першого стовпця за зростанням.
8. Упорядкувати елементи вектора v: а) за зростанням; б) за спаданням.
9. Знайти довжину вектора v.
10. Обернути порядок рядків матриці А. Обчислити першу норму матриці С.
11. Знайти вектор w за формулою:
w  A - B A T   v ,
 
Т
де А - транспонована матриця А.

87
№2
Задані квадратні матриці А та B та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів другого стовпця матриці А.
2. Сформувати вектор w за формулою:
 
w  A  A T  B  v , де АТ - транспонована матриця А.
3. Знайти max та min значення матриць А, B, AT та векторів w, v.
4. Сформувати матрицю G, приєднавши до матриці A матрицю B бік у бік.
5. Знайти число m, що відповідає кількості стовпчиків матриці G.
6. Обчислити детермінант матриці А.
7. Обчислити довжину вектора w.
8. Обчислити A2.
9. Знайти добуток матриці А на вектор v.
10. Знайти суму двох матриць (А + B).
T
11. Обчислити C  A  A  E . Обчислити першу норму матриці С.
12. Сформувати матрицю H, упорядкувавши 3 рядок матриці C за зростанням.
№3
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів четвертого стовпця матриці А.
2. Знайти d - довжину вектора v.
3. Обчислити транспоновану матрицю AT.
4. Сформувати нову матрицю B, зменшивши елементи матриці А на d.
5. Знайти добуток матриці А на вектор v.

6. Сформувати вектор w за формулою: w  A  A  B
T

1
v
7. Обчислити суму, різницю та добуток матриць А та B.
8. Обчислити обернену матицю B-1.
9. Сформувати матрицю C = (A + A2 + E) і обчислити її детермінант.
10. Сформувати нову матрицю F, розташувавши А над B.
11. Знайти число рядків та стовпців матриці F. Обчислити першу норму матриці С.
12. Упорядкувати елементи вектора w: а) за зростанням; б) за спаданням.
№4
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів другого стовпця матриці А.
2. Визначити число рядків матриці А.
3. Сформувати матрицю С = АТ.
4. Сформувати вектор u з елементів другого рядка матриці С.
5. Знайти скалярний добуток uv.
6. Сформувати вектор w = Av, як добуток матриці A на вектор v.
7. Обчислити d = (A - E)w.
8. Обчислити першу норму матриці С.
9. Обчислити обернену матрицю A-1.
10. Визначити останній індекс вектора v.
11. Обчислити слід матриці С.
12. Знайти суму елементів вектора w.
88
№5
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів третього стовпця матриці А.
2. Знайти p - довжину вектора v.
3. Сформувати нову матрицю В, зменшивши елементи матриці А на p.
4. Сформувати нову матрицю D, приєднавши А до В бік у бік.
5. Обчислити визначник матриці В.
6. Сформувати матрицю C = A2p.
7. Обчислити другу норму матриці C.
8. Знайти min та max значення елементів матриць А, В, С.
9. Знайти число рядків та стовпців матриці D.
10. Знайти суму матриць А та В.
11. Створити вектор w з упорядкованих за спаданням елементів вектора v.
12. Обчислити скалярний добуток векторів v та w: f = vw.

№6
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів другого стовпця матриці А.
2. Упорядкувати елементи вектора v за зростанням.
3. Сформувати матрицю C = AT, де АТ - транспонована матриця А.
4. Сформувати матрицю В, розташувавши матрицю C над матрицею A.
5. Визначити другу норму матриці А.
6. Сформувати діагональну матрицю D з елементів вектора v.
7. Упорядкувати матрицю А за зростанням елементів її першого стовпчика.
8. Обчислити p - детермінант матриці А.
9. Обчислити F = E + A + A2.
10. Одержати вектор w = Av.
11. Упорядкувати елементи вектора w за спаданням.
12. Знайти ранг матриці C.

№7
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати матрицю B = AT.
2. Сформувати вектор v з елементів другого рядка матриці А.
3. Обчислити p - детермінант матриці А.
4. Сформувати матрицю С, вилучивши другий стовпець із матриці А.
5. Обчислити D = (A + B)p.
6. Знайти слід матриці В.
7. Обчислити Евклідову норму матриці D.
8. Упорядкувати елементи 3-го стовпця матриці D за зростанням.
9. Обчислити max та min значення елементів матриць А, В, С, D.
10. Визначити число рядків та стовпців матриці С.
11. Обчислити слід матриці D.
12. Упорядкувати елементи вектора v за зростанням та спаданням.

89
№8
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати матрицю B = AT , де АТ - транспонована матриця А.
2. Сформувати вектор v з елементів четвертого рядка матриці А.
3. Обчислити слід матриці B.
4. Обчислити другу норму матриці А.
5. Обчислити d - детермінант матриці А.
6. Обчислити C = (d  E + 1/ d  A)  B.
7. Сформувати матрицю D, вилучивши з матриці A третій стовпець.
8. Знайти min та max значення елементів вектора v та матриць А, B, C, D.
9. Упорядкувати елементи вектора v за зростанням та спаданням.
10. Знайти довжину вектора v.
11. Обернути порядок рядків матриці А.
12. Визначити число рядків та стовпців матриці C.

№9
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів п’ятого стовпця матриці А.
2. Упорядкувати елементи вектора v за зростанням та спаданням.
3. Обчислити l - довжину вектора v.
4. Сформувати матрицю В = АТ.
5. Сформувати матрицю D, вилучивши з матриці В четвертий стовпець.
6. Сформувати матрицю F, приєднавши матриці А та D бік у бік.
7. Визначити кількість стовпців та рядків матриці F.
8. Знайти добуток матриці А на вектор v.
9. Обчислити слід матриці В.
10. Обчислити C = 1 l  (A + AT)  E, де АТ - транспонована матриця А.
2
11. Визначити індекс останнього елемента вектора v.
12. Обчислити Евклідову норму матриці А.

№10
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів третього стовпця матриці А.
2. Обчислити р - довжину вектора v.
3. Обчислити матрицю D = An.
4. Обчислити С = (A - E)  AT.
5. Сформувати матрицю F, вилучивши з матриці А перший стовпець.
6. Обчислити слід матриці A.
7. Визначити кількість стовпців та рядків матриці F.
8. Упорядкувати елементи 1-го рядка матриці А за зростанням.
9. Знайти min та max елементи матриць А, F, D.
10. Обчислити суму елементів вектора v.
11. Обчислити S = A-1.
12. Обчислити w = pv.
90
№11
Задана квадратна матриця А та одинична матриця Е порядку n =4.
1. Сформувати вектор v з елементів другого рядка матриці А.
2. Обчислити w = A  v.
3. Знайти скалярний добуток векторів v та w: s = vw.
4. Обчислити B = AT.
5. Обчислити G = [ (A + E)  B ]  w.
6. Сформувати діагональну матрицю С із елементів вектора w.
7. Сформувати матрицю D, вилучивши з матриці B третій стовпець.
8. Сформувати матрицю F, приєднавши до матриці D матрицю А бік у бік.
9. Визначити кількість рядків та стовпців матриці F.
10. Обчислити довжину вектора w.
11. Обчислити рівномірну норму матриці А.
12. Упорядкувати елементи вектора v за зростанням та спаданням.

№12
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів третього стовпця матриці А.
2. Сформувати матрицю В, транспонувавши матрицю А: В = АТ.
3. Сформувати матрицю С, вилучивши з матриці В другий і третій стовпець.
4. Сформувати матрицю D, приєднавши до матриці А матрицю В бік у бік.
5. Визначити кількість рядків та стовпців у матриці D.
6. Обчислити l - довжину вектора v.
7. Обчислити С = l  (А + А2 + Е).
8. Обчислити слід матриці С.
9. Обчислити Евклідову норму матриці А.
10. Упорядкувати елементи вектора v за зростанням та спаданням.
11. Обчислити детермінант матриці С.
12. Знайти min та max елементи матриць А, В, С та вектора v.

№13
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів першого стовпця матриці А.
2. Обчислити вектор w = A  v.
3. Обчислити p - довжину вектора w.
4. Обчислити s - суму елементів вектора v.
5. Обчислити с = (A + E + A2)pw.
6. Сформувати матрицю D, вилучивши з матриці А другий і третій стовпчик.
7. Сформувати матрицю F, приєднавши до матриці D матрицю А бік у бік.
8. Визначити кількість рядків та стовпців матриці F.
9. Обчислити другу норму матриці А.
10. Упорядкувати елементи вектора с за зростанням та спаданням.
11. Знайти min та max елементи векторів v, w, с.
12. Упорядкувати елементи 4-го стовпця матриці А за зростанням.

91
№14
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів останнього стовпця матриці А.
2. Обчислити вектор w = (A + А2 - Е)  v.
3. Обчислити p - довжину вектора v.
4. Обчислити s - суму елементів вектора w.
5. Обчислити С = p  A - s  E.
6. Обчислити слід матриці А.
7. Обчислити ранг матриці А.
8. Обчислити рівномірну норму матриці А.
9. Сформувати матрицю В, транспонувавши матрицю А.
10. Сформувати нову матрицю D, розташувавши матрицю A над матрицею В.
11. Визначити кількість рядків та стовпців матриці D.
12. Упорядкувати елементи 2-го стовпця матриці А за зростанням.

№15
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів першого рядка матриці А.
2. Сформувати нову матрицю D, вилучивши з матриці А елементи розташовані
з першого по третій стовпець та рядки із другого по третій.
3. Визначити кількість рядків та стовпців матриці D.
4. Сформувати матрицю В = АТ.
5. Обчислити w = (A + А3 - Е)  v.
6. Обчислити p - довжину вектора w.
7. Обчислити с = (A + E + A2)  p  w.
8. Сформувати нову матрицю F, приєднавши до матриці A матрицю B бік у бік.
9. Обчислити слід та Евклідову норму матриці А.
10. Упорядкувати елементи вектора с за зростанням та спаданням.
11. Знайти min та max елементи матриць А та D.

№16
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів четвертого рядка матриці А.
2. Обчислити вектор w = (А3-Е)v.
3. Обчислити p - довжину вектора w.
4. Обчислити скалярний добуток векторів v та w.
5. Обчислити рівномірну норму матриці А.
6. Сформувати діагональну матрицю F з елементів вектора w.
7. Сформувати нову матрицю D, приєднавши матрицю F бік у бік до матриці А.
8. Визначити кількість рядків та стовпців матриці D.
9. Упорядкувати елементи вектора w за зростанням та спаданням.
10. Знайти min та max елементи матриць А, F, D.
11. Упорядкувати елементи 3-го стовпця матриці D за зростанням.
12. Обчислити детермінант матриці А.

92
№17
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів другого стовпчика матриці А.
2. Обчислити вектор w = (А - Е)  v.
3. Обчислити p - довжину вектора w.
4. Обчислити s - суму елементів вектора v.
5. Обчислити скалярний добуток векторів v та w.
6. Сформувати матрицю В = АТ.
7. Обчислити першу норму матриці В.
8. Сформувати матрицю D, вилучивши з матриці А рядки з першого по третій і
стовпці із другого по третій.
9. Сформувати нову матрицю F, розташувавши матрицю А над матрицею В.
10. Визначити кількість рядків та стовпців матриці F.
11. Упорядкувати елементи вектора v за зростанням та спаданням.
12. Обчислити слід матриці В.
№18
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор u з елементів п’ятого стовпця матриці А.
2. Сформувати матрицю C зі стовпців матриці A з 2-го по 4-ий.
3. Обчислити G = (А - Е)  AT + 4,5  (A - AT), де AT - транспонована матриця А.
4. Сформувати вектор w = A  u + AT  u.
5. Обчислити слід матриці А.
6. Обчислити першу норму матриці А.
7. Упорядкувати елементи вектора w за зростанням та спаданням.
8. Обчислити довжину вектора u.
9. Сформувати нову матрицю B, приєднавши матрицю C бік у бік до матриці А.
10. Визначити кількість рядків та стовпців матриці B.
11. Знайти min та max елементи векторів u та w.
12. Обчислити детермінант матриці С.

№19
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів третього стовпчика матриці А.
2. Сформувати діагональну матрицю В з елементів вектора v.
3. Обчислити ранг та слід матриці A.
4. Обчислити C = (А - Е)  AT, де AT - транспонована матриця А.
5. Обчислити другу норму матриць А та С.
6. Сформувати нову матрицю D, розташувавши матрицю АT над матрицею А.
7. Знайти min та max елементи матриць А, С та вектора v.
8. Упорядкувати елементи вектора v за зростанням та спаданням.
9. Обчислити елементи вектора w = 0,5  (A + E)  v.
10. Обчислити s - суму елементів вектора v.
11. Обчислити скалярний добуток векторів v та w.
12. Знайти довжину вектора w.

93
№20
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів четвертого стовпчика матриці А.
2. Знайти AT - транспоновану матрицю А.
3. Обчислити обернену матрицю A-1.
4. Обчислити матрицю C =(A - E)A-1 + 4,5  AT.
5. Обчислити вектор w = 1,65  (А2 + Е)  v.
6. Обчислити слід та Евклідову норму матриці А.
7. Знайти довжину вектора w.
8. Упорядкувати елементи 4-го стовпця матриці С за зростанням.
9. Сформувати діагональну матрицю В з елементів першого стовпця матриці А.
10. Знайти min та max елементи матриць А, С, та векторів v, w.
11. Визначити індекс останнього елемента вектора v.
12. Обчислити детермінант матриці А.

№21
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор u з елементів третього рядка матриці А.
2. Знайти обернену матрицю для матриці А і транспонувати її.
3. Обчислити елементи вектора w = ( A - AT )  u + 0,5  (A + Е)  u.
4. Обчислити довжину вектора u.
5. Сформувати матрицю D, розташувавши матрицю А над матрицею AT.
6. Визначити кількість рядків та стовпців матриці D.
7. Обчислити слід та рівномірну норму матриці АT.
8. Упорядкувати елементи вектора w за зростанням та спаданням елементів.
9. Знайти min та max елементи векторів u та w.
10. Обчислити суму елементів вектора u.
11. Обчислити скалярний добуток векторів u та w.
12. Обернути порядок рядків матриці А.

№22
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Обчислити матрицю D = A-1.
2. Сформувати вектор v з елементів другого стовпця матриці D.
3. Сформувати вектор w за формулою w =(A - D)  v  0,5.
4. Знайти max та min елементи векторів v та w.
5. Знайти довжину вектора w.
6. Обчислити ранг та слід матриці А.
7. Упорядкувати елементи 3-го рядка матриці А за зростанням.
8. Сформувати матрицю F, розташувавши елементи матриці А над матрицею D.
9. Визначити кількість рядків та стовпців матриці F.
10. Обчислити детермінант матриці D.
11. Обчислити другу норму матриці А.
12. Обернути порядок елементів вектора v.

94
№23
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Обчислити квадрат матриці А: D = A2.
2. Сформувати вектор v з елементів n-го стовпця матриці D.
3. Обчислити обернену матрицю A-1 та транспоновану матрицю АТ для матриці А.
4. Сформувати вектор w за формулою w = (A + AT)  v + 4,5  A-1  v.
5. Обчислити довжину вектора w.
6. Обернути порядок елементів вектора w.
7. Сформувати матрицю F, приєднавши матрицю А-1 бік у бік до матриці А.
8. Визначити кількість рядків та стовпців матриці F.
9. Обчислити детермінант матриці C = A3.
10. Знайти max та min елементи векторів v та w.
11. Обчислити ранг і першу норму матриці C.
12. Упорядкувати елементи 3-го рядка матриці D за зростанням.

№24
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор u з елементів n-го рядка матриці А.
2. Обчислити обернену матрицю A-1 та транспоновану матрицю АТ для матриці А.
3. Сформувати матрицю С, приєднавши матрицю АT бік у бік до матриці А-1.
4. Визначити кількість рядків та стовпців матриці C.
5. Знайти max та min елементи матриць С та А-1.
6. Сформувати вектор w за формулою w = (0,6  A + E)  v.
7. Обчислити довжину вектора w.
8. Обчислити детермінант матриці A-1.
9. Обчислити квадрат матриці А: D=A2.
10. Обчислити Евклідову норму матриці А.
11. Упорядкувати елементи вектора v за зростанням та спаданням.
12. Обернути порядок елементів вектора w.

№25
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор u з елементів n-го рядка матриці А.
2. Обчислити D = A2 + diag(u), F = A3, та G = AT.
3. Сформувати матрицю C, приєднавши матрицю D бік у бік до матриці F.
4. Визначити кількість рядків та стовпців матриці C.
5. Сформувати вектор w = 4,7  (F + E)  u.
6. Обчислити довжину вектора w.
7. Обчислити ранг та першу норму матриці D.
8. Знайти скалярний добуток векторів u та w: p = u  w.
9. Знайти min та max елементи матриць D та F.
10. Обчислити детермінант матриці D.
11. Обчислити суму елементів векторів u та w.
12. Упорядкувати елементи вектора u за зростанням та спаданням.

95
№26
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів другого стовпця матриці А.
2. Обчислити довжину вектора v.
3. Обчислити D = A2 та F = A-1.
4. Сформувати вектор u = (D + E)  v.
5. Знайти скалярний добуток векторів u та v: p = v  u.
6. Сформувати діагональну матрицю F з елементів вектора u.
7. Сформувати матрицю С, приєднавши матрицю D бік у бік до матриці F.
8. Визначити кількість рядків та стовпців матриці С.
9. Обчислити детермінант матриці D.
10. Обчислити ранг, слід та першу норму матриці F.
11. Упорядкувати елементи вектора u за зростанням та спаданням.
12. Знайти min та max елементи матриць D та F.

№27
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор w з елементів першого стовпця матриці А.
2. Обчислити обернену матрицю A-1.
3. Сформувати вектор v = (A2 + E)  w + 4,5  A-1  w і знайти його довжину.
4. Обчислити слід та ранг матриці А.
5. Обчислити Евклідову норму матриці А.
6. Знайти min та max елементи матриць АТ та А-1.
7. Обчислити суму елементів векторів w та v.
8. Сформувати матрицю D з елементів матриці A, які знаходяться в рядках з
2-го по 4-ий і в стовпчиках з 1-го по 3-ий.
9. Визначити кількість рядків та стовпців матриці D.
10. Упорядкувати елементи 3-го стовпця матриці A-1 за зростанням.
11. Знайти суму матриць А та А-1.

№28
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор v з елементів третього стовпця матриці А.
2. Обчислити d - довжину вектора v.
3. Сформувати матрицю B = (A - d)  E + AT , де AT - транспонована матриця A.
4. Сформувати матрицю C, вилучивши з матриці AТ 2-ий та 3-ий рядки.
5. Сформувати матрицю F, розташувавши елементи матриці А над матрицею С.
6. Визначити кількість рядків та стовпців матриці F.
7. Обчислити слід матриці А.
8. Обчислити Евклідову норму матриці АТ.
9. Знайти min та max елементи матриць А, C, F.
10. Обчислити детермінант матриці B.
11. Сформувати вектор w = A  v + 4,5  d.
12. Упорядкувати елементи векторів v та w за зростанням та спаданням.

96
№29
Задана квадратна матриця А та одинична матриця Е порядку n = 5.
1. Сформувати вектор v з елементів четвертого стовпця матриці А.
2. Сформувати вектор w = 4,7  (A2 - E)  v.
3. Обчислити d - довжину вектора w.
4. Сформувати матрицю C, вилучивши з матриці A стовпчики з 1-го по 3-ий та
рядки з 3-го та 4-ий.
5. Визначити кількість рядків та стовпців матриці С.
6. Знайти A-1 - обернену матрицю для матриці A.
7. Обчислити ранг матриці A-1.
8. Знайти min та max елементи векторів v та w.
9. Обчислити слід та детермінант матриці AT, де AT - транспонована матриця A.
10. Обчислити другу норму матриці А.
11. Упорядкувати елементи 2-го стовпця матриці A за зростанням.
12. Знайти суму матриць А та А-1.

№30
Задана квадратна матриця А та одинична матриця Е порядку n = 4.
1. Сформувати вектор u з елементів другого рядка матриці А.
2. Обчислити l - довжину вектора u.
3. Сформувати вектор w = ( A2 + E )  l  u.
4. Сформувати діагональну матрицю F, елементами головної діагоналі якої
будуть елементи вектора w.
5. Обчислити A-1 - обернену матрицю для матриці A.
6. Сформувати матрицю C, розташувавши елементи матриці А над матрицею A-1.
7. Визначити кількість рядків та стовпців матриці C.
8. Обчислити детермінант матриці АТ , де AT - транспонована матриця A.
9. Обчислити рівномірну норму матриці АТ.
10. Знайти min та max елементи матриць А, C, A-1.
11. Обчислити суму елементів вектора v.
12. Обчислити скалярний добуток векторів u та w.

97
Лабораторна робота №6. Обробка одновимірних масивів.
Виконання завдання "Обробка векторів"
Мета:
 набути навиків перекладу комбінованого алгоритму розв'язання задачі з
мови блок-схем на вхідну мову MathCAD;
 навчитися створювати програми-функції для знаходження різних
характеристик векторів;
 вивчити засоби MathCAD, призначені для створення векторів;
 засвоїти прийоми створення гніздових масивів для виведення результатів
роботи програм-функцій;
 виконати індивідуальне завдання "Обробка векторів".

Теоретичні відомості
Комбінований алгоритм
Алгоритм, який є комбінацією алгоритмів основних структур: лінійної,
розгалуженої та циклічної, називається алгоритмом комбінованої структури,
або, коротко, комбінованим алгоритмом.
Вбудовані функції корисні для формування векторів
У діалоговому вікні Insert Function (Вставити функцію) зліва в списку
Function Category (Категорія функції) вибираємо категорію Random Numbers
(Випадкові числа). У правому списку Function Name (Ім'я функції) знаходяться
імена двох корисних функцій (табл. 2.8), які зручні для формування векторів і
матриць із випадковими значеннями їхніх елементів.
Таблиця 2.8
Вбудовані функції корисні для формування векторів
Функція Результат
Випадкове число з рівномірним законом
rnd(x)
розподілу на інтервалі (0, x)
Вектор з m випадкових чисел рівномірно
runif(m, a, b)
розподілених на відрізку [a, b]

Розглянемо як за допомогою цих функцій згенерувати випадковий вектор.


1. Використання вбудованої функції runif(m, a, b) у робочому листку.
Ім'я цієї функції походить від двох англійських слів: random (випадко-
вий) і uniform (рівномірний).
Приклад. Визначити вектор із п'яти елементів, цілі значення яких
рівномірно розподілені на відрізку [-40, 40]:

Слід зауважити, що кожного разу, коли ви відкриєте документ MathCAD


із цим оператором, буде згенерований один і той же вектор. Це свідчить про

98
псевдо випадковість даної функції. Якщо вам усе ж таки треба отримати інший
випадковий вектор, достатньо перший аргумент стерти й заново його вписати.
2. Застосування вбудованої функції rnd(x) у програмі-функції.
Ім'я цієї функції походить від англійського слова random (випадковий).
Програма-функція, яка повертає вектор із цілими випадковими значеннями
елементів наведена на рис. 2.34.

Рис. 2.34. Застосування вбудованої функції rnd(x)


для створення випадкового вектора
Примітка. Обидві функції в одному документі генерують різні значення.
Структура програми-функції для обробки векторів
Програма-функція (ПФ), призначена для обробки векторів, обов'язково
має наступні основні підрозділи.
1. Ініціалізація змінних. Змінним, які використовуються для зберігання
шуканих характеристик вектора, надаються необхідні початкові значення.
2. Оператори для знаходження проміжних значень.
3. Арифметичний цикл for. Призначений для перегляду всіх елементів
вектора. Має, як правило, блочну структуру з такими операторами:
1) оператори для знаходження проміжних значень;
2) умовний оператор if, який вибирає елементи вектора, що задовольняють
умові завдання; і має теж, як правило, блочну структуру, яка містить:
a) лічильник знайдених елементів k = k + 1;
b) суматор (обчислювач суми), або мультиплікатор (обчислювач добутку)
знайдених елементів, чи щось інше;
c) формувач нового масиву зі знайдених елементів масиву, що обробляється;
3) оператори для знаходження проміжних значень.
4. Оператори для знаходження кінцевих значень.
5. Об'єкт результат.
Приклади обробки векторів за допомогою програм-функцій
Умова. Задано вектор v з n = 10 чисел:
v = {-20; 15; 3; -9; 7; -6; 14; -13; 30; -7}.
Початкові дані вводяться, таким чином:

99
n
1. Знайти суму елементів вектора v: s   vi .
i1
n
2. Знайти добуток елементів вектора v: p   vi
i1

Вхід Вхід
v, n v, n

s=0 p=1

i  1, n i  1, n

s = s + vi p = p  vi

Вихід Вихід
s p

n
3. Обчислити довжину вектора v: d =  v i 2 .
i=1
4. Підрахувати k - кількість додатних елементів вектора v.
Вхід
Вхід v, n
v, n

k=0
d=0
i  1, n
i  1, n
-
d = d + vi2 vi>0
+
k=k+1
d= d

Вихід Вихід
d k
1 k
5. Знайти середнє арифметичне парних елементів вектора v: sa = v .
k i=1 i
k
6. Знайти середнє геометричне додатних елементів вектора v: sg = k  v i .
i=1

100
Вхід Вхід
v, n v, n

k = 0; s = 0 k = 0; p =1

i  1, n i  1, n

vi v  -
r= - i  vi>0
2 2 +
- k=k+1
r=0 p = p vi
+
k=k+1
s = s + vi
p=k p

s = s/k
Вихід
k
Вихід
s

Примітка. У завданнях 5 та 6 застосований


більш компактний матричний метод ініціалізації Вхід
змінних: у перший рядок програм-функції v, n
вставлений шаблон матриці-рядка із двох
стовпчиків, куди в якості елементів вставлені k=0
оператори ініціалізації шуканих змінних.
7. Підрахувати even - кількість i  1, n
позитивних парних елементів вектора v.
vi v 
r= - i 
2 2

-
vi>0r = 0
+
k=k+1

Вихід
k

101
8. Скільки непарних елементів вектора v стоять на парних місцях?

Вхід
v, n

k=0

i  1, n

vi v 
r= - i 
2 2

i i 
t= -
2  2 

-
r≠0t=0

+
k=k+1

Вихід
k

9. Знайти кількість k та суму s елементів, які задовольняють умові vi > -10.

Вхід
v, n, a

k = 0; s = 0

i  1, n

-
vi>a
+
k=k+1
s = s + vi

Вихід
k, s

102
10. Сформувати вектор u із непарних елементів вектора v.

Вхід
v, n

m=0

i  1, n

vi v 
r= - i 
2 2

-
r≠0
+
m=m+1

um = vi

Вихід
m, u

11. Знайти максимальний елемент вектора v.


12. Додати до вектора u скаляр p = 5.

Вхід Вхід
u, m u, m, p

z = u1 i  1,m

i  2,m ui = ui + p
-
ui>z
+
Вихід
z = ui
u

Вихід
z

103
13. Створити вектор w із просортованих за спаданням модулів елементів u.

Вхід
u, m

i  m - 1,1

j  1, i
-
|uj|<|uj+1|
+
x = uj
uj = uj+1
uj+1 = x

Вихід
u

14. Скласти вектори u і w.


15. Знайти скалярний добуток векторів u і v.

Вхід Вхід
u, w, m u, w, m

i  1,m s=0

uwi = ui + wi i  1,m

s = s + ui wi

Вихід
uw
Вихід
s

104
Усі розглянуті вище приклади виконані за допомогою програм-функцій
задля набуття навиків програмування. Але їх можна також виконати за
допомогою операторів та вбудованих функцій.

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


вбудованих функцій
Початкові дані використовуємо такі самі, як у попередніх прикладах.
n
1. Знайти суму елементів вектора v: s   vi .
i1
n
2. Знайти добуток елементів вектора v: p   vi
i1

n
3. Обчислити довжину вектора v: d =  v i 2 .
i=1
4. Підрахувати k - кількість додатних елементів вектора v.

1 k
5. Знайти середнє арифметичне парних елементів вектора v: sa = v .
k i=1 i
k
6. Знайти середнє геометричне додатних елементів вектора v: sg = k  v i .
i=1

7. Підрахувати кількість позитивних парних елементів вектора v.


8. Скільки непарних елементів вектора v стоять на парних місцях?

105
9. Знайти кількість k та суму s елементів, які задовольняють умові vi > -10.
10. Сформувати вектор u із непарних елементів вектора v.
Розв'язання цього завдання операторами та вбудованими функціями
виходіть занадто громіздким, і тому ми його не наводимо.
11. Знайти максимальний елемент вектора v.
12. Додати до вектора u скаляр p = 5.
13. Створити вектор w із просортованих за спаданням модулів елементів u.
Розв'язання цього завдання операторами та вбудованими функціями
виходіть занадто громіздким, і тому ми його не наводимо.
14. Скласти вектори u і w.
15. Знайти скалярний добуток векторів u і v.

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


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

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


Умова. Згенерувати й вивести на екран одновимірний масив x = {xi}
( i  1, n ; n  20 ) у діапазоні цілих чисел [20; 90 ]. Сформувати масив z із парних
елементів масиву x, які задовольняють умові xi > 50. Упорядкувати елементи
масиву z за зростанням значень елементів.
Порядок виконання роботи
1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR06_Прізвище.xmcd.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №6; б) замініть речення "Лінійний алгоритм" на "Обробка
векторів". Іншу частину робочого листка можна очистити.
106
3. Проаналізуйте умову завдань зразка даної лабораторної роботи, блок-схему
алгоритму виконання зразка (див. нижче), умову власного варіанта, та
накресліть блок-схему алгоритму виконання завдань власного варіанта за
допомогою стандартних графічних символів - блоків.

Початок Блок-схема

Введення-
виведення
n, xmin, xmed, xmax n = 20; xmin = 20 ; xmed = 50; xmax = 90

i = 1, n 1

i=1, k-1
xi=[xmax-xmin+1)rnd(1)]+xmin

Виведення j=1, k-i


xi

zj > zj+1 –

+
i = 1, n w = zj;
zj = zj+1;
xi  xi  zj+1 = w
d 
2  2 

d=0 –
xi>a i = 1, k
+
Виведення
k=k+1
zi
zk = xi

Виведення
zk
1 Кінець

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

107
5. Лістинг виконання завдань зразка лабораторної роботи з MathCAD №6
наведений на рис. 2.35.

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


108
6. Розглянемо дії операторів у ПФ Form_z(x, n), яка формує вектор z:

1) - ініціалізація нулем лічильника шуканих елементів вектора x;


2) - арифметичний цикл перегляду всіх елементів вектора x;
3) - умовний оператор if, який відбирає
серед парних елементів вектора x такі, що більше 50;
4) - лічильник знайдених елементів вектора x;
5) - формування елементів вектора z;
6) z - результат роботи даної ПФ, тобто сформований вектор z.
7. Проаналізуйте лістинг виконання завдань зразка даної лабораторної
роботи, і виконайте відповідним чином завдання власного варіанта.
8. Оскільки у Visual Basic та MathCAD генерація випадкових чисел
здійснюється по-різному, то згенеровані початкові вектори виходять
неоднаковими, тому порівнювати результати виконання завдань даної
лабораторної роботи у двох системах програмування слід тільки якісно.
9. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанту, Результати
розрахунків; Висновки: перелік засвоєних елементів вхідної мови MathCAD.
10. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
Контрольні запитання.
1. Якій алгоритм називається комбінованим?
2. Що таке розмір та розмірність масиву?
3. Коли масив називається вектором?
4. Як звернутися до i-го елемента вектора?
5. Чим принципово відрізняються функції rnd(x) і runif(m, a, b)?
6. Наведіть структуру програми-функції для обробки векторів.
7. Який оператор дозволяє переглянути всі елементи масиву?
8. Запишіть оператор-лічильник і поясніть як він працює.
9. Чим відрізняються суматор та мультиплікатор?
10. Як знайти середнє арифметичне та середнє геометричне елементів вектора?
11. Який оператор допомагає визначити парність елемента вектора?
12. Що таке довжина вектора?
13. Як обчислюється скалярний добуток двох векторів?
14. Як обчислюється сума вектора й скаляра?
15. Як додаються два вектори?
109
Лабораторна робота №7. Обробка двовимірних масивів.
Виконання завдання "Обробка матриць"
Мета:
 закріпити навики перекладу комбінованого алгоритму розв'язання задачі
з мови блок-схем на вхідну мову MathCAD;
 навчитися створювати програми-функції для знаходження різних
характеристик матриць;
 повторити прийоми створення гніздових масивів для виведення
результатів роботи програм-функцій;
 виконати індивідуальне завдання "Обробка матриць".

Теоретичні відомості
Структура програми-функції для обробки матриць
Програма-функція (ПФ), призначена для обробки матриць, обов'язково
має наступні основні підрозділи.
1. Ініціалізація змінних. Змінним, які використовуються для зберігання
шуканих характеристик матриці, надаються необхідні початкові значення.
2. Оператори для знаходження проміжних значень.
3. Зовнішній арифметичний цикл for. Призначений для перегляду всіх рядків
або стовпчиків матриці. Має, як правило, блочну структуру з такими
операторами:
1) оператори для знаходження проміжних значень;
2) Внутрішній арифметичний цикл for. Призначений для перегляду всіх
стовпчиків або рядків матриці. Має, як правило, блочну структуру з
такими операторами:
a) оператори для знаходження проміжних значень;
b) умовний оператор if, який вибирає елементи матриці, що
задовольняють умові завдання; і має теж, як правило, блочну
структуру, яка містить:
 лічильник знайдених елементів k = k + 1;
 суматор (обчислювач суми), або мультиплікатор (обчислювач
добутку) знайдених елементів, чи щось інше;
 формувач нового масиву зі знайдених елементів масиву, що
обробляється;
c) оператори для знаходження проміжних значень;
3) оператори для знаходження проміжних або кінцевих значень.
4. Оператори для знаходження кінцевих значень.
5. Об'єкт результат.
110
Спеціальний текстовий режим вводу символів
у математичну область
У MathCAD передбачена додаткова можливість покращення зовнішнього
вигляду документа: вставка будь-яких символів в імена, у тому числі ще й
символів операторів. Для цього необхідно:
1) почати введення імені з будь-якого дозволеного для імен символу;
2) перейти в спеціальний текстовий режим вводу комбінацією клавіш
Ctrl + Shift + K ; при цьому колір ліній вводу зміниться із синього на
червоний;
3) увести будь-які символи, наприклад, знак оператора додавання "+";
4) вийти зі спеціального текстового режиму вводу комбінацією клавіш
Ctrl + Shift + K ; при цьому колір ліній вводу зміниться із червоного на
синій.
Саме в такій спосіб були введені імена функцій FindM+Ξ і FindM*Ξ, та
імена змінних M+Ξ і M*Ξ при виконанні завдань №13 та №14 у прикладах для
полегшення читання лістингу. Наприклад, для
введення імені FindM*Ξ необхідно зробити наступне:
 увести символи FindM;

 натиснути Ctrl + Shift + K ;

 натиснути клавішу * ;

 натиснути Ctrl + Shift + K ;

 увести велику грецьку літеру Ξ (ксі)


з панелі інструментів Greek.

Приклади обробки матриць із використанням програм-функцій


Умова. Задана квадратна матриця M розміром n × n, n = 3. Виконати
наступні завдання за допомогою програм-функцій.

Виконання завдань. Спочатку вводимо початкові дані:

- установлюємо індексацію масивів з одиниці;

- задаємо розмір матриці;

- уводимо матрицю.

111
1. Знайти суму s модулів елементів матриці M.
2. Знайти добуток p модулів елементів матриці M.

Вхід Вхід
M, n M, n

s=0 p=1

i  1, n i  1, n

j  1, n j  1, n

s = s + |Mij| p = p  |Mij|

Вихід Вихід
s p

3. Знайти відношення r кількостей додатних та від'ємних елементів у M.

Вхід
M, n

k = 0; q = 0

i  1, n

j  1, n

Mij>0 -
+
k=k+1

- Примітка. У завданні 3 у якості


Mij<0
результату ПФ застосований арифме-
+ тичний вираз k/q, значенням якого є
q=q+1 шукана величина. Оскільки це останній
рядок ПФ, то саме цю величину й буде
повертати дана ПФ.

Вихід
k/q

112
4. Обчислити кількість q та добуток d елементів, що не знаходяться на
головній діагоналі M.

Вхід
M, n

q = 0; d = 1

i  1, n

j  1, n

-
i≠j
+
q=q+1
Примітка. У завданнях 3, 6 та далі
d = d  Mij застосований більш компактний матричний
метод ініціалізації змінних: у перший рядок
програм-функції вставлений шаблон
матриці-рядка із двох стовпчиків, куди в
Вихід якості елементів вставлені оператори
q, d ініціалізації шуканих змінних.

5. Зайти кількість k та суму s Вхід


елементів, які задовольняють умові Mij > 3. M, n

k = 0; s = 0

i  1, n

j  1, n

-
Mij>3
+
k=k+1

s = s + Mij

Вихід
k, s

113
6. Обчислити середнє арифметичне sai елементів, що знаходяться на
інтервалі 0<Mij<5.

Вхід
M, n

k = 0; s = 0

i  1, n

j  1, n

-
0<Mij<5
+
k=k+1

s = s + Mij

Вихід
s/k
Вхід
7. Знайти середнє геометричне додатних M, n
елементів sgd.
k = 0; p = 1

i  1, n

j  1, n

-
Mij>0
+
k=k+1

p = p  Mij

Вихід
kp

114
8. Сформувати вектор uME із максимальних елементів рядків M.

Вхід
M, n

i  1, n

ME = Mi1

j  2,n

-
Mij>ME
+
ME = Mij

uMEi = ME

Вихід
uME

9. Згенерувати матрицю A розміром 3 × 3 із цілочисловими значеннями


елементів на відрізку [-40, 40] за допомогою генератора випадкових чисел rnd(x).

Вхід
n, a, b

i  1, n

j  1, n

w = (b – a + 1)
w = w  rnd(1)
Aij = [w] + a

Вихід
A

115
10. У матриці А знайти середнє арифметичне парних елементів sap.
Вхід
A, n

k = 0; s = 0

i  1, n

j  1, n

Aij  Aij 
r= - 
2  2 
 

-
r=0
Вхід
+ A, n
k=k+1
k=0
s = s + Aij
i  1, n

j  1, n
Вихід
s/k Aij  Aij 
r= - 
2  2 
 
11. Сформувати вектор v із непарних
додатних елементів матриці А.
r ≠ 0 -
Aij>0
+
k=k+1

vk = Aij

Вихід
v

116
12. Сформувати побічно-діагональну одиничну матрицю Ξ розміром 3 × 3.

Вхід
n

i  1, n

j  1, n

i+j= -
n+1
+
Ξij = 1 Ξij = 0 Примітка. Ξ – велика грецька літера ксі.

Вихід Вхід
Ξ M, Ξ, n

13. Знайти добуток матриці M на Ξ. i  1, n

j  1, n

s=0

k  1,n

s = s + Mik  Ξkj

MΞij = s

Примітка.
Множення на Ξ
обертає порядок Вихід
стовпчиків в M. MΞ

117
14. Знайти суму матриць M та Ξ.
Вхід
M, Ξ, n

i  1, n

j  1, n

M+Ξij = Mij + Ξij

Вихід
M+Ξ

Усі розглянуті вище приклади виконані за допомогою програм-функцій


для закріплення навиків програмування алгоритмів обробки матриць. Але їх
можна також виконати за допомогою операторів та вбудованих функцій.
Приклади обробки матриць із використанням операторів та
вбудованих функцій
Початкові дані використовуємо такі самі, як у попередніх прикладах.
1. Знайти суму s модулів елементів матриці M.
2. Знайти добуток p модулів елементів матриці M.

3. Знайти відношення r кількостей додатних та від'ємних елементів у M.


4. Обчислити кількість q та добуток d елементів, що не знаходяться на
головній діагоналі M.

118
5. Знайти кількість k та суму s елементів, які задовольняють умові Mij > 3.
6. Обчислити середнє арифметичне sai елементів, що знаходяться на
інтервалі 0<Mij<5.

7. Знайти середнє геометричне додатних елементів sgd.


8. Сформувати вектор uME із максимальних елементів рядків M.

9. Згенерувати матрицю A розміром 3 × 3 із цілочисловими значеннями


елементів на відрізку [-40, 40] за допомогою генератора випадкових чисел rnd(x).

Примітка. При виконанні цього завдання застосований інший метод


генерування матриці A, тому вона відрізняється від тієї, що була отримана при
виконанні цього ж завдання вище за допомогою програм-функцій. Відповідно,
результати виконання всіх наступних завдань, де використовується матриця A,
також будуть іншими.
10. В матриці А знайти середнє арифметичне парних елементів sap.
11. Сформувати вектор v із непарних додатних елементів матриці А.
Розв'язання цього завдання операторами та вбудованими функціями
виходіть занадто громіздким, і тому ми його не наводимо.

119
12. Сформувати побічно-діагональну одиничну матрицю Ξ розміром 3 × 3.
13. Знайти добуток матриці M на Ξ.

14. Знайти суму матриць M та Ξ.

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


Умову індивідуального завдання "Обробка матриць" візьміть із
навчального посібника Visual Basic 6.0 відповідно до власного варіанта, який
такий самий як у 1 семестрі, тобто дорівнює номеру студента в списку групи за
1 семестр [1, с. 147].
Зразок виконання лабораторної роботи
Умова. Задана матриця Anm (n = 4; m = 4)
  0 .45 4 8  11 
 
 4 2 3 4 ,6 
A 
1,8 3 5,9 11 
 
 12  1,5 6,7 0 ,1 

У заданій матриці знайти:
1) мінімальний за модулем елемент серед елементів, що розташовані на
головній і побічній діагоналях; вивести також номер рядка й стовпця, у яких він
розташований;
2) знайти добуток додатних елементів кожного рядка матриці.

120
Порядок виконання роботи
1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR07_Прізвище.xmcd.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №6; б) замініть речення "Лінійний алгоритм" на "Обробка
матриць". Іншу частину робочого листка можна очистити.
3. Проаналізуйте умову завдань зразка даної лабораторної роботи, блок-схему
алгоритму виконання зразка (див. нижче) умову власного варіанта, та
накресліть блок-схему алгоритму виконання завдань власного варіанта за
допомогою стандартних графічних символів - блоків.

Початок Блок-схема

Введення
n, m, А
1
MinEl = |A11|;
im = 1; jm = 1
i=1, n
i=1, n
p=1
j=1, m
j=1, m

i=j∨ – –
Aij > 0
i+j = n+1
+
+ p = p  Aij

|Aij|<MinEl

+
MinEl = |Ai,j|; vpi = p
im = i; jm = j

Виведення
Виведення vp
MinEl, im, jm
Кінець
1
4. Перекладіть алгоритм із мови блок-схем на вхідну мову MathCAD.
5. Лістинг виконання завдань зразка наведений на рис. 2.36.1-2.36.2.

121
Рис. 2.36.1. Лістинг виконання зразка ЛР з MathCAD №7

122
Рис. 2.36.2. Закінчення лістингу виконання зразка ЛР з MathCAD №7

6. Розглянемо дії операторів у ПФ MinModEl(A, n, m), яка шукає


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

1) ініціалізація змінної MinEl модулем першого елемента матриці,


відповідно в номер рядка im та номер стовпчика jm заносимо одиниці;
цей результат і поверне ПФ, якщо в матриці не знайдеться ще менший за
модулем елемент;
2) заголовок арифметичного циклу для перегляду всіх рядків матриці A;
3) заголовок арифметичного циклу для перегляду всіх стовпців матриці A;
4) у змінну LV1 (логічний вираз 1) заносимо значення логічного виразу,
який визначає, чи знаходиться елемент матриці на головній, або
побічній діагоналі матриці;
5) у змінну LV2 (логічний вираз 2) заносимо значення логічного виразу,

123
який визначає, чи менше поточний елемент матриці за модулем того
значення, що зберігає змінна MinEl;
6) умовний оператор if, який відбирає потрібний елемент матриці, якщо
обидва логічні вирази LV1 та LV2 мають значення 1 (істина);
7) модуль знайденого елемента матриці заноситься в змінну MinEl;
8) номер рядка знайденого елемента матриці заноситься в змінну im;
9) номер стовпця знайденого елемента матриці заноситься в змінну jm;
10) результат роботи ПФ - матриця розміром 13, елементами якої є всі
шукані величини.
7. Розглянемо дії операторів у ПФ MinModEl(A, n, m), яка шукає добуток
додатних елементів матриці:

1) заголовок арифметичного циклу для перегляду всіх рядків матриці A;


2) ініціалізація добутку додатних елементів рядка одиницею;
3) заголовок арифметичного циклу для перегляду всіх стовпців матриці A;
4) умовний оператор if, який вибирає додатний елемент рядка, і заносить
його в добуток;
5) заносимо добуток у відповідний елемент вектора добутків;
6) виводимо результат роботи ПФ - вектор добутків.
8. Перекладіть алгоритм розв'язання власних завдань із мови блок-схем на
вхідну мову MathCAD, тобто напишіть програму виконання завдань.
9. Уведіть програму в робочий листок, налагодьте її, отримайте результати, і
проаналізуйте їхню правильність.
10. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанту,
Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови
MathCAD. При якій умові елемент стоїть на головній діагоналі?
11. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
Контрольні запитання
1. Коли масив називається матрицею?
2. Як звернутися до елемента матриці?
3. Наведіть структуру програми-функції для обробки матриць.
4. Як переглянути всі елементи матриці?
5. При якій умови елемент знаходиться на головній діагоналі?
6. Яке співвідношення між індексами елемента на побічній діагоналі?

124
Лабораторна робота №8. Модульне програмування в одному документі.
Виконання завдання "Однорядкова функція користувача"
Мета:
 набути навиків перекладу модульного алгоритму розв'язання задачі з
мови блок-схем на вхідну мову MathCAD;
 навчитися створювати однорядкові функції користувача для
знаходження значень різних виразів;
 виконати індивідуальне завдання "Однорядкова функція користувача".

Теоретичні відомості
Модульний алгоритм
Алгоритм модульної структури - це комбінація алгоритмів, які
реалізують окремі, функціонально закінчені частини загального алгоритму
розв’язання задачі, і які тому називаються модулями. Це найбільш сучасний
метод алгоритмізації розв'язання задач, тому що він значно полегшує створення
складних алгоритмів, а також дозволяє використовувати створені модулі в
інших алгоритмах.
Модульне програмування в MathCAD
Модульне програмування (МП) в MathCAD призначено для створення
програм модульної структури. Кожний модуль оформлюється у вигляді
однорядкової функції або багаторядкової програми-функції, що реалізують
деякі частини загальної програми. Надалі здійснюється звернення до цих
модулів із передачею ним даних для виконання обчислень.
Модульне програмування дозволяє зменшити обсяг текстів програм,
зробити їх більш зрозумілими, прискорити створення й тестування програм,
зменшити витрати на супровід (експлуатацію) програм.
У пакеті MathCAD є два способи МП.
1. МП у межах одного документа.
2. МП у декількох документах.
Модульне програмування в одному документі
Особливості цього способу такі:
 для реалізації простих обчислень використовуються однорядкові
функції користувача, а для більш складних - багаторядкові функції
користувача, тобто програми-функції (ПФ);
 опис цих функцій та їхній виклик знаходяться в межах одного
документа, і зберігаються вони в одному файлі.
Недоліки цього способу:
 неможливість зручної розробки ПФ декількома розробниками;
 неможливість "автономного" налагодження ПФ та їхньої модифікації в
процесі експлуатації програмного забезпечення;
 неможливість використання розробленої ПФ у декількох документах
без дублювання опису цієї ПФ.
125
Використання функцій користувача для МП
Однорядкові функції користувача дозволяють обчислювати вирази при
різних значеннях формальних параметрів. Формальні параметри не мають
значень, вони лише показують те місце в тілі функції, куди будуть поступати
значення фактичних параметрів при виклику функції. Позначають формальні
параметри англійською літерою p (від англ. parameter - параметр).
Фактичними параметрами можуть бути не тільки числа, а й інші вирази. Це
дозволяє за допомогою однієї функції обчислювати вирази зі схожою
структурою, але з різними операндами. Як результат маємо модульну структуру
програми розв'язання задачі, та скорочення її обсягу.
Для модульної алгоритмізації розв'язання подібних задач необхідно:
1) розбити задані вирази на частини, що мають спільну структуру;
2) кожну частину виразу описати функцією з мінімально можливою
кількістю формальних параметрів, які будуть представляти змінні складові
структури;
3) у кожній функції формальні параметри позначити однаково: p1, p2, …
pn, оскільки вони є локальними, то існують тільки всередині кожної функції;
4) для полегшення оперування функціями параметри в частинах виразу
завжди нумерувати зліва направо;
5) сконструювати вирази за допомогою описаних функцій із передачею
ним відповідних фактичних параметрів;
6) обчислити значення виразів;
7) для контролю правильності створення функцій розрахувати вирази без
використання описаних функцій, тобто переклавши їх із природної
математичної мови на вхідну мову MathCAD; отримані в такій спосіб
результати повинні співпадати з одержаними вище.
Програми-функції є багаторядковими, тому вони можуть виконувати
декілька схожих операцій над різними об'єктами. Це дозволяє збільшити розмір
модуля, сховати в нього більше однотипних операцій, і, як наслідок, ще
зменшити обсяг основної програми, зробити її більш прозорою.
Індивідуальні завдання для виконання лабораторної роботи
Умову індивідуального завдання "Модульне програмування в одному
документі" візьміть із навчального посібника Visual Basic 6.0 відповідно до
власного варіанта, який такий самий як у 1 семестрі, тобто дорівнює номеру
студента в списку групи за 1 семестр [1, с. 151-155].
Зразок виконання лабораторної роботи
Умова. Використовуючи однорядкові функції користувача, обчислити:

,
де a = 2,34; b = 1,27; c = -0,64. Значення y, z, w округлити до 6 знаків після коми.

126
Порядок виконання роботи
1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR08_Прізвище.xmcd.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної роботи з
№1 на №8; б) замініть речення "Лінійний алгоритм" на " Модульне програмування
в одному документі" " і в наступному рядку введіть текст: "Однорядкова функція
користувача". Іншу частину робочого листка можна очистити.
3. Проаналізуйте умову завдань зразка даної лабораторної роботи, блок-схему
алгоритму виконання зразка (див. нижче), умову власного варіанта, та
накресліть блок-схему алгоритму виконання завдань власного варіанта за
допомогою стандартних графічних символів - блоків.

4. Аналіз умови завдання зразка лабораторної роботи показує, що в кожному


виразі повторюються дві структурні частини:
sin 2  3
p12  p2 2  та e p1
 ln p2  p3 .
5. Від виразу до виразу змінюються тільки значення фактичних параметрів, що
передаються до цих структурних частин крізь формальні параметри p1, p2 (для
першої частини) та p1, p2, p3 (для другої частини).
6. Таким чином, для виконання завдань даної лабораторної роботи достатньо
ввести тільки дві однорядкові функції користувача F1(p1, p2) та F1(p1, p2, p3).

127
7. Лістинг виконання завдань зразка лабораторної роботи з MathCAD №8
наведений на рис. 2.37. Тут усі нижні індекси є літеральними індексами

простих змінних, і тому набираються за допомогою клавіші (Крапка), якщо

мова вводу із клавіатури англійська, або клавіші (Крапка), якщо мова


вводу із клавіатури українська.

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

128
8. Проаналізуйте лістинг виконання завдань зразка даної лабораторної
роботи, і виконайте відповідним чином завдання власного варіанта.
9. Оформіть звіт про виконання лабораторної роботи з наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанта,
Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови
MathCAD.
10. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
Контрольні запитання
1. Якій алгоритм називається модульним?
2. Що таке модуль?
3. Опишіть основні принципи модульного програмування.
4. Які способи модульного програмування Ви знаєте?
5. У чому полягають особливості МП в одному документі?
6. Наведіть недоліки МП в одному документі.
7. Як використовуються функції користувача для МП в одному документі?
8. За яких умов два різні вирази можна обрахувати за допомогою однієї
функції користувача?
9. Що таке формальні параметри й для чого вони призначені?
10. У чому фактичні параметри відрізняються від формальних?

129
Лабораторна робота №9. Модульне програмування в декількох документах.
Виконання завдання "Багаторядкова функція користувача"
Мета:
 закріпити навики перекладу модульного алгоритму розв'язання задачі з
мови блок-схем на вхідну мову MathCAD;
 навчитися створювати програми-функції - багаторядкові функції
користувача для знаходження характеристик різних масивів;
 виконати індивідуальне завдання "Багаторядкова функція користувача".

Теоретичні відомості
Модульне програмування в декількох документах
МП у декількох документах складається із трьох етапів.
I. Створення бібліотек заздалегідь визначених простих змінних, масивів та
ПФ в окремих документах MathCAD з іменами, наприклад,
LR09_Lib_Form.xmcd, LR09_Lib_Find.xmcd, LR09_Lib_Sort.xmcd.
II. Установлення зв'язку між файлами бібліотек та головним робочим
документом (РД) MathCAD за допомогою спеціального оператора
Reference (Посилання).
III. Виклик об'єктів із файлів бібліотек у головний робочий документ MathCAD.
Для вставки оператора Reference у РД MathCAD виконайте наступні дії.
1. Клацніть кнопкою миші в тому місці РД, куди буде вставлений
оператор Reference. Як правило, даний оператор розміщується на початку
головного РД після оператора ORIGIN:=1, щоб індексація масивів починалася
з одиниці не тільки в головному РД, та й у файлах бібліотек.
2. Зверніться до пункту головного меню MathCAD Insert (Вставка) і
виберіть команду Reference (Посилання), щоб з'явилося діалогове вікно Insert
Reference (Вставка посилання):

3. У полі введення Insert Reference to file (Вставка посилання на файл)


цього діалогового вікна введіть повне ім'я файлу бібліотеки:
D:\ Мои документы \ Викладач \ Група \ Студент \ LR09_Lib_Form.xmcd,
або для пошуку цього файлу клацніть кнопку Browse (Огляд). Пояснювальний
130
текст, що знаходиться нижче цього поля, "Enter or locate path to the document
you want to reference. This can be a document on your hard drive, or a document on
your company's network" перекладається таким чином: "Введіть або визначте
шлях до документу, на який ви хочете послатися. Це може бути документ на
Вашому жорсткому диску, або документ у локальній мережі Вашої компанії".
Для того щоб в операторі Reference правильно відображалась кирилиця,
необхідно при введенні будь-якого оператора, що передує операторові
Reference вибрати шрифт, який підтримує кирилицю, наприклад, Arial Cyr.
4. Обов'язково клацніть кнопку OK .
5. Повторіть ці дії для вставки посилань на файли інших бібліотек:
LR09_Lib_Find.xmcd, LR09_Lib_Sort.xmcd
Після виконання цих дій у РД з'являться такі оператори Reference:

Тепер у РД стають доступними ті змінні та ПФ, що визначені у файлах


бібліотек, і їх можна викликати.
Якщо клацнути на деякому операторі Reference, MathCAD відкриє
відповідний файл бібліотеки і його можна буде відредагувати. Але ці зміни
стануть доступними в головному РД після того як:
перезаписати файл бібліотеки та головний РД, закрити обидва файли, і
знову відкрити головний РД;
або перезаписати файл бібліотеки, знищити оператор Reference; знову
вставити оператор Reference.
Тому для полегшення створення й налагодження ПФ, які будуть
розміщені у файлах бібліотек, доцільно притримуватися такої технології
програмування:
1) спочатку ПФ розміщуються на початку головного РД;
2) здійснюється налагодження ПФ для правильної роботи;
3) ПФ вилучаються з головного РД і розміщуються у відповідних
бібліотеках;
4) на початку кожної бібліотеки створюється текстова область з описом
синтаксису та дії наявних ПФ;
5) копії цих текстових областей розміщуються в головному РД після
відповідних операторів Reference, щоб можна було бачити синтаксис та дію
ПФ із кожної бібліотеки;
6) усі файли перезаписуються на диск і закриваються;
7) відкривається головний РД, у якому тепер усі виклики ПФ
здійснюються через оператори Reference із файлів бібліотек.
Таким чином, МП у декількох документах дозволяє створювати власні
бібліотеки ПФ, що реалізують обчислювальні алгоритми для різних предметних
областей, і використовувати бібліотеки інших програмістів.
131
Індивідуальні завдання для виконання лабораторної роботи
Умову індивідуального завдання "Багаторядкова функція користувача"
візьміть із навчального посібника Visual Basic 6.0 відповідно до власного
варіанта, який такий самий як у 1 семестрі, тобто дорівнює номеру студента в
списку групи за 1 семестр [1, с. 161-169].

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


Умова. Задано три вектори:
x = xi  , i = 1, 14 ; y = y j , j = 1, 13 ; z = z k  , k = 1, 15 .

Упорядкувати вектор c = cq  , q = 1, 3 по спаданню, який складається з


компонентів:
с1 – максимальне значення серед від’ємних компонентів вектора x;
с2 – максимальне значення серед від’ємних компонентів вектора y;
с3 – максимальне значення серед від’ємних компонентів вектора z.
Формування векторів x, y та z виконати за допомогою вбудованої функції
rnd(x) на проміжку [-30, 30] у вигляді програми-функції в окремому документі
MathCAD з ім'ям LR09_Lib_Form.xmcd. ПФ для пошуку компонентів вектора
c розмістити в окремому документі MathCAD з ім'ям LR09_Lib_Find.xmcd.
ПФ для впорядкування компонентів вектора c розмістити в окремому документі
MathCAD з ім'ям LR09_Lib_Sort.xmcd.

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


1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR09_Прізвище.xmcd. Це буде головний робочий документ.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної роботи з
№1 на №9; б) замініть речення "Лінійний алгоритм" на "Модульне програмування
в декількох документах" і в наступному рядку введіть текст: "Багаторядкова
функція користувача". Іншу частину робочого листка можна очистити.
3. Проаналізуйте умову завдань зразка даної лабораторної роботи, блок-схему
алгоритму виконання зразка (див. нижче), умову власного варіанта, та
накресліть блок-схему алгоритму виконання завдань власного варіанта за
допомогою стандартних графічних символів - блоків.
4. Лістинг виконання завдань зразка лабораторної роботи з MathCAD №9
наведений на рис. 2.38.1 - 2.38.3.
5. Проаналізуйте лістинг виконання завдань зразка даної лабораторної
роботи, і виконайте відповідним чином завдання власного варіанта,
переклавши блок-схему алгоритму на вхідну мову MathCAD.
6. Оскільки генератори випадкових чисел у Visual Basic та MathCAD різні,
то порівняти результати виконання даного завдання в цих двох системах
програмування можна тільки якісно.
132
133
Рис. 2.38.1. Лістинг виконання зразка ЛР з MathCAD №9:
головний робочий документ

134
Рис. 2.38.2. Продовження лістингу виконання зразка ЛР з MathCAD №9:
головний робочий документ

Рис. 2.38.3. Закінчення лістингу виконання зразка ЛР з MathCAD №9:


файли бібліотек
135
7. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанта,
Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови
MathCAD.
8. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
Контрольні запитання
1. У чому полягають особливості МП у декількох документах?
2. Чому МП у декількох документах є найбільш сучасним стилем програму-
вання?
3. Який документ MathCAD називається головним?
4. Що таке бібліотека програм-функцій?
5. Як використовуються програми-функції для МП у декількох документах?
6. Для чого і яким оператором установлюється зв'язок між головним робочим
документом MathCAD, і файлом бібліотеки?
7. Дія яких операторів головного робочого документа MathCAD поширюється
також і на файли бібліотек?
8. Як швидко відкрити файл бібліотеки для редагування?
9. Що треба зробити, щоб зміни у файлі бібліотеки стали доступними в
головному робочому документі MathCAD?

136
2.2.2. Змістовий модуль 4. Mathcad: розв'язання систем рівнянь
Лабораторна робота №10. Нелінійні рівняння та системи (СНР).
Виконання завдання "Розв'язання нелінійних рівнянь та систем"
Мета:
 навчитися графічним методом відокремлювати корені нелінійних рівнянь;
 набути навиків уточнення коренів нелінійних рівнянь та систем
нелінійних рівнянь (СНР) за допомогою вбудованих функцій;
 виконати індивідуальне завдання "Розв'язання нелінійних рівнянь та систем".

Теоретичні відомості
Розв’язання нелінійних рівнянь
В інженерних розрахунках зустрічаються рівняння виду
f(x) = 0 , (2.1)
де функція f(x) повинна бути визначена й неперервна на деякому скінченому
або нескінченному інтервалі (a, b), тобто коли a < x < b.
Рівняння (1) називається лінійним, якщо функція f(x) є поліномом
(многочленом, багаточленом) першого степеня
f(x) = P1(x) = a1 x1 + a0 x0 = a1 x + a0 ,
тобто коли вона лінійна. Для всіх інших випадків рівняння (2.1) називається
нелінійним.
Розрізняють два види нелінійних рівнянь: алгебраїчні та трансцендентні.
Якщо функція f(x) є алгебраїчним поліномом n-го степеня
f(x) = Pn(x) = an xn + an-1 xn-1 + … + a1 x + a0 ,
то рівняння (2.1) називається алгебраїчним нелінійним рівнянням (АНР). Якщо
ж функція f(x) містить елементарні функції (тригонометричні, логарифмічні,
показникові та ін.), то таке рівняння називається трансцендентним нелінійним
рівнянням (ТНР).
Значення x називається коренем рівняння (1), якщо воно перетворює
*
рівняння (1) на тотожність, тобто f( x )  0.
*
Точно знайти корені рівняння (2.1) можна тільки в окремих випадках.
Тому для його розв’язання використовують чисельні методи, які дозволяють
обчислити наближені значення кореня цього рівняння із заданою точністю.
Процес обчислення коренів нелінійного рівняння складається із двох
етапів:
1) відокремлення коренів, тобто визначення графічним методом або
методом табулювання доволі малих відрізків, які містять лише по одному
кореню рівняння;
2) уточнення кореня, тобто доведення його до заданої точності,
чисельними методами (дихотомії, або бісекції, або половинного ділення;
дотичних Ньютона; хорд або січних; простої ітерації).
В MathCAD для уточнення кореня будь-якого нелінійного рівняння
застосовується вбудована функція root(f(var), var [, a, b]).
137
Функція root повертає значення змінної var, яке знаходиться між a і b, та
робить вираз f(var) рівним до нуля із заданою точністю. Цій функції повинно
передувати початкове наближене значення змінної var.
Функція root для уточнення значення кореня застосовує метод хорд
(січних). Початкове значення змінної var є першим наближенням до кореня, а
процес уточнення завершується, коли значення функції f(var) при наступному
наближенні стає менше значення вбудованої змінної TOL (Convergence
Tolerance - Допуск збіжності), яке за умовчанням дорівнює TOL = 10-3. Для
зміни значення TOL можна ввести в РД оператор TOL := <нове значення>,
або в головному меню MathCAD вибрати пункти Tools => Worksheet
Options… => Built-In Variables (Інструменти => Параметри робочого листка…
=> Вбудовані змінні) і на цій вкладці змінити значення TOL.
Розв’язання систем нелінійних рівнянь (СНР)
В MathCAD 14 максимальне число рівнянь у системах і відповідно
змінних доведено до 400, а для розв’язання застосовано ітераційні методи.
Для уточнення коренів системи нелінійних рівнянь використовуються
вбудовані функції наступних форматів:
Find(var1, var2, …) або find(var1, var2, …) (Знайти);
MinErr(var1, var2, …) або minerr(var1, var2, …) (Мінімальна похибка),
де var1, var2, … - список невідомих.
Розглянемо технологію розв'язання СНР на прикладі системи із двох
рівнянь: y = f1(x), y = f2(x).
Алгоритм розв'язання СНР
1. Побудувати на одному графіку обоє рівняння.
2. Із графіку знайти малі відрізки на осях OX та OY, у які попадають
координати точки перетину кривих, і на яких обидві функції неперервні й
монотонні (не мають екстремумів та особливих точок).
3. Вибрати границі цих відрізків у якості початкових наближень x0, y0 для
відповідних невідомих:
x0 := < границя відрізка по осі OX >,
y0 := < границя відрізка по осі OY >.
4. Надрукувати правіше або нижче ключове слово Given або given, яке
відкриває блок розв'язання СНР, тобто вказує MathCAD на те, що далі слідує
система рівнянь {або | і} нерівностей, які накладають обмеження на пошук
розв'язків.
5. Правіше або нижче ввести рівняння (нерівності) у довільному порядку.
Між правими та лівими частинами рівнянь поставити логічний (жирний) знак
рівності, а в нерівностях - знаки відношень <, >, ,  , .
6. Увести довільний вираз, що включає виклик вбудованих функцій find(x0,
y0) або minerr(x0, y0), який і закриває блок розв’язання СНР. Оскільки виклики
мають більше одного аргументу, то ці функції повернуть вектор розв’язків.
Цей алгоритм може бути застосованим для розв'язання й одного рівняння.
138
Приклад. Знайти корені кубічного рівняння
w(u) := u3 - 3u2 – 30u + 10.

Зауваження: при застосуванні функції minerr необхідно додатково


перевірити істинність одержаних результатів.
Причинами відсутності розв'язку може бути:
1) рівняння не мають дійсних коренів;
2) початкове наближення задане дійсне, а корені комплексні, і навпаки;
3) у процесі пошуку розв'язку послідовність наближень попала в точку
локального мінімуму;
4) у процесі пошуку розв'язку послідовність наближень попала в точку, з
якої метод мінімізації не може визначити подальший напрямок руху;
5) можливо, що задача при даному значенні TOL не може бути розв'язана, і
його необхідно збільшити.
Обчислення коренів алгебраїчного нелінійного рівняння.
Для обчислення всіх коренів алгебраїчного нелінійного рівняння
f(x) = Pn(x) = an xn + an-1 xn-1 + … + a1 x + a0 = 0
застосовується вбудована функція polyroots(a), яка не потребує початкового
наближення, і обчислює відразу всі корені, як дійсні, так і комплексні.
Функція polyroots повертає вектор, що містить усі корені полінома,
коефіцієнти якого занесені у вектор a
a = {a0 , a1 … an}.
Комплексним числом називається вираз
z = x + i ∙ y,
де x і y - дійсні числа, а i - уявна одиниця, яка задовольняє визначенню
i ∙ i = i2 = -1.
Число x називається дійсною частиною комплексного числа z, а число y -
уявною частиною комплексного числа z, і позначаються вони так:
x = Re(z) = Re z, y = Im(z) = Im z.
Модуль комплексного числа вводиться за формулою
z  x2  y 2 .
Число z  x  i  y називається спряженим до числа z = x + i ∙ y. Воно має
2
таку властивість: z  z  z  Rez 2  Imz 2 .
139
Якщо поліном із дійсними коефіцієнтами має комплексний корінь, то він
обов'язково має також корінь, спряжений до нього.
Індивідуальні завдання для виконання лабораторної роботи
Студент виконує власний варіант, який такий самий як у 1 семестрі, тобто
дорівнює номеру студента в списку групи за 1 семестр.
Завдання 1. Знайти корені нелінійного рівняння
f(x) = y(x) – y0 = 0
за допомогою функції root(f(x0), x0), тобто обчислити обернену функцію
x0 = y-1(y0).
Вираз для y(x) узяти з лабораторної роботи №3.
Значення y0 вибрати довільно з області визначення функції y(x).
Завдання 2. Знайти корінь рівняння y(z0) = y0 за допомогою функцій
find(z0) та minerr(z0).
Завдання 3. Знайти корені системи нелінійних рівнянь
f1(u0) = v0
f1(u0) = v0
за допомогою функцій find(u0, v0) та minerr(u0, v0).
Функції f1(u) та f2(u) узяти з лабораторної роботи №2.
Завдання 4. Знайти корені полінома четвертого степеня
P4(w, d) = d4w4 + d3w3 + d2w2 d1w + d0
Уведення вектора дійсних коефіцієнтів d полінома виконати у вигляді
програми-функції за допомогою генератора випадкових чисел rnd(1) на
проміжку [-40, 40].

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


Умова. Відповідає завданням, наведеним вище, але для варіанту №0 (зразок).

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


1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR10_Прізвище.xmcd.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №10; б) замініть речення "Лінійний алгоритм" на " Нелінійні
рівняння та системи". Іншу частину робочого листка можна очистити.
3. Лістинг виконання завдань зразка лабораторної роботи з MathCAD №10
наведений на рис. 2.39.1 - 2.39.3
4. Проаналізуйте умову завдань зразка даної лабораторної роботи, умову
завдань власного варіанта, лістинг виконання завдань зразка даної лабораторної
роботи виконайте відповідним чином завдання власного варіанта.

140
Рис. 2.39.1. Лістинг виконання зразка ЛР з MathCAD №10

141
Рис. 2.39.2. Продовження лістингу виконання зразка ЛР з MathCAD №10

142
Рис. 2.39.3. Закінчення лістингу виконання зразка ЛР з MathCAD №10

143
5. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанта,
Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови
MathCAD.
6. Захистіть роботу у викладача, давши відповіді на контрольні запитання.
Контрольні запитання
1. Яке рівняння називається лінійним?
2. Що таке поліном?
3. Назвіть два види нелінійних рівнянь.
4. Яке рівняння називається алгебраїчним нелінійним рівнянням (АНР)?
5. Коли нелінійне рівняння називається трансцендентним (ТНР)?
6. Яке значення називається коренем нелінійного рівняння?
7. Назвіть етапи обчислення коренів нелінійного рівняння.
8. Для чого призначена вбудована функція root(f(var), var [, a, b])?
9. Що зберігає вбудована константа TOL?
10. В які способи можна змінити значення TOL?
11. Опишіть алгоритм розв'язання СНР на прикладі системи із двох рівнянь.
12. Що таке Given і для чого воно призначене?
13. Що таке блок розв'язання СНР?
14. В якій формі записуються рівняння в блоці розв'язання СНР?
15. Для чого призначені вбудовані функції find(xo, y0) та minerr(xo, y0)?
16. За яких причин може бути відсутній розв'язок СНР?
17. Як обчислюються корені алгебраїчного нелінійного рівняння?
18. Що є аргументом вбудованої функції polyroots(a)?
19. Що таке комплексно спряжені корені АНР?

144
Лабораторна робота №11. Системи лінійних алгебраїчних рівнянь (СЛАР).
Виконання завдання "Розв'язання систем лінійних алгебраїчних рівнянь"
Мета:
 набути навиків розв'язання систем лінійних алгебраїчних рівнянь (СЛАР);
 засвоїти матричний метод та метод Гауса;
 виконати індивідуальне завдання "Розв'язання систем лінійних алгебраїчних
рівнянь".
Теоретичні відомості
Розв'язання систем лінійних алгебраїчних рівнянь
Методи розв'язання СЛАР розділяють на дві групи.
До першої групи належать точні або прямі методи, якими отримають
розв'язок системи за скінчене число арифметичних дій: метод Крамера із
застосуванням визначників, матричний метод із застосуванням оберненої
матриці, метод прогонки, метод Гауса. Ці методи застосовують для систем
відносно невеликої розмірності (до 1000).
До другої групи належать наближені ітераційні методи: метод
послідовних наближень, метод Зайделя. Ці методи застосовують для систем
великої розмірності (більше 1000).
Матричний метод розв'язання СЛАР
СЛАР з n невідомими в звичайному вигляді записується так:
a x  a x  ...  a x n  b
 11 1 12 2 1n 1
a x  a x  ...  a x b
 21 1 22 2 2n n 2 . (2.2)
 ...
a x  a x  ...  a nn x n  bn
 n1 1 n2 2
У матричній формі СЛАР має вигляд:
A x = b , де (2.3)
 a a ... a  Матриця x  b 
 11 12 1n   1   1  Вектор-
 a a ... a  системи з x  Вектор- b 
A   21 22 2n  коефіцієнтів x  2  стовпець b  2  стовпець
 ...   ...  невідомих  ...  вільних
  при    
 a a ... ann  членів
 xn
 невідомих b
 n1 n2    n 
Якщо матриця системи А несингулярна, тобто її визначник не дорівнює
нулю |A|  0, то з рівняння (2.3), коли його умножити на A-1, маємо:
A-1∙A∙x = A-1∙b => E∙x = A-1∙b => x = A-1∙b , (2.4)
де A-1 - обернена матриця до матриці A, яка задовольняє співвідношенню
A∙A-1 = A-1∙A = E,

145
де Е - одинична матриця, у який елементи головної діагоналі дорівнюють 1, а
всі інші елементи дорівнюють 0:

 1 0 ... 0 
 
 0 1 ... 0 
 
E 
 ... 
 


0 0 ... 1 

Одинична матриця є аналогом скалярної одиниці (x  1 = 1  x = x), тобто


A∙E = E∙A = A.
Деякі формули матричної алгебри
Символьний процесор MathCAD дозволяє дуже легко проводити
символьні обчислення. Для цього призначена панель інструментів Symbolic
Keyword Toolbar (Ключові слова символьних обчислень), яку можна відкрити
кнопкою Symbolic Keyword Toolbar Button на панелі Math (Математика).
Тут ми знайомимося із кнопками: Symbolic Evaluation Button
(Кнопка символьних обчислень), Symbolic Keyword Evaluation
Button (Кнопка символьних обчислень із ключовим словом),
Simplify Expressions (Спростити вирази). Для виконання символьних
обчислень потрібно спочатку створити символьний об'єкт, наприклад,
символьну матрицю, у якій елементами є прості змінні з нижніми літеральними
індексами, набраними через крапку. Потім подіяти на неї одним із розглянутих
вище операторів символьних обчислень, як це зроблено в наступних прикладах
у лістингу на рис. 2.40.
Метод Гауса - Жордана розв’язання СЛАР
Метод Гауса - Жордана поєднує прямий та зворотний хід методу Гауса,
оскільки на кожному кроці поточне невідоме виключається не тільки з
подальших рівнянь, але й із попередніх. Саме тому цей метод також
називається методом повного виключення невідомих.
Алгоритм методу Гауса - Жордана
1. Перевіряється кнопкою Determinant (Визначник) на панелі інструментів
Matrix (Матриці), що визначник матриці системи A не дорівнює нулю |A| ≠ 0, тоді
матриця A несингулярна (невироджена) і розв'язок СЛАР існує.
2. Створюється розширена матриця СЛАР Ab приєднанням до матриці A
вектора вільних коефіцієнтів b бік у бік: Ab := augment(A, b).
3. Обирається перший рядок розширеної матриці й, якщо перший елемент
цього рядка дорівнює нулю, то перший рядок обмінюється місцями з
найближчим знизу рядком, у якому перший елемент не дорівнює нулю.

146
Рис. 2.40. Лістинг деяких формул матричної алгебри
4. Кожний елемент першого рядка діліться на перший елемент цього рядка,
так що рядок буде починатися з одиниці.
5. Від кожного рядка матриці, крім першого, віднімається перший рядок,
помножений на перший елемент вибраного рядка, так що в результаті кожний
наступний рядок матриці буде починатися з нуля.
6. Обирається другий рядок розширеної матриці й, якщо другий елемент
цього рядка дорівнює нулю, то другий рядок обмінюється місцями з
найближчим знизу рядком, у якому другий елемент не дорівнює нулю.
7. Кожний елемент другого рядка, крім першого нульового, діліться на
другий елемент цього рядка, так що на другому місці в цьому рядку буде
одиниця.
8. Від кожного рядка матриці, крім другого, віднімається другий рядок,
помножений на другий елемент вибраного рядка, так що в результаті кожний
попередній і наступний рядок матриці будуть мати на другому місці нуль.

147
9. Аналогічні операції проводяться зі всіма наступними рядками матриці,
крім останнього.
10. Оскільки розв'язок СЛАР існує, то в кінці останнього рядка обов’язково
залишиться ненульовий елемент, на який цей рядок і ділимо.
11. У результаті частина розширеної матриці, яка відповідає матриці системи,
перетвориться на одиничну матрицю, а значить останній стовпчик розширеної
матриці буде містити вектор розв'язків:
1 0 ... 0 x1 
0 1 ... 0 x 2 

 ... ... ... ... ... 
 
0 0 ... 1 xn 
Така форма матриці називається ешелоном скорочених рядків. Саме до
цього вигляду приводить розширену матрицю системи вбудована функція
MathCAD rref(Ab), ім'я якої походить від перших букв англійської назви даної
форми матриці: row-reduced echelon form (форма ешелону скорочених рядків).
Для виведення в робочий листок вектора розв'язків залишається тільки
виділити останній стовпчик із цієї матриці:
x = rref(Ab) <n + 1>
На рис. 2.41 та 2.42, в якості прикладу, наведений лістинг двох програм-
функцій, що реалізують метод Гауса-Жордана. Перша функція
ExchangeRows(Ab, i) у розширеній матриці Ab обмінює i-ий рядок, у якому
діагональний елемент Abii дорівнює нулю з найближчим унизу рядком, у якому
в i-му стовпчику знаходиться ненульовий елемент. Друга функція rrefm(Ab)
власно й реалізує метод Гауса-Жордана. Ім'я цієї функції в кінці має літеру "m"
для того, щоб воно відрізнялося від імені вбудованої функції rref(A).

Рис. 2.41. Лістинг ПФ ExchangeRows(Ab, i),


яка переміщує нулі з головної діагоналі
148
Рис. 2.42. Лістинг ПФ rrefm(Ab), яка реалізує метод Гауса-Жордана

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


Завдання 1. Знайти розв'язок системи лінійних алгебраїчних рівнянь
матричним методом. Матрицю системи А узяти з індивідуальних завдань,
наведених нижче на с. 152-154, відповідно до власного варіанта, який такий самий
як у 1 семестрі, тобто дорівнює номеру студента в списку групи за 1 семестр.
Вектор вільних коефіцієнтів b сформувати з діагональних елементів матриці А.
Завдання 2. Знайти розв'язок системи лінійних алгебраїчних рівнянь із
попереднього завдання за допомогою метода Гауса - Жордана.

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


1. Відкрийте документ MathCAD LR01_Прізвище.xmcd і запишіть його на
жорсткий диск у папку D:\Мои документы\Викладач\Група\ під іменем
LR11_Прізвище.xmcd.
2. Відредагуйте першу текстову область: а) змініть номер лабораторної
роботи з №1 на №11; б) замініть речення "Лінійний алгоритм" на "Системи
лінійних алгебраїчних рівнянь (СЛАР)". Іншу частину робочого листка можна
очистити.
3. Лістинг виконання завдань зразка лабораторної роботи з MathCAD №11
наведений на рис. 2.43.1 - 2.43.2.

149
Рис. 2.43.1. Лістинг виконання зразка ЛР з MathCAD №11

150
Рис. 2.43.2. Закінчення лістингу виконання зразка ЛР з MathCAD №11
4. Проаналізуйте умову завдань зразка даної лабораторної роботи, умову
завдань власного варіанта, лістинг виконання завдань зразка даної лабораторної
роботи, і виконайте відповідним чином завдання власного варіанта.
5. Оформіть звіт про виконання лабораторної роботи за наступними пунктами:
Назва роботи, Тема роботи, Варіант, Група, Прізвище; Умова варіанта,
Результати розрахунків; Висновки: перелік засвоєних елементів вхідної мови
MathCAD.
6. Захистіть роботу у викладача, давши відповіді на контрольні запитання.

Контрольні запитання
1. Назвіть методи розв’язання СЛАР.
2. Охарактеризуйте матричний метод розв'язання СЛАР.
3. Як у звичайному вигляді записується СЛАР?
4. Наведіть матричний вигляд СЛАР?
5. За яких умов існує розв'язок СЛАР?
6. Що таке розширена матриця СЛАР?
7. Охарактеризуйте метод Гауса - Жордана розв'язання СЛАР.
8. Опишіть основну ідею алгоритму метода Гауса - Жордана.
9. Яка умова в цьому алгоритмі накладається на діагональні елементи матриці
системи?
10. Для чого призначена вбудована функція rref(Ab)?
11. В якій формі повертає результат функція rref(Ab)?
151
Індивідуальні завдання для виконання ЛР з MathCAD №11

№1 №2

 -1 2, 5 0 3   1,1 0, 5 -3 0, 3 
   
3, 2 0, 9 1, 4 4, 1 2, 2 3, 9 0, 4 2, 1 
A=  A=
 1, 8 - 3 0, 3 1, 9   0, 8 -3 0, 3 1, 9 
   
 -0, 4 3,1 - 1 -3   -1 3, 3 -2 -4 

№3 №4
 0, 3 - 3, 3 4,1 0, 4   -1,1 0,9 2,4 - 3,1 
   
-2 0, 9 - 2, 4 3,1  0, 2 1,3 3,6 0,7 
A= A=
 1,1 - 6, 3 1, 7 2,1   0,7 1,1 0,1 -1,3 
   
 -2, 3 2,1 - 0, 9 0, 5   1,5 - 2,4 1,9 - 2,1 

№5 №6
 1, 2 2, 9 1, 4 3,1   0, 2 0 1 2, 3 
   
0,1 2, 3 0, 6 1, 7  2, 8 1, 3 3 0 
A= A=
 2, 2 1,1 0, 4 3, 3   1, 5 3, 9 2,1 0, 7 
   
 0, 5 4, 4 7, 2 4,1   3, 4 0 0, 4 1, 8 

№7 №8

 0, 9 5 1,1 2, 3   -3 0, 4 2, 9 4
   
1, 8 2, 3 0, 3 2, 2  -0, 8 2, 6 3, 6 - 5
A= A= 
 2, 5 1, 9 1, 6 1, 7   7, 2 - 5, 3 - 1, 4 3
   
 3, 9 2,1 2, 4 3, 8   3,1 1,1 6, 2 - 1 

№9 №10
 3 0, 4 2, 9 4   0,1 -1,3 2,2 - 0,9 
 0, 8 2, 6 3,6 5   
-2,8 0,6 3,6 1,1
A= A= 
 7, 2 5, 3 1, 4 3   0,2 3,3 -1,6 5,3 
   
 3,1 1,1 6, 2 1   2,6 4,1 - 0,2 2 

152
№11 №12

 -0,6 2 - 3, 2 3   -0,5 2,3 7,2 3,2 


   2,2 - 0,1 - 2,6 5,3 
4,1 -1 0,4 1, 2 
A= A= 
 2,4 1,1 7,6 0, 3   1,4 1,5 3,3 - 4,2 
   
 7,6 2, 7 - 0,9 1   - 2,1 0,8 0,1 5,5

№13 №14
 -0,4 0 -2 0,8   2.7 3. 2 0.4 - 3.6 
   
2,8 3,1 1,1 - 2,6 3.4 - 2.9 4.1 2.9 
A=  A=
 -3,7 0,4 3,2 3,3   -1.1 0.9 0.8 1.1 
   
 1,1 - 2,6 0 4,1   0.9 1.5 - 0.4 6 

№15 №16
 -1,2 -2,4 5,4 - 3,2   1, 6 - 2 6 3
   
2,6 5,6 -3,2 0,7  2 4 1, 5 7
A= A=
 -3,3 -0,9 2,7 - 5,1  3 5 2, 3 6
   
 0,8 1,7 - 0,4 3,3  0, 3 2 0,1 4

№17 №18
 1,7 1.1 2,4 - 0,6   1,2 - 2,4 5,4 - 3,2 
   
 - 1,4 2,2 3.2 1,9   2,6 5,6 - 3,2 0,7 
A  A
2,1 - 0,3 2.6 3,3  - 3,3 - 0,9 2,7 - 5,1 
   
- 4 2,5 0.8 - 2,1   0,8 1,7 - 0,4 3,3 
 

№19 №20
 2 -1 -3 4   1 2 0 4 
   
- 2 0,4 5 - 0,5  -3 4 3 0 
A  A 
1 3 -4 1  -1 3 2 3
   
- 7 4 2 3   4 6 5 7 
 

153
№21 №22
 2 1 5 3  - 1,2 1,4 0,3 - 1,4 
   
- 6 3 -2 4  0,4 2,6 0,5 - 2,5 
A A
8 -7 6 2 1,2 0,3 - 2,7 1,9 
   
- 2 6 -5 7   - 0,7 - 1,4 1, 2 3, 3 
  

№23 №24

 0,4 -2 0,9 2,4 4 1 2 4


   
- 2 - 0,6 - 1,5 - 3  3 5 3 5
A A
2,2 - 1,3 0,7 - 0,9 6 8 4 8
   
 - 1,7 - 0,1 - 0,2 - 1,3 1 2 5 9 
 
№25 №26
8 3 4 1  - 1,4 -1 2,9 5,4
   
4 6 5 7 - 3 - 0,7 3,5 1,4
A A
2 3 2 9 - 1,2 - 2,3 2,7 - 2,9
   
7 4 1 3   - 2,3 - 4,4 0,9 1,5 
 

№27 №28
2 -1 8 -3  - 0,2 3,3 - 1,2 2,1 
   
5 6 1 4  1,4 - 1,6 0,5 0,7 
A A
3 4 6 6 0,3 2,3 1,9 - 1,1 
   
4 3 -3 7   2,7 4,1 - 0,1 2,1 
 

№29 №30
 3,4 1,3 0,9 2,4   - 0,2 - 1,1 2,8 - 3,2
   
 - 1,2 - 0,4 1,5 1,9   1,5 0,6 3,1 1,4 
A A
1,3 4,3 - 1,7 5,1  2,3 3,4 1,6 0,6
   
 0,3 - 1,4 2,9 3,5   - 0,4 1,3 - 0,2 - 1,7
 

154
2.2.3. Запитання для самоконтролю
1. Дайте визначення поняття "масив".
2. Чим визначається розмірність масиву?
3. Що таке розмір масиву?
4. Який масив називається вектором, матрицею, тензором?
5. Що таке гніздовий масив?
6. Для чого призначений нижній індекс елемента масиву?
7. Як уводиться нижній індекс елемента вектора?
8. Скільки індексів має елемент матриці, і що вони нумерують?
9. Назвіть способи створення масивів?
10. В якому вигляді виводиться масив?
11. Наведіть приклади векторних і матричних операторів.
12. Як знайти довжину вектора.?
13. Як знайти визначник матриці?
14. Коли матриця називається діагональною?
15. Що таке одинична матриця і яка її основна властивість?
16. Коли не існує обернена матриця?
17. Охарактеризуйте основну властивість оберненої матриці.
18. Яким чином додаються матриці?
19. Назвіть три групи векторних і матричних функцій.
20. Що таке підматриця і як її знайти?
21. Якій алгоритм називається комбінованим?
22. Що таке розмір та розмірність масиву?
23. Коли масив називається вектором?
24. Як звернутися до i-го елемента вектора?
25. Чим принципово відрізняються функції rnd(x) і runif(m, a, b)?
26. Наведіть структуру програми-функції для обробки векторів.
27. Який оператор дозволяє переглянути всі елементи масиву?
28. Запишіть оператор-лічильник і поясніть як він працює.
29. Чим відрізняються суматор та мультиплікатор?
30. Як знайти середнє арифметичне та середнє геометричне елементів вектора?
31. Який оператор допомагає визначити парність елемента вектора?
32. Що таке довжина вектора?
33. Як обчислюється скалярний добуток двох векторів?
34. Як обчислюється сума вектора й скаляра?
35. Як додаються два вектори?
36. Коли масив називається матрицею?
37. Як звернутися до елемента матриці?
38. Наведіть структуру програми-функції для обробки матриць.
39. Як переглянути всі елементи матриці?
40. При якій умові елемент знаходиться на головній діагоналі?
41. Яке співвідношення між індексами елемента на побічній діагоналі?
42. Якій алгоритм називається модульним?
43. Що таке модуль?
155
44. Опишіть основні принципи модульного програмування.
45. Які способи модульного програмування Ви знаєте?
46. У чому полягають особливості МП в одному документі?
47. Наведіть недоліки МП в одному документі.
48. Як використовуються функції користувача для МП в одному документі?
49. За яких умов два різні вирази можна обрахувати за допомогою однієї
функції користувача?
50. Що таке формальні параметри й для чого вони призначені?
51. У чому фактичні параметри відрізняються від формальних?
52. У чому полягають особливості МП у декількох документах?
53. Чому МП у декількох документах є найбільш сучасним стилем
програмування?
54. Який документ MathCAD називається головним?
55. Що таке бібліотека програм-функцій?
56. Як використовуються програми-функції для МП у декількох документах?
57. Для чого і яким оператором установлюється зв'язок між головним робочим
документом MathCAD, і файлом бібліотеки?
58. Дія яких операторів головного робочого документа MathCAD поширюється
також і на файли бібліотек?
59. Як швидко відкрити файл бібліотеки для редагування?
60. Що треба зробити, щоб зміни у файлі бібліотеки стали доступними в
головному робочому документі MathCAD?
61. Яке рівняння називається лінійним?
62. Що таке поліном?
63. Назвіть два види нелінійних рівнянь.
64. Яке рівняння називається алгебраїчним нелінійним рівнянням (АНР)?
65. Коли нелінійне рівняння називається трансцендентним (ТНР)?
66. Яке значення називається коренем нелінійного рівняння?
67. Назвіть етапи обчислення коренів нелінійного рівняння.
68. Для чого призначена вбудована функція root(f(var), var [, a, b])?
69. Що зберігає вбудована константа TOL?
70. В які способи можна змінити значення TOL?
71. Опишіть алгоритм розв'язання СНР на прикладі системи із двох рівнянь.
72. Що таке Given і для чого воно призначене?
73. Що таке блок розв'язання СНР?
74. В якій формі записуються рівняння в блоці розв'язання СНР?
75. Для чого призначені вбудовані функції find(xo, y0) та minerr(xo, y0)?
76. За яких причин може бути відсутній розв'язок СНР?
77. Як обчислюються корені алгебраїчного нелінійного рівняння?
78. Що є аргументом вбудованої функції polyroots(a)?
79. Що таке комплексно спряжені корені АНР?
80. Назвіть методи розв’язання СЛАР.
81. Охарактеризуйте матричний метод розв'язання СЛАР.
82. Як у звичайному вигляді записується СЛАР?
83. Наведіть матричний вигляд СЛАР?
156
84. За яких умов існує розв'язок СЛАР?
85. Що таке розширена матриця СЛАР?
86. Охарактеризуйте метод Гауса - Жордана розв'язання СЛАР.
87. Опишіть основну ідею алгоритму метода Гауса - Жордана.
88. Яка умова в цьому алгоритмі накладається на діагональні елементи матриці
системи?
89. Для чого призначена вбудована функція rref(Ab)?
90. В якій формі повертає результат функція rref(Ab)?

157
2.2.4. Самостійна робота студентів (СРС-4…9)
Студенту надається можливість вибрати тип виконуваної СРС:
теоретична або практична.
За кожну виконану теоретичну СРС виставляється 1 бал, за захист однієї
СРС додається ще 1 бал. За правильне виконання практичної СРС
виставляється 8 балів, за захист практичної СРС додається ще 4 бали.
Теоретичні завдання для виконання самостійної роботи
Зміст СРС-4. Обробка масивів
4.1. Векторні, матричні оператори та функції.
Зміст СРС-5. Модульне програмування в одному документі
5.1. Використання однорядкових функцій користувача та програм-
функцій для структуризації робочого документа Mathcad.
Зміст СРС-6. Модульне програмування в декількох документах
6.1. Основні принципи й переваги модульного програмування в декількох
документах.
Зміст СРС-7. Нелінійні рівняння та системи
7.1. Основні принципи та засоби розв’язання нелінійних рівнянь та систем.
Зміст СРС-8. Системи лінійних алгебраїчних рівнянь
8.1. Розв’язання систем лінійних алгебраїчних рівнянь матричним методом.
Зміст СРС-9. Системи лінійних алгебраїчних рівнянь
9.1. Розв’язання систем лінійних алгебраїчних рівнянь методом Гауса та
за допомогою функції lsolve.
Вимоги до оформлення теоретичної СРС
 Номер варіанта такий самий як у 1 семестрі.
 Виконується тільки ручкою в шкільному зошиті на 12 сторінок.
 Кожна СРС починається з нової сторінки.
 Здавати тільки при наявності відповідей на всі питання.
 Ксерокопії не приймаються.
 Необхідно підписати роботу на обкладинці зошита таким чином:

У правому верхньому кутку


кружечок з номером варіанту: №
2010/2011
2 семестр
Модуль 2
СРС-4…9
Група
П.І.Б.

158
Відповідати на питання СРС необхідно за наступним зразком.
1 сторінка зошита

СРС 4

Обробка масивів
4.1. Векторні, матричні оператори та функції.
Відповідь.

Практичні завдання для виконання самостійної роботи


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

Вимоги до оформлення практичної СРС


Титульна сторінка оформлюється таким же чином, як і при виконанні
теоретичної СРС.
При виконанні практичного завдання до СРС-4...9, необхідно:
1) записати умову завдання;
2) накреслити блок-схему алгоритму розв'язання задачі;
3) перекласти блок-схему алгоритму на вхідну мову MathCAD, тобто
створити програму розв'язання завдання;
4) увести програму в робочий документ MathCAD;
5) виконати програму;
6) отримати результати;
7) якщо студент у 1 семестрі теж виконував практичне завдання до
СРС-4...9, то слід порівняти отримані результати з тими, що були
вирахувані при виконанні цього ж завдання у системі
програмування Visual Basic 6.0: обидва результати повинні
співпадати;
8) зробити висновок, у якому відобразити ті елементи вхідної мови
MathCAD, що були засвоєні при виконанні даного практичного
завдання;
9) зафіксувати (написати або роздрукувати) виконані етапи
розв'язання завдання в зошиті для СРС.

159
2.3. Перелік теоретичних питань та практичних завдань
до підсумкового модульного контролю (екзамену)

Теоретичні питання
1. Операційна система WINDOWS. Робочий стіл. Головне меню.
2. Операційна система WINDOWS. Панель задач. Меню кнопки “Пуск”.
3. Операційна система WINDOWS. Вікна. Операції над вікнами.
4. Операційна система WINDOWS. Копіювання, вилучення, перейменування
файлів та папок.
5. Операційна система WINDOWS. Пошук файлів та папок.
6. Операційна система WINDOWS. Файловий менеджер “Проводник”
("Explorer") та його функціональні можливості. Файлова система.
Створення файлів та папок.
7. Графічний редактор Paint. Створення та редагування рисунків.
8. Word. Вікна. Панелі інструментів. Рядок меню.
9. Word. Створення, знищення, відкриття та збереження документа.
10. Word. Редагування та форматування тексту.
11. Word. Створення пустої таблиці. Редагування та форматування таблиці.
12. Word. Таблиці. Обчислення в таблиці за формулами.
13. Word. Оформлення документів. Редактор формул.
14. Word. Оформлення документів. Створення рисунків та графічних об’єктів.
15. Excel. Призначення та можливості.
16. Excel. Види електронних таблиць, етапи їхньої розробки.
17. Excel. Введення та редагування формул.
18. Excel. Побудова діаграм.
19. Етапи обробки інформації на ЕОМ. Алгоритмізація задач.
20. Різновидності структур алгоритмів. Схеми, програми. Приклади.
21. Схеми алгоритмів, правила побудови схем.
22. Алгоритм лінійної структури. Схеми, програми. Приклади.
23. Алгоритм розгалуженої структури. Схеми, програми. Приклади.
24. Алгоритми циклічної структури: арифметичний цикл. Схеми, програми.
Приклади.
25. Алгоритми циклічної структури: ітераційний цикл. Схеми, програми.
Приклади.
26. Алгоритми циклічної структури: вкладені цикли. Схеми, програми.
Приклади.
27. Елементи мови Visual Basic. Символи, константи, змінні. Приклади.
28. Елементи мови Visual Basic. Інтегроване середовище розробки (IDE). Панелі
інструментів.
29. Елементи мови Visual Basic. Інтегроване середовище розробки (IDE). Вікно
форми.
30. Елементи мови Visual Basic. Інтегроване середовище розробки (IDE). Вікно
властивостей-Properties.

160
31. Елементи мови Visual Basic. Інтегроване середовище розробки (IDE). Вікно
проекту.
32. Елементи мови Visual Basic. Візуальний стиль програмування.
33. Елементи мови Visual Basic. Структура програми. Коментарі до програм.
34. Елементи мови Visual Basic. Стандартні математичні функції. Арифметичні
вирази. Приклади.
35. Елементи мови Visual Basic. Оператори. Призначення й класифікація.
36. Visual Basic. Оператори вводу-виводу, формати операторів. Приклади.
37. Елементи мови Visual Basic. Процедури та функції.
38. MathCAD. Числа, змінні, математичні функції, арифметичні вирази.
Приклади.
39. MathCAD. Створення та редагування текстової області. Математична
область.
40. MathCAD. Дискретні аргументи. Приклади застосування.
41. MathCAD. Масиви. Створення масивів. Дії з масивами. Приклади.
42. MathCAD. Основні векторні та матричні оператори й функції
43. MathCAD. Побудова графіків функцій та їхнє форматування.
44. MathCAD. Знаходження коренів нелінійних рівнянь.
45. MathCAD. Знаходження коренів поліномів.
46. MathCAD. Розв’язок систем лінійних рівнянь.
47. MathCAD. Опис програми-функції. Локальний оператор присвоювання.
48. MathCAD. Умовна функція if. Формат. Приклади.
49. MathCAD. Умовний оператор if. Формат. Приклади.
50. MathCAD. Оператор циклу for. Формат. Приклади.
51. MathCAD. Оператор циклу while. Формат. Приклади.
52. MathCAD. Вкладені цикли. Обробка двовимірних масивів.
53. MathCAD. Модульне програмування в одному документі. Функція
користувача. Формат. Приклади.

Теми практичних завдань з MathCAD


Лабораторна робота №1. Лінійний алгоритм.
Лабораторна робота №2. Розгалужений алгоритм.
Лабораторна робота №3. Арифметичний цикл.
Лабораторна робота №4. Ітераційний цикл.
Лабораторна робота №5. Обробка векторів і матриць за допомогою операторів
та вбудованих функцій MathCAD.
Лабораторна робота №6. Обробка векторів.
Лабораторна робота №7. Обробка матриць.
Лабораторна робота №8. Однорядкова функція користувача.
Лабораторна робота №10. Розв'язання нелінійних рівнянь.
Лабораторна робота №10. Розв'язання систем нелінійних рівнянь.
Лабораторна робота №10. Знаходження коренів полінома.
Лабораторна робота №11. Розв'язання систем лінійних алгебраїчних рівнянь.

161
Література
1. Робота в середовищі Windows 98. Методичні вказівки до виконання
лабораторних робіт з курсів дисциплін “Основи інформатики” і
“Обчислювальна техніка та програмування” для студентів усіх
спеціальностей/Укл. Алєксєєнко К.М., Величко К.С., Кривенко В.І.,
Червякова Т.І.–К.: НТУ, 2001.–54 с.
2. Операційна система Windows XP. Методичні вказівки до виконання
лабораторних робіт з курсів дисциплін “Основи інформатики” та
“Комп’ютерна техніка та програмування” для студентів усіх
спеціальностей/Укл. Червякова Т.І., Алєксєєнко К.М.,–К.: НТУ, 2006.–34 с.
3. Графічний та текстовий редактори PAINT та WORD. Методичні вказівки до
виконання лабораторних робіт з курсів дисциплін “Основи інформатики” і
“Обчислювальна техніка та програмування” для студентів економічних
спеціальностей/Укл. Алєксєєнко К.М., Величко К.С., Кривенко В.І.,
Червякова Т.І.–К.: НТУ, 2001.–54 с.
4. Microsoft Office. Текстовий редактор Word. Методичні вказівки до
виконання лабораторних робіт з дисциплін “Основи інформатики” та
“Комп'ютерна техніка та програмування” для студентів всіх
спеціальностей/Укл. Червякова Т.І., Алєксєєнко К.М.–К.: НТУ, 2006.–80 с.
5. Excel 97. Основні поняття та прийоми роботи. Учбовий посібник з
дисципліни “Сучасні комп’ютерні технології” для студентів всіх
спеціальностей./Укл. Т.І. Червякова, В.І. Кривенко.-К.: УТУ, 1999.–96 с.
6. Microsoft Office. Презентація Power Point. Методичні вказівки до виконання
лабораторних робіт з курсів дисциплін “Основи інформатики” та
“Комп’ютерна техніка та програмування” для студентів усіх
спеціальностей/Укл. Червякова Т.І., Алєксєєнко К.М.,–К.: НТУ, 2006.–16 с.
7. Visual Basic 6.0. Основи алгоритмізації та програмування: навчальний
посібник до курсу “Інформатика” для студентів інженерних спеціальностей
денної форми навчання./Укл. В.Д. Данчук, К.С. Величко, К.М. Алєксєєнко,
А.П. Кравчук–К.:НТУ.–2009.–178 с.
8. Mathcad в інженерних розрахунках. Частина 1. Методичні вказівки для
студентів інженерних спеціальностей./Укл. В.В. Гавриленко, К.С. Величко,
К.М. Алєксєєнко.–К.: НТУ, 2004.–127 с.
9. Mathcad в інженерних розрахунках. Частина 2. Посібник для студентів
інженерних спеціальностей НТУ./Укл. В.В. Гавриленко, К.С. Величко, К.М.
Алєксєєнко.–К.: НТУ, 2004.–108 с.

162
Підписано до друку 10.06.2010 р. Формат 60х84/16.
Папір офсетний №1. Гарнітура Times.
Вк. 17. Наклад 500. Зам. Л_10_079.

01103, м. Київ, вул. Кіквідзе, 39.


Редакційно-видавничий відділ НТУ, тел. 284-26-26

You might also like