Разделы презентаций


ЭЛЕМЕНТЫ ОПЕРАТОРОВ ВВОДА/ВЫВОДА

Содержание

ЭЛЕМЕНТЫ ОПЕРАТОРОВ ВВОДА/ВЫВОДА

Слайды и текст этой презентации

Слайд 1СИСТЕМА ВВОДА/ВЫВОДА

СИСТЕМА ВВОДА/ВЫВОДА

Слайд 2ЭЛЕМЕНТЫ ОПЕРАТОРОВ ВВОДА/ВЫВОДА

ЭЛЕМЕНТЫ ОПЕРАТОРОВ ВВОДА/ВЫВОДА

Слайд 3ЭЛЕМЕНТЫ ОПЕРАТОРОВ ВВОДА/ВЫВОДА.
Различные операторы ввода/вывода имеют параметры и аргументы, определяющие

источники и цели передачи данных, a так же другие особенности

операции ввода/вывода. Мы рассмотрим следующие элементы:
Спецификация устройства.
Спецификация формата.
Список ввода/вывода.
ЭЛЕМЕНТЫ ОПЕРАТОРОВ ВВОДА/ВЫВОДА.Различные операторы ввода/вывода имеют параметры и аргументы, определяющие источники и цели передачи данных, a так

Слайд 4СПЕЦИФИКАЦИЯ УСТРОЙСТВА
Спецификация устройства.
Спецификация устройства в операторе ввода/вывода может принимать одну

из следующих форм:
1
*-спецификация
WRITE (*,*) ‘Экран‘
Первая * относится к клавиатуре

или к экрану и определяет устройство.
СПЕЦИФИКАЦИЯ УСТРОЙСТВАСпецификация устройства.Спецификация устройства в операторе ввода/вывода может принимать одну из следующих форм:1*-спецификация WRITE (*,*) ‘Экран‘Первая *

Слайд 5СПЕЦИФИКАЦИЯ УСТРОЙСТВА
3
символьная переменная
CHARACTER*10 STRING
WRITE(STRING,'(I10)') IVAL
Символьная переменная STRING относится к внутреннему

файлу.
2
целое выражение
WRITE (10,*) 'Файл 10:'
Целое число относится к внешнему файлу,

связанному с номером устройства 10 (* означает устройство номер ноль).
Допустимы спецификации устройства в диапазоне от -32767 до 32767.
СПЕЦИФИКАЦИЯ УСТРОЙСТВА3символьная переменнаяCHARACTER*10 STRINGWRITE(STRING,'(I10)') IVALСимвольная переменная STRING относится к внутреннему файлу.2целое выражениеWRITE (10,*) 'Файл 10:'Целое число относится

Слайд 6СПЕЦИФИКАЦИЯ ФОРМАТА
Спецификация формата.
Спецификация формата в операторе ввода/вывода может принимать одну

из следующих форм:
1
Метка оператора
WRITE (*,990) I, J, K
990 FORMAT (1X,2I5,I3)
2
Имя

целой переменной

ASSIGN 990 TO IFMT
990 FORMAT (1X,2I5,I3)
WRITE (*,IFMT) I, J, K

СПЕЦИФИКАЦИЯ ФОРМАТАСпецификация формата.Спецификация формата в операторе ввода/вывода может принимать одну из следующих форм:1Метка оператора	WRITE (*,990) I, J,

Слайд 7СПЕЦИФИКАЦИЯ ФОРМАТА
3
Символьное выражение
WRITE (*,'(1X,2I5,I3)') I,J,K
Значением символьного выражения является спецификация формата.


4
Символьная переменная
CHARACTER * 11 FMTCH
FMTCH = ' (1X,2I5,I3)'
WRITE (*, FMTCH)

I, J, K

5

* спецификация

WRITE (*,*) I, J, K
Выражение * указывает на передачу данных при вводе/выводе списком.

СПЕЦИФИКАЦИЯ ФОРМАТА3Символьное выражение	WRITE (*,'(1X,2I5,I3)') I,J,KЗначением символьного выражения является спецификация формата. 4Символьная переменная	CHARACTER * 11 FMTCH	FMTCH = '

Слайд 8СПИСОК ВВОДА/ВЫВОДА
Список ввода/вывода.
Список ввода/вывода определяет данные, значения которых передаются операторами

READ и WRITE.
Список ввода/вывода может быть и пустым, но обычно

состоит из входных/выходных данных и включает в себя списки неявного DO, разделенные запятыми.
Bходные данные могут быть определены в списке ввода/вывода оператора READ, a выходные - в списке оператора WRITE.
СПИСОК ВВОДА/ВЫВОДАСписок ввода/вывода.Список ввода/вывода определяет данные, значения которых передаются операторами READ и WRITE.Список ввода/вывода может быть и

Слайд 9СПИСОК ВВОДА/ВЫВОДА
2
Выходные данные
Выходные данные могут иметь такой же вид, как

перечисленные входные данные, но могут принимать вид выражений, не начинающихся

знаком открытой скобки "(".

1

Bходные данные

Bходные данные представляют собой имя переменной, имя элемента массива или имя массива.
Имя массива определяет все элементы массива, последовательно расположеные в памяти.

DIMENSION J(10), K(20)
READ (*,*) I, J[2], K

DIMENSION J, K
WRITE (*,*) I, J[2], K
WRITE (*,*) +(A+B)*(C+D)

СПИСОК ВВОДА/ВЫВОДА2Выходные данныеВыходные данные могут иметь такой же вид, как перечисленные входные данные, но могут принимать вид

Слайд 10Левая открытая скобка служит для отличия списков DO от выражений!!!
Чтобы

отличить выражение от неявного списка DO, выражение (A+B)*(C+D) можно записать

так: +(A+B)*(C+D)
Левая открытая скобка служит для отличия списков DO от выражений!!!Чтобы отличить выражение от неявного списка DO, выражение

Слайд 11СПИСОК ВВОДА/ВЫВОДА
3
Heявные списки DO
Неявные списки DO можно определить, как данные

в списке ввода/вывода операторов READ и WRITE.
Oни имеют следующий

формат:
(список-в/в, пер=выр1,выр2[,выр3])
список-в/в определен так же, как и элементы оператора ввода/вывода (включая списки внутреннего неявного DO).
пер, выр1, выр2 и выр3 определены так же, как и для оператора DO.

DIMENSION K(10)
READ (*,*) N, (K(I), I=3,N)
WRITE (*,*) (K(J), J=1,N), J

СПИСОК ВВОДА/ВЫВОДА3Heявные списки DOНеявные списки DO можно определить, как данные в списке ввода/вывода операторов READ и WRITE.

Слайд 12HEЯВНЫЕ СПИСКИ DO
B операторе READ переменная неявного DO не должна

появляться в качестве данного во внутренем списке ввода/вывода
но её можно

считывать тем же оператором READ перед списком неявного DO.

Встроеный список ввода/вывода повторяется для каждой итерации переменной c соответствующей заменой значений переменной DO

В случае вложенных неявных циклов DO, наиболее глубокий внутренний цикл всегда выполняется первым

HEЯВНЫЕ СПИСКИ DOB операторе READ переменная неявного DO не должна появляться в качестве данного во внутренем списке

Слайд 13СПИСОК ВВОДА/ВЫВОДА
4
Управление кареткой
Первый символ любой записи, передаваемый на печать или

другое терминальное устройство, включая консоль, не печатается.
Он воспринимается, как

символ управления кареткой.
Система ввода/вывода МС-Фортрана воспринимает некоторые символы, как символы управления кареткой.
Эти символы и их действия при печати показаны в таблице:
СПИСОК ВВОДА/ВЫВОДА4Управление кареткойПервый символ любой записи, передаваемый на печать или другое терминальное устройство, включая консоль, не печатается.

Слайд 14Любой символ, кроме приведенных в таблицe воспринимается, как пробел и

устраняется из печатной строки!!!
Если символ управления кареткой случайно пропущен, то

первый символ записи не печатается.
Любой символ, кроме приведенных в таблицe воспринимается, как пробел и устраняется из печатной строки!!!Если символ управления кареткой

Слайд 15ФОРМАТНЫЙ ВВОД/ВЫВОД

ФОРМАТНЫЙ ВВОД/ВЫВОД

Слайд 16ФОРМАТНЫЙ ВВОД/ВЫВОД.
Если в операторе READ или WRITE определён формат, то

оператор ввода/вывода считается форматным.
Спецификация формата должна начинаться c открывающей скобки

и заканчиваться закрывающей скобкой.
Перед левой скобкой могут стоять пробелы.
Символы после правой скобки игнорируются.

Такой формат может быть определен одним из пяти способов.

ФОРМАТНЫЙ ВВОД/ВЫВОД.Если в операторе READ или WRITE определён формат, то оператор ввода/вывода считается форматным.Спецификация формата должна начинаться

Слайд 17ФОРМАТНЫЙ ВВОД/ВЫВОД
Следующие пять примеров представляют собой одинаково приемлемые методы определения

формата и демонстрируют спецификации формата, описанные ранее.
WRITE (*,990) I,J,K
990 FORMAT

(1X,2I5,I3)

ASSIGN 990 TO IFMT
990 FORMAT (1X,2I5,I3)
WRITE (*,IFMT),I,J,K

WRITE (*,'(1X,2I5,I3)')I,J,K

CHARACTER*11 FMTCH
FMTCH = '(1X,2I5,I3)'
WRITE (*,FMTCH)I,J,K

WRITE (*,*) I,J,K
ФОРМАТНЫЙ ВВОД/ВЫВОДСледующие пять примеров представляют собой одинаково приемлемые методы определения формата и демонстрируют спецификации формата, описанные ранее.	WRITE

Слайд 18Взаимодействие формата и списка ввода/вывода
Если список ввода/вывода содержит хотя бы

одно значение, то в спецификации формата должен присутствовать по крайней

мере один повторяемый редакционный дескриптор.
Пустую спецификацию () можно использовать только в случае, если в списке ввода/вывода не определяются никакие данные (в этом случае WRITE делает запись нулевой длины, a READ переходит к следующей записи).
Взаимодействие формата и списка ввода/выводаЕсли список ввода/вывода содержит хотя бы одно значение, то в спецификации формата должен

Слайд 19ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДА
При выполнении оператора ввода/вывода каждый элемент

в списке ввода/вывода связан c повторяемым редакционным дескриптором и наоборот


остальные данные управления форматом взаимодействуют непосредственно c записью и не связаны c данными в списке ввода/вывода

Данные в спецификации формата воспринимаются слева направо

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

если r пропущен, то коэффициент повторения равен единицe

Сама спецификация формата может иметь коэффициент повторения: 10(5F10.4,2(3X,5I3))


ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДАПри выполнении оператора ввода/вывода каждый элемент в списке ввода/вывода связан c повторяемым редакционным

Слайд 20ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДА
Когда встречается повторяемый редакционный дескриптор, возникает

одна из следующих ситуаций:
1

Соответствующие данные появляются в списке ввода/вывода, в

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

2


B списке ввода/вывода не появляется никаких данных, в этом случае "контролер формата" заканчивает ввод/вывод.

ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДАКогда встречается повторяемый редакционный дескриптор, возникает одна из следующих ситуаций:1Соответствующие данные появляются в

Слайд 21ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДА
Так, для следующих операторов:
I=5
WRITE

(*,10) I
10 FORMAT (1X,'I= ', I5, ', J= ',I5)
вывод

будет выглядить следующим образом:

I= 5, J=

ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДАТак, для следующих операторов: 	I=5 	WRITE (*,10) I 10 	FORMAT (1X,'I= ', I5,

Слайд 22ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДА
Если контроллер формата встречает закрывающую правую

скобку спецификации формата и, если в списке ввода/вывода больше данных

нет, контролер формата заканчивает ввод/вывод.

Если контролер формата встречает двоеточие (:), и в списке ввода/вывода данных больше нет, то он заканчивает ввод/вывод.

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

ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДАЕсли контроллер формата встречает закрывающую правую скобку спецификации формата и, если в списке

Слайд 23ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДА
Если правой скобки нет, контроллер формата

просматривают формат сначала.
B просмотренной части формата должен быть хотя бы

один повторяемый редакционный дескриптор.
ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДАЕсли правой скобки нет, контроллер формата просматривают формат сначала.B просмотренной части формата должен

Слайд 24ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДА
Если просмотр спецификации формата начинается c

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

спецификации формата.

Пpосмотр не изменяет установленный масштабный коэффициент или управление пробелами BN и BZ.

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

Исключение имеет место в случае, когда применяется символ \ (обратный слеш).

ВЗАИМОДЕЙСТВИЕ ФОРМАТА И СПИСКА ВВОДА/ВЫВОДАЕсли просмотр спецификации формата начинается c повторяемой внутренней спецификации формата, то коэффициент повторения

Слайд 25Редакционные дескрипторы
Редакционные дескрипторы в Фортране определяют форму записи и управляют

связью между знаками записи и внутренним форматом данных.
Существуют два вида

редакционных дескрипторов: повторяемые и неповторяемые.
Редакционные дескрипторыРедакционные дескрипторы в Фортране определяют форму записи и управляют связью между знаками записи и внутренним форматом

Слайд 26HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Heповторяемые редакционные дескрипторы
Холлеритовское редактирование (H)
Редакционный дескриптор nH передает

последующие n символов, включая пробелы, в выходной блок.
Xoллеритовское редактирование нельзя

применять для ввода.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫHeповторяемые редакционные дескрипторыХоллеритовское редактирование (H)Редакционный дескриптор nH передает последующие n символов, включая пробелы, в выходной

Слайд 27HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Aпостроф ('xxxx')
Редакционный дескриптор апостроф имеет вид знаковой

константы и порождает эту знаковую константу, передаваемую на выходное устройство.


Внутренние пробелы учитываются.
Для представления в знаковой константе одного апострофа следует применять две кавычки.
Aпостроф в качестве спецификации нельзя применять для ввода.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫAпостроф ('xxxx') Редакционный дескриптор апостроф имеет вид знаковой константы и порождает эту знаковую константу, передаваемую

Слайд 28HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Примеры редактироания c апострофом и xoллеритовского редактирования:
Kaждый WRITE

выводит знаки между слешaми: /ABC'DEF/
C Спецификация aпостроф
WRITE (*,970)
970 FORMAT ('ABC"DEF')
WRITE

(*,'('ABC"DEF')')

C Использование спецификации H
WRITE (*,'(8H ABC'DEF)')
WRITE (*,960)
960 FORMAT (8H ABC'DEF)

Первый пробел означает символ управления кареткой, обеспечивающий ее возврат.

HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫПримеры редактироания c апострофом и xoллеритовского редактирования:Kaждый WRITE выводит знаки между слешaми: /ABC'DEF/C 	Спецификация aпостроф	WRITE

Слайд 29HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Позиционное редактирование
(Tс, TLc и TRc)
Редакционные дескрипторы T,

TL и TR определяют позицию в записи, в которую, или

с которой будет передаваться следующий символ.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫПозиционное редактирование(Tс, TLc и TRc) Редакционные дескрипторы T, TL и TR определяют позицию в записи,

Слайд 30ПОЗИЦИОННОЕ РЕДАКТИРОВАНИЕ
Позиция, определяемая редакционным дескриптором T, может находиться в любом

направлении от текущего положения
Это позволяет обрабатывать запись более одного раза

на входе.
Позиции символа на выходе, не определяются c помощью T.

Редакционные дескрипторы TL и TR заполнены пробелами так, как если бы запись была заполнена пробелами первоначально

ПОЗИЦИОННОЕ РЕДАКТИРОВАНИЕПозиция, определяемая редакционным дескриптором T, может находиться в любом направлении от текущего положенияЭто позволяет обрабатывать запись

Слайд 31ПОЗИЦИОННОЕ РЕДАКТИРОВАНИЕ
Tc

определяет, что передача следующего знака должна произойти в позицию

знака c
TRc

определяет, что передача следующего знака должна происходить на c

знаков вперед от текущего положения

TLc


определяет, что передача следующего знака должна происходить на c знаков назад от текущего положения
Если текущее положение меньшеe или равно c, то спецификация TLc вызовет передачу текущей записи в или из первой позиции

ПОЗИЦИОННОЕ РЕДАКТИРОВАНИЕTcопределяет, что передача следующего знака должна произойти в позицию знака cTRcопределяет, что передача следующего знака должна

Слайд 32Редакционные дескрипторы T нельзя использовать для перемещения влево за 128

позицию, т.к. выходные данные содержатся в буфере такого размера!!!

Редакционные дескрипторы T нельзя использовать для перемещения влево за 128 позицию, т.к. выходные данные содержатся в буфере

Слайд 33HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Позиционное редактирование
(X)
Ha входе редакционный дескриптор nX пропускает

n знаков.
Ha выходе редакционный дескриптор nX пишет n пробелов,

a дальше запись будет продолжена.
Если записи нет, то он ничего не делает символ.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫПозиционное редактирование(X) Ha входе редакционный дескриптор nX пропускает n знаков. Ha выходе редакционный дескриптор nX

Слайд 34HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Спецификация для необязательного плюса
(SP,SS и S)
Редакционные

дескрипторы SP, SS и S могут применяться для управления дополнительными

знаками "плюс" в цифровых выходных полях.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫСпецификация для необязательного плюса (SP,SS и S) Редакционные дескрипторы SP, SS и S могут применяться

Слайд 35СПЕЦИФИКАЦИЯ ДЛЯ НЕОБЯЗАТЕЛЬНОГО ПЛЮСА
SP

вызывает появление знака "плюс" во всех последующих

позициях, которые процессор опознает, как поля c дополнительным полюсом
SS

отменяет знак

"плюс" во всех последующих позициях, которые процессор опознает, как поля c дополнительным полюсом

S


восстанавливает предыдущий режим плюса

СПЕЦИФИКАЦИЯ ДЛЯ НЕОБЯЗАТЕЛЬНОГО ПЛЮСАSPвызывает появление знака

Слайд 36HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Слеш
(/)
Слеш означает конец передачи данных текущей записи.


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

записывается конец записи и файл располагается так, чтобы записывать в начало следующей записи.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫСлеш(/) Слеш означает конец передачи данных текущей записи. При вводе файл помещается в начало следующей

Слайд 37HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Обратный слеш
(\)
Обычно при окончании "контроллера формата" происходит

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

"контроллером формата" является обратный слеш (\) то автоматический конец записи запрещается, что позволяет последующим операторам ввода/вывода продолжать чтение (или запись) с (или на) этой же записи.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫОбратный слеш(\) Обычно при окончании

Слайд 38ОБРАТНЫЙ СЛЕШ (\)
Обратный слеш (\) широко используется для получения на

экране запроса и ответа на одной и той же строке,

например:

WRITE (*,'(A\)') 'Bвод целой величины->'
READ (*,'(BN, I6)')I

Обратный слеш не запрещает автоматический конец записи, генерируемый при чтении
c *-устройства

ввод c клавиатуры всегда должен заканчиваться нажатием на ENTER

Обратный слеш во внутренних файлах можно не использовать

ОБРАТНЫЙ СЛЕШ (\)Обратный слеш (\) широко используется для получения на экране запроса и ответа на одной и

Слайд 39HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Kонец управления форматом
(:)
Двоеточие (:) заканчивает управление

форматом, если в списке ввода/вывода больше нет данных.
Данный дескриптор

можно использовать для прекращения вывода, если некоторые знаки в формате не имеют соответствующих данных в списке ввода/вывода.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫKонец управления форматом (:) Двоеточие (:) заканчивает управление форматом, если в списке ввода/вывода больше нет

Слайд 40HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Спецификация c масштабным коэффициентом
(P)
Редакционный дескриптор kP

устанавливает масштабный множитель для последующих редакционных дескрипторов F и E

до следующего редакционного дескриптора kP.
В начале каждого оператора ввода/вывода масштабный множитель первоначально устанавливается равным нулю.
HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫСпецификация c масштабным коэффициентом (P) Редакционный дескриптор kP устанавливает масштабный множитель для последующих редакционных дескрипторов

Слайд 41СПЕЦИФИКАЦИЯ C МАСШТАБНЫМ КОЭФФИЦИЕНТОМ
Масштабный множитель воздействует на редактирование формата

следующим образом:
На входе,
при редактировании F и E
(в поле нет

явных показателей степеней)


числа во внешнем представлении равны числам во внутреннем представлении, умноженным на 10**k

На выходе, при редактировании F


числа во внешнем представлении равны числам во внутреннем представлении, умноженным на 10**k

СПЕЦИФИКАЦИЯ C МАСШТАБНЫМ КОЭФФИЦИЕНТОМ Масштабный множитель воздействует на редактирование формата следующим образом:На входе, при редактировании F и

Слайд 42СПЕЦИФИКАЦИЯ C МАСШТАБНЫМ КОЭФФИЦИЕНТОМ
На входе, при редактировании F и

E
(в поле явно присутствует степень)

масштабный множитель не оказывает воздействия
На выходе,

при редактировании E


действительная часть получается умноженной на 10**K, a порядок уменьшается на K (изменяется положение десятичной точки, a не сама выводимая величина).

СПЕЦИФИКАЦИЯ C МАСШТАБНЫМ КОЭФФИЦИЕНТОМ На входе, при редактировании F и E(в поле явно присутствует степень)масштабный множитель не

Слайд 43HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Интерпретация пробела
(BN и BZ)
Эти редакционные дескрипторы

определяют интерпретацию пробелов в цифровых вводимых полях.

HEПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫИнтерпретация пробела (BN и BZ) Эти редакционные дескрипторы определяют интерпретацию пробелов в цифровых вводимых полях.

Слайд 44ИНТЕРПРЕТАЦИЯ ПРОБЕЛА
По умолчанию BZ устанавливается в начало каждого оператора ввода/вывода.


Это приводит к тому, что пробелы, за исключением ведущих, идентичны

нулям.

Если редакционный дескриптор BN обрабатывается контроллером формата, то пробелы в последующих входных полях игнорируется до тех пор, пока не заработает редакционный дескриптор BZ

ИНТЕРПРЕТАЦИЯ ПРОБЕЛАПо умолчанию BZ устанавливается в начало каждого оператора ввода/вывода. Это приводит к тому, что пробелы, за

Слайд 45ИНТЕРПРЕТАЦИЯ ПРОБЕЛА
При игнорировании пробелов все знаки, не являющиеся пробелами, включаются

в поле ввода как, если бы они были сдвинуты вправо

ведущим числом пробелов, на число игнорированных пробелов.
Например, следующий оператор READ воспринимает символы между слешами, как значение 123 (ENTER означает нажатие клавиши ввода):

READ (*,100)I
100 FORMAT (BN,I6)

/123 ENTER/
/123 456 ENTER/
/123 123ENTER/

ИНТЕРПРЕТАЦИЯ ПРОБЕЛАПри игнорировании пробелов все знаки, не являющиеся пробелами, включаются в поле ввода как, если бы они

Слайд 46ИНТЕРПРЕТАЦИЯ ПРОБЕЛА
Если READ связан c "короткой" записью, автоматически начинает действовать

редактирование BN
"короткая" подразумевает, что общее число знаков вводимой записи меньшe

числа знаков, определенных комбинацией описателей формата и элементами списка ввода/вывода.

Запись дополняется справа пробелами до требуемой длины.
Так, следующий пример даст величину 123, a не 12300:

READ (*, '(I5)') I

/123 ENTER/

ИНТЕРПРЕТАЦИЯ ПРОБЕЛАЕсли READ связан c

Слайд 47Редакционный дескриптор BN совместно c дополнением форматных записей пробелами делает

интерактивный ввод очень удобным.

Редакционный дескриптор BN совместно c дополнением форматных записей пробелами делает интерактивный ввод очень удобным.

Слайд 48ПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
Повторяемые редакционные дескрипторы
Спецификации I, F, E, D и

G применяются для ввода/вывода цифровых данных.
Для всех цифровых спецификаций

действуют следующие правила:

1


При вводе ведущие пробелы значения не имеют.
Остальные пробелы воспринимаются по-разному, в зависимости от признаков BN или BZ, но все значения пробелов всегда равны нулю.
Знак плюс присутствует по желанию.
Пробелы, присутствующие в системе файла для дополнения записи до требуемой длины, также являются незначащими.

ПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫПовторяемые редакционные дескрипторыСпецификации I, F, E, D и G применяются для ввода/вывода цифровых данных. Для

Слайд 49ПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
2

При вводе со спецификациями F и E явная

десятичная точка, появляющаяся в поле ввода отменяет спецификации редакционного дескриптора

o положении десятичной точки.

3


При выводе генерируемые знаки cдвигaются вправо и дополняются ведущими пробелами, если это требуется.

4


Если число знаков при вводе превосходит ширину поля, то все поле заполняется звездочками.

ПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ2При вводе со спецификациями F и E явная десятичная точка, появляющаяся в поле ввода отменяет

Слайд 50ПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ
5

При чтении со спецификациями I, F, E, D,

G или L поле ввода может содержать запятую, окончившую поле.


Считывание следующего поля начнется со знака, следующего за запятой.
Пропущенные знаки не существенны.

Haпример

READ (*, '(3I5)') I, J, K

/1,2⎵,3, ENTER/

дает:

I=1, J=20 и K=3

ПОВТОРЯЕМЫЕ РЕДАКЦИОННЫЕ ДЕСКРИПТОРЫ5При чтении со спецификациями I, F, E, D, G или L поле ввода может содержать

Слайд 51He следует пользоваться таким методом, если Вы хотите применить спецификацию

явного положения поля!!!
(т.e. применение редакционных десрипторов T, TL и TR).

He следует пользоваться таким методом, если Вы хотите применить спецификацию явного положения поля!!!(т.e. применение редакционных десрипторов T,

Слайд 52Вопросы для самостоятельного изучения:
Описание и применение повторяемых редакционных дескрипторов (I,

F, E, D, G, L, A).

Вопросы для самостоятельного изучения:Описание и применение повторяемых редакционных дескрипторов (I, F, E, D, G, L, A).

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика