fortran 90 danilo ueno takahagi. breve histórico da linguagem - a linguagem fortan foi a primeira...
TRANSCRIPT
![Page 1: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/1.jpg)
FORTRAN 90FORTRAN 90
Danilo Ueno Takahagi
![Page 2: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/2.jpg)
Breve Histórico da LinguagemBreve Histórico da Linguagem- A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores, proposta por J. Backus, em 1953;
- primeiro compilador para IBM 704 em 1957;
- criação de FORTRAN 90 devido a pouca capacidade do FORTRAN 77 em relação a C, C++,ADA;
![Page 3: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/3.jpg)
Objetivos:Objetivos:
FORmula TRANslation;Facilidade de transcrição de fórmulas
matemáticas para serem usadas nos computadores;
Direcionada para aplicações em matemática, engenharia e análises científicas;
![Page 4: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/4.jpg)
Itens Fundamentais:Itens Fundamentais:
Tipos de DadoVariáveisComando de AtribuiçãoExpressões AritméticasExpressões LógicasEntrada e SaídaEstrutura CondicionalEstrutura de Repetição
![Page 5: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/5.jpg)
Tipos de DadoTipos de Dado
INTEGER;REAL;COMPLEX;LOGICAL;CHARACTER.
![Page 6: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/6.jpg)
Variáveis:Variáveis:1 a 31 caracteres;1º caractere deve ser uma letra;Apenas letras, undescores, e dígitos são
permitidos;Não são sensíveis a maiúsculo ou
minúsculo;Podem ser utilizadas palavras chaves;Podem ser utilizadas nomes de
procedimentos intrínsecos.
![Page 7: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/7.jpg)
Declaração de Variáveis:Declaração de Variáveis:
Exemplos:
character*3 :: preal :: rcomplex :: c logical :: l
nome-do-tipo :: lista-de-identificadores
![Page 8: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/8.jpg)
Comando de AtribuiçãoComando de AtribuiçãoIdentificador = expressão
- Exemplos: -Variáveis inicializadas:
i = 2 integer :: count = 0
r = 0.0 real :: sum = 0.0
c = “ABC” character*4 :: c = “(cr)”
l = .TRUE. Logical :: l = .FALSE.
![Page 9: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/9.jpg)
Expressões Aritméticas:Expressões Aritméticas:OPERADOR OPERAÇÃO
+ Adição
- Subtração
* Multiplicação
/ Divisão
** Potenciação
prioridade operação
1ª Potenciação
2ª Multiplicação,divisão
3ª Adição,subtração
![Page 10: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/10.jpg)
Algumas Funções Intrínsecas:Algumas Funções Intrínsecas:Nome Definição Tipo da função
ALOG 10(X) logaritmo na base 10 de X Tipo do argumento de X
EXP (X) o Nº e elevado a X Tipo do argumento de X
ABS (X) valor absoluto de X Tipo do argumento de X
BIT_SIZE(I) Retorna o número de bits do inteiro i
Inteiro
INT (A,Kind) conversão de nº. não real para inteiro, truncando
Inteiro
MAX (A1,A2,A3,...) Valor máximo da seqüência Tipo do argumento
![Page 11: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/11.jpg)
Expressões Lógicas:Expressões Lógicas:Operador
(Fortran 90)
Operador
(Fortran 77)
Significado
< .LT. Less than
<= .LE. Less than or equal to
= = .EQ. Equal to
/= .NE. Not Equal to
> .GT. Greater than
>= .GE. Greater than or equal to
Operadores lógicos: .AND. Para conjunção
.OR. Para disjunção
.NOT. Para a negação
![Page 12: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/12.jpg)
Entrada e Saída:Entrada e Saída:
Externo Memória do Computador
INPUT teclado converte forma interna integer array arq disco real fita magnética character
OUTPUT monitor converte forma externa integer array
impressora real fita magnética character
![Page 13: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/13.jpg)
Comandos de Entrada e Saída:Comandos de Entrada e Saída:READ (cilist) input_listWRITE(cilist) output_list
cilist – control information list
Composto pelos especificadores do comando, como a unit (dispositivo de entrada) e a formatação dos dados.
Default – unit 5, para entrada de dados
unit 6, para saída de dados
![Page 14: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/14.jpg)
Exemplos:Exemplos:READ (unit = 5,fmt = ´(3F6.2)´) x,y,zREAD (unit = *,fmt = ´(5F6.3)´) p,q,r,s,tWRITE (unit = 6,fmt = 200) x
200 FORMAT (F5.2)• WRITE (unit = *,fmt = 201) x/y
201 FORMAT (F5.2)
![Page 15: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/15.jpg)
Descritores de edição:Descritores de edição:
I – edita tipo inteiroF ou E – edita tipo realA – edita tipo caractereL – edita tipo lógicoX,T,TL,TR – usado para controlar onde o dado
deve ser lido numa seqüência de entrada e onde deve ser colocado na seqüência de saída.
![Page 16: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/16.jpg)
Exemplos de formatações:Exemplos de formatações:Linha de entrada de dado: 123456789- READ ´(4X,I5)´, num 56789 será armazenado em num- READ ´(T4,I2,T8,I2,T2,I4)´, x,y,z x = 45 y = 89 z = 2345- READ´(F3.1,F2.2,F3.0,TL6,F4.2)´,r1,r2,r3,r4 r1 = 12.3 r2 = 0.45 r3 = 678.0 r4 = 34.56
![Page 17: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/17.jpg)
Estruturas Condicionais:Estruturas Condicionais:
Estrutura condicional simplesComando IF lógicoEstrutura condicional compostaEstrutura CASE
![Page 18: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/18.jpg)
Estrutura condicional simples:Estrutura condicional simples:
IF,THEN e END IF – palavras chaves
Condição B – expressão lógica
IF (condição B) THEN seqüência de A comandosEND IF
![Page 19: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/19.jpg)
Comando IF lógico:Comando IF lógico:
IF (condição B) comando A
IF – palavra chave
Condição B – é uma expressão lógica
Comando A – qualquer comando, exceto um comando DO ou outro comando IF
![Page 20: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/20.jpg)
Estrutura Condicional Composta:Estrutura Condicional Composta:
IF (condição B) THEN
seqüência de comandos
ELSE
seqüência B de comandos
END IF
IF,THEN,ELSE e END IF – palavras chaves
Condição B – uma expressão lógica
![Page 21: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/21.jpg)
PROGRAM quadratic
REAL, PARAMETER :: delta=0.0
REAL :: a,b,c,d,sqrt_d,x1,x2
PRINT *,"Digite os tres coeficientes a,b,and c"
PRINT * !para pular uma linha
READ *,a,b,c
d=b**2-4*a*c
IF (d>delta) THEN
sqrt_d = SQRT(d)
x1 = (-b+sqrt_d)/(a+a)
x2 = (-b-sqrt_d)/(a+a)
PRINT *,"A equacao tem duas raizes reais: ",x1," e ",x2
ELSE IF (d==delta) THEN
x1 = -b/(a+a)
PRINT *,"A equacao tem uma raiz real: ",x1
ELSE
PRINT *,"A equacao nao tem raizes reais"
END IF
END PROGRAM quadratic
![Page 22: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/22.jpg)
Estrutura CASE:Estrutura CASE:SELECT CASE (expressão case)
CASE (case selecionado)
bloco de comandos
CASE (case selecionado)
bloco de comandos
.
.
END SELECT
![Page 23: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/23.jpg)
Exemplo da estrutura CASE:Exemplo da estrutura CASE:! Programa que calcula qual estação do ano pertence o mês
SELECT CASE (mes)
CASE (“08”:”10”)
PRINT *,date, “esta na primavera”
CASE ( “11”,”12”,”01”)
PRINT *,date, “esta no verão”
CASE (“02”,”03”,”04”)
PRINT *,date, “esta no outono”
CASE (“05”,”06”,”07”)
PRINT *,date, “esta no inverno”
END SELECT
![Page 24: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/24.jpg)
Estrutura de Repetição:Estrutura de Repetição:
DO loops controlados DO loops flexíveisDO WHILE
![Page 25: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/25.jpg)
Estrutura DO:Estrutura DO:DO count = initial, final, inc
...
bloco de comandos
...
END DO
DO e END DO – palavras chaves
count – variável contadora
initial – valor inicial
final – valor final
inc - incremento
![Page 26: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/26.jpg)
Exemplo da Estrutura DO:Exemplo da Estrutura DO:estrutura DO contador de iteração valores da
variável
DO i = 1,10 10 1,2,3,4,5,6,7,8,9,10
DO j = 20,50,5 7 20,25,30,35,40,45,50
DO x = -20,20,6 7 -20,-14,-8,-2,4,10,16
DO m = 20,-20,-6 7 20,14,8,2,-4,-10,-16
![Page 27: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/27.jpg)
Estrutura DO mais flexível:Estrutura DO mais flexível:
DO count = 1,max_iterations
...
IF (term < epsilon) EXIT
...
END DO
...
OBS: depois de obedecer o comando EXIT ou após obedecer a quantidade máxima de iterações, a execução do programa continua a partir do próximo comando.
![Page 28: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/28.jpg)
Estrutura DO WHILE:Estrutura DO WHILE:
DO WHILE (condição A) ... bloco de comandos ...END DO
DO, WHILE, END DO - palavras chaves
Condição A – expressão lógica
![Page 29: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/29.jpg)
Ponteiros em FORTRAN 90:Ponteiros em FORTRAN 90:nome-do-tipo, POINTER :: lista-de-identificadores
Exemplos:
REAL, POINTER :: p,q,r,s
INTEGER, POINTER :: i,j,k
nome-do-tipo, TARGET :: lista-de-identificadores
O objeto apontado pelo ponteiro deve ter a seguinte declaração:
![Page 30: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/30.jpg)
Exemplo1:Exemplo1:REAL :: aREAL, TARGET :: bREAL, POINTER :: pINTEGER, POINTER :: q
- p pode apontar para a variável b (real, target);- p não pode apontar para a (não tem target);- q não pode apontar para b (tipos diferentes);
![Page 31: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/31.jpg)
Exemplo2:Exemplo2:REAL, POINTER :: u,v,w
REAL, TARGET :: x
u => x
v => u
u => w
u aponta para x;
v aponta o que x aponta (ou seja, x);
u tem associação indefinida.
![Page 32: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/32.jpg)
Dissociação de ponteiros: Dissociação de ponteiros:
NULLIFY(lista-de-ponteiros)
EXEMPLOS:
NULLIFY(p)
NULLIFY(a,b,c,q,r)
![Page 33: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/33.jpg)
Funções para ponteiros:Funções para ponteiros:ASSOCIATED(ponteiro)- verifica se o ponteiro entre parênteses possui
alguma associação (retorna TRUE ou FALSE)
ALLOCATE(ponteiro)- aloca espaço na memória que fica associado ao
ponteiro
DEALLOCATE(ponteiro)- desaloca o espaço na memória
![Page 34: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/34.jpg)
PROGRAM pointer
TYPE :: cadastro
CHARACTER(10) :: descricao
INTEGER :: numero
END TYPE cadastro
TYPE (cadastro), POINTER :: ptr_1, ptr_2
ALLOCATE (ptr_1) !Cria um local para armazenar o tipo derivado
!cadastro e associa ptr_1 com esse local
ptr_1%descricao = 'carlos' !Armazena valores na estrutura criada
ptr_1%numero = 1234
PRINT "(2A,I6)","ptr_1 = ",ptr_1
ptr_2 => ptr_1 !Associa ptr_2 com o que o ptr_1 apontava
NULLIFY(ptr_1) !faz a dissociação
IF (.NOT. ASSOCIATED (ptr_1)) THEN
PRINT "(A)","ptr_1 esta dissociado"
END IF
PRINT "(2A,I6)","ptr_2 = ",ptr_2
DEALLOCATE(ptr_2) !Desaloca o espaço da memória e dissocia o ptr_2
End Program pointer
![Page 35: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/35.jpg)
Bibliografia:Bibliografia:
1. Professores da UFMG - “Fortran Estruturado”;
2. REDWINE,C. - “Upgrading to Fortran 90”;
3. ELLIS,T.M.R.; PHILIPS.I.R.; LAHEY,T.M. - “Fortran 90 Programing”
![Page 36: FORTRAN 90 Danilo Ueno Takahagi. Breve Histórico da Linguagem - A linguagem FORTAN foi a primeira linguagem de alto nível usada para programação de computadores,](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc10d497959413d8c488b/html5/thumbnails/36.jpg)
FIMFIM