Циклы в маткаде примеры

Циклы в маткаде примеры

ПРОГРАММИРОВАНИЕ В СИСТЕМЕ MATHCAD

Введение

Как известно из истории развития вычислительной техники, программное обеспечение, в том числе, используемое для математических расчетов, также эволюционировало от машинных языков низкого уровня к языкам высокого уровня и, наконец, к пакетам прикладных программ, предоставляющим инженерам и ученым возможность решать задачи не имея специальной «программисткой» подготовки, что, конечно, не избавляет их от необходимости владеть математическим аппаратом и специальными знаниями, а также возможностей используемых ими пакетов программ.

Тем не менее, математические пакеты дают огромные возможности исследователям и инженерам, так как содержат тщательно сбалансированные средства численных и символьных вычислений с графической визуализацией результатов в сочетании с современным интерфейсом пользователя, мощной справочной системой, обширными пакетами расширений (ориентированных на решение определенного класса задач) и средствами для работы в Internet.

К таким пакетам относятся MatLab, Mathematica , Maple и MathCAD.

Возможности этих пакетов огромны и с каждой новой версией их становится все больше, тем не менее, не всегда можно обойтись использованием «готовых» функций, входящих как в сам MathCAD, так и в пакеты расширений. Их использование порождает достаточно простые алгоритмические конструкции, реализуемые непосредственно в документе MathCAD. Однако в ряде случаев возникает необходимость программирования того или иного «нестандартного» вычислительного алгоритма. Здесь необходимы навыки программирования с учетом особенностей конструкций пакета MathCAD.

Этим вопросам и посвящена эта часть дисциплины «Информатика»

Подпрограмма-функция. Описание и вызов.

Программирование в системе MathCad, предполагает использование так называемых подпрограмм-функций (П-Ф), определяемых непосредственно пользователем. П-Ф позволяют реализовывать выполнение последовательности действий с использованием различных сочетаний алгоритмических структур – следования, ветвления и циклов.

Работа с П-Ф начинается с ее описания. Для этого нужно:

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

2. После имени вводится знак «:=» присваивания.

3. Открыть палитру Программирование и щелкнуть кнопкой Add line (рис. 1.1). На экране появится вертикальная черта и вертикальный столбец с двумя полями для ввода операторов, образующих тело П-Ф (рис. 1.2);

Рис.1.1. Палитра ПРОГРАММИРОВАНИЕ

Тело подпрограммы-функции включает любое число операторов: локальных операторов присваивания, условных операторов и операторов цикла, а также вызов других П-Ф и функций пользователя.

Рис.1.2. Структура подпрограммы-функции.

4. Перейти в поле 1 (щелкнув на нем мышью или нажав клавишу [Tab]) и начать вводить операторы П-Ф, оставляя самое нижнее поле тела для возвращаемого значения функции – результата работы П-Ф. на рис. 1.2.это поле 2.

Так как тело П-Ф как правило состоит из более чем двух полей, то поля ввода для дополнительных операторов открываются с помощью щелчка на кнопке Add line палитры программирование (см. рис. 4.1.3). При этом поле ввода добавляется внизу выделенного к этому моменту оператора. Для удаления того или иного оператора или поля ввода из тела П-Ф нужно заключить его в выделяющую рамку и нажать клавишу [Delete];

Обратите внимание, что оператор присваивания в теле П-Ф имеет вид стрелки, направленной влево: ← и называется локальным оператором присваивания.

Рис.3.1. Пример программирования линейного алгоритма

Рис. 4.1. Структура условного оператора if «ЕСЛИ – ТО»

Поле 2 заполняется условием, если оно верно (истинно), то выполняется выражение, стоящее в Поле 1.

Вычислить значение функции, заданной следующим образом:

.

Реализация ЕСЛИ – ТО (if) в MathCad:

Рис. 4.1. Реализация условного оператора if «ЕСЛИ – ТО»

Для получения условной структуры ЕСЛИ – ТО – ИНАЧЕ используется оператор otherwise, вводимый с палитры ПРОГРАММИРОВАНИЕ, в поле которого размещается конструкция ВЫР2, которая выполняется, если проверяемое логическое выражение принимает значение ЛОЖЬ (0) (рис. 4.2). Оператор otherwise непосредственно следует после условного оператора if.

Рис.4.2. Реализация структуры «ЕСЛИ – ТО – ИНАЧЕ»

Для ввода ВЫР2 в поле оператора otherwise необходимо:

· выделить поле, стоящее после оператора if;

· щелкнуть на кнопке otherwise палитрыПРОГРАММИРОВАНИЕ;

· в появившееся поле оператора otherwise ввести необходимую конструкцию ВЫР2.

Вычислить значение функции, заданной следующим образом:

.

Реализация ЕСЛИ – ТО – ИНАЧЕв MathCad :

Рис. 4.3. Реализация условного оператора if «ЕСЛИ – ТО- ИНАЧЕ»

Читайте также:  Ns cert type server

Рис. 5.1. Поля оператора цикла for

· в поле ввода 1 ввести имя переменной, являющейся параметром цикла;

· в поле 2 — закон изменения параметра цикла, используя для этого описание дискретной переменной или описание массива;

· в поле 3 — операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке Add line палитры ПРОГРАММИРОВАНИЕ, и тогда слева от тела цикла появляется вертикальная черта, охватывающая тело цикла.

Написать программу формирования вектора длины п, значения элементов которого являются значениями выражения , где .

Рис. 5.2. Реализация цикла FOR в MathCad:

На отрезке [-1;3] с шагом 0,3, вычислить значения функции и сформировать из этих значений вектор .

Примем — начальное значение, а — конечное значение аргумента, приращение аргументы происходит по закону , получим реализацию алгоритма for:

Рис. 5.3. Формирование вектора примера 5.2

Следует помнить, что и в тексте программы не являются элементами вектора и знаки 0 и k пишутся через десятичную точку.

Рис. 5.4. Структура оператора итерационного цикла

· в поле 1 ввести условие выполнения цикла;

· в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы, которые могут изменить значение условия цикла, иначе цикл будет продолжаться бесконечно.

Оператор цикла while выполняется следующим образом: обнаружив оператор while, Mathcad проверяет указанное в операторе условие. Если оно равно 1 (т.е. выполняется), то выполняется тело цикла, и снова проверяется условие. Если условие принимает значение 0, то цикл заканчивается.

Вычислять значение функции с шагом на отрезке [0.001; 3], до тех пор, пока .

Решение. Как видно из рисунка 5.5, функция , действительно меняет знак на отрезке [0.001; 3].

Введем следующие обозначения: а – начальное значение функции, d – приращение аргумента (шаг, с которым вычисляется значение функции ).

Рис. 5.5. График функции

Реализация программы итерационного цикла с использованием оператора whileприведена ниже на рис. 5.6:

Рис. 5.5. решение задачи примера 5.3

ПРОГРАММИРОВАНИЕ В СИСТЕМЕ MATHCAD

Введение

Как известно из истории развития вычислительной техники, программное обеспечение, в том числе, используемое для математических расчетов, также эволюционировало от машинных языков низкого уровня к языкам высокого уровня и, наконец, к пакетам прикладных программ, предоставляющим инженерам и ученым возможность решать задачи не имея специальной «программисткой» подготовки, что, конечно, не избавляет их от необходимости владеть математическим аппаратом и специальными знаниями, а также возможностей используемых ими пакетов программ.

Тем не менее, математические пакеты дают огромные возможности исследователям и инженерам, так как содержат тщательно сбалансированные средства численных и символьных вычислений с графической визуализацией результатов в сочетании с современным интерфейсом пользователя, мощной справочной системой, обширными пакетами расширений (ориентированных на решение определенного класса задач) и средствами для работы в Internet.

К таким пакетам относятся MatLab, Mathematica , Maple и MathCAD.

Возможности этих пакетов огромны и с каждой новой версией их становится все больше, тем не менее, не всегда можно обойтись использованием «готовых» функций, входящих как в сам MathCAD, так и в пакеты расширений. Их использование порождает достаточно простые алгоритмические конструкции, реализуемые непосредственно в документе MathCAD. Однако в ряде случаев возникает необходимость программирования того или иного «нестандартного» вычислительного алгоритма. Здесь необходимы навыки программирования с учетом особенностей конструкций пакета MathCAD.

Этим вопросам и посвящена эта часть дисциплины «Информатика»

Последнее изменение этой страницы: 2016-09-13; Нарушение авторского права страницы

В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию. Чтобы вставить в программный модуль оператор цикла:

  • Создайте в программном модуле новую линию.
  • Вставьте один из операторов цикла for или while нажатием одноименной кнопки на панели Programming (Программирование).
  • Если выбран оператор for (рис. 6.9), то вставьте в соответствующие ме-стозаполнители имя переменной и диапазон ее значений (листинги 6.6 и 6.7), а если while — то логическое выражение, при нарушении которого должен осуществляться выход из цикла (листинг 6.8).

Рис. 6.9. Вставка оператора цикла

  • В нижний местозаполнитель введите тело цикла, т. е. выражения, которые должны выполняться циклически.
Читайте также:  Не печатает синий цвет на принтере эпсон

При необходимости дополните программу другими строками и введите в них нужный код.

Диапазон значений переменной в условии цикла for можно задать как с помощью диапазона ранжированной переменной (листинг 6.6), так и с помощью вектора (листинг 6.7).

Листинг 6.6. Оператор цикла for с ранжированной переменной

Листиг 6.7. Оператор цикла for с вектором

Листинг 6.8. Опратор цикла while

Иногда необходимо досрочно завершить цикл, т. е. не по условию в его заголовке, а в некоторой строке в теле цикла. Для этого предназначен оператор break. Модификации листингов 6.6 и 6.8 с прерыванием цикла оператором break приведены в листингах 6.9 и 6.10, соответственно. Например в листинге 6.9, как только значение переменной цикла i достигает 2, цикл, благодаря оператору break в последней строке программного модуля, прерывается. Соответственно, значение переменной х остается равным 0+1+2=3.

Листинг 6.9. Оператор break внутри цикла for

Листинг 6.10. Оператор break внутри цикла while

Чтобы четче обозначить границы завершения тела цикла, в его конце может использоваться дополнительная строка с оператором continue, который вводится одноименной кнопкой панели Programming. Примеры, модернизирующие листинги 6.7 и 6.8, иллюстрируются листингами 6.11 и 6.12, соответственно. Как видно, на результат программы наличие оператора continue не влияет.

Листинг 6.11. Оператор continue в конце цикла while

Листинг 6.12. Оператор continue в конце цикла for

НОВОСТИ ФОРУМА
Рыцари теории эфира
01.10.2019 — 05:20: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Youtube]69vJGqDENq4[/Youtube][/center]
[center]14:36[/center]
Osievskii Global News
29 сент. Отправлено 05:20, 01.10.2019 г.’ target=_top>Просвещение от Вячеслава Осиевского — Карим_Хайдаров.
30.09.2019 — 12:51: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Ok]376309070[/Ok][/center]
[center]11:03[/center] Отправлено 12:51, 30.09.2019 г.’ target=_top>Просвещение от Дэйвида Дюка — Карим_Хайдаров.
30.09.2019 — 11:53: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
[center][Youtube]VVQv1EzDTtY[/Youtube][/center]
[center]10:43[/center]

интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
мой телеграмм https://t.me/peshekhonovandrei
мой твиттер https://twitter.com/Andrey54708595
мой инстаграм https://www.instagram.com/andreipeshekhonow/

[b]Мой комментарий:
Андрей спрашивает: Краснодарская синагога — это что, военный объект?
— Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

Для вставки программного кода в документы MathCAD имеется специальная панель инструментов Программирование. Большинство кнопок

этой панели выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен.

Программирование имеет ряд преимуществ:

• возможность применения циклов и условных операторов;

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

• возможность создания функций, содержащих закрытый для остального документа код, включая преимущества использования локальных переменных и обработку ошибок.

Программный модуль обозначается в MathCAD вертикальной чертой, справа от которой последовательно записываются операторы языка программирования.

Чтобы создать программный модуль, надо:

1. ввести часть выражения, которая будет находиться слева от знака присваивания и сам знак присваивания, например, f(x).

2. нажать на панели Программирование кнопку Add Line (добавить строку программирования), если приблизительно известно, сколько строк будет содержать программа, можно многократным нажатием на эту кнопку ввести соответствующее количество строк. Вставить строку программного кода можно в любой момент с помощью той же кнопки Add Line.

3. в появившиеся местозаполнители ввести желаемый программный код, используя программные операторы.

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

Имена программных операторов нельзя вводить с клавиатуры. Для их вставки можно применять панель инструментов или сочетания клавиш, которые приведены в тексте всплывающей подсказки.

Таким образом, программа MathCAD есть выражение, состоящее из последовательности операторов, каждый из которых является, в свою очередь, выражением.

Читайте также:  По мнению специалистов запятая

Язык программирования не был бы эффективным, если бы не позволял создавать внутри программных модулей локальные переменные. Присваивание в пределах программ, в отличие от документов MathCAD, производится с помощью оператора Локальное присваивание (Local Definition), который вставляется с помощью кнопки с изображением стрелки«←». Ни оператор присваивания :=, ни оператор ввода = в пределах программы не применяются.

Пример 1. вычислить значение f(x), заданное выражением f(x):=z+5

Условные операторы (if, otherwise)

Действие условного оператора if состоит из двух частей. Сначала проверяется логическое выражение (условие) справа от него. Если оно истинно, выполняется выражение слева от оператора if. Если ложно, выполнение программы продолжается переходом к ее следующей строке.

Вставить условный оператор можно следующим образом:

• создайте новую строку программного кода, нажав кнопку Add Line,

• нажмите кнопку if и справа от него введите условие (панель Булевы),

• выражение, которое должно выполняться, если условие истинно, введите слева от оператора if,

Оператор otherwise используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет выполнено, если ни одно из условий не оказалось истинным.

Рассмотрим использование оператора if для задания кусочно-гладкой функции.

Можно определить функцию непосредственно, при помощи встроенной функции if:

но это определение хотя и более краткое, но менее наглядное.

Эквивалентное, но намного более сложное, определение этой же функции:

Операторы цикла (for, while, break, continue)

В языке программирования MathCAD имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию. Если выбран оператор for, то в соответствующие местозаполнители надо вставить имя переменной и диапазон ее значений, если while – то логическое выражение, при нарушении которого должен осуществляться выход из цикла. В нижний местозаполнитель вводится тело цикла, т.е. выражение, которое должно выполняться циклически. Важно, чтобы в программе присутствовал оператор, делающий условие цикла ложным. В противном случае, цикл будет выполняться бесконечно. Если выполняемая программа зациклилась, то ее можно остановить, нажатием клавиши Esc.

Пример 6. Поиск первого элемента вектора, превосходящего заданное

Иногда необходимо досрочно завершить цикл, т.е. не по условию в его заголовке, а в некоторой строке тела цикла. Например, для предыдущей программы существует вероятность зацикливания. Если каждый элемент вектора меньше, чем заданное число, то условие никогда не станет ложным и поиск выйдет за пределы вектора, что приведет к сообщению об ошибке «индекс вне границ». Чтобы этого не случилось, предназначен оператор break.

Пример 7. Поиск первого элемента вектора, превосходящего заданное

значение, с использованием оператора break.

Например, как только значение переменной цикла i достигнет 2, цикл, благодаря оператору break в последней строке программного модуля, прерывается. Соответственно, значение переменной Х остается равным х=0+1+2=3.

Чтобы четче обозначить границы завершения тела цикла, в его конце может использоваться дополнительная строка с оператором continue.

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

• начального определения, предотвращающего бесконечную рекурсию,

• определения функции в терминах предыдущего значения

Основная идея подобна идее математической индукции: если можно получить значение f(n+1) из f(n) и известно f(0), то известна и вся функция f.

Пример 9. Нахождение факториала.

Но рекурсивные определения функции, несмотря на их краткость и элегантность, не всегда являются самыми эффективными в вычислительном отношении. Часто определения, использующие операторы цикла, вычисляют нужные значения быстрее.

Возврат значения (return)

Можно прервать выполнение программы в любой ее точке (например с помощью условного оператора) и выдать некоторое значение, применив оператор return. В этом случае при выполнении указанного условия значение, выведенное в местозаполнитель после return, возвращается в качестве результата, а никакой другой код больше не выводится.

| следующая лекция ==>
Нагревание поверхности Земли | Сеть на базе протокола SIP. Сигнализация на основе протокола SIP

Дата добавления: 2017-09-19 ; просмотров: 2107 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Ссылка на основную публикацию
Adblock detector