Математическое моделирование

         

Встроенные математические и логические функции


Существуют 15 встроенных функций micro?GPSS, объединенных в группы математических и логических функций. Любая из функций представляет собой СЧА, который имеет вид: FN$n(А), где n - символическое имя одной из встроенных функций, приведенных в табл. 4.3, операнд А - аргумент функции.

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

IF S$stor>10,nov

IF order=U,nov

может быть использована единственная запись

IF FN$GT0(S$stor-10)+F$order>0,nov.

Таблица 4.3

Встроенные математические и логические функции micro?GPSS



Запись функции

Возвращаемое значение

Математические функции

ABS

Абсолютное значение аргумента А. Если А<0,то FN$ABS(A)=-A, в противном случае FN$ABS(A)=A

INT

Округление аргумента до целого числа. Так, FN$INT(2.23) будет равно 2

DEC

Отделение дробной части десятичной дроби от целой части. Так, FN$DEC(2.23)=0.23

EXP

Вычисление экспоненциального значения аргумента функции. Так, FN$EXP(1)=2.718

LOG

Вычисление натурального логарифма. Верно следующее равенство: FN$LOG(FN$EXP(A))=A

SGN

Определение знака аргумента. При A<0 FN$SGN(A)=-1, при A=0 FN$SGN(A)=0, при A>0 FN$SGN(A)=1

SIN

Вычисление синуса аргумента, указанного в градусах. Так, FN$SIN(0)=FN$SIN(360)=0

SQR

Вычисление квадратного корня. Так,FN$SQR(0.64)=0.8

Логические функции

EQ0

Определение равенства нулю аргумента. Так, если А=0,то FN$EQ0(A)=1, в противном случае FN$EQ0(A)=0

NOT

Отрицание (инверсия). Эта функция аналогична функции EQ0,но использует значение только 1 и 0.Так,FN$NOT(1)=0 и FN$NOT(0)=1

GT0

Проверка условия А>0.Так,если A>0 ,то FN$GT0(A)=1, в противном случае FN$GT0(A)=0

GE0

Проверка условия A>=0

LT0

Проверка условия A<0

LE0

Проверка условия A<=0

NE0

Проверка условия A<>0

В функции вместо независимой переменной может использоваться адрес блока. В этом случае независимой переменной может быть любой СЧА, однако наиболее часто используется СЧА RNj. Так, например, запись

tre FUNCTION RN4,D3

.6,Stan1/.8,Stan2/1,Stan3

означает, что в 60% всех случаев переходить нужно в блок с адресом Stan1, в 20% - в блок с адресом Stan2 и в 20% - в блок с адресом Stan3 в зависимости от величины RN4.



Содержание раздела