Файл: Смирнов, К. А. Сбор, передача и обработка данных АСУ.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. Предполагается, что коман ды той части программы, которая требуется для выпол нения операций, перечисленных в блоках 5—7, могут быть размещены в ячейках с адресами 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. Следует сказать, что в реальных программах адреса записываются не в десятичной, а в восьмеричной системе счисления.
■Отладка п р о г р а м м ы . Завершающим этапом разработки программы является ее отладка. Этот про цесс позволяет выявить и исправить ошибки, допущен ные в предыдущих процессах программирования. В прос тейшем случае отладка программы может производить ся в так называемом нокомандном режиме. При работе
1М
ЭВМ в таком режиме после реализации каждой коман ды машина останавливается, а результаты выполнения команды выводятся на печать, индикатор пульта управ ления или ЭЛИТ. Следующая команда может быть вы полнена лишь после подачи программистом с пульта управления сигнала, по которому ЭВМ реализует сле дующую команду и опять останавливается. Для ускоре ния процесса отладки и, следовательно, экономии ма шинного времени программист должен предварительно вручную подсчитать результаты, получающиеся после выполнения отдельных команд. При работе в однотакт ном режиме программист сравнивает эти результаты с показаниями, даваемыми ЭВМ, что позволяет ему обна
ружить вкравшуюся ошибку.
Ввиду больших затрат времени, требуемых для от ладки .программы в однотактном режиме, его примене ние оправдано лишь для проверки небольших «подозри тельных» участков программы.
Наибольшее распространение получил метод отладки программы в режиме контрольных остановов. В этом случае ЭВМ автоматически выполняет заранее задан ный участок программы, после чего останавливается и выдает на печать необходимые для анализа результаты. Программисту также следует иметь заранее подготов ленные данные для их сравнения с результатами машин ного расчета.
Отлаженная программа хранится в памяти ЭВМ и может быть вызвана в необходимый момент времени. В нашем примере вызов программы может осущест вляться по сигналу от авточасов. Хотя до этого данный сигнал назывался кодом времени, в действительности, как видно из блок-схемы алгоритма, роль авточасов све дена к выдаче через каждые 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