Variáveis

Uma variável é nada além de um nome dado a uma área de armazenamento que os nossos programas podem manipular. Cada variável deve ter um tipo específico, que determina o tamanho e o layout da memória da variável — a gama de valores que podem ser armazenadas dentro daquela memória — e também o conjunto de operações que podem ser aplicadas à variável.

O nome de uma variável pode ser composto de letras, números e o caractere sublinhado. Um nome em Fortran deve seguir as seguintes regras:

  • Não pode ser mais de 31 caracteres.
  • Deve ser composto de caracteres alfanuméricos (todas as letras do alfabeto e os dígitos de 0 a 9) e sublinhados (_).
  • primeiro caractere de um nome deve ser uma letra.
  • Os nomes são case-insensitive.

Com base nos tipos básicos explicado no capítulo anterior, a seguir estão os tipos de variáveis:

Tabela 1 – Tipos de váriáveis e constantes em Fortran
TIPO Descrição
Integer Pode armazenar apenas valores numéricos inteiros
Real Pode armazenar apenas valores numéricos de ponto flutuante (com casas decimais)
Complex Pode armazenar apenas valores complexos
Logical Pode armazenar apenas valores lógicos (Boolean)
Character Pode armazenar apenas cadeias de caracteres

Declaração de Variáveis

Variáveis são declaradas no início de um programa (e subprograma) em um comunicado tipo de declaração.
Sintaxe para declaração de variável é a seguinte:

tipo :: nome_da_variavel

Por exemplo,

integer :: total
real :: average
complex :: cx
logical :: done
character(len=80) :: message ! a string of 80 characters

Posteriormente você pode atribuir valores para estas variáveis, por exemplo:

total = 20000
average = 1666.67
done = .true.
message = "A big Hello from Tutorials Point"
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

O exemplo a seguir demonstra declaração de variável, atribuição e exibição na tela:

program variableTesting
implicit none

! declaring variables
integer :: total
real :: average
complex :: cx
logical :: done
character(len=80) :: message ! a string of 80 characters

!assigning values
total = 20000
average = 1666.67
done = .true.
message = "A big Hello from Portalfisica"
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

Print *, total
Print *, average
Print *, cx
Print *, done
Print *, message

end program variableTesting

Após compilar o código fonte Fortran e executar, o resultado produzido será:

20000
1666.67004
(3.00000000, 5.00000000 )
T
A big Hello from Portalfisica

Constantes

As constantes referem-se aos valores fixos que o programa não pode alterar durante sua execução. Estes valores fixos também são chamados de literais.

Constantes podem ser de qualquer dos tipos de dados básicos, como um número inteiro constante, uma, uma constante flutuação constante de caractere, uma constante complexo, ou uma string literal.
Há somente duas categorias de constantes lógicas:

  • .true.
  • .false.

As constantes são tratadas da mesma forma que as variáveis, exceto pelo fato de seu valor não poder ser modificado depois de sua definição (declaração).

Constantes Literais e Nomeadas

Há dois tipos de constantes:

  • Constantes Literais
  • Constantes Nomeadas

☆ Uma constante literal tem valor mas não tem nome.

Por exemplo, a seguir temos uma lista de constantes literais:

Tabela 2 – Lista de constantes literais em Fortran
TIPO Exemplo
Constante Inteira (Ζ) integer 0 1 -1 300 123456789
Constante Real (ℜ) real 0.0 1.0 -1.0 123.456 7.1E+10 -52.715E-30
Constante complexa (ℜ, ℑ) complex (0.0, 0.0) (-123.456E+30, 987.654E-29)
Constante Lógica logical .true. .false.
Constante Caractere character
"PQR" "a" "123'abc$%#@!"

" a quote "" "

'PQR' 'a' '123"abc$%#@!'

' an apostrophe '' '

☆ Uma constante nomeada tem tanto um valor quanto um nome

As constantes nomeadas devem ser declaradas no início do programa ou subprograma, da mesma forma como se declaram as variáveis, indicando seu tipo e nome e não esquecendo o especificador de constantes. Uma constante nomeada é declarada (definida) com um tipo, o especificador parameter e então a lista do par nome/valor das constantes.

Sintaxe

tipo, parameter :: (nome_da_constante=valor [,lista_nome_da_constante=valor])

 

Por exemplo:

real, parameter :: pi = 3.1415927
real, parameter :: (pi = 4.0*atan(1.0), g = 9.8)
real*8, parameter ::  (qel = -1.60217662E-19)
real(kind=8), parameter ::  (qpr = 1.60917662E-19)
Curiosidade
pi = 4.0*atan(1.0)

Esta forma assegura que a máxima precisão disponível em quaisquer arquitetura será usada quando atribuíndo o valor para a constante pi

Examplo

O programa a seguir calcula o deslocamento vertical sob ação da força gravitacional.

program gravitationalDisp

! este programa calcula o movimento vertical sob a gravidade
implicit none

   ! aceleração gravitacional
   real, parameter :: g = 9.81

   ! declaração de variáveis
   real :: s ! deslocamento
   real :: t ! tempo
   real :: v ! velocidade inicial

   ! atribuição de valores
   t = 5.0
   v = 50

   ! cálculo do deslocamento
   s = v * t - g * (t**2) / 2

   ! saída (resultado)
   print *, "Tempo = ", t
   print *, 'Deslocamento = ',s

end program gravitationalDisp

Após compilar o código fonte fortran e executar, o resultado produzido será:

Tempo = 5.00000000
Deslocamento = 127.374992
Avaliação

Questionário

Responda o questionário para testar seus conhecimentos: Responder

 Desafio

  1. Faça um programa em Fortran que calcule o deslocamento vertical no tempo, para uma bola de gude abandonada do repouso de cima de um edifício de 38.47 metros. Nível: Fácil
  2. Um tijolo é jogado de cima de uma torre de 141.26 metros com uma velocidade inicial de 0,32 m/s. Faça um programa em Fortran que calcule o tempo que o tijolo leva para atingir o topo de uma árvore de 13 metros no pé da torre. Nível: Médio