CFAC: Programação em FORTRAN - II
FEUP/DEMEGI-SDI
Programação em
FORTRAN - II
João Manuel R. S. Tavares
Varáveis lógicas
Exemplo:
Declaração:
LOGICAL test
Atribuições:
test = .TRUE.
test = .FALSE.
Numericamente 0 é False, 1 é True.
É possível “ler/escrever”
varáveis lógicas (T/F).
@2001 - João Tavares
João Manuel R. S. Tavares
Escrita: PRINT *, test
! escreve T ou F.
(comentário)
CFAC: Programação em FORTRAN - II
2
1
CFAC: Programação em FORTRAN - II
FEUP/DEMEGI-SDI
Expressões lógicas
Uma expressão lógica é composta por:
ƒ
ƒ
ƒ
Variáveis;
Constantes;
Operadores Lógicos.
Exemplos:
radius .EQ. 24
radius .NEQ. old_radius
@2001 - João Tavares
CFAC: Programação em FORTRAN - II
3
Operadores lógicos I
Condições de teste:
.LT.
.GT.
.LE.
.GE.
.EQ.
.NE.
@2001 - João Tavares
João Manuel R. S. Tavares
(menor que) <
(maior que) >
(menor que ou igual a) <=
(maior que ou igual a) >=
(igual a) =
(ou .NEQ., não igual a) <>
CFAC: Programação em FORTRAN - II
4
2
CFAC: Programação em FORTRAN - II
FEUP/DEMEGI-SDI
Operadores lógicos II
Operadores lógicos de teste:
.AND.
.NOT.
.OR.
“e” lógico
negação
“ou” lógico
Exemplo:
(a .LE. 3) .OR. (b .GE. 5)
@2001 - João Tavares
CFAC: Programação em FORTRAN - II
5
Instruções condicionais I
„
Permitem uma selecção de sequências alternativas de instruções.
Fluxograma
Falsa
condição
IF simples
Verdadeira
Pseudocódigo
Se condição então acção
acção
Se a condição for verdadeira a acção é executada.
Se a condição for falsa não é executada nenhuma acção, passa a ser
executada a instrução seguinte.
Uma acção pode ser constituída por uma ou mais instruções.
@2001 - João Tavares
João Manuel R. S. Tavares
CFAC: Programação em FORTRAN - II
6
3
CFAC: Programação em FORTRAN - II
FEUP/DEMEGI-SDI
Instruções condicionais II
IF composto
Fluxograma
Falsa
condição
acção_2
Verdadeira
acção_1
Pseudocódigo
Se condição então
acção_1
senão
acção_2
Se a condição for verdadeira é executada a acção_1.
Se a condição for falsa é executada a acção_2.
@2001 - João Tavares
CFAC: Programação em FORTRAN - II
7
Instruções condicionais III
Sintaxe:
IF simples:
IF [ condição(ões) ] [ instrução ]
IF [ condição(ões) ] THEN [ instrução(ões) ] END IF
IF composto:
IF [ condição(ões) ] THEN
[ instrução(ões) ]
ELSE
[ instrução(ões) ]
END IF
@2001 - João Tavares
João Manuel R. S. Tavares
IF’s embutidos:
IF [ condição(ões) ] THEN
[ instrução(ões) ]
ELSE IF [ condição(ões) ] THEN
[ instrução(ões) ]
ELSE
[ instrução(ões) ]
END IF
CFAC: Programação em FORTRAN - II
8
4
CFAC: Programação em FORTRAN - II
FEUP/DEMEGI-SDI
Instruções condicionais IV
IF’s simples
IF composto
@2001 - João Tavares
Exemplos:
IF ( test .EQ. 2 ) x = 12
IF ( test .EQ. 4 ) THEN
x = 24
y=5
END IF
IF ( test .GT. 5 ) THEN
PRINT *, test, ' is > 5.'
ELSE
PRINT *, test, ' is <= 5.'
END IF
CFAC: Programação em FORTRAN - II
9
Instruções condicionais V
Exemplo (IF’s encadeados):
IF ( day .EQ. 'Monday' ) THEN
< instrução(ões) >
ELSE IF ( test .EQ. .TRUE. ) THEN
< instrução(ões) >
ELSE IF ( ( x .GT. 4 ) .AND. ( y .LT. 3 ) ) THEN
< instrução(ões) >
ELSE
< instrução(ões) >
END IF
@2001 - João Tavares
João Manuel R. S. Tavares
CFAC: Programação em FORTRAN - II
10
5
CFAC: Programação em FORTRAN - II
FEUP/DEMEGI-SDI
Funções intrínsecas I
As funções retornam um valor de um dado tipo.
„ Parâmetros são passados para as funções.
„ Parâmetros podem ser variáveis, constantes ou
expressões.
„ Intrínseca significa definida internamente
“built-in”.
Exemplos:
„
y = ATAN(1.0)
y = LOG10(x)
y = EXP(2.4)
@2001 - João Tavares
y = SIN((pi*degrees)/180.0)
y = x+3.0*LOG(x)
y = INT(2.3)
CFAC: Programação em FORTRAN - II
11
Funções intrínsecas II
Exemplos:
SIN(x)
COS(x)
TAN(x)
SINH(x)
COSH(x)
TANH(x)
SQRT(x)
ABS(x)
MAX(x1,x2…)
@2001 - João Tavares
João Manuel R. S. Tavares
ASIN(x)
ACOS(x)
ATAN2(dy, dx)
EXP(x)
LOG(x)
LOG10(x)
...
(Máximo valor de x1, x2, ...)
CFAC: Programação em FORTRAN - II
12
6
Download

Programação em FORTRAN