Главная > Метод статистического моделирования
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

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

11. Операторная схема моделирующего алгоритма

Непосредственный переход от математической модели к программе моделирования процесса на ЭВМ вызывает определенные трудности, особенно для моделей сложных процессов. В целях упрощения задачи реализации математической модели на ЭВМ желателен некоторый промежуточный этап между математической моделью и программой для ЭВМ. Таким этапом является построение операторной схемы моделирующего алгоритма, т. е. запись моделирующего алгоритма в общем виде, без детализации типовых вычислительных процедур и без привязки алгоритма к конкретной ЭВМ. Имея в виду перечисленные выше обстоятельства, можно сказать, что операторная схема хотя и отражает логику работы модели, по еще не является программой.

Операторной формой представления моделирующего алгоритма мы будем широко пользоваться при описании процессов, рассматриваемых в данной книге.

Остановимся подробнее на методике изображения математической модели в операторной форме. Как следует из названия, операторная схема состоит из операторов. Существенны два класса операторов: арифметические операторы и логические операторы.

Арифметический оператор представляет собой в определенном смысле замкнутую группу элементарных вычислительных актов и описывает обычно совокупность каких-нибудь соотношений (например, вычисление по формуле). Будем обозначать арифметические операторы заглавными буквами с индексами, указывающими номер оператора (например, ). В блок - схеме моделирующего алгоритма (графической форме представления операторной схемы) арифметический оператор обозначается прямоугольником с записанным внутри него реализуемым соотношением. Передача управления от арифметического оператора обозначается индексом справа вверху (например, означает, что от оператора № 25 управление передается оператору № 31).

Логический оператор описывает проверку условий вида и в зависимости от исхода этой проверки формулирует признак если условие выполнено, и если оно не выполнено). Основное отличие логического оператора от арифметического заключается в том, что логический оператор предопределяет разветвление вычислительного процесса: управление отлогического оператора может быть передано одному из двух различных операторов в зависимости от значения признака со. Будем обозначать логический оператор буквой с соответствующим номером, например Передача управления от логического оператора обозначается следующим образом. Справа от символа логического оператора ставится стрелка с номером того оператора, которому передается управление. По стрелке, направленной вверх, управление передается в том случае, когда условие, проверяемое данным логическим оператором, выполнено. Например, означает, что если условие, проверяемое оператором выполнено, то управление передается оператору № 6. Аналогично по стрелке, направленной вниз, управление передается в том случае, когда условие, проверяемое данным логическим оператором, не выполнено. Например,

означает, что если условие, проверяемое оператором не выполнено, то управление передается оператору № 8. Таким образом, в операторной схеме логический оператор выглядит как

В блок - схемах логические операторы изображаются в виде кружков, внутри которых записываются проверяемые условия, а выходящие стрелки имеют индексы 0 и 1. По стрелке с индексом 1 управление передается в том случае, когда проверяемое условие выполнено, а по стрелке с индексом 0, если оно не выполнено.

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

Для обозначения передачи управления данному оператору от других операторов номера последних записываются в виде индексов слева вверху от символа данного оператора, например означает, что оператору управление передается от операторов № 15 и 21. Передача управления данному оператору от предыдущего изображается лишь в том случае, когда данному оператору передается управление от нескольких операторов.

Арифметические операторы составляют весьма обширный класс операторов, который подразделяется на несколько подклассов, соответствующих содержанию операций, описываемых оператором. К наиболее часто употребляемым можно отнести операторы следующих подклассов: вычислительные (обозначаются А), операторы формирования реализаций случайных процессов (Ф), формирования неслучайных величин (F), счетчики (К), а также оператор обозначающий конец вычислений и выдачу результатов.

Для иллюстрации обозначений рассмотрим пример операторной схемы алгоритма и его блок - схемы. Пусть речь идет о решении квадратного уравнения вида

Как известно, корпи этого уравнения выражаются формулой

Для представления в операторной форме алгоритма определения корней введем следующие операторы:

— вычисление —

вычисление

— проверка условия

— определение действительных корней

— определение - комплексных «корней

— выдача результатов.

Операторную схему рассматриваемого алгоритма можно записать так:

На рис. 7 представлена достаточно наглядная блок - схема этого алгоритма.

Работа алгоритма сводится к следующему. Оператор вычисляет и передает управление оператору

Оператор вычисляет и передает управление оператору Оператор проверяет условие Если это условие выполнено, оператор вырабатывает в противном случае Предположим, что и Тогда от - оператора по стрелке с индексом 1 управление передается оператору Оператор вычисляет действительные корни уравнения

Рис. 7.

и передает управление оператору который выдает готовый результат. Возвратимся теперь к оператору и предположим, что Тогда от оператора по стрелке с индексом 0 управление передается оператору Оператор определяет комплексные корни уравнения и передает управление оператору для выдачи готового результата.

В дальнейшем мы познакомимся с более сложными алгоритмами, представляемыми при помощи операторных схем и соответствующих им блок - схем.

Categories

1
Оглавление
email@scask.ru