Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Estrutura de um programa em Fortran: Tipos de Dados, Declarações e Constantes, Notas de aula de Linguagem de Programação

Aprenda a estruturar um programa em fortran, incluindo os cinco tipos básicos de dados (complexos, lógicos, inteiros, reais e caracteres), a estrutura básica do programa (cabeçalho, conjunto de especificações, conjunto de instruções de execução, subprogramas e instrução de final), declarações de variáveis e constantes, e a instrução stop.

O que você vai aprender

  • Como se declara uma variável em Fortran?
  • Qual é a função da instrução STOP em Fortran?
  • Quais são os cinco tipos básicos de dados em Fortran?
  • Como se declara uma constante em Fortran?
  • Qual é a estrutura básica de um programa em Fortran?

Tipologia: Notas de aula

2022

Compartilhado em 07/11/2022

A_Santos
A_Santos 🇧🇷

4.4

(111)

214 documentos

1 / 15

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
3
INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN
3.1 Estrutura de um programa Fortran
Como se viu anteriormente, a definição da sequência de instruções (isto
é, o algoritmo) é uma etapa importante na elaboração de um programa. Essas
instruções podem corresponder a dados numéricos representando, por
exemplo, tempos, temperaturas; ou ainda dados do tipo caracteres
representando nomes; ou dados lógicos representado os valores lógicos
verdadeiro ou falso; ou outros. A etapa seguinte deverá ser a codificação dessa
sequência de instruções de diferentes tipos numa linguagem que possa ser
armazenada e processada pelo compilador.
A linguagem Fortran define cinco tipos básicos de dados:
Inteiros – números sem parte decimal; podem ser positivos,
negativos ou zero.
Reais – números com parte decimal; podem ser positivos,
negativos ou zero.
Complexos – números com parte real e parte imaginária; qualquer
das partes pode ser um inteiro ou um real.
Caracteres – sequência de caracteres ("strings")
Lógicos – valores lógicos (verdadeiro ou falso).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Estrutura de um programa em Fortran: Tipos de Dados, Declarações e Constantes e outras Notas de aula em PDF para Linguagem de Programação, somente na Docsity!

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN

3.1 Estrutura de um programa Fortran

Como se viu anteriormente, a definição da sequência de instruções (isto é, o algoritmo) é uma etapa importante na elaboração de um programa. Essas instruções podem corresponder a dados numéricos representando, por exemplo, tempos, temperaturas; ou ainda dados do tipo caracteres representando nomes; ou dados lógicos representado os valores lógicos verdadeiro ou falso; ou outros. A etapa seguinte deverá ser a codificação dessa sequência de instruções de diferentes tipos numa linguagem que possa ser armazenada e processada pelo compilador.

A linguagem Fortran define cinco tipos básicos de dados:

  • Inteiros – números sem parte decimal; podem ser positivos, negativos ou zero.
  • Reais – números com parte decimal; podem ser positivos, negativos ou zero.
  • Complexos – números com parte real e parte imaginária; qualquer das partes pode ser um inteiro ou um real.
  • Caracteres – sequência de caracteres (" strings ")
  • Lógicos – valores lógicos (verdadeiro ou falso).

48 FEUP – Licenciatura em Engenharia Civil – Programação e Computadores

A estrutura de um programa Fortran é a seguinte:

Programa FORTRAN ÿ Cabeçalho

ÿ Conjunto de especificações

ÿ Conjunto de instruções de execução

ÿ Subprogramas (caso existam)

ÿ Instrução de final do programa

O cabeçalho consiste na instrução PROGRAM seguida pelo nome do programa escolhido pelo programador. O nome do programa deve iniciar-se por uma letra e consiste numa sequência de, no máximo 31 letras, algarismos ou sublinhados (ex.: PROGRAM ex1_a).

No conjunto de especificações declaram-se os nomes e os tipos de variáveis que são usados para guardar os valores dos dados, resultados e dos cálculos intermédios.

O conjunto de instruções de execução consiste na sequência de instruções do algoritmo que permitem resolver o problema em estudo.

A instrução final do programa consiste na instrução END PROGRAM seguida pelo nome do programa.

Exemplo de um pequeno programa em Fortran PROGRAM Calc IMPLICIT NONE INTEGER :: num num = 2 WRITE(,) " 2+2 = ", 2+num STOP END PROGRAM Calc

50 FEUP – Licenciatura em Engenharia Civil – Programação e Computadores

Exemplo de um programa em Fortran

program Cilindro

! Este programa calcula e escreve a 'area total ! de um cilindro

implicit none real :: a_base, a_late, a_total, altura, raio real, parameter :: pi = 3.

! Leitura do raio da base e da altura do cilindro

write(,) "Valor do raio =? " read(,) raio write(,) "Valor da altura =? " read(,) altura

! Calculo da 'area total (a_total) de um cilindro ! a_base - 'area da base ; a_late - 'area lateral

a_base = piraio* a_late = 2.0piraioaltura a_total = 2.0a_base+a_late

! Escrita do resultado

write (*,"(//' A ''area do cilindro de raio ',f7.2,& & ' e altura ',f7.2/' e'' igual a ',e13.6)")& & raio, altura, a_total

stop

end program Cilindro

3.2 Constantes em Fortran

A forma mais simples de manipular os dados num programa é através de constantes e variáveis. De acordo com os diferentes dados a tratar, definem-se cinco tipos distintos (já referidos anteriormente): inteiros, reais, complexos, caracteres e lógicos. Nas sub-secções seguintes abordam-se cada um desses tipos e a forma como são tratados em Fortran.

Capítulo 3 - Introdução à programação em Fortran 51

3.2.1 Tipo inteiro (em Fortran: INTEGER)

Um elemento inteiro é um valor numérico sem parte decimal (positivo, negativo ou zero). Uma constante inteira é formada por uma série de algarismos do 0 ao 9. As constantes negativas devem ser precedidas pelo sinal menos (–), sendo opcional a consideração do sinal mais (+) para inteiros não negativos. Assim,

0 123

são constantes inteiras válidas, sendo os seguintes casos inválidos:

1,234 (não são permitidas vírgulas em constantes numéricas); 12.0 (constantes inteiras não podem conter parte decimal); --6 (só é permitido um único sinal algébrico); 3- (o sinal algébrico deve preceder a sequência de algarismos).

3.2.2 Tipo real (em Fortran: REAL)

Um elemento real é um valor numérico com parte decimal (positivo, negativo ou zero). Uma constante real pode ser representada em notação decimal (ex.: 1.23) ou em notação científica (mantissa - inteira ou real em notação decimal – e expoente – inteiro, separados pelo símbolo 'E'; ex.: 0.123E1). Na notação decimal o sinal que separa a parte inteira da parte decimal é o ponto (.) e não a vírgula (,). As constantes negativas devem ser precedidas pelo sinal menos (–), sendo opcional a consideração do sinal mais (+) para reais não negativos. Assim,

–0.

Capítulo 3 - Introdução à programação em Fortran 53

é uma constante caracter com um comprimento igual a 10, porque o espaço em branco e o ponto também se encontram incluídos.

Se a plica for também um caracter da constante, então poderá usar-se as aspas para delimitar os caracteres dessa constante; por exemplo:

"John ' s house".

Em alternativa, pode-se usar plicas para delimitar os caracteres da constante, neste caso a plica da constante deverá ser considerada através de um par de plicas; por exemplo:

'John ' ' s house'.

Caracteres válidos em Fortran. Caracter Significado Caracter Significado 0, …, 9 Algarismos : dois pontos A, …, Z letras maiúsculas = sinal de igual a, …, z letras minúsculas! ponto de exclamação ' plica ou apostrofe & e comercial " aspas $ sinal de dólar ( parêntesis à esquerda ; ponto e vírgula ) parêntesis à direita < menor do que

  • asterisco > maior do que
  • sinal mais % símbolo de percentagem
  • sinal menos? ponto de interrogação / barra ( slash ) , vírgula espaço em branco. ponto

3.2.5 Tipo lógico (em Fortran: LOGICAL)

Um elemento lógico pode ter dois valores: verdadeiro ou falso. Assim, uma constante lógica pode ser representada por esses dois valores. Em Fortran a sua representação é, respectivamente, a seguinte:

54 FEUP – Licenciatura em Engenharia Civil – Programação e Computadores

.TRUE. - valor lógico correspondente a verdadeiro;

.FALSE. - valor lógico correspondente a falso.

Note-se que em Fortran os valores lógicos TRUE e FALSE têm que estar compreendidos entre pontos.

3.3 Identificadores

Os identificadores são nomes usados para identificar variáveis, funções e outras entidades num programa. No Fortran normalizado, os identificadores devem começar com uma letra e podem ser seguidos por mais 30 letras, algarismos ou sublinhados ( _ ), perfazendo, assim, no total um máximo de 31. Desta forma,

Ficha

Velocidade

Aluno_1_ano

B3d

são identificadores válidos em Fortran, mas os seguintes nomes já não são identificadores válidos pelas razões indicadas:

x+y (somente letras, algarismos e sublinhados são permitidos);

2somas (os identificadores têm que começar por uma letra).

Notas:

→ É considerada boa regra de programação utilizar identificadores que representem nomes com significado, de forma a facilitar a interpretação dos programas.

56 FEUP – Licenciatura em Engenharia Civil – Programação e Computadores

o especificador de tipo é usualmente um dos seguintes:

INTEGER REAL COMPLEX CHARACTER ( especificador de tamanho ) LOGICAL

a lista de variáveis é a lista de identificadores das variáveis, separados por vírgulas.

Objectivo:

Declara o tipo de cada uma das variáveis identificadas na lista.

Alguns exemplos simples de declaração de variáveis em Fortran são apresentados nos parágrafos seguintes:

INTEGER :: num_valores, factorial, soma

REAL :: juros, fraccao, distancia

COMPLEX :: z_val

CHARACTER(LEN = 15) :: primeiro_nome, ultimo_nome

LOGICAL :: questao

Estas instruções declaram que as variáveis num_valores, factorial e soma, são variáveis com conteúdo inteiro; as variáveis juros, fraccao e distancia, são variáveis com conteúdo real; as variáveis z_val e questao são variáveis com conteúdo complexo e lógico, respectivamente; e as variáveis primeiro_nome e ultimo_nome são do tipo caracter com um comprimento de 15 caracteres.

Capítulo 3 - Introdução à programação em Fortran 57

Os números decimais não podem muitas vezes ser representadas de forma exacta por elementos do tipo real (por exemplo, 1/3 = 0.3333…), por isso, a representação em termos computacionais está sujeita a erros de arredondamento. Esses erros serão tanto maiores quanto menor for o número de algarismos significativos disponíveis. Por defeito, na generalidade dos computadores, as constantes reais são aproximadas por 7 algarismos significativos (precisão simples). No entanto há possibilidade de aumentar a precisão através da utilização da designada dupla precisão que permite usar aproximadamente 14 algarismos significativos. Isso é possível usando a declaração parametrizada de variáveis:

Declaração parametrizada de variáveis (simples) Forma:

especificador de tipo (KIND = número-tipo ) , atributos :: lista de variáveis

onde,

o especificador de tipo é usualmente um dos seguintes: INTEGER REAL COMPLEX CHARACTER ( especificador de tamanho ) LOGICAL o número-tipo é uma constante ou expressão inteira positiva que define a precisão dos valores; os atributos consistem numa lista de atributos que, eventualmente, podem ser omitidos; e a lista de variáveis é a lista de identificadores das variáveis, separados por vírgulas.

Objectivo:

Declara o tipo e a precisão de cada uma das variáveis identificadas na lista.

Capítulo 3 - Introdução à programação em Fortran 59

3.5 A instrução IMPLICIT NONE

Na maioria das linguagens de programação exige-se que seja explicitado os tipos de todas as variáveis. Em Fortran, no entanto, qualquer variável que não seja explicitamente declarada será "automaticamente" atribuído um tipo de acordo com a seguinte convenção implícita :

→ Qualquer identificador não declarado cujo nome comece por I, J, K, L, M ou N ou os seus equivalentes minúsculos, será considerado como variável inteira; todos os restantes serão considerados como reais.

Não é considerado bom hábito de programar deixar variáveis por declarar, logo sempre que possível deve-se evitar usar esta convenção implícita. O Fortran 90 fornece a instrução IMPLICIT NONE para cancelar a convenção anterior:

Instrução IMPLICIT NONE Forma:

IMPLICIT NONE

Objectivo:

Cancelar a convenção implícita de atribuição de tipos às variáveis. Esta instrução deve aparecer no início do programa e de todos os subprogramas.

3.6 O atributo PARAMETER

Certas constantes ocorrem tão frequentemente que são identificadas através de nomes. Por exemplo, o nome "pi" está normalmente associado à constante 3.14159… e o nome " e " à base 2.71828… dos logaritmos

60 FEUP – Licenciatura em Engenharia Civil – Programação e Computadores

neperianos. O Fortran permite especificar um identificador para uma constante através do atributo PARAMETER:

Declaração de Constantes como parâmetros fixos Forma:

especificador de tipo, PARAMETER :: lista de parâmetros

onde,

o especificador de tipo é aquele já anteriormente definido para a declaração de variáveis.

a lista de parâmetros é a lista de identificadores das constantes, separados por vírgulas.

Objectivo:

Associa a cada identificador da lista de parâmetros um valor constante. O valor dessa constante não pode ser alterado durante a execução do programa e qualquer tentativa para o modificar levará à ocorrência de erro de compilação.

Por exemplo, as declarações

INTEGER, PARAMETER :: Limite = 50 REAL, PARAMETER :: Pi = 3.141593, DoisPi = 2.0*Pi CHARACTER (LEN = 2), PARAMETER :: Unidades = 'kg'

Associa aos nomes Limite o inteiro 50, Pi e DoisPi as constantes reais 3.141593 e 6.283186, respectivamente, e a Unidades a string "kg". A última declaração pode também ser escrita como

CHARACTER (LEN = *), PARAMETER :: Unidades = 'kg'