ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.07.2024
Просмотров: 101
Скачиваний: 0
Печатаемая строка:
Позиции; |
-7? |
Ш |
|
|
|
X 15 |
14 I |
13 |
2.6.2.2.6,6. Печать чисел с плавающей точкой. Элемент формата
nPw. d
реализует повторяющуюся к раз печать чисел с плавающей точкой. Число перед печатью округляется до d значащих
цифр после десятичной точки. Печатаемое число занимает
иоле в ? СИМВОЛЬНЫХ позиций и размещается в правом конца поля, причем количество позиций за десятичной точкой рав
но d(«^- d+a).
Печатается: нужное количество пробелов, если потре буется; знак минус, если число отрицательное; и строка цифр (содержащая десятичную точку) - значение печатаемо
го числа. Если печатаемое число (строка цифр плюс знак) v
занимает Солее w символьных позиций, то происходит печать
всего BTGro числа и, таким образом, сдвиг вправо всего последующего материала в печатаемой строке. Знак плюс пе ред числом не печатается и не занимает места. Если d=o, !?о ае печатаемся и десятичная точка.
»» *
шт1. |
в. as |
1$ JgffifAJ |
(У7с2, Р7.4, F 4 . 0 ) ; |
Печатаемая строка:
719 . 00719 . 0000 -2,
-63 -
.Поле М„0 сдвинулось на 1 позицию'вправо, т.к. поля %7Л не было достаточно для печати соответствующего числа (не хватило одной символьной позиции).
2.6.2.2.6.?. Печать чисел с десятичным Элемент формата
nfiw.d
реализует повторяющуюся п раз печать чисел с десятичным порядком. Печатаемое число занимает поле в w символьных
позиций и размещается в правом конце поля. Вид печатаемо
го числа:
(для положительного числа) или:
(.<да отрицательного числа).
d - количество позиций за десятичной точкой. Требуется,
чтобы выполнялось условие w-d 2- б„ в противном случае
пользоваться форматом нельзя. Если печатаемое число зани
мает больше Я символьных позиций, то происходит печать
всего этого числа и, соответственно, сдвиг вправо всего
последующего материала в печатаемой строке.
2.6.2.2.6.8. Печать вооьмевдчаых чисел. Элемент формата
и0 >Л - Л
реализует повторяющуюся п раз печать указанных цифр вось
меричных чисел. Печатаемая величина рассматривается как 15-значное восьмеричное число (содергоплое ячейки):
°Л ^г^з • • • J-ii
Печатается часть указанного числа, начиная от цифры с по рядковым номером ~~Ьл и кончая цифрой с порядковым номером -\ . Таким образом, должно соблюдаться условие:
Например, для печати первой цифры некоторого восьмерично го числа следует указать формат:
- 54 -
01.1
Пример:
1=1 5
|
|
i , i , i |
, i |
; |
|
||
1s |
|
F0HMAT |
(01.3, |
53t, 05.5, X, 04.4) |
|||
Печатаемая строка: |
|
|
|
|
|
||
Позиции: |
1 0 |
1 |
|
о |
0 |
4 |
|
1 |
2 |
3 456 78, |
9 |
1 |
|||
|
01.3 |
5 i |
|
X |
04.4 |
(Число 1 в ячейке выглядит следующим обозом:
1.01.4000.0000.0000).
2.6.2.2,6.9. Печать десятичной кн&ормащш без порьви.ца
(печать шифров)
Элемент фермата
реализует повторяицуюся п раз печать указанных цифр иопереведенных (т.е. двоично-кодированных) деситшпшх чисел. Печатаемая величина рассматривается как двоичло-конкрован-
пае десятнчное число
tit. /b<ftifi,(i4ps (% {ЪЦЬ% р 3
( fie - тетрада - 4 бита).
Печатается часть указанного числа, начиная с цифры (тет рада) с порядковым номером т)< и кончая цифрой с порядко-
ачм номером |
К' |
|
Левые 5 битов этим форматом отпечатать нельзя, так |
||
что додано соблюдаться условие: |
||
О i_ % |
< \ |
4 9. |
2,6.2.2.6,10. Печать алфавитно-цифровой информации (последовательности символов)
- 55 -
Элемент формата
пА реализует повторяющуюся п раз печать последовательности
символов (алфавитно-цифровой информации). Именно, печата емая величина рассматривается как последовательность
(строка) из 4 алфавитно-цифровых символов, закодировашшх в коде АЦПУ' (см. Э. ) и зшсодировапных в ячейке сле
дующим образом:
-4-1 I I I L |
|
|
|
9 бит |
12~бит |
1*Г бит |
12 бит |
Таким образом^каждый |
символ состоит из 7 разрядов. Эта |
информация может быть создана в ячейках машины, как пра
вило, при вводе с перфокарт соответствующих массивов. Ра зумеется, с этой целью можно использовать и автокод. Код
170 (конец информации) прекращает набор печатаемых симво лов (т.е. вместо 4 символов отпечатаются 0, 1 , 2 или 3 символа).
Пример:
М Е 2 ч;
2: 74, 62, 56, 177j
3:13, 177, 54, 50{
4: 64, 170, О, О;
1:00, !2, О, А(1);
00, |
:3, |
О, А(2); |
00, |
:4, |
О, А(5)| |
PRINT 5, |
(A(I),I =1,3); |
5:FORMAT (ЗА) ;
Печатаемая строка |
- |
|
М И Ф |
|
Позиции: |
Э Т О |
6 |
||
1 2 3 |
4 5 |
7. 8 9 |
(Пробел изображается символом с кодом 177).
- 56 -
2.6.2.3. Оператор BMP
Оператор Ш > сообщает компилятору, что физически заканчивается некоторая программная единица (в частности,
основная программа). Этот оператор имеет вид:
END;
или (только для основной программы)
END
В конце каждой подпрограммы, т.е. вслед за последним ее
. оператором, должен быть оператор "вт>у . В 'конце, основ ной программы или, что то тке самое, в конце всей(L<OI-TPA1I
«программы, должен стоять оператор "КНР" - последний символ программы.
2.6.2.4. Оператор COMMENT
Оператор COMMENT не оказывает никакого влияния на
процесс компиляции и служит только для размещения поясне ний в Ф0РТРАН-1грограшё. Oil может быть расположен и любом
месте ФОРТРАН-программы; в частности, он может быть ее первым, вслед заgPTIflN (если они есть), оператором.
• Оператор C44MSNT имеет вид:
(ffififSffg < строка любых допустимых символов ФОРТРАПа, не содержащая точки с запятой > ;
Программистам рекомендуется при написании достаточ но оаоаных программ широко пользоваться данным оператором для комментирования основных идей и наиболее сложных мест программы. Зто значительно упростит понимание программы как для других пользователей, так и для самого автора че рез некоторое время пооле ее составления. Как показывает изучение большого числа ФОРТРАН-программ, составленных в крупных ВЦ £7J , от 11 до 28$ всех операторов в програм
ме составляют комментарии.
^.6.2.5. Операторы 0МЩЯ . управляющие процессом компи
ляции.
- 57 -
Как правило, при компиляции ФОРГРАН-програмш осуще
ствляется некоторый стандартный набор добавочных действий. Если требуется этот набор изменить, следу, т использовать
онераторы 0РКГЩ. Эти операторы должны быть написаны U
любом порядке) в самом начале ФОР'ГРМ-пгюх'раглмы, и ника кие другие операторы не могут предшествовать ни одному из
операторов g p j i g g . Если же программист не требует выполне ния каких-либо добавочных действий, отлнчаюнцисся от стан
дартных, то операторы 0РТ10Ы не нужны.
Стандартными действиями являдаея:
-печать листинга «ЮРТРАП-программы; - контроль стандартной длины раоочего поля ИС-214;
-печать адресов операторов в рабочей программе;
-чистка динамических массивов (если они есть);
-печать распределения памяти рабочей программы (происхо
дит всегда, см. 3.) „
Подробно эти действия описаны ниже.
Введены операторы ffPHffH , реализующие следующие действия:
-запрет печати листинга;
-запрет печати адресов операторов в рабочей программе;
-контроль указанной длины рабочего полЛ' I'.C-'t'M;
. - аытюд рабочей программы на узкую печать;
-печать рабочей программы на А1ЩУ;
-вывод рабочей программы на перфокарты;
-блокировка чистки динамических массивов на магнитных
барабанах.
Следает отметить, что рабочая программа для своего выполнения требует осуществления ряда предварительных дей ствий (см-. 3.). За и действия осуществляются программой
старта, которая создается компилятором и автоматически
Г змещается им перед рабочей программой. 3 конце своей
работы программа старта размещает рабочую программу, на чиная с ячейки 0010, или, при наличии динамических масси
вов,- начиная с ячейки 0320, и передает ей управление (в
- 58 -
ячейку 0010 или 0320). На узкую печать выводится только сама"рабочая программа (соответственно, с ячейки 0010
или 0320). На перфокарты выводится (с ячейки 00*0) пол ностью готовая к работе программа, состоящая из программы
старта и следующей за ней рабочей программы. Вывод на АЦПУ совпадает с выводом на перфокарты.
2.6.2.5.1. Запрет печати листинга.
Компилятор, как правило, печатает листинг Ф0РТРАНпрограммк. Листинг печатается на АЦПУ пооператорно, с ^
указанием номеров операторов (см. рис. I ) . Если, том не менееs программист желает блокировать печать листинга
(например, при компиляции уне отлаженной ФОРТРА![-програм
мы), он может запретить эту печать. Для этого следует на писать:
m m |
i i |
2.6.2.5.2. Печать адресов операторов в рабочей программе.
Каждому выполняемому оператору 'т,0РГРАН-гп.юграммы соответствует некоторый диапазон адресов в рабочей про грамме. Если программист не желает, чтобы ото соответст вие печаталось, то он должен написать:
m m |
2 ; |
информация об указанном соответствии может оказаться по лезной, например, при -поиске возможных причин сбоя в ра
бочей программе.
Вывод осуществляется на узкую печать в виде ряда
строк: |
|
где U T I J L V J ^ |
- десятичный номе{ оператора в ФОРГРАН- |
программе; |
|
cL<J.Z6LbU4 - восьмеричный адрес первой команды ука
занного оператора в рабочей программе.
Если требуется вывод рабочей программы на узкую пе-
- 59 -
чать, то печать адресов операторов происходит после него,
2.6.2.5.3. .1й?.нтиоль указанной .донки рабом'..'О прлд
Компилятор отводит для.рабочего поля (РП) ИС-2М все свободное поло МОЗУ-0, оставшееся после равменения
рабочей программы, ИС-2М, рабочих ячеек, щюотих перемон-
ных и расположенных в ЫОЗУ-0 массивов (ом, 2,6,2.1,3.). Поэтому, если возникает необходимость увеличить длину РП,
надо часть массивов переместить ь йОЗУ-I или в динамичес кую память. Компилятор требует, чтобы длина РП была не
меньше 300^ при отсутствии Б ООРТРЛН-программе оператора P R I NT (или ашзОц ) , или 321^1 когда есть вывод только на
узкую печать, или не 736g при ниягаш вывода на АЦПУ. При
необходимости резервировать большую или (при отсутствии печати) меньшую длину РП, следует написать
0PTI0W з> г л;
где дл - требуемая длина РП (восьмеричное чисто).
Если для РП в МОЗУ-0 не хватает меота. то компиля
тор прекращает работу, отпечатав предварительно соответ ствующее сообщение,
2.6.2.5.4. Вывод рабочей прогивмми на узкую печать
Как правило, рабочая программа (без программы стар та - CM„BU«G) не выводится на узкую печать. Если програм мист желает осуществить такой вывод, он должен написать
При выводе перед каздой командой, адрес которой кратен
.10^, |
печатается этот адрес в виде |
|
где |
77777777777J |
- ^ u ^ |
J^oixoi^'-tj- |
соответствующий адрес. |
Какому выполняемому оператору ФОРТРАН-программы соответ
ствует некоторый диапазон адресов в рабочей программе. Перед первой командой из этого диапазона печатается:
555 5555 5555 ^ Л М ч