Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MODEL.DOC
Скачиваний:
3
Добавлен:
16.09.2019
Размер:
364.54 Кб
Скачать
  1. Синтаксис записи математической модели

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

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

Интерпретатор модели чувствителен к регистру - различает малые и большие буквы. В этой связи принято соглашение о том, что немногочисленные служебные слова и названия функций, используемые в МODELLUS, следует набирать на нижнем регистре, малыми буквами. Что касается идентификаторов переменных, задаваемых разработчиком модели, то здесь право выбора за вами. Можно использовать любые алфавитно-цифровые комбинации, но следует избегать применения специальных символов типа «#» или «@», поскольку они могут быть зарезервированы системой.

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

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

  1. Кнопка степенных функций для ввода в выражение степеней. При активации этой кнопки в формуле создаются два поля ввода для основания степени и показателя степени.

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

  3. Число Пифагора. При нажатии этой кнопки в текущее место набираемой формулы будет вставлено значение пифагоровой константы (3.14...).

  4. Эйлерова константа. Будет вставлено число Эйлера (2.71...). Обычно эта операция бывает необходимой для формирования показательной функции.

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

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

А. Степенная функция вызывается клавишей «^».

Б. Символ радикала вызывается клавишей «#».

В. Символ «дельта» вызывается клавишей «%».

Система MODELLUS имеет в своем арсенале сравнительно широкий набор математических функций, перечисленных в следующей таблице:

Квадратный корень

sqrt()

Синус

sin()

Косинус

cos()

Тангенс

tan()

Секанс

sec()

Арксинус

arcsin()

Арккосинус

arccos()

Арктангенс

arctan()

Логарифм натуральный

ln()

Логарифм десятичный

log()

Случайное вещественное число

rnd()

Случайное целое число

irnd()

Абсолютное значение

abs()

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

При записи математической модели имеется возможность использовать некоторые управляющие конструкции, основанные на применении служебных слов if, then, and и or. Конструкция if (условие) then (действие) работает следующим образом. Проверяется, выполнено ли условие и, если это так, то исполняется действие. Если же условие не выполнено, то действие не исполняется. Как условие, так и действие должны быть заключены в круглые скобки. В качестве условий может использоваться одна или несколько операций сравнения. Синтаксис написания операций сравнения и смысл операций представлены в следующей таблице:

A==B

A равно B

A<>B

A не равно B

A>B

A больше B

A<B

A меньше B

A>=B

A больше или равно B

A<=B

A меньше или равно B

В качестве действия обычно используется операция присвоения значения какой-либо переменной. Так, например, конструкция if (x>=0) then (y=4) выполнит присвоение переменно у значение 4, если переменная х имеет неотрицательное значение. Если же значение х отрицательно, никакого действия с переменной у не производится. Условия могут быть объединены операциями логического умножения and (логическое И) и логического сложения or (логическое ИЛИ). Так управляющая конструкция if ( (a>3) and (a<4) ) then (M=122) выполнит присвоение переменной М значения 122 в том и только том случае, если значение переменной а лежит в интервале от 3 до 4.

Конструкция if ( (a<3) or (a>4) ) then (M=122) наоборот присвоит переменной М это значение в том и только том случае, когда переменная а напротив находится вне интервала от 3 до 4.

Операция логического умножения может использоваться не только для объединения условий, но и для объединения действий. Выражение if (p<>0) then ( (s=1) and (g=2) ) предписывает выполнение двух действий - присвоения значений переменным s и g в том случае, если переменная р не равна нулю. Для написания цепочки действий, в результате которых переменная у получит значение абсолютной величины переменной х, можно создать две строки в окне модели:

if (x>=0) then (y=x)

if (x<0) then (y=-x)

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]