которые из этих средств, а также объясцены принципы их работы. и присущие им: недостатки, что позволит использовать х с боль- шей эффективностью и получить более надежные результаты, Имеется немало удачных пособий, в которых подробно излагаются численные методы. Так, например, следует упомянуть работу ($снем, 1968). В 232 рассматривается процедура `сортировки операторов в программе, а также блокировка этой процедуры и построенне сортируемых блоков, связанных внутренней последо- вательностью `Когда часть программы неоднократно повторяется в одной мо- дели © разными названиями, язык СбМР предусматривает воз- можность использования средства МАСКО. Эта часть программы определяется только один раз в начале, затем. транслятор СУМР записывает ее везде, где вызывается МАСКО. Эта процедура объ- яспяется в 2.3.2. Неявные уравнения решаются с помощью итера- ционных методов. В 2:3.4 описывается входящий в СУМР. цеявный (умалчиваемый) шикл 1МРЕ. и метод самозаписи (5е!!-мгт1Неп. те- %о4). Численное интегрирование рассматривается в 2.3.5, 236 и 2.3.. Выбор метода интегрирования, наряду с временным шагом нитегрирования н козффициентом времени, определяется такими характернстиками моделнруемой снстемы, как наличие обратных ‚связей и разрывов. 2. Сортировка Главное правило для сортировки операторов программы н уста- новления порядка их вычнсления заключается в том, что любая переменная, стоящая справа от знака равенства в операторе, должна быть заранее определена в программе, Это простое пра- вило включено в транслятор СЗМР, который готовит исходную. программу к дальнейшей обработке с помощью компилятора Фор- трана (см. 2.2.4). Однако возникают ситуации, в которых программисту жела- тельно обходить это правнло. Например, в ночное время отсутст- вует необходимость выполнять трудоемкие расчеты ослабления раднации, поэтому целесообразно пропустить эту часть модели. Это означает, что необходимо включить в программу команду `условного. перехода, т. е. команду пропуска ряда операторов, если Уровень раднации равен нулю. Бсли программист уже решия для себя, через какне именно операторы следует «перепрыгиуть», оК должен быть уверен, что транслятор СУМР ке нарушит хорошо! сбалансированной сортнровки. Поэтому программист - вводнт команду, которая запрещает транслятору касаться этих операто- ров. Всего существует две таких команды: МОЗОВТ и РЕОСЕ- РОВЕ. `Метка МОЗОВТ действует дотех пор, пока её неотменит метка 5ОВТ, что приводит к созданию несортируемого блока операто- ров, который расположен между меткамн МОЗОКТ и 5ОКТ. Опе- раторы, расположенные вне этого блока, беспрепятственно сорти- 80 потся транслятором СЗМР, впрочем, при одном ограниченин: ‘ельзя. перемещать в границы блока МОЗОВТ. Таким образом, МОФОЕТ делит программу на секции. Если необходима полная упорядоченноеть, следует нспользо- |вать метку РЕОСЕРОКЕ. В этом случае транслятор будет рас- сматривать группу операторов между этой меткой и меткой ЕМОРКО как одни болышой сортируемый оператор. По этой при- чине транслятор потребует описать входные и выходные перемен- ные этого блока, дая того чтобы быть в состоянни правильно азместить его среди других операторов программы; команда 'КОСЕРОКЕ не делнт программу на секции. Например, допу- `стим, нас ннтересует сумма целых чисел между No! и No, которые. `рассчитываются в какой-то нной части программы; результат 5 |используется где-то еще. Здесь мы можем составить программу с нспользованием команды РЕОСЕРОКЕ: )— РЕр 1, No, No РАКАМ — No No рт 5 'ПМЕВ РУТМ — 10., РЕРЕ! =3; РЕОСЕРИВЕ$ = 50М (\1, No) ЛМЕ 5==0. 1Е (No.1.т.М1) СОТО 10 1=No п 5=5+1 1=1+1 1Е (.ОтТ.No2) СОТО 10 сото ! 10 — СОМПМОЕ ЕМОРКО — ЕМр 5ТОР ‚ ЕМрДОВ. В процедуре РЕОСЕРЦКЕ для суммирования нспользуется ряд `новых операторов. Метка ЕХЕ описывает переменные Г, М1 н No к целые чнсла. В операторе 1 сравниваются значения двух пе- `ременных для того, чтобы, например, убедиться, будет ли левая еременная больше (СТ) илн меныше (1-Т) правой переменной. ли это так, ЭВМ выполняет команду СОТО и переходнт к строке, которая поименована ее номером. Если это не так, ЭВМ 1родолжает вычнсления со следующей строки. Безусловная 6 аке 19 30 в