Capítulo 10: Comando FORMAT e Especificações de Formato

10.1. Introdução

[D] FORMAT é o comando que contém uma lista de especificações de formato que permite ao programador ter controle sobre os dados de entrada e saída.
 

[E] Exemplo do uso de um comando de formatação:

        PRINT 10 , N, X, Y
10    FORMAT ( I3, F8.3, F5.1)

sendo que:
- PRINT e FORMAT são comandos (ou palavras-chave);
- "10" é número de comando;
- "N,X,Y" é lista de saída;
- "I3,F8.3,F5.1" são especificações de formato.
 

10.2. Comando FORMAT

[D] A forma geral do comando FORMAT é:

    n format (ef [,ef [,…,ef]])

sendo que:

- "n" é um número de comando;
- "ef" é uma especificação de formato (conversão ou edição).
 

[C] Pode-se usar o mesmo comando FORMAT em diversos READ, WRITE ou PRINT.
 

10.3. Especificações de Formato (EF) de Conversão

[D] As EF de conversão mais usadas são:

Especificação       Converte dados
--------------------------------------------------------------------------
[a] I w                  inteiros decimais
[a] F w.d              reais decimais, sem expoente
[a] E w.d              reais decimais, com expoente
[a] D w.d             reais decimais dupla precisão, com expoente
[a] G w.d             reais decimais, com ou sem expoente
[a] L w                 lógicos
[a] A w                caracteres

sendo que:

- "a" é uma constante inteira, sem sinal e não-nula, usada para indicar o número de vezes que a mesma EF é seguidamente usada.
- "w" é uma constante inteira, sem sinal e não-nula, usada para indicar a largura total do campo externo (incluindo dígitos, espaços, sinais algébricos + ou - , ponto decimal e expoente).
- "d" é uma constante inteira, sem sinal e que indica a quantidade de dígitos à direita do ponto decimal dentro do campo de largura w. Na saída, todos os valores são arredondados.
 

[E] Exemplos:

Exemplo 1. Para escrever na tela do monitor as variáveis númericas
    var1=111   var2=2222.22    var3=3   var4=44.44
pode-se usar a seguinte combinação de comandos:
      print 5,var1,var2,var3,var4
5    format(i3,f7.2,i1,f5.2)

Exemplo 2: para escrever na tela do monitor a seguinte lista de variáveis
    var1=.true.    var2='america'    var3=111    var4=2222.22    var5=333.33e+05
pode-se usar a seguinte combinação de comandos:
        print 6,var1,var2,var3,var4,var5
6      format(l1,a7,i3,f7.2,e10.2)
 

10.4. Especificações de Formato de Edição

[D] As especificações de edição mais usadas no Fortran são:

Especificação      Função
--------------------------------------
w x                     espaçamento
/                          nova linha

sendo que "w" representa o número de espaços desejados.
 

10.5. Especificações de Formato em Grupos Repetidos

[E] O comando:

    520 format( i5, i5, f8.3, e16.7, f8.3, e16.7, f8.3, e16.7)

pode ser escrito de maneira mais reduzida:

    520 format( 2i5, 3(f8.3, e16.7))