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 MatrizDIMENSION 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 vetorQuando os dados de uma determinada variável estão organizados em linha:1 2 3 4 5 6 ...
Comando de leituraRead(Local de origem, formato) (vetor(indexador)indexador=1,n)
Quando os dados de uma determinada variável estão organizados em coluna:123Comando de leituraDo indexador =1,nRead(Local de origem, formato) vetor(indexador)End do...Formas de leitura
Para a matrizA matriz normalmente usa as duas formas ao mesmo tempo:
Comando de leituraDo 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
AlgoritmoLer 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
Refinamento1defina tipo de variáveisatribua valores iniciais necessáriosRepita enquanto não for o fim do arquivoLeia dados do arquivoArmazene em uma matrizFim Repita
Fim Refinamento1
Algoritmo para ler médias mensais de precipitação para o estado da Paraíba
Refinamento 2defina tipo de variáveisatribua valores iniciais necessáriosRepita enquanto não for o fim do arquivoLeia cod,nome,lat,lon,n,precmenArmazene em uma matrizFim Repita
Fim Refinamento 2
Algoritmo para ler médias mensais de precipitação para o estado da ParaíbaRefinamento3 {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 algoritmo
Indica uma ação ou processamento
Indica decisão
Indica o sentido do fluxo de
execução
Indica saída de dados
Indica entrada de dados
Indica referência a um 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
F V
BlocoSENÃO(Ação B)
Bloco
SENÃO(Ação A)
Iteração
Faça Enquanto <Condição> Ação A
Ação A Repita Até <Condição>
<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:
de modo que é a precipitação normalizada de um mês i para um ano j, é a
precipitação de um mês i para um ano j; é a climatologia do mês i dada por
em que ni é o número de anos de dados e é o desvio padrão obtido por
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
Top Related