Вы находитесь на странице: 1из 19

I Simpósio de Matemática e suas Interfaces

Oficina: Introdução ao Fortran

Por: Lisiane Ramires Meneses


Prefácio

Esta apostila foi elaborada para servir de base para o desenvolvimento dos tópicos da ofi-
cina de Introdução ao FORTRAN oferecida no I Simpósio de Matemática e suas Interfaces
realizado no campus Pelotas do Instituto Federal Sul-Rio-Grandense.
Conteúdo

1 Introdução 1
1.1 Procedimentos básicos para programar em
Linguagem FORTRAN . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Inicializando o Aplicativo Plato . . . . . . . . . . . . . . . . . 1
1.1.2 Criação de um Projeto . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Criação e insersão do programa-fonte dentro do projeto . . 3
1.1.4 Edição do Programa-Fonte . . . . . . . . . . . . . . . . . . . . . 5
1.1.5 Compilação e geração do Programa-objeto e Programa-
executável . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.6 Execução do Programa . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Declaração de Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Variáveis Inteiras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Variáveis Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Variáveis do tipo Caracter . . . . . . . . . . . . . . . . . . . . . 9
1.2.4 O comando Read . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Arquivos e Funções Matemáticas Intrı́secas . . . . . . . . . . . . . . 10
1.3.1 Operadores Aritméticos . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 Operadores Relacionais . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3 Operadores Lógicos . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.4 Funções Matemáticas Intrı́secas . . . . . . . . . . . . . . . . . 10
1.3.5 Comandos Open e Close . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Decisões e Opções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Ciclos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Capı́tulo 1

Introdução

Dentre as diversas linguagens de programação, a linguagem FORTRAN (FORmula TRANs-


lation), desta-se por ser amplamente utilizada em engenharia e aplicações cientı́ficas.
Embora tenha sido criada em 1954, por uma equipe da IBM, sua versão comercial foi
lançada apenas em 1957. As versões do FORTRAN padronizadas pela ISO (International
Standards Organization) e ANSI (American National Standards Institute) são:

• Ano 1966 - FORTRAN 66,

• Ano 1978 - FORTRAN 77,

• Ano 1992 - FORTRAN 90,

• Ano 1997 - FORTRAN 95.

Este texto apresenta uma breve introdução a linguagem de programação FORTRAN.


Todos os programas em FORTRAN apresentados foram editados e compilados com o
aplicativo Plato - Silverfrost.

1.1 Procedimentos básicos para programar em


Linguagem FORTRAN
Nesta seção serão desenvolvidos os conceitos de projeto, programa-fonte, programa-objeto,
programa executável e compilação. Além disso, serão apresentados os comandos: Write
e End.

1.1.1 Inicializando o Aplicativo Plato


Para Inicializar o aplicativo, deve-se executar no Windows: Start, Programs, Silverfrost,
Plato. O aspecto do FORTRAN deverá ser semelhante àquele mostrado na Figura 1.1.

1
Figura 1.1: Janela principal do aplicativo.

1.1.2 Criação de um Projeto


O FORTRAN organiza todos os arquivos de um programa em uma entidade chamada
projeto. Em termos práticos, a criação de um projeto resulta na criação de uma pasta ou
diretório dentro do Windows.
Para criar um projeto, devem ser executados os seguintes passos:

1. No menu FORTRAN, conforme ilustra a Figura 1.2, selecione: File, New Project.

2. Na Janela New Project, conforme a Figura 1.3, selecione Fortran application e


execute o que segue:

(a) Clique dentro do espaço de edição da opção Name e escreva o nome do projeto,
por exemplo, Programa1.
(b) Na opção Location deverá ser indicado um diretório (pasta) onde se quer criar
o projeto. Indique o diretório, como por exemplo, C: MinicursoFortran Pro-
grama1.
(c) Clicar sobre o botão Open.

2
Figura 1.2: Criando um projeto.

Figura 1.3: Criando um projeto.

1.1.3 Criação e insersão do programa-fonte dentro do projeto


O processo de edição ou criação de um programa fonte é semelhante à redação de uma
carta com um editor de textos. São necessários dois componentes: um editor de textos
para escrever o programa computacional e um arquivo para guardar o texto no HD do
computador. No caso dos programas computacionais, a carta é chamada de programa-
fonte e pode ser aberta, editada ou redigida dentro do FORTRAN ou em qualquer outro
editor de textos. Para iniciar a edição ou escrita de um programa-fonte em linguagem
FORTRAN é necessário criar e inserir um arquivo dentro do projeto. Isso é feito através
dos passos:

1. No menu do FORTRAN, executar: Project, Add New Item.

3
2. Na janela Add New Item, conforme ilustra a Figura 1.4, executar o seguinte:

(a) Na opção Name, digitar o nome do programa-fonte a ser criado; por exemplo,
Programa1.f95.
(b) Clique no botão Open.

Figura 1.4: Criando um programa-fonte.

Figura 1.5: Criando um programa-fonte.

4
Figura 1.6: Programa-fonte.

1.1.4 Edição do Programa-Fonte


Após a criação e insersão do programa-fonte dentro do projeto, o Fortran está pronto para
ser usado na edição do programa-fonte. Um exemplo de edição de edição do programa
fonte é apresentado a seguir.

1. Dentro do espaço de edição do FORTRAN, na subjanela maior, copiar exatamente


o texto mostrado abaixo.
Program teste
Write(*,*) ’Meu primeiro programa em FORTRAN’
Write(*,*) ’I Simpósio de Matemática e suas Interfaces’
Write(*,*) ’IFSul - Campus Pelotas - 2016’
End Program

2. Para gravar ou salvar este texto, no menu FORTRAN, executar: File, Save.

Observações:

• Dentro do editor de textos do FORTRAN, os comandos da linguagem são mostrados


na cor azul. Os comandos são palavras chave que têm uma função especı́fica e devem
ser usados exatamente de acordo com suas normas.

• Existem dezenas de comandos em linguagem FORTRAN. No caso, do primeiro


programa-fonte mostrado na Figura ??, são usados apenas dois comandos: Write e
End.

5
• Após a execução do programa, ele simplesmente irá mostrar em uma janela duas li-
nhas de texto: na primeira “Meu primeiro programa em FORTRAN”; e, na segunda
“IFSul-2016”. Qualquer texto colocado entre aspas após o comando Write(*,*) é
escrito em uma janela.

• O comando End é necessário para indicar o fim do programa.

Figura 1.7: Editor de textos do FORTRAN.

1.1.5 Compilação e geração do Programa-objeto e Programa-


executável
Após concluir a edição de um programa-fonte, ele deve ser compilado. O processo de
compilação traduz o programa-fonte no chamado programa-objeto, que é um arquivo do
tipo binário. Também deve-se gerar o programa-executável, que é um arquivo possı́vel de
ser executado ou rodado pelo computador, como qualquer outro programa ou aplicativo.
Para gerar o programa-objeto e o programa-executável deve-se fazer o seguinte no menu
do Fortran: Build, Build e Build, Rebuild.
Após a compilação, conforme é mostrado na Figura 1.8, aparecerão as mensagens na
subjanela da parte inferior do FORTRAN:

1. A primeira indica que o FORTRAN está compilando o programa-fonte.

2. A segunda informa que o programa-objeto foi gerado e o número de erros (errors) e


avisos (warnings) relativos ao programa-fonte compilado.

3. A próxima informa o nome do programa-executável que foi gerado.

6
O programa-executável é gravado automaticamente dentro do subdiretório Check-
Mate, que fica dentro do diretório do projeto. Isto pode ser visto com o aplicativo Win-
dows Explorer, conforme ilustra a Figura 1.9.

Figura 1.8: Compilação.

Figura 1.9: Janela do Windows Explorer mostrando o programa-executável no subdi-


retório CheckMate.

7
1.1.6 Execução do Programa
Após gerar o programa-executável, para executá-lo ou “rodá-lo”, isto é, para colocá-lo
em funcionamento, basta fazer o seguinte no menu do FORTRAN: Build, Start Run.
Como resultado deste comando, deve aparecer uma janela do tipo DOS, conforme mostra
a Figura 1.10.

Figura 1.10: Janela do tipo DOS resultante da execução do Programa.

1.2 Declaração de Variáveis


Nesta seção serão desenvolvidos os conceitos de variáveis do tipo inteiro, real, caracter e
real dupla. Para tanto, serão apresentados os comandos: Integer, Real, Character,
Double Precision (ou Real*8) e Read.

1.2.1 Variáveis Inteiras


O comando Integer é usado para definir variáveis do tipo inteiro, isto é, variáveis que
podem guardar ou armazenar na memória do computador números inteiros, positivos ou
negativos, como por exemplo, 2, 5, -3, 1250 ou 0.

1.2.2 Variáveis Reais


O comando Real é usado para definir variáveis do tipo real, isto é, variáveis que podem
guardar ou armazenar na memória do computador números reais, positivos ou negativos,
como por exemplo, 1.0, -1.0, -3.3, 3.1416 ou 0.005.
É importante salientar que os números reais são representados, em FORTRAN, com
o sinal de ponto para separar a parte inteira da parte decimal. Também podemos
usar junto ao número real a letra E, para representar números muito grandes ou muito
pequenos, através da chamada notação cientı́fica. Dessa forma, temos por exemplo,
A=1.0E+2=100.0=1.0E2=1E2.

8
1.2.3 Variáveis do tipo Caracter
O comando Character é usado para definir variáveis do tipo caracter, isto é, variáveis que
podem guardar ou armazenar comentários na memória do computador. Estes comentários
podem incluir palavras, números, sı́mbolos, espaços em branco ou frases.
No FORTRAN, cada variável do tipo caracter deve ser declarada com a dimensão
adequada à quantidade máxima de letras, números, espaços em branco e sı́mbolos que ela
poderá conter. Para declarar a dimensão, basta colocar o tamanho entre parênteses junto
à palavra Character. Quando não se declara o tamanho, assume-se que seja apenas um
caracter.

1.2.4 O comando Read


O comando Read é usado para atribuir valores às variáveis durante a execução de um
programa.

Exemplo 1

Program Variaveis

Integer Dia, Mes

Real Altura

Character(20) Nome

Write(*,*) ’Digite seu primeiro nome’


Read(*,*) Nome

Write(*,*) ’Entre com o dia e mes de seu nascimento’


Read(*,*) Dia, Mes

Write(*,*) ’Entre com a medida de sua altura aproximada’


Read(*,*) Altura

Write(*,*) ’Nome:’, Nome


Write(*,*) ’Data de Nascimento:’, Dia, Mes
Write(*,*) ’Altura:’, Altura

End Program

9
1.3 Arquivos e Funções Matemáticas Intrı́secas
Nesta seção serão apresentadas as funções matemáticas intrı́secas e criados arquivos para
mostrar resultados da execução de um programa em FORTRAN. Os comandos inerentes
a estas atividades são Write(número,*), Open e Close.

1.3.1 Operadores Aritméticos


FORTRAN Matemática Tradicional Significado
+ + Soma
− − Subtração
∗ × Multiplicação
/ ÷ Divisão
∗∗ ab Potenciação

1.3.2 Operadores Relacionais


FORTRAN Matemática Tradicional Significado
< < Menor que
<= ≤ Menor ou igual a
== = Igual
/= 6= Diferente
> > Maior que
>= ≥ Maior ou igual a

1.3.3 Operadores Lógicos


FORTRAN Significado
.and. Junção - verdadeiro se os dois operadores forem verdadeiros.
.or. Disjunção - verdadeiro se um dos dois operadores forem verdadeiros.
.not. Negação - verdadeiro se o operador for falso.

1.3.4 Funções Matemáticas Intrı́secas


Função Comando
Módulo ou valor absoluto y=abs(x)
Raiz quadrada y=sqrt(x)
Exponencial y = ex y=exp(x)
Logaritmo natural y=log(x)
Logaritmo decimal y=log10(x)
Mı́nimo y=min(x,z,w)
Máximo y=max(x,z,w)

10
Função Trigonométrica Comando
Seno y=sin(x)
Cosseno y=cos(x)
Tangente y=tan(x)
Arco-seno y=asin(x)
Arco-cosseno y=acos(x)
Arco-tangente y=atan(x)
Seno hiperbólico y=sinh(x)
Cosseno hiperbólico y=cosh(x)
Tangente hiperbólica y=tanh(x)

1.3.5 Comandos Open e Close


O comando Open é usado para definir um número que será usado como referência a um
arquivo; e para abrir o arquivo chamado “nome”. Pode-se escolher qualquer nome, no
entanto, este deve ficar entre aspas. Quando se declara um nome de arquivo em um
comando Open, se o arquivo não existir, ele é criado dentro do diretório do projeto.
A forma do comando Close é Close(número). Este comando é usado para fechar ou
encerrar o uso de um arquivo aberto anteriormente com o comando Open.

Exemplo 2

Program ArquivosFuncoes
Real A, B, C, Pi

Write(*,*) ’Entre com um valor real para A’


Read(*,*) A

Open(8, file=’saida1txt’)

Write(8,*) ’Valor de A=’, A

B=abs(A)
Write(8,*) ’B=Módulo de A=’, B

C=Log10(B)
Write(8,*) ’C=Logaritmo decimal de B=’, C

Pi=acos(-1.0)
Write(8,*) ’Pi=’, Pi

D=cos(Pi)
Write(8,*) ’D=Cosseno de Pi=’, D

11
Close(8)

End Program

Observações:

• No caso de operações matemáticas que têm a mesma prioridade, executa-se primeiro


o cálculo mais à esquerda.

• Parênteses são usados para que os cáculos sejam executados na ordem que se deseja.
Com eles, a ordem de execução é do parênteses mais interno para o mais externo.

• Com duas ou mais potenciações consecutivas, a ordem de excução é da direita para


a esquerda.

• O valor que resulta do cálculo envolvendo dois números inteiros também é um


número inteiro, que corresponde à parte inteira do número real equivalente ao cálculo
realizado.

• Uma operação envolvendo um número real com um número inteiro resulta em um


número real.

• A atribuição de um número inteiro a uma variável do tipo real resulta em um número


real.

• Espaços em branco entre variáveis, sinais de igualdade, parênteses, números ou


operadores matemáticos não interferem no resultado dos cálculos. Eles têm apenas
função estética.

1.4 Decisões e Opções


Nesta seção serão apresentados conceitos de decisão, condição, operadores relacionais e
lógicos e opção, utilizando os comandos If - Then - Else - End If.

O comando If é usado para tomar decisões com base em condições. Se as condições


são satisfeitas, executa-se o comando que está na mesma linha do If, caso contrário, não.

Exemplo 3

Program Decisao1

Real A, B

Write(*,*) ’Entre com os valores reais de A e B’


Read(*,*) A, B

12
If (A<B) Write(*,*) ’A eh menor do que B’

If (A<=B) Write(*,*) ’A eh menor ou igual a B’

If (A>B) Write(*,*) ’A eh maior do que B’

If (A>=B) Write(*,*) ’A eh maior ou igual a B’

If (A==B) Write(*,*) ’A eh igual a B’

If (A/=B) Write(*,*) ’A eh diferente de B’

If ((A<0) .and. (B<0)) Write(*,*) ’A e B sao negativos’

If ((A>0) .and. (B>0)) Write(*,*) ’A e B sao positivos’

If ((A>0) .or. (B>0)) Write(*,*) ’A ou B eh um numero positivo’

End Program

Existe, também, uma segunda forma de uso do If, a estrutura If - Then - Else -
End If. Esta estrutura do comando If permite que, se as condições são satisfeitas, sejam
executados diversos comandos do programa escritos em várias linhas. Se as condições não
são satisfeitas, são executados os comandos que estão entre o comando Else e o End If.
A seguir é apresentado um exemplo de aplicação desta estrutura.

Exemplo 4

Program Decisao2

Real A, B, C, D, x1, x2

Write(*,*) ’Entre com os valores reais de A, B e C, onde’


Write(*,*) ’A*(x**2)+B*x+C=0’
Read(*,*) A, B, C

D=(B**2)-4.0*A*C

If (D>=0) Then
x1=(-B-sqrtD)/(2.0*A)
x2=(-B+sqrtD)/(2.0*A)
Write(*,*) ’As raizes reais da equacao sao:’, x1, x2
Else

13
Write(*,*) ’A equaç~
ao n~
ao admite soluç~
oes reais’
End If

End Program

1.5 Ciclos
Nesta seção estudaremos os ciclos, a partir dos comandos Do - End Do, Exit.

A definição de um ciclo envolve quatro variáveis do tipo inteiro: A, Inicio, Fim e


Passo. Os nomes delas podem ser outros quaisquer. Quando a execução do programa
chega a um comando Do, a sequência é a seguinte:

1. A variável A assume o valor da variável Inicio.

2. Verifica-se se deve-se entrar ou não no ciclo em função dos valores das variáveis
Inicio, Fim e Passo, conforme explicação a seguir.

3. No caso de se entrar no ciclo:

(a) São executadas todas as linhas do programa até se chegar no comando End Do.
(b) Retorna-se à linha do Do.
(c) O valor da variável A passa a ser A=A+Passo.
(d) Retorna-se ao item 2 acima.

4. No caso de não entrar no ciclo, a execução do programa passa diretamente à linha


que estiver abaixo do comando End Do.

1.6 Conjuntos
Nesta seção serão apresentados os conceitos de conjunto, elemento e alocação dinâmica
de memória, utilizando os comandos Dimension, Allocatable, Allocate, Minval,
Maxval e Sum.

Os comandos do Fortran: Dimension, Allocatable e Allocate são empregados


com variáveis do tipo conjunto.

Em FORTRAN, conjunto é uma coleção de variáveis do mesmo tipo que são agru-
padas em uma única variável. Cada variável que compõe o conjunto é denominada de
elemento ou componente. Uma variável do tipo conjunto também é denominada de vetor.
As variáveis do tipo conjunto podem ser compostas por variáveis do tipo inteiro, real ou
caracter.

14
O comando Dimension(:) é usado para definir uma variável do tipo conjunto.

O comando Allocatable é usado para definir uma variável do tipo alocável, isto é,
uma variável do tipo conjunto cuja quantidade de elementos que a compõe é definida
posteriormente dentro do programa.

O comando Allocate é usado para definir quantos elementos compoõem uma variável
do tipo conjunto e reservar o espaço de memória correspondente no computador.

Exemplo 5

Program Conjuntos

Integer QuantidadeNotas, i
Real, Allocatable, Dimension(:) Notas
Real Minimo, Maximo, Soma, Media

Open(15,file=’Notas.txt’)

Read(15,*) QuantidadeNotas

Allocate(Notas(QuantidadeNotas))

Do i=1,QuantidadeNotas
Read(15,*) Notas(i)
Write(*,*) Notas(i)
End Do

Close(15)

Minimo=Minval(Notas)
Write(*,*) ’Nota Minima=’, Minimo

Maximo=Maxval(Notas)
Write(*,*) ’Nota Maxima=’, Maximo

Soma=Sum(Notas)
Write(*,*) ’Soma=’, Soma

Media=Soma/QuantidadeNotas
Write(*,*) ’Media=’, Media

End Program

15
1.7 Atividades
1. Editar um programa-fonte em FORTRAN para executar o seguinte algoritmo:

(a) ler o primeiro valor de uma progressão aritmética, denotado por a1;
(b) ler a diferença entre dois termos subsequentes da PA, denotada por d;
(c) ler o número de termos da PA, denotado por n;
(d) calcular o último termo da PA, denotado por an;
(e) calcular a soma de todos os termos da PA, denotado por Sn;
(f) escrever os três valores lidos e os dois calculados juntamente com comentários
para identificá-los;
(g) executar o programa com os valores a1=1, d=3, n=5 e a1=1.3, d=3.9, n=5.

2. Editar um programa-fonte para executar o seguinte algoritmo:

(a) Ler os valores inteiros de três variávels, denotadas por A, B e C;


(b) Determinar qual das variáveis tem o menor e o maior valor.

3. Editar um programa-fonte para executar o seguinte algoritmo:

(a) ler os valores das variáveis, denotadas por A, B, C e D;


(b) calcular o valor de:
A+B
i. H1 = C
B
ii. H2 = A + C
·D
iii. H3 = A + B · C D

B+5
iv. H4 = 100

4. Editar um programa-fonte em FORTRAN para executar o seguinte algoritmo:

(a) ler o valor inteiro de uma variável, denotada por N;


(b) Calcular o fatorial de N apenas para N ≤ 0;
(c) Mostrar o resultado do fatorial de N.

5. Editar um programa-fonte para ler os dados de uma tabela e calcular o desvio


padrão dos dados. Escrever os resultados em um arquivo de saı́da denominado
“DesvioPadrao.txt”. s
PN
i=1 (Nm − Ni )
2
D=
N

16

Вам также может понравиться