Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson 3.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
675.33 Кб
Скачать

Cпецификация формата – «слэш»

Спецификация «слэш» или косая черта ( / ) в операторе format вызывает завершение очередной строки.

Пример.

15 format (10x, ‘Fortran’, /, 10x, 7(‘*’))

write (*, 15)

или (запятые до и после символа «слэш» могут быть опущены)

15 format (10x, ‘Fortran’ / 10x, 7(‘*’)

write (*, 15)

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

__________Fortran

__________*******

Два последовательных символа «слэш» вызывают печать строки из одних пробелов:

15 format (10x, ‘Fortran’ // 10x, 7(‘*’))

write (*, 15)

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

__________Fortran

_________________

__________*******

Взаимодействие операторов write и format .

Управление расположением выводимых данных осуществляется спецификациями формата и зависит от элементов списка вывода. Необходимо строго согласовывать спецификации выводимых данных с их типом, нарушение этого правила приводит к ошибкам вывода, фиксируемым на экране монитора (ошибки выполнения).

Взаимодействие операторов format и write, подчиняется следующим правилам:

  • Каждый оператор write начинает вывод с новой строки, устанавливает начало списка вывода и начало списка спецификаций.

  • Для каждой спецификации выбирается, представляется в виде текста и добавляется к строке вывода соответствующий элемент списка вывода. Попутно обрабатываются оформительские спецификации (такие как «Х», «слэш», символьные строки).

  • Если выведены все элементы списка вывода, продолжается просмотр и исполнение оформительских спецификаций до ближайшей спецификации данных, и формирование строки вывода завершается, даже если не все спецификации данных использованы.

  • Если исчерпан список спецификаций данных, а список вывода еще не завершен, то значения оставшихся элементов списка вывода размещаются, начиная с новой строки, при этом список спецификаций используется повторно, и так далее (до тех пор, пока не будет исчерпан список вывода).

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

Поясним сказанное, воспользовавшись схемой оператора format .

2 format ((..)..(..(..)..)..)

Жирным шрифтом и цветом выделены скобки: последняя внутренняя закрывающая и соответствующая ей открывающая. В рамку заключены повторяющиеся спецификации формата.

Пример1 (без внутренних скобок).

real:: a=1.8, b=-34.7, c=17.568, d=245.241

15 format (1x, 2F8.2)

write (*, 15) a, b, c, d

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

real:: a=1.8, b=-34.7, c=17.568, d=245.241

15 format (1x, 2F8.2/1x, 2F8.2)

write (*, 15) a, b, c, d

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

____1.80__-34.70

___17.57__245.24

Пример2.

real:: a=1.8, b=-34.7, c=17.568, d=245.241

16 format (1x, 2(F8.2, 2x))

write (*, 16) A, B, C, D

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

real:: a=1.8, b=-34.7, c=17.568, d=245.241

16 format (1x, 2(F8.2, 2x)/ 2(F8.2, 2x))

write (*, 16) A, B, C, D

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

____1.80__-34.70__

___17.57__245.24__

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]