Главная страница
Навигация по странице:

  • 2.9.1. Оператор FORMAT. Оператор, с помощью списка дескрипторов управляющий форматом ввода-вывода.n Format (a)

  • Дескриптор Выводимое значение Результат

  • Дескриптор Выводимое значение

  • Тип выводимого значения Действие дескриптора G

  • Дескриптор Выводимое значение Аналог. Результат

  • Формат Имя Использование

  • Курс лекций по дисциплине Программирование на языке Фортран


    Скачать 0.98 Mb.
    НазваниеКурс лекций по дисциплине Программирование на языке Фортран
    Дата02.09.2019
    Размер0.98 Mb.
    Формат файлаdoc
    Имя файлаFortran01.doc
    ТипКурс лекций
    #85698
    страница15 из 15
    1   ...   7   8   9   10   11   12   13   14   15

    LOCKING (3, IOSTAT = ierr, LOCKMODE = ‘LOCK’, REC=10, RECJRDS=5)


    Значение параметра LOCKMODE ‘UNLCK’– открывает защищенную область.

    2.9. Форматный ввод-вывод.

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

    Дескриптор – логический элемент описания символьной формы.

    2.9.1. Оператор FORMAT.

    Оператор, с помощью списка дескрипторов управляющий форматом ввода-вывода.

    n Format (a), где

    n – метка оператора, a – форматное выражение.

    Форматное выражение представляет собой список дескрипторов и символьных констант. Порядок следования дескрипторов должен соответствовать порядку следования элементов в списке ввода-вывода.

    Часто используемые дескрипторы описания:

    1) I w для ввода-вывода величин целого типа,

    где w – целая положительная константа, определяющая длину поля (в позициях) элемента ввода-вывода.

    I6 – вывод целого значения до 6-ти знаков по цифрам.

    Дескриптор

    Выводимое значение

    Результат




    0

    0

    I5

    -22

    -22




    22

    22




    22.2

    Ошибка




    ‘22’

    Ошибка




    99999

    99999




    -99999

    *****




    -9999

    -9999




    100 000

    *****

    1. Fw.d – для в/в величин вещественного типа,

    где d – целая положительная константа, определяющая длину поля (в позициях) под дробную часть значения.

    Дескриптор

    Выводимое значение


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

    F6.3

    -1.0012

    100.5

    -1.001

    ******

    F8.3

    -345.456

    345.456

    F8.2

    F8.1

    -345.456

    -345.456

    -345.46

    -345.5

    F6.2

    0.00448

    12.9

    -126.6

    0.00

    12.90

    ******

    1. Ew.d – для в/в величин вещественного типа в десятичной системе счисления с плавающей запятой ( с использованием Е представления).

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

    Число в системе счисления с основанием Q можно записать: Q=A*Qp, где А – мантисса числа, р – порядок. Для Е представления числа принято Q=10, 0.1<|A|<1, (т.е. первая цифра мантиссы после запятой отлична от нуля).


    Для Е дескриптора должно выполняться условие w>d+7, где 7 – количество резервируемых позиций:

    - позиция для «-» перед целой частью

    - позиция для 0 и .

    - позиция для Е ab (ab – степень)
    Дескриптор

    Выводимое значение

    Результат

    E12.4

    -1.001

    95.05

    -0.1001Е 01

    0.9505Е 02

    E11.3

    238.0

    0.002

    -21.0057

    -21.0657

    0.238Е 03

    0.200Е-02

    -0.210Е 02

    -0.211Е 02




    1. Gw.d – для в/в величин целого, вещественного или логического типа.

    Дескриптор G – универсален, его действие сведено в табл.

    Тип выводимого значения

    Действие дескриптора G

    Целый

    I

    Логический

    L

    Веществ.выводимое значение n по дескриптору Gw.d

    n<0.1 и n>10d

    0.1d



    Ew.d

    Fw.d



    Дескриптор

    Выводимое значение

    Аналог.

    Результат

    G4.3

    G5

    G10.3

    I4

    I5

    F10.3 т.к.

    0.1<12.3<103

    152

    152

    12.3

    152

    152

    12.300

    G10.2

    E10.2 т.к.

    238>102

    L10

    238.
    .True.

    0.24E 03
    T ?

    G12.5

    E12.5 т.к.

    0.01234<0,1

    E12.5 т.к.

    123 400>105

    f12.5 т.к.

    0<123.4<105

    .01234

    123 400.
    123.4

    -0.12340E-01

    0.12340E+06

    123.40000

    1. Lw -для в/в величин логического типа.

    w – длина поля.

    Дескриптор

    Выводимое значение

    Результат

    L2

    L4

    .FALSE.

    .TRUE.

    F

    T

    1. Z[w] – для в/в величин в шестнадцатеричной системе счисления

    Дескриптор

    Выводимое значение

    Результат

    Z

    10

    (Integer*2)

    000A

    Z4

    Z6

    1B2D

    1B2D

    1B2D

    1B2D

    Z2

    1B2D

    255

    2D

    FF

    Z6

    3035

    BDB


    7) A[w] – для в/в величин символьного типа.

    Дескриптор

    Выводимое значение

    Результат

    A4

    ‘sinx’

    *sinx*

    A6

    ‘DATA’

    DATA¹¹

    A3

    ‘DATA’

    DAT

    A5

    ‘123’//’+15’

    ‘123+1’

    Управляющие дескрипторы

    Формат

    Имя

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

    ‘string’

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

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

    /

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

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

    \

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

    Продолжение записи. Используется для продолжения ввода в той же строке.

    :

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

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

    n(fs)

    Повторитель

    Повторение n раз строки формата fs

    nx

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

    Спецификация позиции в записи. n- кол-во отступаемых позиций 2х означает отступ 2-х позиций от последней записи

    Примеры исп-ся форматного вывода

    write (5, ‘(1x, f8.3)’)a – вывод веществ. значения переменной а.

    write (5, ‘(2x, i10)’)k – вывод значений переменной k целого типа.

    Real a

    Integer k

    Write (5, 11) a,k !

    Write (5, 11) k,a ! неверно, т.к. дескриптору не

    соответствует тип х

    Write (5, 11) a,k,a ! неверно, т.к. отсутствует дескриптор для

    переменной а

    11 format (2x,f8.3,2x, i10)

    write (5,10) Pi,R,L,Sq ! 4 элемента в списке вывода

    10 format (‘1’, 3x, 2f8.5, /, 3x, ‘L=’, f8.3, //, 4x, ‘S=’, f8.2)

    При Pi=3.141593; R=1.0, L=6.283185, Sq=Pi получим

    Write (5,10) ‘Результат ’,’ b=?’,b ! 3 элемента в списке вывода

    1
    1.44
    0 format (1x, а, а2, f6.2)

    При b=1.44 получим Результат b=

    Write (5,10) ‘Результат’//’ b=’,b ! 2 элемента в списке вывода

    10 format (2x, а, f4.2)

    При b=1.44 получим

    Результат b=1.44

    В списке вывода могут находится переменные, константы, элементы массивов, массивы, строки, подстроки.

    Real a (2,3) /1.,2.,3.,4.,5.,6./

    Write (5,*)a ! 6 элементов в списке вывода. Печать

    значений в строку

    Write (5, ’(6(1x, f4.1))’)a ! форматный вывод по столбцам. В

    списке 6 элементов

    1.0 4.0 2.0 5.0 3.0 6.0

    do i=1,2 ! построчный вывод

    write (5, ’(3(1x, f3.1))’) (a(i, j),j=1,3) ! в списке 3

    элемента

    end do

    1.0 2.0 3.0

    4.0 5.0 6.0

    Print ’(1xm80a1)’, (’-’,k=1,80) ! вывод горизонтальных линий.

    В списке 80 элементов

    Integer j,k,n,a(10)

    Read(*,’(2I8,5(I2,I3),5(I4,1x,I1))’)k,n,a,(b(j),j=1,10)

    Integer a(10)

    open(9,file=’a.txt’)

    read(9,1)a

    write(5,1)a

    1 format(5I3/3I3/2I3)

    Файл a.txt Результат

    1 2 3 4 5 6 7 1 2 3 4 5

    8 9 10 11 12 13 8 9 10

    14 15 16 1712 14 15
    2.10 Встроенные функции языка Fortran
    1   ...   7   8   9   10   11   12   13   14   15


    написать администратору сайта