Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Кушнерев Н.Т. Программирование для ЭВМ Минск-32

.pdf
Скачиваний:
47
Добавлен:
24.10.2023
Размер:
11.94 Mб
Скачать

шью отладочного о п е р а т о р а к о н т р о л ь н о й п е ч а т и (КП) печать значений тех ячеек памяти, которые его интересуют.

Для выполнения отладки подготавливается заказ. Заказ на отладку содержит наименование головного сегмента отлаживаемой программы (ключевое слово ИМП) и носитель, с которого загру­ жается программа этого сегмента (НП). В заказе указывается также количество листов памяти, которую программист отвел для самой отлаживаемой программы (ПАМ) и для той информации, которую использует отлаживающая программа для своей работы (ПАМД). Далее в заказе располагаются перфокарты со всеми от­ ладочными операторами.

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

Впроцессе отладки программы можно получить все результаты

еевыполнения в том же виде, что и при непосредственном выпол­ нении программы. Однако, если результаты выполнения, программы печатаются на УПч, то они могут печататься вперемежку с резуль­ татами отладки.

6.8.КОРРЕКТИРОВКА ПРОГРАММ НА ВХОДНЫХ ЯЗЫКАХ

При работе с программами на входных языках очень часто воз­ никает потребность в корректировке их текстов. Например, при отладке программы были замечены ошибки алгоритма или ошибки перфорации программы. Если текст программы содержится на пер­ фокартах, такую корректировку можно иногда выполнять заменой карт. Корректировку программ может выполнить программа «Кор­ ректор», если программа на исходном языке имеется на магнитной ленте.

Для того, чтобы указать корректору место в программе на вход­ ном языке, к которому относится корректировка, используются шестизначные номера следования строк исходной программы. Кор­ ректору безразлично, на какомвходном языке записана программа и корректировка к ней. Важно только, чтобы символы с шестого по одиннадцатый в тексте каждой строки исходной программы содер­ жали указанный номео следования. Текст корректировки записы­ вается ня бланке (рис. 51). В позициях 12-МЗ указывается один

200

Минск

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составил

 

 

 

 

 

 

 

 

 

 

 

Лата

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Іійеитіїф

 

 

 

 

. . . . .

.

 

 

Янгт

 

 

 

.

, ,

 

 

,

 

Jlt/птяЛ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

5

 

 

 

 

 

 

6

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

Строка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я

11

12

 

 

15

 

 

20

 

25

 

 

30

 

 

 

3S

 

 

 

 

 

40

 

 

 

 

45

 

 

 

50

 

 

 

 

 

55

 

 

 

 

 

 

 

60

ї

 

 

 

 

65

-

 

 

 

70

 

 

 

 

75

 

 

 

 

 

80

 

 

 

 

 

 

 

0,1,0

-

 

і

 

>

 

і

* •

і

|

і

і

і

і

і

і

і

-

> •

і

і

і

]

* і

і

t

 

.

і

 

і

і

. |

 

і

 

 

і

j

ї

і

і

|

 

'

і

і

 

|

»

і

і

 

і

 

і

і i

 

i

i

 

 

 

 

 

 

|

• і

і

 

 

 

 

 

 

і

 

 

і

і

 

 

 

 

 

 

 

 

0,2,0

і

і

 

 

1

і

1 і*і

l

j

і

і

 

1 • f

*

і

 

 

-

і

t

і

і

 

j

-

 

і

і

 

і -

і

і

і

 

-

-

t

>

 

-

j

 

.

-

 

-

 

j

-

і

і

і

і

j

і

і

і

I„ J

і

і

 

і

 

j

і

t

i

t

 

 

 

 

0,3,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,4,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

 

 

 

 

1

1 1

1 ,

 

 

»

і

 

.

,

 

,

,

 

,

,

 

.

, .

,

,

!

,

 

 

,

,

,

!

,

 

 

,

 

і

 

,

,

і

 

і ,

,

 

 

і

1 1

 

.

і . .

 

. .

! .

 

і .

 

i

 

 

 

0,5,0

,

,

 

,

 

,

,

,

 

1

1 . .

1

1

1

.

1

1

1 і

.

і

і

 

 

j

і

,

,

,

,

 

.

ї

ї

»

 

,

 

 

I

I

 

I

 

I

!

!

,

і

.

 

і

і

! .

,

 

,

і

,

.

, .

і

і

-

1

 

і

-

і

>

і

• .

і

 

і

 

 

і

і

t

і

 

 

 

0,6,0

 

 

 

 

 

 

 

 

 

 

 

 

 

і .

 

, і . . .

,

,

,

 

!

,

,

,

 

 

 

,

і

 

, ! .

,

 

t

 

,

 

 

,

,

 

,

!

,

 

,

 

 

 

і

»

,

,

, ,

 

,

t

ь .

 

. і

 

і

 

і

 

 

> . . .

 

 

 

 

0,7,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.8,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,9,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.0,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,1,0

• * і j і t t i i ( t > i | i i ^ i i i i i i

 

 

 

t i i t i i t i i i i i i i

 

 

• і ! і t i i i i i i i i

і . . . !

 

. 1 1 1

 

. ї ї . ,

і . .

 

1,2,0

 

 

 

 

 

 

 

 

,

,

 

,

 

-

,

,

, ,

 

і

 

 

 

 

 

 

 

 

 

 

,

,

 

 

 

і .

,

 

,

 

,

,

 

,

і

 

 

. . .

.

I

 

.

 

.

 

,

,

!

 

,

 

,

 

 

,

 

 

I

 

 

 

I

I . .

 

.

 

 

.

 

I

 

 

I

 

I

 

 

 

. ї ї

 

! L

, -

- ;

 

 

1,3,0

'

 

t . .

. .

 

і . .

.

і

 

. . . . . . . . . .

і .

 

 

. . . .

, . .

.

,

! .

 

 

І

,

 

,

!

 

.

,

 

, .

, .

 

,

,

,

,

,

,

,

 

,

 

.

 

,

,

 

,

 

!

,

 

,

,

,

 

 

 

1,4,0

• • 1

 

1 * • • » і • • » •

j . і

 

і . .

. . .

 

 

 

. !

. . . . I . і . і ! . » і .

 

 

 

і . ,

 

,

 

 

,

 

, і .

 

!

 

, , . і . » і і . ,

 

»

 

1

 

1

 

. I i

 

. i i

 

 

 

1,5,0

1

.

 

.

 

!

,

 

,

,

,

,

.

,

,

,

.

- .

. .

і

»

 

1

.

 

»

і

«

 

і

 

. .

t

, ,

і .

 

 

 

. .

і .

. . . .

 

 

.

,

,

 

 

 

 

,

 

 

 

 

 

 

!

 

 

 

,

,

!

.

 

,

 

,

,

 

 

 

 

,

1

1

1,8,0

• '

 

 

і

* '

* 1 1 ' '

 

*

1

1

'

*

1 1 1

*

1 1

1 1

1

1

1 1

1

 

1

1

1

 

1

1 1

і

1

1

1

1

1

1

1

 

[

1

 

1

1

1

 

і,

1 1

j , і

і

1

1

1

 

 

л

•* і*

1 1

*

t

 

і

 

 

 

 

 

>,',<>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,8,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,9,0

'

'

1

 

1 1 1

1

1

j

1 '

1 Д„ \

1

1

'

1

і

'

1

' 1

І

t

 

 

'

1 '

1

і

,t

і

 

f

і

і

і

і

 

і

 

і

 

і

і

і

 

і

\

і

 

 

і

і

 

і

 

l

f t

і

і

і

І

і

j

t

 

t

f,

j

 

I

'

 

'

'

1

 

 

 

 

 

 

 

2,0,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_ 1

1—.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'

»

її,

. tf. . .

 

 

 

 

 

is,

,

. . id. .

 

 

 

 

 

 

 

 

 

 

d

 

. . . .d

 

 

 

 

 

so\ ,

 

 

 

&

 

 

 

 

 

M

 

 

 

d

. . .

M

 

. . is; . . .

#>

 

 

 

9Х

//

.

A . .

.

, .

 

35. .

,

.

 

 

,

, .

 

.

,

 

,

 

 

.

,

, .

,

,

 

 

 

Рис. 51. Бланк для записи исходных программ.

из

кодоз корректировки: вставить ( | В ) , удалить ( | У ) , заменить

( f

3 ) . Позиция

14 в этих строках не заполняется.

 

В операторе

| В , начиная с пятнадцатой позиции, указывается

номер следования строки, за которой требуется вставка. Вставляе­ мый текст пишется отдельными строками вслед за строкой с опера­

тором

| В , начиная с двенадцатой позиции, по

правилам того

язы­

ка, на

котором

пишется вставка.

 

 

 

В операторе

f У, начиная с пятнадцатой позиции,

записывается

номер

следования первой из удаляемых строк,

затем

символ

«—»

(минус) и номер последней из удаляемых строк. Если удаляется только одна строка, в операторе записывается один номер.

В операторе | 3 , кроме инфррмации, аналогичной оператору | У , записывается заменяющий текст.

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

Для выполнения корректировки текстов, кроме корректировоч­ ной информации, необходимо подготовить заказ на корректировку. Заказ содержит: имя текста до корректировки (ключевое слово ИМИТ); имя магнитной ленты, на которой находится корректиру­ емый текст (ИМЛИТ); имя магнитной ленты для скорректирован­

ного текста (ИМЛСТ); имя

текста после корректировки

(ИМСТ);

количество корректирующих

массивов ( К 0 Л И Ч ) ; имя

каждого

текста корректировки и его носитель.

 

6.9. ОРГАНИЗАЦИЯ МАССИВОВ ДАННЫХ

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

Внешняя же организация массива — это правила

расположения

массива на машинных носителях.

 

 

 

 

Будем

представлять массив как совокупность записей—логи­

чески завершенных групп данных, расположенных

последователь­

но. Запись в свою очередь может быть представлена

в виде сово­

купности

более мелких единиц — элементов данных. В библиотеке

программ имеются программы,

оперирующие с массивами,

с за­

писями, с элементами данных.

 

 

 

 

В системе программирования

допускаются

три типа форматов

записей

(записи фиксированной

длины, записи

переменной

длины,

записи неопределенной длины). Каждый из массивов может содер­ жать записи только одного формата. В массиве записей фиксиро-

202

ванной длины количество слов в каждсй из записей одинаково. Эго количество определяется при образовании массива. Для различных носителей представление записей фиксированной длины таково: в каждую из зон на магнитной ленте должно быть помещено целое число записей; на перфокартах — каждая запись занимает целое число карт. Записи фиксированной длины не содержат никакой по­ бочной информации, характеризующей и разграничивающей отдель­ ные записи.

Каждая запись в массиве записей переменной длины содержит

указание о длине этой записи. Длина

записи

является первым эле­

ментом данных в этой записи.

 

 

 

 

Массивы

записей неопределенной

длины

имеют разграничите­

ли-символы,

которые отделяют

одну

запись

от другой.

Символы-

разделители

могут входить в

состав

информационной

части запи­

си или могут быть введены специально для разделения записей. Массивы информации можно разделить на входные и выходные.

Входные массивы — массивы, содержащие исходные данные, кото­ рые необходимо обработать. Обработанные массивы являются вы­ ходными массивами.

Самая важная характеристика внешней организации массивов заключается в последовательном способе хранения информации на носителях в соответствии с последовательной их обработкой. Для

сокращения

количества обращений к внешним устройствам иног­

да полезно

объединять записи в более крупные единицы — блоки.

Например, на магнитной ленте блок представляет собой отдельную зону. Каждый массив представляет собой последовательность бло­ ков.

Чтобы отличать один массив от другого, дать возможность кон­ тролировать его обработку, каждый массив содержит вспомогатель­ ную информацию — метки. Метки массивов названы в системе про­ граммирования контрольными блоками. В отличие от контрольных,

остальные блоки массива будем называть информационными

(ИБ).

Контрольные блоки, помечающие

каждый из

массивов — это на­

чальный контрольный

блок (НБ)

и конечный

контрольный

блок

(КБ). НБ помещается

перед первым, а КБ — вслед за последним

информационным блоком.

В библиотеке программ имеются специальные программы для записи и чтения контрольных блоков. Независимо от носителя, на котором хранится массив, НБ массива содержит одинаковую ин­ формацию, расположение которой приведено на рис. 52.

і 2 з if 5 s

юн /г/з

 

гаг/'

гзг9зоз/

зг

ЗІ

ж ж

н

имя

Срон

Дота

о

П

Размер

 

 

массива

годности

образования

ТО о

записи

 

Рис. 52. Расположение информации в начальном контрольном блоке.

203

Первые пять символов НБ содержат шифр контрольного блока (***НБ) для отличия начального контрольного блока от других контрольных блоков. Следующие пять символов содержат наиме­ нование массива. Символы одиннадцатый и двенадцатый должны содержать нули. Срок годности занимает символы 134-20, причем,

четыре

первых символа определяют год, два следующих — месяц,

а два

последних — число. Срок годности — это дата, по которую

разрешается использование массива. Аналогично следующие восемь символов определяют дату образования массива. Двадцать девятый символ — тип обмена (Т0) . Если символ Т 0 = О , то обмен произво­ дится по пять символов, при Т 0 = 1 —обмен производится по шесть символов.

Тридцатый символ — признак

формата записи

(В).

Если

Б = 0 , то массив состоит из записей

фиксированной

длины,

При

В = 1 — из записей переменной или неопределенной

длины.

Трид­

цать первый символ для массивов записей неопределенной длины содержит разделитель записей в массиве (РЗ) . Для массивов с дру­ гими форматами записей Р 3 = 0 . Поэтому нуль не может служить разделителем записей.

Для массива записей фиксированной длины символы 324-35 со­ держат размер записи (количество ячеек, которое занимает запись

при размещении ее в памяти) — восьмеричное число, причем каж­

дая восьмеричная цифра занимает символ. Для массива

записей

других форматов в этих символах содержатся нули.

 

Независимо

от носителя, конечный контрольный блок

массива

содержит шифр

блока (***КБ), занимающий символы l-f-5, и на­

именование массива. КБ может содержать также количественную

характеристику

массива (количество

зон на МЛ, количество

пер­

фокарт, количество символов на ПЛ) . На

рис. 53 приведено

рас­

положение

информации в КБ для массива, в НБ которого

признак

TQ = 0. Если в НБ массива Т 0 = 1 , то после каждых пяти

символов

в КБ будет

вставлен

дополнительный

символ, содержащий нуль.

/

г

з

t

s

в

to п

 

 

if

 

X

X

X

И

Б

Имя

He/mvecmffo /манив

 

 

мо

с с и да

массива

 

 

Рис. 5 3 . Расположение

информации в конечном

контрольном блоке для

 

 

 

 

 

 

массива при обмене по пять символов.

 

 

Кроме контрольных НБ и КБ, которые используются для масси­

вов на всех

 

носителях, в зависимости

от типа носителя имеются и

другие контрольные блоки. Дополнительные характеристики мас­

сива на магнитной ленте, которые не вошли

в Н Б , но нужны

поче­

му-либо для программ, обрабатывающих этот массив, могут

быть

заданы

в так называемых дополнительных

контрольных блоках

(ДБ).

Блоки Д Б могут быть помещены только непосредственно

20А

за блоками НБ или КБ. В первых пяти символах такого блока со­ держится его шифр (***ДБ), а остальные символы произвольны, в них записывается необходимая информация. Программы должны сами записывать информацию в Д Б и сами обрабатывать эту ин­ формацию.

Какуже говорилось, каждая катушка магнитной ленты имеет наименование, записанное в первой ее зоне. Эту зону назовем бло­

ком начала катушки

(НК). Структура блока НК: первые пять сим­

волов— шифр блока

(***НК),

следующие пять символов содер­

жат имя катушки. Информация

на каждой катушке магнитной

ленты заканчивается блоком конца катушки (КК). За блоком КК на­ ходится либо свободная, неиспользованная часть магнитной ленты, либо ее физический конец. Блок КК содержит в первых пяти сим­ волах шифр блока (***КК). Следующие пять символов содержат либо пять пробелов, либо повторно тот же шифр ***КК. Пробелы записываются в случае, если на оставшуюся часть катушки с маг­ нитной лентой еще целесообразно производить запись, в противном случае там записывается шифр ***КК.

Таким образом, если на магнитной ленте записан один массив, то последовательность блоков на ней будет такой: НК, НБ, [ДБ...], ИБ..., КБ, [ДБ...], КК. Блоки Д Б не обязательны. Если на магнит­ ной ленте несколько массивов, то НК предшествует только первому из них, а КК следует только за последним.

Если массив многокагушечный, то есть не помещается на одной катушке, то для организации его обработки используются так на­ зываемые промежуточные контрольные блоки. Промежуточный ко­ нечный блок (ПКБ) записывается перед блоком КК на катушке магнитной ленты, если она не является последней катушкой, заня­ той массивом. ПКБ отличается от КБ массива только шифром бло­ ка (**ПКБ). На каждой катушке многокатушечного массива (кро­ ме первой), вслед за блоком НК записывается промежуточный на­ чальный блок (ПНБ) . Отличие ПНБ от НБ, кроме шифра блока (**ПНБ), состоит в том, что ПНБ в символах 11 и 12, которые в Н Б

являются

нулевыми (см.

рис.52) .содержит порядковый номер ка­

тушки многокатушечного

массива

(для второй

катушки

массива

этот номер равен единице). В случае многокатушечного

массива

номер катушки позволяет

следить

за последовательностью обра-,

ботки катушек массива.

 

 

 

 

Таким образом, последовательность блоков многокатушечного

массива такова:

 

 

 

 

первая катушка — НК, НБ, [ДБ...], ИБ..., П К Б ;

КК;

 

вторая

(и последующие) катушка — НК, ПНБ, ИБ..., ПКБ, КК;

последняя катушка — НК, ПНБ, ИБ..., КБ, [ДБ...], КК.

Блоки Д Б могут записываться только после НБ и КБ, но не пос­

ле ПНБ,

и ПКБ. Каждый из блоков

НК, НБ, ПКБ, ПНБ,

Д Б ,

КБ, КК занимает одну зону на магнитной

ленте. Блоки НК,

Н Б ,

ПНБ, КК

пишутся на магнитную ленту и читаются с нее всегда по

205

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

В зависимости от обмена по пять или по шесть символов конт­ рольные блоки на магнитной ленте содержат 80 или 78 символов (16 или 13 ячеек памяти). При этом расположение информации в ячей­ ках памяти независимо от этого будет одинаковым. Информация, используемая в контрольных блоках, занимает только часть из этих 80 или 78 символов, остальные символы не используются.

В целях контроля в начале каждой зоны на магнитной ленте, независимо от того, содержит она контрольный или информацион­ ный блок, имеется еще дополнительно 15 или 18 символов (в зависи­ мости от обмена соответственно попять или по шесть символов). Эта информация после ввода в память машины занимает три ячей­ ки. В них содержатся порядковый номер зоны в массиве (десятич­ ное число в разрядах 1 -=-32 первой ячейки, зона с НБ имеет нулевой номер), количество ячеек памяти, занимаемых информацией дан­

ной зоны при

чтении

в память

(восьмеричное число в разрядах

5-f-20 второй

ячейки);

обратный

код контрольной суммы данной

зоны (третья ячейка). Для зон с контрольными блоками во второй ячейке содержится нуль.

Для массивов на перфокартах используются только блоки НБ и КБ, причем каждый из них занимает отдельную перфокарту, а неиспользуемые символы на ней не перфорируются. Перфокарты не­ целесообразно использовать для массивов с записями неопределен­ ной длины.

При Подготовке массивов данных на перфокартах информацию, входящую в НБ и КБ, как и сами данные, рекомендуется записы­ вать на бланке, изображенном на рис. 54.

Каждая строка бланка перфорируется на отдельную перфокар­ ту. Номер позиции бланка совпадает с номером колонки на перфо­ карте. В каждую позицию может быть записан один символ. Спо­ соб записи данных зависит от способа их обработки, от программ обработки.

Для массивов на перфоленте используются, кроме блоков НБ и КБ, блоки ПНБ и ПКБ, НБ и ПНБ заканчиваются символом «*». При подготовке массивов данных на перфоленте может быть исполь­ зован тот же бланк, что и для перфокарт.

6.10.ИСПОЛЬЗОВАНИЕ БИБЛИОТЕЧНЫХ ПРОГРАММ ПРИ ОБРАБОТКЕ МАССИВОВ ДАННЫХ

Для обработки массивов описанной структуры в библиотеке про­ грамм имеются программы, позволяющие организовать эту обра­ ботку. Эти программы дают возможность начать обработку масси­ ва, последовательно обрабатывать записи массива, контролируя при этом правильность их хранения, закончить обработку массивов. Рассмотрим последовательность использования программ на приме-

206

Шнек32

ПК

Составил

Дата

Перфорировать на щ

Лист

Мистов

 

 

авівівівішішішішішішіжішші

т

шішітшшшшітшжш

 

 

JU

- 111

18 V.

*

*

f

г н 6 8 Ю 12 Ц 76 'в & гь к 32 }6 а ІС и И в ?6 п 66 ti ц и Iй 12 Ц 76 Ч $0

Рис. 54. Бланк для записи исходных данных.

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

При составлении программы для решения этой задачи програм­ мист должен описать в ней два массива: входной массив на перфо­ картах и выходной массив на магнитной ленте; задать поле, в ко­ торое будет читаться информация входного массива и поле, из ко­ торого будет записываться информация выходного массива. Чаще всего эти поля будут различными, так как введенная информация должна быть преобразована.

Далее программист должен открыть входной массив (по про­ грамме 0ТВКЛ—открыть входной массив на ПК или ПЛ) . При вы­ полнении этой программы вводится НБ массива и проверяется его на­ именование и срок годности. Затем следует открыть выходной массив (по программе ©ТЫМЛ—открыть выходной массив на магнитной ленте). При выполнении этой программы по описанию выходного мас­ сива будет сформирован НБ, который будет выведен на свободное место магнитной ленты. Наименование катушки программист дол­ жен предварительно проверить. Программы открытия массивов за­ писывают в описание этих массивов свои служебные признаки.

Предположим, что обработка построена так, что перфокарты вводятся блоками по несколько карт, эта информация обрабатыва­ ется и записывается на магнитную ленту зонами, содержащими по несколько записей каждая. Тогда для ввода перфокарт следует ис­ пользовать программу ВПК (ввод с перфокарт), которая последо­ вательно вводит карты в поле, заданное при обращении к ней. Про­ граммист может обработать эту информацию и сформировать за­ пись в каком-либо поле. Сформировав запись, следует обратиться к программе ЗПЗ (записать запись), задав при этом адреса поля за­ писи, поля вывода на магнитную ленту и описание программы ЫМЛ ,•» (вывести на магнитную ленту). При выполнении программы З П З запись пересылается из поля записи в поле вывода, а если поле вывода уже заполнено, по программе ЫМЛ производится запись на

магнитную ленту (одной или несколькими зонами)

. При вводе

КБ

с перфокарт программа ВПК передаст управление

по адресу,

за­

данному при обращении к ней, и программист должен, закончив об­ работку введенных карт, обратиться к программе ЗАВ (закрыть входной массив), по которой КБ будет проверен.

После записи оставшейся информации на магнитную ленту тре­ буется закрыть выходной массив (по программе ЗАЫ), по которой будут записаны КБ и КК на магнитную ленту.

Программы ВПК, ЗАВ используют и корректируют то же опи­

сание входного массива,

что и программа 0 Т В К Л ,

а

программы

ЗПЗ, ЫМЛ, ЗАЫ — что

и программа 0 Т Ы М Л . Все

программы

проводят некоторый контроль информации, а при

обнаружении

ошибки передают управление по адресу, заданному при

обращении

к ним.

 

 

 

Аналогичные программы имеются в библиотеке

для всех уст­

ройств основного комплекта машины.

 

 

Г л а в а 7. УПРАВЛЕНИЕ ВЫПОЛНЕНИЕМ ПРОГРАММ НА МАШИНЕ

7.1. ОБЩИЕ СВЕДЕНИЯ О ДИСПЕТЧЕРЕ

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

обеспечение связи с Оператором; организация очереди выполнения программ; загрузка и пуск программ;

распределение внешних устройств и памяти между программа­ ми;

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

вания машины;

 

обеспечение возможности выполнения программ

при отсутствии

в некоторый момент среди выводных устройств УВК и УПч;

учет текущего времени и времени выполнения

отдельных про­

грамм.

 

Кроме того, диспетчер обеспечивает выполнение программ, на­ писанных для машин «Минск-2,22,22М».

Реализация всех перечисленных выше функций производится программами, входящими в диспетчер. К ним относятся: «Формиро­ вание ленты системы», «Начальный вызов», «Координатор», «Совме­ стимость», «Резидент», «Разгрузка ленты вывода», «Запись пакета на магнитную ленту». Все эти программы, кроме двух последних, составлены не по правилам системы программирования. Програм­ мы «Координатор», «Совместимость» и «Резидент» вместе с табли­ цей внешних устройств, содержащей сведения о комплектности машины, к началу работы на машине предполагаются записанными на ленте системы. На ленте системы могут быть записаны и дру-

20$

Соседние файлы в папке книги из ГПНТБ