Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИиП_3.doc
Скачиваний:
1
Добавлен:
21.04.2019
Размер:
303.1 Кб
Скачать

3.7.4. Дескрипторы управления

Таблица 3.7. Неповторяющиеся дескрипторы преобразований

Форма

Имя

Назначение

Использование

Строка

Преобразование апострофа

Передает строку текста на внешнее устройство

Вывод

NH

Преобразование Холлерита

Передает n символов на внешнее устройство

Вывод

Q

Преобразование опроса

Возвращает число непрочитанных символов записи

Ввод

Tn, TLn, TRn

Преобразование позиции

Спецификация позиции в записи

Вывод/ввод

NX

Преобразование позиции

Спецификация позиции в записи

Вывод/ввод

SP, SS, S

Преобразование знака плюс

Управление выводом знака плюс

Вывод

/

Преобразование слэша

Переход к следующей записи и простановка символа конца записи

Вывод/ввод

\

Преобразование обратного слэша

Продолжение текущей записи (для тех же целей можно использовать знак $)

Вывод

:

Прерывание выполнения действия дескриптора

При исчерпании списка вывода прерывает выполнение дескриптора

Вывод

KP

Преобразование масштабного коэффициента

Устанавливает значение показателя степени в дескрипторе данных F, E, D и G

Вывод/ввод

BN, BZ

Интерпретация пробела

Устанавливает способ интерпретации пробелов

Ввод

Пример использования дескриптора Q.

integer kar(5), nq ! в этом примере спецификатор

character(1) chr(80) ! формата задан как символьная строка

read (4,’(5I4, Q, 80A1)’) kar, nq, (chr(i), i=1,min(nq,80)) ! ’(5I4, Q, 80A1)’

Пример, иллюстрирующий использование дескриптора Q в следующем операторе ввода.

integer k, nq

character(1) chr(80)

read(*,’(I2,Q)’, advance = ‘no’) k,nq ! опция advance = ‘no’ задает

read(*,’(80A1)’, (chr(i), i=1,min(nq,80)) ! ввод без продвижения

Пример использования масштабного множителя.

REAL A,B,C,D

20 FORMAT (F5.0,2P(2F5.0),3P,F5.0)

READ (5,20) A,B,C,D

.........................

WRITE (6,21) A,A

21 FORMAT (1X,2P,E10.3,F10.3)

.........................

Предположим, что A, B, C и D  это следующие поля:

“2400”, 2.4E3”, “2400”, 2400

тогда переменные A, B, C и D получат значения: 2400, 2400, 24 и 2.4 (при вводе), а результаты вывода будут следующими: 24.00+02, 240000.

Пример использования спецификатора BZ.

REAL A,B

READ (4,20) A,B

20 FORMAT (F3.0, BZ, F3.0)

Предположим, что поля записей A и B имеют вид: 24, 24", тогда переменные A и B получат следующие значения 24, 204.