- •«Моделирование систем массового обслуживания в среде mathcad»
- •53 01 02 Автоматизированные системы обработки информации,
- •40 01 01 Программное обеспечение информационных технологий,
- •40 01 02 Информационные системы и технологии.
- •1. Простейшие потоки событий
- •2. Замкнутые системы массового обслуживания
- •3. Открытые системы массового обслуживания
- •4. Создание программных модулей и элементы программирования в среде MathCad.
- •Операторы при программировании в среде MathCad
- •5. Средства системы mathcad для моделирования на основе обыкновенных дифференциальных уравнений
- •Задание 1. Стационарный режим, открытая смо.
- •Пример решения в среде MathCad. Открытая смо с очередью
- •Задание 2. Нестационарный режим, замкнутая смо с очередью
- •Пример решения в среде MathCad. Нестационарный режим, замкнутая смо с очередью
- •Литература.
4. Создание программных модулей и элементы программирования в среде MathCad.
Задание программных модулей и программирование осуществляются с использованием панели Программирование, которая представлена ниже.
Рис.5.Панель программирования.
Задание программного блока осуществляется с использованием вертикальной линии AddLine. Внутри программного блока могут выполняться все арифметические операции доступные в Mathсad. Особенностью программного блока является операция локального присваивания ← , которая распространяет присваивание значения переменной только в пределах программного блока. Пример такого блока приведен ниже на рис.6.
Очень часто программные блоки используются для определения функций пользователя. Функция пользователя определяется обычным образом. В конце программного блока должно быть указано выражение, являющееся результатом вычисления функции. Пример определения функции пользователя с использованием программного блока приведен на рис.6.
Рис.6. Примеры
Набор программных элементов для создания программных модулей содержит следующие элементы:
Add Line – создает вертикальную линию, справа от которой задается запись программного блока;
← - символ локального присваивания, действует только в теле модуля;
if – условный оператор;
for – оператор задания цикла с фиксированным числом повторений;
while – оператор задания цикла, действующего до тех пор, пока выполняется некоторое условие;
otherwise – оператор иного выбора, применяется с if;
break – оператор прерывания;
continue – оператор продолжения;
return – оператор возврата;
on error – оператор обработки ошибок.
Рассмотрим каждый из этих операторов в отдельности.
Операторы при программировании в среде MathCad
Условный оперетор if предназначен для выполнения вычислений в зависимости от условия:
Это означает, что функция Z(x) принимает значения:
по первому условию -1, если x<3;
по второму условию х, если
;по третьему условию 1, если
.
Пример использования оператора if с оператором otherwise и без него приведен ниже:
В первом случае в конце программного блока необходимо указать значение, которое блок возвращает в качестве ответа. Во втором случае возвращаются х или –х в зависимости от условия.
Рассмотрим порядок набора оператора if для третьего варианта примера:
Далее заполняем в соответствии с примером метки ввода.
Оператор цикла for предназначен для задания циклов с фиксированным числом повторений. Шаблон оператора for имеет три метки:
На месте первой метки вводится имя управляющей переменной; на месте второй метки вводится в виде ранжированной переменной начальное и конечное значение управляющей переменной (можно также указать и второе значение управляющей переменной, если шаг ее изменения не равен единице); на месте третьей метки записывается выражение для выполнения. Алгоритм работы оператора цикла for следующий: управляющей переменной присваивается первое значение, вычисляется выражение, управляющей переменной присваивается второе значение, вычисляется выражение и т.д. до перебора всех значений управляющей переменной.
Пример использования оператора цикла for приведен ниже:
Оператор цикла while служит для организации циклов, действующих до тех пор, пока выполняется условие заданное в цикле. Пример использования цикла while приведен ниже:
Во втором примере определен бесконечный цикл while, а принудительный выход из цикла осуществляется с использованием оператора break.
Оператор Return используется для выхода из блока и передачи значения из любой точки программного блока. Пример использования оператора Return приведен ниже:
