2302

Програмування в Mathcad

Лекция

Информатика, кибернетика и программирование

Принцип програмування в Mathcad. Панель програмування. Локальний оператор присвоєння. Умовний оператор if. Організація обчислень з розгалуженнями. Алгоритми і програми циклічної структури. Оператор циклу з параметром. Оператор циклу з передумовою. Задачі обробки одновимірних та двовимірних масивів.

Украинкский

2013-01-06

76.51 KB

128 чел.

Лекція №11. Програмування в Mathcad

План

  1.  Принцип програмування в Mathcad. Панель програмування.
  2.   Локальний оператор присвоєння. Умовний оператор if. Організація обчислень з розгалуженнями.
  3.  Алгоритми і програми циклічної структури. Оператор циклу з параметром. Оператор циклу з передумовою.
  4.  Задачі обробки одновимірних та двовимірних масивів.

1. Принцип програмування в Mathcad. Панель програ-

мування

Для вставки програмного коду в документи Mathcad використовується спеціальна панель Programming (Программирование), яку можна викликати на екран, натиснувши кнопку Programming Toolbar на панелі Math (Математика). Більшість кнопок цієї панелі виконані у вигляді текстового представлення операторів програмування, тому зміст їх зрозумілий.

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

  1.  можливість застосування циклів та умовних операторів;
  2.  простота створення функцій та змінних;
  3.  використання локальних змінних та обробка помилок.

Реалізувати алгоритм обчислення в пакеті Mathcad можна, використовуючи програми-функції, що містять конструкції, подібні до конструкцій мов програмування Pascal чи Fortran – оператори присвоєння, оператори циклів, умовні оператори тощо. Такий спосіб програмування називається програмуванням у програмі – функції.

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

Порядок опису програми-функції MathCad

Для введення в робочий документ опису програми-функції необхідно:

  1.  ввести ім’я програми-функції і список формальних параметрів та ввести символ “:”;
  2.  відкрити панель Програмування та клацнути кнопку “Add line”.   

  

 На екрані з’явиться вертикальна риска і вертикальний стовпець із двома полями для введення операторів, що утворюють тіло програми-функції.

  1.   перейти в перше поле і ввести перший оператор тіла програми-функції. Нижнє поле завжди призначене для визначення значень, які повертаються програмою. Для того, щоб ввести додаткові поля для введення операторів, потрібно натиснути кнопку “Add line”. Для видалення того чи іншого оператора або поля введення з тіла програми-функції, потрібно виділити його рамкоюі натиснути клавішу Delete.
  2.  заповнити нижнє поле введення, ввести вираз, який визначає значення, що повертається через ім’я програми-функції.

Приклад опису програми-функції.

Обчислити значення функції

а) Опис і звертання до програми-функції, яка використовує формальні та фактичні параметри:

б) Опис і звертання до програми-функції, яка не використовує формальні параметри:

 

2. Локальний оператор присвоєння. Умовний оператор if. Організація обчислень з розгалуженнями

 Локальний оператор присвоєння

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

    <ім’я змінної>  <вираз>

Використання звичайного оператора присвоєння (:=) у тілі програми-функції приводить до синтаксичної помилки.

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

 Умовний оператор використовується тільки в тілі програми-функції і для його введення потрібно клацнути на кнопці if панелі програмування. На екрані з’явиться така конструкція:    

В поле , шо знаходиться після if , вводиться логічний вираз. В поле, що знаходиться перед if, вводиться вираз, значення якого використовується , якщо логічний вираз приймає значення true. В поле, що знаходиться в наступному рядку після if, вводиться вираз, значення якого використовується, якщо логічний вираз приймає значення false. Для введення в це поле необхідно:

  1.  помістити це поле в рамку;
  2.  клацнути на кнопці otherwise панелі програмування;
  3.  в поле, що залишилося, ввести відповідний вираз.

Логічні операції

Логічна операція OR. Позначається знаком + або  і записується у вигляді <логічний вираз 1><логічний вираз 2>.

Логічна операція AND. Позначається знаком * або  і записується у вигляді <логічний вираз 1><логічний вираз 2>.

Приклад1. Обчислити значення функції  

Використати програму-функцію, яка використовує формальні та фактичні параметри.

Порядок виконання завдання:

  1.  задати значення параметра  a:=3
  2.  ввести і на екрані отримати наступне

 

  1.  двічі клацнути кнопку Add line панелі програмування та отримати таке:

 

  1.   заповнити перше, друге, третє поля та отримати таке:

  

  1.  обчислити значення функціїї в точці x=4 . Для цього введіть з клавіатури  y(4)= та отримайте результат

Приклад 2. Обчислити значення функції  

Використати програму-функцію, яка не використовує формальні та фактичні параметри.

3. Алгоритми і програми циклічної структури. Оператор циклу з параметром. Оператор циклу з передумовою

Циклом будемо називати групу операторів, яка може повторюватись декілька разів.

Оператор циклу з параметром

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

  1.  клацнути на кнопці for панелі Programming (Программирование) . На екрані зявляться поля введення (місцезаповнювачі)

 

  1.  в поле 1 вводять ім’я параметра циклу;
  2.  в поле 2 вводять діапазон значень параметра циклу, використовуючи для цього дискретний аргумент;
  3.  в поле 3 вводять оператори, що складають тіло циклу.

Оператор циклу з передумовою

Для введення цього оператора необхідно виконати такі дії:

  1.  клацнути на кнопці while панелі Programming (Программирование) . На екрані з’являться поля введення (місце заповнювачі)

 

  1.  в поле 1 вводять умову виконання циклу;
  2.  в поле 2 вводять оператори тіла циклу. У тілі циклу повинні бути присутні оператори, які роблять умову циклу хибною, інакше цикл буде виконуватись нескінченно.

Оператор циклу з передумовою виконується таким чином: знайшовши оператор while, Mathсad перевіряє вказану умову. Якщо вона істинна, то виконується тіло циклу і знову перевіряється умова. Якщо вона хибна, то цикл завершується.

Приклад 3. Скласти програму обчислення значення функції на вказаному проміжку із заданим кроком

Розв’язання:

  

 

Приклад 4. Скласти програму обчислення значення функції, починаючи із заданої точки

  

Розв’язання:

 

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

Програма матиме такий вид:

    Приклад 4. Скласти програму обчислення суми  

Програма матиме такий вид:

Приклад 5. Скласти программу обчислення добутку .

Програма матиме такий вид:

4. Задачі обробки одновимірних та двовимірних масивів

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

  1.  за допомогою команди Вставка Матрица;
  2.  за допомогою комбінації клавіш Ctrl+M;
  3.  клацанням на кнопці панелі Матрица.

Щоб звернутися до окремих елементів вектора, використовують оператор нижнього індексу . Для роботи з масивами використовують вбудовані в Mathcad функції, які викликаються командами ВставкаФункцияВектор и матрица. Нехай задано масив A=(3, 12, 0, 4, -1).

 Функція

Призначення

Приклад

cols

Повертає число стовпців

cols(A)=1

rows

Повертає число рядків

rows(a)=5

last

Повертає індекс останнього елементу масиву

last(A)=5

length

Повертає кількість елементів масиву

length(A)=5

min

Повертає мінімальний елемент

min(A)=-1

max

Повертає максимальний елемент

max(A)=4

Обробка елементів двовимірного масиву здійснюється так само, як і обробка елементів одновимірного масиву. Єдина відмінність – це те, що необхідно використовувати вкладені цикли: один цикл, зовнішній для переміщення між рядками, а другий, внутрішній, для переходу між елементами рядка. Над двовимірними масивами визначені функції: cols, rows, min, max.

Приклад 1. Вивести на екран індекс нульового елементу масиву А=(5, 9, -4, 0, 2).

Результат виконання завдання матиме такий вид:

 

Приклад 2. Знайти добуток елементів массиву =(-8, 5, 1, 4, 3).

Результат виконання завдання матиме такий вид: 

Приклад 3. В матриці А= обчислити суму значень елементів кожного рядка.

Результат виконання завдання матиме такий вид:

Приклад 4. Скласти програму знаходження суми двох двовимірних масивів. Результат записати в третій масив.

Результат виконання завдання матиме такий вид:

Приклад 5. Обчислити добуток елементів головної діагоналі матриці

Результат виконання завдання матиме такий вид:

Приклад 10. Обчислити добуток елементів побічної діагоналі матриці .

Результат виконання завдання матиме такий вид:


 

А также другие работы, которые могут Вас заинтересовать

22002. Франция в XI-XV вв. 269.5 KB
  Серв получал свободу только через отпуск для чего требовалась еще и санкция вышестоящего сеньора или короля. должность графа равно как и прочие бенефиции полученные от короля становилась наследственным достоянием их обладателей. на дворянский отряд осуществлявший в Бовези реквизицию продуктов у крестьян стали осаждать рыцарские замки сжигать или захватывать поместья было разрушено не менее 100 замков или домов уничтожать списки повинностей и требовать истребления всех дворян кроме короля. Города разными путями добивались...
22003. Франция в XVI-XVIII вв. 183 KB
  Во Франции в XVIXVII вв. Парижский бассейн – самая развитая область Франции урожайность – 15 цт с 1 га сам5; на юге – чуть ниже; трехполье; для сравнения – урожайность в Англии составляла 13 цт с 1 га. в некоторых местностях Северной Франции появилась новая форма аграрных отношений – краткосрочная аренда более или менее крупных земельных комплексов. – климат характеризуется потеплением и преобладанием урожайных лет над неурожайными а война велась вне пределов Франции и сопровождалась умеренным ростом налогов.
22004. Україна у складі Російської та Австро-Угорської імперій (кінець ХVІІІ – початок ХХ ст.) 56 KB
  Український суспільно-політичний рух опирався не тільки на внутрішні джерела, а й на зовнішні чинники. Йдеться, зокрема, про відчутний вплив на цей рух Французької революції, зокрема її концепції вільної нації.
22005. Чехия в XI-XV вв. 127.5 KB
  Леса – хвойные Чехии смешанные Словакия. В Чехии со второй четверти XII в. – конец династии Пшемысловичей борьба за престол и утверждение в Чехии Люксембургов 1310 г. Во главе деревни стоял наследственный староста – в Чехии – рижстарж в Польше – солтыс войт.
22006. Швейцария в XVI в. 52.5 KB
  Торговля содействовала развитию кредита так как Цвингли и Кальвин отвергли запрет . Ульрих Цвингли 14841531 сын сельского старосты окончил латинскую школу в Берне в Базельском и Венском университетах связан с Эразмом магистр свободных искусств увлекался гуманистическими штудиями. У Цвингли не было ничего из мистического созерцания Лютера. Цвингли свои взгляды изложил в 67 тезисах 1523 г.
22007. Япония в III-VIII –XII вв. 64 KB
  Заселение овов Японии началось давно. в Японии образовался племенной союз занимавший ов Кюсю или по мнению других южную часть ова Хонсю провинции Ямато Коти Эцу. По синтоизму – японская нация ведет свое происхождение от богиги Солнца Аматэрасу потомком которой был легендарный император Японии Дзиммутэнно 660 г. Особенность исторического развития Японии состоит в том что первобытнообщинный строй трансформировался в феодальный минуя рабовладельческий.
22008. Япония в XIV-XVI вв. 78 KB
  Таким образом появление новой сёгунской династии не означало централизации страны. Вся остальная часть страны находилась в руках местных феодалов. Посевы хлопчатника до этого сеяли эту культуру только в южной части страны появились и в восточной части страны. Встал вопрос об объединении страны.
22009. Международные отношения в средние века. Итальянские войны 116.5 KB
  Примером является империя Карла V. Таким образом накануне похода Карла VIII Италия разделилась на 2 лагеря – Милан Венеция Рим – с одной стороны и Неаполь Флоренция – с другой. Флорентийцы восстали и изгнали Медичи Флоренция встретила Карла VIII не как завоевателя а как союзника хотя и пришлось выполнить ряд тяжелых условий – выплатить 120. Задача флорентийского правительства Пьетро Каппони видело главную задачу в том чтобы скорее выпроводить Карла VIII из Флоренции и из Тосканы.
22010. Нидерландская буржуазная революция 133 KB
  Расширялось стойловое содержание скота Голландия а ломовые лошади из Голландии Фрисландии Зеландии шли даже на экспорт. они исполнялись с непреклонной жестокостью и среди уголовных приговоров суда Голландии 2030х гг. Флот одной Голландии в 60 г. Среди городов Голландии на первое место постепенно выдвигается Амстердам по объемам морского флота мореходства рыболовства он перегнал все остальные города.