Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка MathCad.doc
Скачиваний:
62
Добавлен:
26.02.2016
Размер:
5.51 Mб
Скачать

Лабораторная работа № 5 Создание программ

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

Последняя строка программы должна содержать скаляр, вектор или матрицу, которые она возвращает!

Описание программы должно предшествовать ее вызову.

Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Программирование (Programming), которую можно вызвать на экран нажатием кнопки на панели инструментов Математика (Math).

ПРИМЕР 1. Составить программу для вычисления функции f(x,w)=log(x/w):

1. Введите левую часть определения функции и оператор ":=".

2. Нажмите на панели программирования кнопку Add Line или на клавиатуре клавишу <]>. Появится вертикальная черта и столбец с двумя полями ввода для занесения операторов, образующих программу.

3. В верхний местозаполнитель введите “z” и нажмите на панели программирования кнопку (это оператор локального присваивания).

4. В поле ввода справа от ““ введите x/w.

5. Последнее поле вода предназначено для задания возвращаемого функцией значения log(z).

Теперь эту функцию можно использовать точно так же, как любую другую функцию. Например, для вычисления log(2/4) наберите f(2,4)=.

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

Программа может состоять из любого числа операторов. Чтобы добавить оператор, нужно щелкнуть по кнопке Add Line на панели программирования. Mathcad добавляет поле ввода внизу выделенного к этому моменту оператора. Чтобы исключить позицию ввода, ее нужно выделить, заключив в выделяющую рамку, и нажать клавишу Delete.

ЗАДАНИЕ 1. Составить программу для вычисления значения функции y(x) по действиям: .

Условный оператор

Обычно Mathcad выполняет операторы программы в порядке сверху вниз. Могут встретиться случаи, когда какой-нибудь оператор нужно выполнить только в случае выполнения некоего условия. Этого можно добиться с помощью условного оператора if.

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

Чтобы вставить условный оператор в программу:

1. Введите левую часть определения функции и оператор присваивания.

2. Создайте новую строку программного кода, нажав кнопку Add Line на панели программирования.

3. Перейдите в верхнее поле ввода и нажмите кнопку if на панели программирования.

4. Справа от оператора if введите условие. Пользуйтесь логическими операторами, вводя их с панели Булевы операторы (Boolean).

5. Выражение, которое должно выполняться, если условие оказывается истинным, введите слева от оператора if.

6. Выделите оставшееся поле ввода и щелкните на панели кнопку otherwise.

7. Если в программе предусматриваются дополнительные условия, добавьте в программу еще одну строку нажатием кнопки Add Line и введите их таким же образом, используя операторы if или otherwise.

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

ПРИМЕР 2. Составить программу для вычисления функции

1. Введите левую часть определения функции и оператор ":=".

2. Нажмите на панели кнопку Add Line или на клавиатуре клавишу <]>. Появится вертикальный столбец с двумя полями ввода.

3. Перейдите в верхнее поле ввода и щелкните по кнопке if на панели программирования.

4. Введите в правое поле ввода условие |x|>2. Введите в левое поле ввода 0 (значение, если условие истинно).

5. Перейдите в нижнее поле ввода и нажмите кнопку otherwise на панели программирования. 7. Введите в оставшееся поле 4-x (значение, если условие ложно).

ПРИМЕР 3. Составить программу определения знака числа.

1. Введите левую часть определения функции и оператор ":=".

2. Нажмите на панели кнопку Add Line.

3. Перейдите в верхнее поле ввода и щелкните по кнопке if на панели программирования.

4. Введите справа от if условие x<0, а слева – negative (эта строковая переменная будет выводится в качестве результата вычисления функции z(x) при положительном х)

5. Перейдите в нижнее поле для ввода и щелчком по кнопке Add Line добавьте в программу еще одну строку.

6. Аналогичным образом вставьте второй условный оператор.

7. Перейдите в последнюю строку программного кода, нажмите кнопку otherwise на панели программирования и введите строку zero слева от оператора.

8.Проверьте работу программы:

• введите z(1)=

• введите z(-1)=

• введите z(0)=

Если в результате истинности условия в условном операторе должны выполняться несколько операторов:

1. Перейдите в местозаполнитель слева от оператора if (рис. 19а).

2. Нажмите кнопку Add Line на панели инструментов. Появится вертикальная линия с полями ввода (рис. 19б).

3. Введите в появившиеся местозаполнители необходимые операторы.

Для проверки в условном операторе нескольких условий:

1. Перейдите в местозаполнитель справа от оператора if (рис. 20а).

2. Используя на панели инструментов Булевы операторы (Boolean) кнопки логических операторов (“И”, AND, логическое умножение), (“ИЛИ”, OR, логическое сложение), (логическое отрицание) оформите составное логическое условие.

а) б)

Рис. 19. Организация выполнения нескольких операторов при истинности условия

ПРИМЕР 4. Рассмотрим пример, демонстрирующий проверку нескольких условий в условном операторе. Составим программу, определяющую, принадлежит ли заданное число х отрезку [a, b] (число х принадлежит отрезку [a, b], если x≥a и x≤b).

1. Введите левую часть определения функции и оператор ":=" и нажмите на панели кнопку Add Line.

2. Перейдите в верхнее поле ввода и щелкните по кнопке if на панели программирования.

3. С помощью панели логических операторов введите справа от if условие xa и нажмите клавишу <пробел>, чтобы выделить это условие.

4. Нажмите на панели логических операторов кнопку и введите условие xb.

5. Справа от оператора if введите “prinadlegit” (функции будет присвоена эта строчная переменная, если истинны оба условия).

6. Перейдите в последнюю строку программного кода, нажмите кнопку otherwise и введите строку ne prinadlegit слева от оператора.

7.Проверьте работу программы:

• введите otr(2,5,1)=

• введите otr(2,5,4)=

ЗАДАНИЕ 2. Составить программу для нахождения наименьшего числа среди двух заданных чисел.

ЗАДАНИЕ 3. Составить программу для нахождения наибольшего числа среди трех заданных чисел.

ЗАДАНИЕ 4. Дано действительное положительное число х, меньше 5. Напишите программу, позволяющую округлить это число до ближайшего целого числа:

ЗАДАНИЕ 5. Составить программу для решения следующей задачи. Если сумма трех попарно различных действительных чисел X, Y и Z меньше единицы, то переменной X присвоить значение полусуммы значений переменных Y и Z. В противном случае заменить меньшее из X и Y разностью двух оставшихся значений.

ЗАДАНИЕ 6. Определить номер координатной четверти, в которой расположена точка М(x,y).

ЗАДАНИЕ 7. Определить, какая из двух точек – M1(x1,y1) или M2(x2,y2) - расположена ближе к началу координат. Вывести координаты этой точки.

ЗАДАНИЕ 8 Составить программу для вычисления одного корня квадратного уравнения ax2+bx+c=0 с использованием условного оператора. Если корней у уравнения нет, то пусть, например, на экран будет выведено число 1000. В противном случае на экран должно выводится значение корня.