Você está na página 1de 6

VARIÁVEIS INDEXADAS

Unidimensional Vetores

DIMENSION vetor1(limsup1), vetor2(limsup2),..., vetorn(limsupn)


Declarando uma variável como vetor

Bidimensional ou multidimensional: Matrizes

Declarando uma variável como Matriz


DIMENSION matriz(n,m), cubo(n,m,l) ou para o FORTRAN
Real vetor1(limsup1), vetor1(limsup1),..., vetor1(limsup1)
Integer vetor1(limsup1), vetor1(limsup1),..., vetor1(limsup1)
Character vetor1(limsup1), vetor1(limsup1),..., vetor1(limsup1)

Formas de leitura

Para o vetor
Quando os dados de uma determinada variável estão organizados em linha:
1 2 3 4 5 6 ...

Comando de leitura
Read(Local de origem, formato) (vetor(indexador)indexador=1,n)

Quando os dados de uma determinada variável estão organizados em coluna:


1
2
3
Comando de leitura
Do indexador =1,n
Read(Local de origem, formato) vetor(indexador)
End do
...
Formas de leitura

Para a matriz
A matriz normalmente usa as duas formas ao mesmo tempo:

Comando de leitura
Do i =1,n
Read(Local de origem, formato) (matriz(i,j)j=1,m)
End do
Algoritmo para ler médias mensais para o estado da Paraíba

Algoritmo
Ler dados de precipitação de um arquivo e armazenar em uma matriz
Fim Algoritmo

Algoritmo para ler médias mensais de precipitação para o estado da Paraíba

Refinamento1
defina tipo de variáveis
atribua valores iniciais necessários
Repita enquanto não for o fim do arquivo
Leia dados do arquivo
Armazene em uma matriz
Fim Repita
Fim Refinamento1

Algoritmo para ler médias mensais de precipitação para o estado da Paraíba

Refinamento 2
defina tipo de variáveis
atribua valores iniciais necessários
Repita enquanto não for o fim do arquivo
Leia cod,nome,lat,lon,n,precmen
Armazene em uma matriz
Fim Repita
Fim Refinamento 2
Algoritmo para ler médias mensais de precipitação para o estado da Paraíba
Refinamento3
{Definindo os tipos de variáveis}
Inteiro nmes, {numero de meses}
nmax {numero de estações}
{definindo como parâmetros}
Parametro (nmes=12,nmax=150)
Inteiro cod(nmax),nome(nmax),nanos(nmax),Erro,mes
Real/Flutuante lat(nmax),lon(nmax),precmen(nmax, nmes )
{abrindo arquivo}
nome_arq=‘pb.men’
abrir arquivo (unidade=50,nome=nome_arq,estado=‘antigo’)
{atribuindo valores iniciais necessários}
Erro=0
cont=1
Repita enquanto (erro diferente de zero) faça
Leia (50,10,erro) cod(cont),nome(cont),lat(cont),lon(cont),nanos(cont),
(precmen(cont,mes),mes=1,12)
Formato(1x,25A,23X,2F8.2,6x,2I,12F8.1)
cont=cont+1
Fim Repita
Fim Refinamento3

Algoritmo para ler médias mensais de precipitação para o estado da Paraíba

Algoritmo
{Definindo os tipos de variáveis}
Inteiro nmes, {numero de meses}
nmax {numero de estações}
{definindo como parâmetros}
Parametro (nmes=12,nmax=150)
Inteiro cod(nmax),nome(nmax),nanos(nmax),Erro,mes
Real/Flutuante lat(nmax),lon(nmax),precmen(nmax, nmes )
{abrindo arquivo}
nome_arq=‘pb.men’
abrir arquivo (unidade=50,nome=nome_arq,estado=‘antigo’)
{atribuindo valores iniciais necessários}
Erro=0
cont=1
{Lendo as variáveis e armazenando em vetores e matrizes}
Faça enquanto (erro diferente de zero)
Leia(50,10,erro) cod(cont),nome(cont),lat(cont),lon(cont),nanos(cont),
(precmen(cont,mes),mes=1,12)
10 Formato(1x,25A,23X,2F8.2,6x,2I,12F8.1)
cont=cont+1
Fim Faça
Fim Algoritmo
Diagrama de Blocos do Programa

Diagrama de Chapin

nome_arq←´pb.men´

abrir arquivo (unidade=50,nome=nome_arq,estado=‘antigo’)

Erro← 0

Cont← 1

Enquanto Erro≠0

Leia(50,10) cod(cont), nome(cont), lat(cont), lon(cont),


nanos(cont), (precmen(cont,mes),mes=1,12)

10 Formato(1x,25A,23X,2F8.2,6x,2I,12F8.1)

Cont=cont+1
Fluxogramas ou Diagramas de Blocos

Indica início ou fim de um execução


algoritmo
Indica saída de dados
Indica uma ação ou
processamento
Indica entrada de dados
Indica decisão
Indica referência a um
Indica o sentido do fluxo de subprograma externo

Diagramas de Chapin, Diagrama de Nassi-Shneiderman (Cartas N-S)

Seqüência

Ação A

Ação B

Ação C

Seleção

<condição>
F V

Bloco Bloco
SENÃO SENÃO
(Ação B) (Ação A)

Iteração

Faça Enquanto <Condição> Ação A

Ação A Repita Até <Condição>


Universidade Federal de Campina Grande
Unidade Acadêmica de Ciências Atmosféricas
Campina Grande, 17 de março de 2006
Sinótica I

Exercício 2

Data de entrega do exercício 24 de março de 2006

Para a estação pluviométrica do estado da Paraíba escolhida desenvolva um algoritmo que


realize o que se pede nos seguintes itens abaixo e teste-o na linguagem FORTRAN:

a) Armazenar os dados de precipitação em uma matriz

b) Normalizar os dados mensais, sabendo-se que a normalização de um dado é


dado por:
xi j − xi
z ij =
σi
de modo que zij é a precipitação normalizada de um mês i para um ano j, xi j é a
precipitação de um mês i para um ano j; xi é a climatologia do mês i dada por
n

∑x
j =1
i j

xi =
ni
em que ni é o número de anos de dados e σi é o desvio padrão obtido por
1
 n
(
 ∑ xi j − xi ) 2 2

σi =

j =1 

ni

 

 
c) Represente-o na forma do diagrama de Chapin
d) Escreva os resultados semelhantes à formatação abaixo:

ano jan fev mar abril mai jun jul ago set out nov dez

Você também pode gostar