Файл: Смирнов, К. А. Сбор, передача и обработка данных АСУ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 110

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

рень по одной команде, то имеете команды А’+З следо­ вало бы записать первую команду стандартной подпро­ граммы. Подобные подпрограммы размещаются в спе­ циальном массиве оперативного ЗУ, имеющего свой ус­ ловный адрес. После реализации стандартной подпро­ граммы процесс решения задачи возобновляется.

Следующая операция, на которой следует остано­ виться, — операция условного перехода, осуществляе­ мая различными методами. Для трехадресной ЭВМ наи­ более простым будет способ, при котором считанное по ■первому адресу число (в 'нашем случае Л) сравнивается с числом, считанным из ячейки с адресом к + 4 (т. е. с ну­ лем). При выполнении условия перехода следующей должна быть реализована команда, записанная по ад­ ресу /г4-00 (третий адрес). При невыполнении указан­ ного условия перехода ЭВМ приступает к реализации команды со следующим адресом, т. е. с адресом /е+6. После того-как программа в условных адресах готова, составляется программа в действительных адресах. Это делается заменой буквенных номеров ячеек цифрами.

Поскольку объем нашей программы невелик и ее за­ пуск осуществляется через каждые 0,1 с, то разместить программу целесообразнее всего в оперативном ЗУ. На­ чальные ячейки ЗУ обычно занимаются программой вво­ да и перевода чисел из одной системы счисления в дру­ гую. Полагая, что эти программы занимают 80 ячеек памяти |(т. е. от 0000 до 0079), начинаем размещать про­ грамму с ячейки под номером 0080. Одновременно заме­ ним наименование операций соответствующими обозна­ чениями, принятыми для некоторых трехадресных ЭВМ (например, для ЭВМ «Стрела»).

Данный отрезок программы, состоящий из восьми команд, разместится в ячейках с номерами 0100—0107, 0080—0085 и 0106, 0107. Наличие разрыва в последова­ тельности адресов объясняется тем, что в ячейках с ад­ ресами 0080—0085 размещаются команды для реализа­ ции операций блоков 3 и 4. Предполагается, что коман­ ды той части программы, которая требуется для выпол­ нения операций, перечисленных в блоках 57, могут быть размещены в ячейках с адресами 0086—0105. Ис­ ходные данные разместятся в ячейках 0108—0110, кон­ станты в ячейках 0111—0116, а окончательные и про­ межуточные результаты — в ячейках с номерами 0117 и 0118 соответственно. Законченная программа в дейст­ вительных адресах записывается в виде табл. 2.4.

1/10


Т а б л и ц а 2.4

 

 

 

 

Команда

 

А д р е с

операция

 

адрес

 

пп.

команды

1-й

2-й

3 -й

 

 

 

1

0 0 8 0

а й с 0 5

0 1 0 8

0 1 0 8

0 1 1 8

2

0 0 8 1

а 6 с 0 5

0 1 1 1

0 1 1 8

0 1 1 8

3

0 0 8 2

а 6 с 0 1

0 1 1 8

0 Ц 2

0 1 1 8

4

0 0 8 3

а б с б З

0 1 1 8

0 1 1 7

 

5

0 0 8 4

ай сО З

0 1 0 9

0 1 1 7

0 1 1 8

6

0 0 8 5

а 6 с 2 0

0 1 1 8

0 1 1 5

0 1 0 6

7

0 1 0 6

ай сО З

0 1 1 7

0 1 0 9

0 1 1 8

8

0 1 0 7

а й с 2 0

0 1 1 8

0 1 1 5

— ■

9

0 1 0 8

*4- И

— -

• -

 

 

 

 

 

10

0 1 0 9

а 1

11

О Н О

h

12

0 1 1 1

А

13

0 1 1 2

В

14

0 1 1 3

« 1

15

0 1 1 4

а 2

16

0 1 1 5

0

— -

17

0 1 1 6

-

1 '

18

0 1 1 7

“ г + 1

 

 

 

 

 

19

0 1 1 8

 

 

 

Записанная в таком виде «программа может быть пе­ ренесена на перфоленту или перфокарты и с помощью одного из внешних устройств занесена в оперативную память ЭВМ для отладки.

Размещение рабочей программы в оперативном ЗУ показано на рис. 2.316. Следует сказать, что в реальных программах адреса записываются не в десятичной, а в восьмеричной системе счисления.

■Отладка п р о г р а м м ы . Завершающим этапом разработки программы является ее отладка. Этот про­ цесс позволяет выявить и исправить ошибки, допущен­ ные в предыдущих процессах программирования. В прос­ тейшем случае отладка программы может производить­ ся в так называемом нокомандном режиме. При работе


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

ружить вкравшуюся ошибку.

Ввиду больших затрат времени, требуемых для от­ ладки .программы в однотактном режиме, его примене­ ние оправдано лишь для проверки небольших «подозри­ тельных» участков программы.

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

Отлаженная программа хранится в памяти ЭВМ и может быть вызвана в необходимый момент времени. В нашем примере вызов программы может осущест­ вляться по сигналу от авточасов. Хотя до этого данный сигнал назывался кодом времени, в действительности, как видно из блок-схемы алгоритма, роль авточасов све­ дена к выдаче через каждые 0,1 с сигнала прерывания. По этому сигналу выполнение текущей программы ЭВМ должно прерываться. ■-

После фиксирования состояния этапа, на котором бы­ ло прервано выполнение текущей программы, ЭВМ реа­ лизует программу выработки кода угла заслонки, кото­ рый затем передается в исполнительный механизм объ­ екта управления. Как видно из блок-схемы алгоритма, изменение значения Ч осуществляется простым прибав­ лением (или вычитанием) числа «1» к предыдущему значению Ч+i- Эта операция осуществляется блоком 6 (или 7). Число «1» является в данном случае константой,

Такое решение значительно упрощает

конструкцию

.датчика 'Времени.

Из

ттрвведенного

А л г о р и т м и ч е с к и е я з ы к и .

выше весьма упрощенного процесса

составления про­

граммы становятся очевидны большие трудности, стоя­ щие на пути создания программ. В настоящее время су­ ществуют системы управления и обработки данных, про­ граммы которых состоят из десятков и даже сотен тысяч команд. Так, например, в системе управления обработ­ кой данных и коммутации сообщений американской кор­ порации «Белл» ЭВМ центра системы имеет про­ грамму, 'которая включает ib себя примерно 250 000 команд. Подготовка подобной программы длится нес­ колько лет при участии большого коллектива програм­ мистов и наличии четкой организации труда.

Уменьшение доли ручного труда в процессе програм­ мирования достигается применением алгоритмических языков. Алгоритмический язык — это средство, позво­ ляющее автоматизировать процесс перехода от блоксхемы алгоритма к рабочей программе. Составление ра­ бочей программы осуществляется на ЭВМ. При этом необходимо выполнить два условия: во-первых, блоксхему алгоритма программы представить в виде, удоб­ ном для ввода в ЭВМ, т. е. написать ее на алгоритми­ ческом языке; во-вторых, ЭВМ должна иметь специаль­ ную программу (транслятор), с помощью которой алго­ ритмический язык будет переработай машиной ;в после­ довательность команд, т. е. в рабочую программу.

Объем работ, выполняемых на отдельных этапах со­ ставления программы обычным способом и при исполь­ зовании алгоритмического языка, показан на рис. 2.32.

Рис. 2 .32 . О б ъ е м

р а б о т

в п р о ц ен т а х ,

-вы пол няем ы х

н а

о тд ел ь

эт а п а х

р а з р а б о т к и

п р о гр а м м ы обы чн ы м

с п о с о б(оам) и

с

п р и м е ­

нением

а л го р и т м и ч еск о г о

я зы к(аб)

 

 

 

113


Как видно, применение алгоритмического языка позво­ ляет автоматизировать 40—60% труда, затрачиваемого на 'составление программы.

Алгоритмические языки часто называют входными языками. В настоящее время известно несколько ма­ шинных языков. Наиболее распространенным из них считается АЛГОЛ-60. Это универсальный язык, позво­ ляющий 'составлять .программы для решения на ЭВМ широкого круга математических, логических, инженер­ ных задач но управлению производством и т. д. Из этого типа языков наиболее известными являются АЛГОЛ-68, ФОРТРАН, ПЛ-1 (для решения вычислительных задач), КОБОЛ |(для задач обработки данных), СНОБОЛ (для машинного анализа текстов), СИМУЛА (для решения задач моделирования сложных физических процессов) и АКИ (для решения инженерных вычислительных задач).

На базе АЛГОЛ-60 строятся и машинно-ориентиро­ ванные алгоритмические языки. Такие языки позволяют наилучшим образом составлять программу на ЭВМ оп­ ределенной конструкции. Машинно-ориентированные языки называют также автокодами или мнемокодами. Записанный на этом языке технологический алгоритм называется АЛГОЛ-программой.

Правила представления технологического процесса на алгоритмических языках довольно сложные. Некото­ рое представление о виде технологического алгоритма, записанного на языке АЛГОЛ-60, можно получить из приведенного ниже вычисления уже знакомой нам функ­

ции а = У А Р + В для одного из значений t. Эта запись выглядит следующим образом:

begin real А, В, t, tu a; t i : = Axt\2-rB\

а : = tifi(il/2); STANDAR D(ct); end.

Два первых слова обозначают начало процесса трансляции алгоритма^ систему команд ЭВМ и указы­ вают, что величины, с'которыми производятся операции (А, В, ..., а), являются числами целыми. Знак «;», стоя­ щий после символа а, говорит об окончании первого блока АЛГОЛ-программы. В следующем блоке задает­ ся порядок вычисления подкоренного выражения, услов­ но обозначенного t\= Atz+B, причем знак «|» обозначает возведение в степень. В третьем блоке осуществляется извлечение квадратного корня из ti, а в последнем блоке стоит условное обозначение печати результата вычис-

114

лоипя, после которого стоит сигнал окончания процесса трансляции.

П о н я т и е о с и с т е м е - м а т е м а т и ч е с к о г о

о б е с п е ч е н и я ЭВМ.

При разработке ЭВМ нового

типа одновременно

разрабатывается серия

вспомога­

тельных программ,

без

которых невозможно

престу­

пить к созданию рабочих программ. Такие программы называются базовыми программами, а вся их совокуп­ ность называется базовым математическим обеспече­ нием. В 'Состав базового математического -обеспечения входят программы ввода и вывода информации с внеш­ них устройств, входящих в комплектацию данной ЭВМ, программы проверки исправности основных устройств ЭВМ и т. д. Базовое математическое обеспечение по­ ставляется заводом вместе с машиной.

Установив у себя ЭВМ, потребитель использует ба­ зовые программы и начинает разрабатывать программы специального назначения. При этом, учитывая большую сложность разработки -программ, у потребителя возни­ кает естественное 'стремление использовать в своих ра­ бочих -программах уже существующие подпрограммы. Эти подпрограммы могут являться частями программы' 'совершенно другого назначения. Однако, чтобы найти такие подпрограммы, нужно иметь обширную информа-

•цию -о работах, про водимых в других 'Организациях. По­ этому для облегчения поиска готовых, нужных для раз­ работчиков 1подпропра1мм, -создаются фонды .алгоритмов и программ. -Совокупность алгоритмов и программ всех типов, 'созданных для решения разН'Ообр'аэН'Ых задач на ЭВМ одной -серии, называется математическим обеспе­ чением ЭВМ.

Для улучшения организации вычислительных работ, снижения их стоимости и трудоемкости Государственный Комитет Совета Министров СССР /по науке и технике апециальн-ым постановлением от 21 февраля 1966 г. при­ нял решение о -создании и развитии Государственного фонда алгоритмов in программ (ГФАП). Постановлением утверждено 'положение о правилах подготошш, контроля и представления программ и алгоритмов в ГФАП, а так­ же инструкция по оформлению материала, представляе­ мого я ГФАП. Согласно постановлению ГФАП стал со­ ставной частью Генерального шра'ючно-информацион­ ного фонда нашей страны.

Фонды алгоритмов и программ позволяют значи­ тельно сэкономить средства при разработке рабочих про­

11US