Файл: Килов Х.И. Фортран для БЭСМ-4 (МИФ) учеб. пособие.pdf

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

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

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

Добавлен: 25.07.2024

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

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

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

- 128 -

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

если буфер заполнен до определенного предела, либо если ко­ личество обращений к СП равно или больше п

При п= 0 печатается остаток материала, накопленно­

го на буфере.

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

чтобы накопленный на буфере материал был отпечатан).

При наборе строки из фрагментов ( V = 77) нужно

следить, чтобы печать не происходила до окончательного набора строки.

8.1.2.4.2. Печать пробелов.

Вид строки:

0.01. 0000. п . 0000 Происходит печать п горизонтальных интервалов

(пробелов).

8.1.2.4.3. Печать вертикальных интервалов.

Вид строки:

0. 02. 0000. п . 0000 Происходит печать и вертикальных интервалов.

8.1.2.4.4. Печать текста. Вид строк текста:

о( " семиразрядные символы АЦПУ С 4 3 .

 

Символом конца печатаемого текста служит символ

с кодом 170.

8.1.2.4.5. Печать целых чисел.

 

Вид строки:

 

0. 04. W . п . 0000

w

-длина поля числа (количество позиций);

п

-количество повторений элемента формата*

- 129 -

Числе размещается в правом конце поля. Знак плюс перед

числом не печатается ( и ке занимает места}.

8.1.2.4.6. Печать чисел с плавающей точкой. Вид отроки:

0. 05.W . n . d

w- длина поля числа (количество позиций);

л- количество повторений элемента формата;

б- количество позиций за десятичной точкой.

Число размешается в правом конце поля. Знак плюс перед числом не печатается ( Е не занимает места).

При

а = 0 не печатается десятичная точка.

8.1.2.4.7.

Печать чисел с десятичным порядком.

Вид

строки:

0.

06.w .п . d

w - длина поля числа (количество позиций);

п- количество повторений элемента формата;

а- количество позиций за десятичной точкой (<£^,4 )

Вид печатаемого числа:

о.°^. . . . o i ^ Е + Р 1 Р 2

 

(для положительного числа)

или

Р 2

 

 

-^•С, . . . С ^ Е Ф Р 1

(для отрицательного числа

Число размещается в правом конце ноля.

8.1.2.4.8. Печать восьмеричных чисел.

 

Вид строки:

 

( 1

4 V 2 4 1 7 8 )

0.07.^ . п . ^ 2

Печатаемая величина рассматривается как 15-эначное

восьмеричное число (содержимое ячейки):

 

Печатается часть указанного числа, начиная о цифра

с порядковым номером

^ 1

и кончая цифрой о порядковым

номером V 0 .

 

 

 



-130 -

П.- количество повторений элемента формата. 8.1.2.4.9. Печать шифров.

Вид строки:

о.ю . V.. а . ^

Печатаемая величина рассматривается как двоичнокодированное десятичное число:

J V

тетрада (4 бита).

J J J

 

Печатается часть указанного числа, начиная с цифры

о порядковым номером >) ^

и кончая цифрой с порядковым

номером ^ 2 ( левые 5 битов этим форматом напечатать

нельзя).

 

п

- количество повторений элемента формата.

8.1.2.4.10. Печать последовательности символов.

Вид строки:

0.I I . 0000.п . 0000

Печатаемая величина рассматривается как строка из 4 символов, закодированных в коде ЛЦПУ и записанных в

ячейке следующим образом:

о 0г1 0

-2 0

о

С 4

нtfиi

G

HJJLUL .

. ..ниш

Ш Л Ш

Код 170 (конец информации) прекращает набор печатаемых

символов (т.е. вместо 4 символов напечатаются '1,1,2 или 3 символа ) .

п - количество повторений элемента формата ( в одном

элементе формата содержится 4 символа).

8.1.2.4.II. Печать переменного количества вертикальных интервалов.

Вид отроки:

0. 12. 0000. I . 0000

I - адрес ячейки, содержащей ( в виде нормализованного числа) количество вертикальных интервалов.

- 131 -

 

8.1.2.4Л2. Повторяемая группа,

'

Вид строки:

 

0.13. 0000. п . ^?

п- количество повторений данной повторяемой группы;

-количество строк, соответствующих в таблице фор­

матов данной повторяемой группе (не "считая этой

строки).

Замечание. Указанная строка размещается после всех других

строк повторяемой группы.

8.1.2.5. Связь между таблицами данных и форматов.

Набор печатаемого материала происходит по следую­

щему алгоритму:

8.Т..2.5.1. Из' таблицы данных выбирается очередная величи­

на (содержимое ячейки).

8.1.2.5.2.Если таблица данных исчерпана, то 'TP = 0, иначе ТГ =I .

8.1.2.5.3.Из таблицы форматов выбирается очередной эле­ мент формата.

8.1.2.5.4.Если элемент формата является "активным" (8.1.2.4.2. 8.1.2.4.4. и 8.1.2.4.II.), то происходит

набор соответствующей информации и переход на 8.1.2.5.3,

8.1.2.5.5. Если элемент формата является повторяемой груп­ пой (8.1.2.4.12.), то прежде всего некоторая величина Н получает значение номера текущей строки таблицы форматов минус "9 , т.е. номера той строки, на которую может осу­ ществиться указанный ниже переход. Затем, если описанный эле­

мент формата встречается впервые, то количество повторений

получает значение п , и

если

п =1 , происходит переход

на 8.1.2.5.3., иначе - на

^

строк вверх в таблице фор­

матов и, вслед за этим, на 8.1.2.5.3.Иначе значение п количества повторений уменьшается на единицу, и если оно стало равным единице, то происходит переход на 8.1.2.5.3., иначе - на ^ строк вверх в таблице форматов и, вслед

за этим, на 8.1.2.5.3.


- 132 -

 

Замечание. Величина н является глобальной для всей

таблицы форматов. Величины же п

локальны

для каждой повторяемой группы. .

 

8.1.2.5.6. Если элемент формата является "пассивным"

(8.1.2.4.5. «- 8.1.2.4.10.), то если ЗГ = 4 ,

происходит

набор (указанным в элементе формата способом) очередной

величины, выбранной

на шаге 8.I.2.5.I., и переход на

8.I.2.5.I., иначе

(т.е. если 7Г = 0) набор печатаемого

материала прекращается, и, если нужно (см. 8 . I . 2 . 4 . I . ), происходит печать, вслед за чем выполнение программы за­

вершается.

8.1.2.5.7. Если таблица форматов исчерпана, то если 17= происходит переход на строку таблицы форматов номер N и, вслед за этим, нн 8.1.2.5.3., иначе (т.е. если77= О ) - набор печатаемого материала прекращается, и, если нужно (ом. 8.1.2.4,1.), происходит печать, вслед за чем выпол­ нение программы завершается.

8.1.3.1.Программа фиксирует себя на РП ИС-2.

8.1.3.2.Длина программы - 736g команд.

8.1.3.3.Рабочие ячейки 0001 + 0003 или, в случае ДП, 0001 *- 0010.

8.1.3.4.Программа использует, в случае необходимости,

программы ДП. .„

8.2. Вывод на узкую печать С1ИК67 Инструкция.

8.2.1.Программа,написанная Б.Б.Леви и Э.Ш.Арш, печатает числа, команды или шифры из,М03У-0, МОЗУ-I или ДП (дина­ мическая память) согласно информационным строкам.

8.2.2.Команды обращения.

х-1 : О. 16, х. 7501» 7610

* I о. ^ , о, н , о

-133 -

<последовательность информационных строк >

^- признак формата печати:

Г00 ~ печать команд

ч} = i 01 - печать чисел \02 - печать шифров

К - номер СП.

Указанный формат относится ко всем информащюнным строкам.

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

Описание типов информационных строк:

8.2.2.1. Печать массива. Вид строки:

X 00. of. 0. ( О

tf,tO - начало и конец печатаемого массива;

( 0 - печать из МОЗУ-0

Т =< I - печать из МОЗУ-1 V, 2 - печать из ДП

8.2.2.2. Печать интервала.

Вид строки: 0.00.0000.0001.0000

При печати чисел или шифров интервал имеет вид:

О

При печати команд -

I . I I . I I I I . I I I I . I I I I

8.2.2.3. Печать числа, заданного в единицах второго адреоа.

Вид строки: 0.00.0000. А. 0000

А - адрес ячейки МОЗУ-0, содержащей ~,0000. В. 0000

Восьмеричное число В печатается в десятичном виде. 8.2.2.4. Печать массива, заданного косвенными адресами.

Вид строки:

3. 00. а. Т . Ь .


- 134 -

7Г имеет тот же смысл, что и в 8.2.2.I.;

а-адрес ячейки, содержащей адрес начала массива в виде нормализованного числа;

ъ-адрес ячейки, содержащей длину массива в виде нормализованного числа.

8.2.2.5. Печать элементов массива, заданных двойным циклом.

Вид тройки строк: 4 +ТГ. 00. л. п. О о.j*- .11. 12. 13

О. 00. J1..J2. ^3

или

7.00. а. п.

0 . ^ . 11. 12. 13

О. 00. *1.*2. <*3

7\ имеет тот же смысл, что и в 8.2.2.1.; А - начало массива;

п - адрес ячейки, содержащей количество ( К. ) столбцов;

а- адрес ячейки, содержащей адрес начала массива в ви­ де нормализованного числа;

И", 12,13,

*1,*2,*3

~ адреса ячеек целых чисел.

Адреса печатаемых элементов массива вычисляются по

Формуле

 

 

 

 

 

) J (J-D,

оС + [ n

+ (1-j*)(1-n)3

(i-i)+[Н +J*(1-

где у> - О или

I ;

оС - начало массива;

(внут-

^меняется с шагом Т$

от

3 l до

-ренний цикл);

 

 

 

до 12 (внешний цикл).

I меняется с шагом 13 от Б

Замечание.

Черточка над адресом ячейки означает ее содер­

 

жимое.

 

 

 

 

8.2.3.Программа использует, в случае необходимости, про­ граммы ДП.

8.2.4.Программа фиксирует себя на РП ИС-2 и при выходе дефиксируется.