4.1. Introdução
[D] Uma "expressão" Fortran é definida como uma combinação
de itens sintáticos, isto é: uma expressão pode consistir
de uma única constante, de uma única variável, de
um único elemento de conjunto, ou uma combinação de
constantes, variáveis, elementos de conjuntos, unidos com um ou
mais operadores e, possivelmente, agrupados com parênteses.
[D] "Operadores" especificam as computações a serem realizadas
sobre os valores dos elementos básicos.
[D] As expressões, no Fortran, são classificadas em aritméticas,
caracteres, relacionais e lógicas.
4.2. Expressões Aritméticas
[D] Uma "expressão aritmética" é usada para expressar
uma computação numérica. O cálculo desta expressão
produz um valor numérico cujo tipo é inteiro, real, dupla
precisão ou complexo.
[D] Os "operadores aritméticos" são definidos pela tabela abaixo:
Operador Definição
Uso Significado
----------------------------------------------------------------------------------------------------
**
potenciação
a**b a elevado à potência
b
*
multiplicação
a*b a multiplicado
por b
/
divisão
a/b a dividido
por b
+
adição
a+b a mais b
-
subtração
a-b a menos
b
-
menos unário -a
a com sinal invertido
[C] Em expressões contendo um único operando, o tipo do
operando define o tipo de expressão.
[C] Em expressões com mais de um tipo de operando, o tipo da
expressão depende dos tipos dos operandos e dos operadores.
[D] Para todas as operações (com exceção da potenciação):
[D] Regras para ordem de computação:
1. Parênteses podem ser usados para agrupar operandos em uma expressão.
Qualquer expressão entre parênteses é calculada antes
do cálculo da expressão da qual ela é uma parte. Parênteses
mais internos são calculados antes.
2. Com exceção do uso dos parênteses, as operações
são realizadas na seguinte ordem de precedência:
Operação Precedência
--------------------------------------------------------------
+ e -
mais baixa
* e /
intermediária
**
mais alta
3. Para operadores de mesma precedência, o cálculo se desenvolve
da esquerda para a direita.
4. Potenciações consecutivas são realizadas da
direita para a esquerda.
4.3. Expressões Relacionais
[D] Uma "expressão relacional" é usada para comparar os
valores de duas expressões aritméticas (ou os valores de
duas expressões caractere).
[D] A comparação entre duas expressões aritméticas
é feita através dos "operadores relacionais".
[C] O cálculo de uma expressão relacional produz um resultado
lógico, com um valor "verdade" ou "falso". A expressão é
interpretada como "verdade" se os valores dos operandos satisfazem a relação
matemática especificada pelo operador, e "falso" se eles não
satisfazem a relação.
[D] "Operadores Relacionais" são aqueles definidos na tabela abaixo:
Operador Definição
Uso Significado
---------------------------------------------------------------------------------------
(somente Fortran90 e posteriores)
==
igual a
A==B A é igual a B ?
/=
diferente de
A/=B A é diferente de B?
<
menor que
A<B A é menor a B?
<=
menor ou igual
A<=B A é menor ou igual a B?
>
maior que
A>B A é maior que B ?
>=
maior ou igual
A>=B A é maior ou igual a B?
(todos)
.eq.
igual a (equal)
A.eq.B A é igual a B ?
.ne.
diferente de (not equal)
A.ne.B A é diferente de B?
.lt.
menor que (less than)
A.lt.B A é menor a B?
.le.
menor ou igual (less or equal)
A.le.B A é menor ou igual a B?
.gt.
maior que (greater than)
A.gt.B A é maior que B ?
.ge.
maior ou igual (greater or equal) A.ge.B
A é maior ou igual a B?
4.4. Expressões Lógicas
[D] Uma expressão lógica é usada para realizar
um cálculo lógico.
[D] Os "operadores lógicos" são (listamos somente os principais):
Operador Definição
Uso Significado
-----------------------------------------------------------------------------------------------------
.not.
negação .not.A
se A é verdade, .not.A é falso
.and.
conjunção A.and.B para a expressão
ser verdade, A e B precisam ser verdade
.or.
disjunção A.or.B
para a expressão ser verdade, A ,ou B, precisa ser verdade
[E] Exemplos:
1) if(x1.eq.x.and.x2.eq.x1) then …
2) fim=.false.
do while(.not.fim) …
bloco de comandos
enddo
[D] Regras para cálculos de expressões lógicas.