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:
TIPO | Descrição |
---|---|
Integer | Armazena apenas valores inteiros |
Real | Armazena apenas valores de ponto flutuante (reais) |
Complex | Armazena apenas números complexos |
Logical | Armazena apenas valores lógicos (booleanos) |
Character | Armazena 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:
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
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
- 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
- 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
—