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

7.4. Функция If

О

Таблица 7.2. Примеры логических выражений

Входное выражение

Выходное выражение

{1.==1, 1.===1}

{True, False}

1.+10^-14 ==1

True

1.+2*10^-14==1

False

1+10^-100 ==1

False

3 != 2 != 3

False

Pi ^ E < E ^ Pi

True

x != x && y == y

False

x != x || y == y

True

бщий формат функции: If[test, then, else, unknown]. Максимальное количество аргументов – четыре, но применимы также более короткие форматы: If[test, then, else] и If[test, then]. Если условие test выполнено, то вычисляется выражение then, иначе вычисляется else. Предусмотрен также случай, когда логическое значение условия test не может быть определено. Например, значение высказывания x<5 не определено, если не известно значение x. Более общая форма функции If учитывает эту возможность: если истинность условия test не определена, то вычисляется выражение unknown. Каждый из аргументов: then, else и unknown – может включать несколько операторов, отделенных друг от друга точкой с запятой. Функция If допускает вложения.

7.5. Логические выражения

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

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

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

Значение высказывания в четвертой строке связано с тем, что в пакете Математика вводится особый формат чисел – Rational. В этом формате числа представляются точно, поэтому даже ничтожная прибавка к единице делает сумму отличной от единицы.

8. Функции пользователя. Составление программ

8.1. Функции пользователя. Описания типов аргументов

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

f

Таблица 8.1. Применение

функции f[x_] = x^2

Входное

выражение

Выходное

выражение

f[t]

t2

f[3]

9

f[f[3]]

81

f[a+b]//Expand

a2 + 2 a b + b2

f["длина "]

длина2

[x_] = x^2

В этом выражении “=” – оператор простого присваивания (Set), “x” – аргумент функции. После имени аргумента в качестве обязательного элемента следует описание его типа. В данном случае таким описанием является знак подчеркивания, описывающий самый общий тип: в качестве x может использоваться любой объект, даже строковая переменная. Примеры применения введенной функции даны в таблице 8.1. Команда Expand в четвертой строке таблицы предписывает раскрыть скобки в формуле (a+b)2.

Другие возможные описания типов аргументов:

_Integer – любое целое число,

_Real – любое действительное число,

x_/; x>0 – любое положительное число.

Последнее описание включает условное выражение: знак ”/;” (condition) означает “при условии”.