Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
guide_MicroSaint_last.doc
Скачиваний:
4
Добавлен:
19.09.2019
Размер:
393.22 Кб
Скачать

1. Основы процедурного языка

1.1. Основные операции языка

Приоритет

Знак операции

Смысл операции

0

!

Операция логического отрицания "НЕ"

1

* / %

Умножение, деление, остаток от деления

2

+ -

Сложение, вычитание

3

< > <= >=

Операции отношения (меньше, больше и т.д.)

4

= = <>

Операции отношения (равно, не равно)

5

&

Логическое И

6

|

Логическое ИЛИ

7

:=

Присваивание

Логические операторы сравнивают два числовых значения или логических аргументов. Результат равен 1, если сравнение является истинным, или 0, если сравнение ложно.

1.2. Операторы языка

Условный оператор - обеспечивает выполнение действий, необходимых при выполнении заданных словиях

If условие then оператор1 else оператор2;

If условие then оператор1, оператор2, оператор3 ....;.

Пример: if а + 3 = = 5 then b:= 1, c:= 1;

Цикл While условие then оператор1;

Операторы языка в блоке операторов разделяются между собой знаком «;».

Кроме того, в любое место описания может быть вставлен комментарий – произвольный текст, заключенный в фигурные скобки. Пример: {Это текст комментария}.

1.3. Функции

Функции языка разделяются на две категории: встроенные и определяемые пользователем.

Примерами встроенных функций являются halt() (функция, реализующая оператор остановки модели), poisson(Mean) (датчик случайных чисел) и т. п..

Датчики случайных чисел - реализуют механизмы имитации стохастических факторов. Значения таких факторов характеризуются распределениями вероятностей. Например, когда время между приходами автомобилей на заправочную станцию задается величиной 10±3 ед. времени, подразумевается, что такое время является случайным фактором, значения которого равномерно распределены в интервале [7, 13] единиц времени.

Равномерное распределение вероятностей (Rectangular Distribution, Uniform Distribution) продуцируется функцией random(), которая выдает действительные случайные числа в диапазоне 0,0 ÷ 1,0, и функцией randomInt(min, max), которая выдает целые случайные числа в диапазоне от min до max.

Экспоненциальное распределение (Exponential Distribution) связано с моделированием простейших потоков. В таких потоках время между событиями распределено по экспоненциальному закону. Это распределение характеризуется единственным параметром – средним значением. Вызов функции ехроn(Меаn) вернет в качестве результата значение случайного числа, выбранного из экспоненциального распределения со средним mean. Если в задаче задана интенсивность простейшего потока Int, то среднее время между событиями будет определяться как mean=l/Int. Поэтому для имитации задержек между появлениями событий следует воспользоваться вызовом функции expon(l/Int).

Распределение Пуассона (Poisson Distribution) тесно связано с экспоненциальным распределением: оно характеризует количество событий в простейшем потоке, наблюдаемое за определенный интервал времени. Если задать величину этого интервала (Т) и интенсивность потока (Int), то произведение Mean=(Int*T) будет определять среднее количество событий за интервал времени Т. Эта характеристика является единственным параметром функции poisson(Mean), которая используется как датчик пуассоновских случайных чисел. Использование функции poisson(Mean) возможно и для других задач, например для имитации количества записей в инвентаризационной ведомости, объемов производства деталей в течение рабочего дня и т. п. Функция poisson(Mean) всегда выдает случайные числа, которые являются положительными и целыми.

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