Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
02.05.2014
Размер:
553.98 Кб
Скачать

Правила ввода-вывода текстовой информации:

1). Ввод информации

Текстовая информация читается форматно по спецификации А. В соответствии со спецификацией оператора FORMAT Аw с экрана дисплея в буфер ЭВМ считывается количество w позиций текстовой информации. Затем информация из буфера переносится в память ЭВМ. Это количество w записывается в текстовую переменную длиной len. Идеальный случай: w=len.

Если w не равно len, то возникают сложности в запоминании правил занесения информации. Поэтому воспользуемся мнемоникой. Представим, что два таких доступных студенту предмета, как стакан и линейка представляют собой соответственно длину текстовой переменной len и ширину считываемого поля w оператора Format.

Стакан - длина текстовой переменной, описанной в операторе CHARACTER.

Линейка – количество текстовых символов, обрабатываемых оператором FORMAT.

При чтении информации:

1. Если w<len

Считанный текст короче, чем длина переменной. Этот текст помещается в текстовую переменную, а справа дополняется пробелами. (Линейка вставляется в стакан слева. Линейка короче стакана). Количество пробелов равно недостающему количеству символов до длины len.

2. Если w>len

В буфер ЭВМ считано больше символов, чем может поместиться в текстовой переменной. В этом случае в длину len помещается правая часть считанного текста, левая часть обрезается. (Линейка вставляется в стакан слева. Линейка длиннее стакана. Обрежутся первых w-len символов слева).

Вывод информации

Вывод информации осуществляется форматно по спецификации Aw. При выводе из ячейки памяти длиной len текст помещается в буфер и выводится на внешнее устройство в соответствии со спецификацией оператора FORMAT Aw.

1. Если w>len

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

Выводимая информация (len) прижимается к правому краю поля, а слева дополняется пробелами (Линейка вставляется в стакан справа. Линейка короче стакана). Количество пробелов равно w-len.

2. Если w<len

Выводимая информация не помещается в ширину поля вывода. При выводе текста не произойдёт появление символов “ * ” вместо информации как для спецификацийI, F, E. Будет выведена левая часть текстовой переменной (стакан открыт справа, а линейка длинная).

При этом необходимо учесть, что если при выводе мы не отступим хотя бы одну позицию с начала строки, то первый символ заменится пробелом (первая позиция строки используется для управления режимом вывода информации (см. “Спецификация I”)).

Примечание:

Средствами языка ФОРТРАН для персональных ЭВМ при вводе-выводе информации по спецификации Аw можно не указывать ширину поля.

Пример:

CHARACTER*8 A1,B1,T*125

READ (5,7) A1

  1. FORMAT (A)

Здесь ширина А не указана. При этом автоматически считается, что w=len. Поэтому переменную А1 считываем и выводим как по формату А8.

WRITE (6,7) A1

Необходимо учесть, что при таком выводе по формату 7 первый символ выводимого текста будет утерян

Вместо двух строк:

READ (5,7) A1

  1. FORMAT (A8)

можно записать одну форматизованную строку:

READ (5,’(A8)’) A1

Причём это применимо для всех типов переменных. Например:

READ (5,’(F7.2)’) X

строка оператораFORMAT

Строка оператора FORMATможет быть записана внутри оператораREADилиWRITEв виде текстовой константы, взятой в апострофы.

Т*125 – максимальная длинна строки.

Соседние файлы в папке Программирование на Фортране