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

G-спецификация формата

G-спецификация формата – это универсальная спецификация для ввода и вывода данных любого типа. Общая форма этой спецификации имеет вид:

rGw.d

Здесь указано, что поле вывода содержит wпозиций, а дробная часть состоит из не более, чемd цифр. Значениеd игнорируется при использовании с данными логического или символьного типа.

С целыми значениями спецификация Gw.dдействует аналогично спецификацииIw.d.

С данными вещественного типа форма представления числа зависит от его значения. Если спецификация Fw.dпозволяет вывести число, то используется именно она, в противном случае (если число слишком велико или мало) используется спецификацияEw.d

Вывод комплексных чисел

Вывод одного комплексного числа выполняется с помощью двух вещественных спецификаций. Первая определяет преобразование вещественной части, вторая – мнимой части. Эти спецификации могут быть различными.

Пример.

complex:: cmp = (19.1, 0.0034)

104 format (F10.2, ' +', E9.3, ' i')

write (*, 104) cmp

Результирующая строка:

_____19.10_+_.340E-02_i

Спецификации нечисловых данных a-спецификация формата

A- спецификация формата предназначена для вывода символьных строк. .

Общая форма этой спецификации имеет вид:

rAилиrAw

где r– повторитель,wзадает ширину поля вывода. В случае, когдаw отсутствует, число символьных позиций в строке вывода определяется длиной выводимой строки.

Пример.

105 format (A, F7.2, A, F7.2)

write (*, 105) ‘ При радиусе‘,Radius, &

‘ площадь круга равна‘, Radius*Radius*3.1416

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

105 format (2(A, F7.2))

write (*, 105) ‘ При радиусе‘,Radius, &

‘ площадь круга равна‘, Radius*Radius*3.1416

Если радиус Radius= 4.5, то в обоих случаях выводится строка:

_При_радиусе___4.50_площадь_круга_равна__63.62

Первая A- спецификация относится к первому элементу списка вывода, вторая – к третьему элементу списка вывода.

По спецификации Awвыводится толькоwсимволов соответствующей строки:

105 format (A6, F7.2, A, F7.2)

write (*, 105) ‘ При радиусе‘, Radius, &

‘ площадь круга равна‘, Radius*Radius*3.1416

Выведенная строка в этом случае имеет вид:

_При_р___4.50_площадь_круга_равна__63.62

Символьные константы можно также выводить без применения A- спецификации. Для этого нужно включить в список спецификаций оператораformat соответствующие символьные строки. В применении к предыдущему примеру это выглядит так:

105 format (‘ При радиусе‘, F7.2, ‘ площадь круга равна‘, F7.2)

write (*, 105) Radius, Radius*Radius*3.1416

Если нужно повторить символьную константу в операторе format, она заключается в скобки. Например, для вывода строки из 15 звездочек можно применить либо формат

10 format (‘***************‘)

write (*, 10)

либо формат

10 format (15(‘*‘)

write (*, 10)

L-спецификация формата

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

Общая форма этой спецификации имеет вид:

Lw

где wзадает ширину поля вывода. Строка, выведенная по форматуLw, состоит из (w-1)-го пробела и символа «T» или «F» («T» соответствует.true., «F» –.false.).

Пример.

logical:: Yes = .true.

103 format (L4)

write (*, 103) Yes

Выводится строка: ___T

Соседние файлы в папке Фортран_Лекции