Anda di halaman 1dari 39

Aula 1

Linguagens de programao

C
C++
Java
Pascal
Fortran

Linguagem Fortran

ForTran = Formula Translation


Segunda metade dos anos 50
Comunidade tcnico/cientfica
Semelhana com matemtica
Linguagem de alto nvel
Alteraes com melhorias na eficincia

Pseudocdigo
Compreenso do problema
Elaborao da lgica de resoluo
Traduo da lgica para pseudocdigo

Atribuio e comando
Pseudocdigo
Inteiro : x1
x1 2 + 3 ;

Fortran
Integer x1
x1 = 2 + 3

Programa Mnimo
Pseudocdigo

Fortran

INICIO
Inteiro : x1
x1 2 + 3 ;

PROGRAM minimo
Integer x1
x1 = 2 + 3

FIM

END

Verses do Fortran
Existem algumas verses antigas do
Fortran, consideradas as anteriores a
1977 e as mais recentes so Fortran
77, 'Fortran 90', 'Fortran 95' etc.

FORTRAN I
Foi o primeiro compilador FORTRAN para
computadores com memria de 15KB.
1954-57 portabilidade de programas.

FORTRAN II, III, IV e FORTRAN 66


FORTRAN II (1958)
FORTRAN III (1958)
FORTRAN IV (1961) eliminou as desvantagens do
FORTRAN II
FORTRAN 66, comea-se a usar o HLL
(portabilidade).

FORTRAN 77 standard
Compiladores para FORTRAN 77 ainda em uso
FORTRAN 77 trouxe: loops DO, IF ... THEN ... ELSE ... ENDIF.
Antes era usado o ciclo IF GOTO.

Fortran 90 standard
Codigo de fonte em formato livre
Estruturas de controle modernas (CASE & DO WHILE)
Uso melhorado de vectores e matrizes (array sections, array
operators, etc.)
Alocao dinamica de memoria
Livrarias contendo codigos

Fortran 95 standard
Poucas melhorias comparando com Fortran 90 standard.

Programa Fortran

10

Estrutura de um programa
Programa principal
Deve conter comentrios
Carcter obrigatrio e deve ser um unico

Subprogramas
opcionais

Dados
opcionais

11

Regras para se escrever um programa

Deve ser entendivel, depois eficiente


Apresentar um cdigo generalisado
Escrever programas modulares
Documentar o programa
Escrever em Fortran standard
Apresentar um layout agradavel
Usar algoritmos apropriados

12

Exemplo de um programa Fortran


Program ola_mundo
Print *, ola ao mundo da Informatica
End

13

Editor Fortran
Silverfrost
Similar a Microsoft Visual Studio
Livre
programao em C++, C#, Java, etc..
FTN90, FTN95

14

Estruturas Principais Fortran

Alfabeto
Objectos de Fortran
Formas de programa fonte
Instrues simples (ex. Print)

15

Alfabeto Fortran

16

Alfabeto Fortran
Qualquer linguagem constituda de
palavras, e estas palavras so formadas de
smbolos (letras, dgitos e caracteres
especiais).
Os seguintes caracteres so vlidos num
programa Fortran 90 ou 95:
alfabticos
a-z, A-Z

numricos:
0-9
17

simblicos:

18

Objectos do Fortran
Variveis
Funo
Procedimento
Constante
19

Tipos de dados
Valores numericos e caracteres so
representados no programa por
constantes
variaveis.

Constantes so valores usados


directamente no programa.
Variaveis representam locais de memria
com nomes especificos.
20

Variveis e declarao de variveis


As variveis podem ser inteiras, reais ou literais.
A declarao de uma varivel deve vir antes que ela
seja usada, se isto no ocorrer o compilador assumir
implicitamente as variveis que comeam com as letras
I at N como inteiras (INTEGER*4) e todas as outras
como reais (REAL*4).
Quando no se deseja que nenhuma varivel seja
declarada implicitamente usa-se o comando implicit
none.
Para se declarar variveis que sejam matrizes e vetores
deve-se indicar suas dimenses logo aps o nome da
varivel; entre parnteses, e separadas umas das outras
por vrgula.
Ex.: a(4,3) indica uma matriz de 4 linhas por 3 colunas.
21

A variavel representa o lugar na memoria do


computador onde um determinado valor vai ser
guardado.
O nome da variavel usado para chamar aquele valor
guardado.
Cada nome somente pode chamar um valor de cada
vez. Se for atribuido um outro valor ao mesmo nome,
ento o novo valor ir substituir o valor antigo.

Dar nomes as variaveis


Somente letras de A-Z a-z
Digitos de 0-9 e, o caracter underscore
Deve iniciar sempre por uma letra ( maiuscula ou
minuscula).
Em FORTRAN no existe diferena entre letras
maiusculas e minusculas.
22

Inteiras (INTEGER):
Podem assumir os seguintes valores:
INTEGER*1
128 a 127

INTEGER*2
32,768 a 32,767

INTEGER*4
2,147,483,648 a 2,147,483,647

INTEGER*4
pode ser representado somente por: INTEGER
23

Reais (REAL):
Preciso simples at 6 casas decimais:
REAL*4
Preciso dupla at 15 casas decimais:
REAL*8
Lgicas (LOGICAL):
LOGICAL NOME
Podem assumir os valores .TRUE.
(VERDADEIRO) ou .FALSE. (FALSO)
Ou somente T e F
24

Constante
Constantes Inteiras
Em Fortran, so chamados de constantes inteiras (no possuem ponto
decimal), os nmeros como:
2, -5, 4, 278, -1082

Constantes Reais
So chamadas de constantes os valores numricos que so escritos com
ponto decimal. Nmeros como:
2.5, -4.72, 0.202, 10.52E-27, 0.32E2

Representao de Nmeros Reais


Todo nmero real armazenado na memria do computador forma
normalizada (mantissa e expoente). Por exemplo,
6.32546 x 108 armazenado na forma 0.6325460E09, ou seja na forma de
mantissa e expoente.
-34.5 = -0.345 x 102 e armazenado na forma -0.3450000E02. (mantissa e
expoente),

A primeira parte do nmero chamada de mantissa e contm a parte


fracionria do nmero, com respectivo sinal. A segunda parte do nmero
contm a letra E, simbolizando o nmero escrito em potncia de dez,
seguido do sinal do expoente e expoente decimal do nmero.
25

Complex constants
Para calculos complexos de engenharia.
Apresentam-se na forma a+bi, onde a e b so numeros reais.
a representa a parte real complex constant e, b representa a parte
imaginaria.
A constante complexa armazenada no computador na forma (a, b).
3.0+1.5i escrito como (3.0,1.5)
7.2-4.3i escrito como (7.2,-4.3)

Character constants
Consiste em strings de comprimento variavel de caracteres entre
apstrofes.
As apstrofes no contam no comprimento do string.
'H2O'
'paralelograma'
um string'

Logical constants
Somente dois estados possiveis
.TRUE. ou .FALSE.

26

Funo
Existem vrias funes predefinidas em
FORTRAN, que podem ser usadas em qualquer
parte do programa.
As funes retornam sempre um valor, e a ela
podem ser passados qualquer nmero de
parmetros.
O tipo da funo deve ser declarado no programa
principal, como se fosse uma varivel comum.
Uma funo pode utilizar outras funes.
nome_da_funo(lista_de_parmetros)
27

Funes intrinsicas
Uma funo intrinsica e o seu argument representam um valor.
O tipo de valor que se obtem, depende da funo intrinsica usada.

28

Logical expressions: relational operators


Expresso logica somente pode ter 2
resultados: .true. ou .false..
Operadores logicos so usados para comparar
variaveis do mesmo tipo.

29

Logical Expressions: Logical Operators


Operadores logicos so usados entre expresses
logicas.
.NOT. Deve ser usado para 1 expresso apenas
As restantes, devem ser usadas entre 2 expresses

30

If a = 3.0 and b = 8.0, then


.not. (a .lt. b) .false.
(a .ne. b) .and. (a .lt. b) true. (as 2
expresses so verdadeiras)
(a .lt. b) .or. (a .gt. b) true. (1 das
expresses verdadeira)
(a .ne. b) .xor. (a .lt. b) true. (as 2
expresses so verdadeiras)
31

Procedimento
Fortran tem algumas regras totalmente estritas sobre a
ordem dos comandos. Basicamente em qualquer
programa ou procedimento as seguintes regras tm que
ser usadas:
A diretiva de cabealho de programa tem que vir em
primeiro lugar, (PROGRAM, FUNCTION ou
SUBROUTINE).
Todas as diretivas de especificaes tm que preceder
o primeiro comando executvel. Mesmo que as diretivas
DATA possam ser colocadas com o texto executvel, se
obtm mais clareza se eles forem colocados na rea de
declaraes.
32

Tambm uma boa idia agrupar as


diretivas FORMAT para obter maior
clareza.
Os comandos executveis tm que seguir
a ordem requerida pela lgica do
programa.

O programa ou procedimento deve


terminar com uma diretiva END.
33

Um programa Fortran simples

34

Analisemos um pequeno exemplo, porm completo,


de programa Fortran que mostra na tela do monitor a
mensagem Meu primeiro programa!.
!
! Este o primeiro programa desenvolvido em Fortran 90/95
! para a disciplina Informtica I
!
PROGRAM primeiro
! cabealho do programa
PRINT*, "Meu primeiro programa Fortran."
! comando executvel
STOP
! comando executvel
END PROGRAM primeiro
! fim de programa

35

Comentrios
As linhas iniciadas com um caracter ! so comentrios,
servem para acrescentar informaes ao cdigo do
programa e no so executveis.
Os textos que complementam as linhas do programa e so
precedidos por ! tambm so comentrios.
Cabealho
A primeira linha que no comentrio e d incio ao
programa chamada de cabealho do programa.
O cabealho obrigatrio para todos os programas, e
composto pela palavra-chave PROGRAM e de um nome
dado ao programa, escolhido pelo programador (ex.
primeiro).
36

Comandos executveis
A linha seguinte ao cabealho um comando
executvel, o WRITE, que serve para dar sada a dados
numa unidade de sada do computador mensagem Meu
primeiro programa!.
Os dois asteriscos entre parntese que segue a palavra
WRITE tambm passam instrues especficas para o
computador.
O primeiro quer dizer que ser usado como sada o dispositivo
de sada-padro (tela) e o segundo, que os dados no sero
formatados.
Sem formatao significa dizer que nenhuma especificao
especial feita sobre a forma de apresentao dos dados.

A cadeia de caracteres "Meu primeiro programa ser


apresentada no vdeo sem os delimitadores ().
37

A linha com o comando STOP, d ordem


ao computador para parar a execuo do
programa.
Fim do programa
A ltima linha contm a diretiva END
PROGRAM seguida do nome do
programa.
Esta serve para avisar ao compilador que
esta a ltima linha da unidade de
programa.
38

Critrio de atribuio de
nomes em Fortran

39

Anda mungkin juga menyukai