Variáveis e Constantes

Atualizado em 20 de janeiro de 2020

https://prezi.com/view/8Wr1NPzc1pml534uW5k9/

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 de que a memória; e o conjunto de operações que pode ser aplicada à 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:

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

TIPODescrição
IntegerArmazena apenas valores inteiros
RealArmazena apenas valores de ponto flutuante (reais)
ComplexArmazena apenas números complexos
LogicalArmazena apenas valores lógicos (booleanos)
CharacterArmazena um caractere ou 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:

type-specifier :: <variable_name>

Por exemplo,

integer :: total      
real :: average 
complex :: cx  
logical :: done 
character(len=80) :: message ! uma cadeia/string de 80 caracteres

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

total = 20000  
average = 1666.67   
done = .true.   
message = "Olá do portalfisica" 
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

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

program variableTesting
implicit none

! Declarando variáveis
integer :: total
real :: average
complex :: cx
logical :: done
character(len=80) :: message ! uma cadeia/string de 80 caracteres

! Atribuindo valores
total = 20000
average = 1666.67
done = .true.
message = "Um grande alô 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
Um grande alô 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:

TIPOExemplo
Constante Inteira (Ζ) integer0 1 -1 300 123456789
Constante Real (ℜ) real0.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

Exemplo

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

program gravitationalDisp

! este programa calcula o movimento vertical sob a gravidade sem considerar o arraste
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 (Moodle)

 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 14 metros no pé da torre. Nível: Médio