Академический Документы
Профессиональный Документы
Культура Документы
ao ao Fortran 90/95
Apostila preparada para a disciplina de Modelos Computacionais da Fsica I, ministrada para o Curso de Licenciatura em Fsica do Departamento de Fsica, Instituto de Fsica e Matematica, Fundacao Universidade
Federal de Pelotas, Pelotas - RS.
Sum
ario
Refer
encias Bibliogr
aficas
1 Introdu
c
ao
1.1 As origens da Linguagem Fortran . . . . . . . . . .
1.2 O padr
ao Fortran 90 . . . . . . . . . . . . . . . . .
1.2.1 Recursos novos do Fortran 90 . . . . . . . .
1.2.2 Recursos em obsolescencia do Fortran 90 .
1.2.3 Recursos removidos do Fortran 90 . . . . .
1.3 Uma revis
ao menor: Fortran 95 . . . . . . . . . . .
1.3.1 Recursos novos do Fortran 95 . . . . . . . .
1.3.2 Recursos em obsolescencia do Fortran 95 .
1.3.3 Recursos removidos do Fortran 95 . . . . .
1.4 O Fortran no Seculo XXI: Fortran 2003 . . . . . .
1.4.1 Recursos novos do Fortran 2003 . . . . . . .
1.4.2 Recursos em obsolescencia do Fortran 2003
1.4.3 Recursos removidos do Fortran 2003 . . . .
1.5 O novo padr
ao: Fortran 2008 . . . . . . . . . . . .
1.5.1 Recursos novos do Fortran 2008 . . . . . . .
1.6 Coment
arios sobre a bibliografia . . . . . . . . . .
1.7 Agradecimentos . . . . . . . . . . . . . . . . . . . .
2 Formato do C
odigo-Fonte
2.1 Formato do programa-fonte . .
2.2 Nomes em Fortran 90/95 . . .
2.3 Entrada e sada padr
oes . . . .
2.4 Conjunto de caracteres aceitos
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
3
3
4
4
4
5
5
6
6
6
7
7
7
8
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
11
11
12
3 Tipos de Vari
aveis
3.1 Declarac
ao de tipo de vari
avel . . . . . . . . . .
3.2 Vari
aveis do tipo INTEGER . . . . . . . . . . . .
3.3 Vari
aveis do tipo REAL . . . . . . . . . . . . . .
3.4 Vari
aveis do tipo COMPLEX . . . . . . . . . . . .
3.5 Vari
aveis do tipo CHARACTER . . . . . . . . . . .
3.6 Vari
aveis do tipo LOGICAL . . . . . . . . . . . .
3.7 O conceito de especie (kind) . . . . . . . . . . .
3.7.1 Fortran 77 . . . . . . . . . . . . . . . . .
3.7.2 Fortran 90/95 . . . . . . . . . . . . . . .
3.7.2.1 Compilador Intel Fortran
3.7.2.2 Compilador gfortran . . . . .
3.7.2.3 Compilador F . . . . . . . . . .
3.7.2.4 Literais de diferentes especies .
3.7.3 Func
oes intrnsecas associadas `a especie
3.7.3.1 KIND(X) . . . . . . . . . . . .
3.7.3.2 SELECTED_REAL_KIND(P,R) . .
3.7.3.3 SELECTED_INT_KIND(R) . . . .
3.8 Tipos derivados . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
14
15
15
17
17
17
17
18
18
19
21
22
22
22
23
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ii
SUMARIO
4 Express
oes e Atribui
c
oes Escalares
4.1 Regras basicas . . . . . . . . . . . . . . . . . .
4.2 Expressoes numericas escalares . . . . . . . . .
4.3 Atribuicoes numericas escalares . . . . . . . . .
4.4 Operadores relacionais . . . . . . . . . . . . . .
4.5 Expressoes e atribuic
oes l
ogicas escalares . . . .
4.6 Expressoes e atribuic
oes de caracteres escalares
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
28
29
30
30
32
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
35
36
36
36
37
37
38
38
38
39
41
43
43
44
6 Processamento de Matrizes
6.1 Terminologia e especificac
oes de matrizes . . . . .
6.2 Expressoes e atribuic
oes envolvendo matrizes . . .
6.3 Secoes de matrizes . . . . . . . . . . . . . . . . . .
6.3.1 Subscritos simples . . . . . . . . . . . . . .
6.3.2 Tripleto de subscritos . . . . . . . . . . . .
6.3.3 Vetores de subscritos . . . . . . . . . . . . .
6.4 Atribuicoes de matrizes e sub-matrizes . . . . . . .
6.5 Matrizes de tamanho zero . . . . . . . . . . . . . .
6.6 Construtores de matrizes . . . . . . . . . . . . . . .
6.6.1 A func
ao intrnseca RESHAPE. . . . . . . . .
6.6.2 A ordem dos elementos de matrizes . . . . .
6.7 Rotinas intrnsecas elementais aplic
aveis a matrizes
6.8 Comando e construto WHERE . . . . . . . . . . . . .
6.8.1 Comando WHERE . . . . . . . . . . . . . . .
6.8.2 Construto WHERE . . . . . . . . . . . . . . .
6.9 Matrizes alocaveis . . . . . . . . . . . . . . . . . .
6.10 Comando e construto FORALL . . . . . . . . . . . .
6.10.1 Comando FORALL . . . . . . . . . . . . . . .
6.10.2 Construto FORALL . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
51
53
54
54
54
55
55
57
58
58
59
59
59
60
61
64
64
64
7 Rotinas Intrnsecas
7.1 Categorias de rotinas intrnsecas . . . . . . . . . . . . .
7.2 Declaracao e atributo INTRINSIC . . . . . . . . . . . . .
7.3 Funcoes inquisidoras de qualquer tipo . . . . . . . . . .
7.4 Funcoes elementais numericas . . . . . . . . . . . . . . .
7.4.1 Func
oes elementais que podem converter . . . . .
7.4.2 Func
oes elementais que nao convertem . . . . . .
7.5 Funcoes elementais matem
aticas . . . . . . . . . . . . .
7.6 Funcoes elementais logicas e de caracteres . . . . . . . .
7.6.1 Convers
oes caractere-inteiro . . . . . . . . . . . .
7.6.2 Func
oes de comparac
ao lexica . . . . . . . . . . .
7.6.3 Func
oes elementais para manipulacoes de strings
7.6.4 Convers
ao l
ogica . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
67
68
68
68
69
69
70
70
70
71
71
SUMARIO
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
7.16
7.17
iii
8 Sub-Programas e M
odulos
8.1 Unidades de programa . . . . . . . . . . . . . . . . . . . . . .
8.1.1 Programa principal . . . . . . . . . . . . . . . . . . . .
8.1.2 Rotinas externas . . . . . . . . . . . . . . . . . . . . .
8.1.3 M
odulos . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 sub-programas . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.1 Func
oes e subrotinas . . . . . . . . . . . . . . . . . . .
8.2.2 Rotinas internas . . . . . . . . . . . . . . . . . . . . .
8.2.3 Argumentos de sub-programas . . . . . . . . . . . . .
8.2.4 Comando RETURN . . . . . . . . . . . . . . . . . . . . .
8.2.5 Atributo e declarac
ao INTENT . . . . . . . . . . . . . .
8.2.6 Rotinas externas e bibliotecas . . . . . . . . . . . . . .
8.2.7 Interfaces implcitas e explcitas . . . . . . . . . . . . .
8.2.8 Argumentos com palavras-chave . . . . . . . . . . . .
8.2.9 Argumentos opcionais . . . . . . . . . . . . . . . . . .
8.2.10 Tipos derivados como argumentos de rotinas . . . . .
8.2.11 Matrizes como argumentos de rotinas . . . . . . . . .
8.2.11.1 Matrizes como argumentos em Fortran 77 . .
8.2.11.2 Matrizes como argumentos em Fortran 90/95
8.2.12 sub-programas como argumentos de rotinas . . . . . .
8.2.13 Func
oes de valor matricial . . . . . . . . . . . . . . . .
8.2.14 Recursividade e rotinas recursivas . . . . . . . . . . .
8.2.15 Atributo e declarac
ao SAVE . . . . . . . . . . . . . . .
Autor: Rudi Gaelzer IFM/UFPel
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
71
71
72
72
72
73
73
73
74
74
75
75
75
75
75
76
76
76
76
76
77
77
77
77
78
78
78
78
78
79
79
79
79
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
. 81
. 81
. 83
. 83
. 83
. 83
. 85
. 85
. 86
. 86
. 88
. 88
. 90
. 93
. 94
. 94
. 94
. 96
. 99
. 100
. 103
. 105
SUMARIO
iv
8.3
8.4
8.2.16 Func
oes de efeito lateral e rotinas puras . . . . . . . . . . . . .
8.2.17 Rotinas elementais . . . . . . . . . . . . . . . . . . . . . . . . .
Modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.1 Dados globais . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.2 Rotinas de modulos . . . . . . . . . . . . . . . . . . . . . . . .
8.3.3 Atributos e declarac
oes PUBLIC e PRIVATE . . . . . . . . . . . .
8.3.4 Interfaces e rotinas genericas . . . . . . . . . . . . . . . . . . .
8.3.5 Estendendo rotinas intrnsecas via blocos de interface genericos
Ambito
(Scope) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.1 Ambito
dos r
otulos . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.2 Ambito
dos nomes . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
106
108
109
110
113
115
116
120
120
120
121
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
123
127
131
131
134
135
136
137
137
138
141
147
148
148
151
151
151
151
Refer
encias Bibliogr
aficas
[1] Intel Fortran Compiler for Linux. http://www.intel.com/software/products/compilers/flin/docs/manuals.htm.
Acesso em: 01 jun. 2005.
[2] MARSHALL, A. C. Fortran 90 Course Notes. http://www.liv.ac.uk/HPC/HTMLFrontPageF90.html, 1996.
Acesso em: 01 jun. 2005.
[3] METCALF, MICHAEL, REID, JOHN. Fortran 90/95 Explained. New York : Oxford University Press,
1996, 345 + xv pp.
[4] PAGE, CLIVE G. Professional Programers Guide to Fortran77. http://www.star.le.ac.uk/ cgp/prof77.pdf,
Leicester, 2001. Acesso em: 01 jun. 2005.
[5] RAMSDEN,
S.,
LIN,
F.,
PETTIPHER,
M.
A.,
NOLAND,
G.
S.,
BROOKE, J. M.
Fortran 90. A Conversion Course for Fortran 77 Programmers.
http://www.hpctec.mcc.ac.uk/hpctec/courses/Fortran90/F90course.html, 1995.
Acesso em: 01 jun.
2005.
[6] REID, JOHN.
The New Features of Fortran 2003.
tran/john reid new 2003.pdf, 2004. Acesso em: 03 Jun. 2006.
http://www.kcl.ac.uk/kis/support/cit/for-
vi
REFERENCIAS
BIBLIOGRAFICAS