
книги из ГПНТБ / Кушнерев Н.Т. Программирование для ЭВМ Минск-32
.pdfшью отладочного о п е р а т о р а к о н т р о л ь н о й п е ч а т и (КП) печать значений тех ячеек памяти, которые его интересуют.
Для выполнения отладки подготавливается заказ. Заказ на отладку содержит наименование головного сегмента отлаживаемой программы (ключевое слово ИМП) и носитель, с которого загру жается программа этого сегмента (НП). В заказе указывается также количество листов памяти, которую программист отвел для самой отлаживаемой программы (ПАМ) и для той информации, которую использует отлаживающая программа для своей работы (ПАМД). Далее в заказе располагаются перфокарты со всеми от ладочными операторами.
Процесс отладки происходит следующим образом. Отлаживаю щая программа вводит заказ на отладку, печатает его на УПч и в соответствии с этим заказом загружает головной сегмент отлажи ваемой программы. Выполнение отлаживаемой программы проис ходит покомандно, причем в тех программах, для которых задан хотя бы один отладочный оператор; перед выполнением каждой команды проверяется, является ли эта команда точкой. При про хождении команды, использованной в качестве точки в каком-либо отладочном операторе производятся действия, заданные во верх операторах, отнесенных к этой точке, и печатаются их результаты. В распоряжении Оператора, выполняющего отладку программы за пультовой ПМ, имеется ряд директив, позволяющих управлять от лаживающей программой, например, начать или прекратить печать результатов выполнения отладочных операторов.
Впроцессе отладки программы можно получить все результаты
еевыполнения в том же виде, что и при непосредственном выпол нении программы. Однако, если результаты выполнения, программы печатаются на УПч, то они могут печататься вперемежку с резуль татами отладки.
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$