apostila de fortran - inf.ufes.br thomas/fortran/tutorials/inpe_   francisco de oliveira jnior,

Download Apostila de FORTRAN - inf.ufes.br thomas/fortran/tutorials/inpe_   Francisco de Oliveira Jnior,

Post on 26-Sep-2018

215 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Apostila de FORTRAN

    Rita Valria Andreoli

    Joo Carlos Carvalho

    INPE

    dezembro/2001

  • 2

    Apresentao

    No documento final do I-EPGMET (Encontro dos Alunos de Ps-Graduao em Meteorologia),realizado em 2000, expressa-se claramente que os alunos gostariam de ter cursos introdutrios dosprincipais softwares e linguagens de programao utilizados pela comunidade de Meteorologia doINPE. Desde ento, essa demanda permaneceu presente, mas adormecida. Recentemente, emsetembro, com a retomada das discusses sobre a necessidade de cursos, props-se a elaborao deapostilas simples, bsicas, voltadas para o usurio que nada ou muito pouco conhece do software ouda linguagem de programao. Dessa proposta nasceu o Projeto Apostila.

    O Projeto Apostila composto de 5 grupos. Cada grupo foi responsvel pela elaborao de umaapostila sobre um software ou uma linguagem de programao. Os grupos so: Rosane Chaves eDaniel Andres (Grads); Rita Valria Andreoli e Joo Carlos Carvalho (Fortran); Marcelo Zeri(Matlab); Pablo Fernandez e Emanuel Giarolla (Latex); e Hlio Camargo e Marcos Oyama (Unix).Os grupos, durante 2 meses, trabalharam intensamente (sem se descuidar das suas dissertaes eteses) para produzir as apostilas. A apostila que voc est recebendo fruto do esforo de um dosgrupos.

    Gostaramos de agradecer a todos os colegas que revisaram a verso "0" das apostilas: AlexandraAmaro de Lima, Antnio Marcos Mendona, Edna Sousa, Elizabeth Reuters, Everson dal Piva, JosFrancisco de Oliveira Jnior, Marcos Yoshida, Maurcio Bolzan, Patrcia Moreno Simes, PauloMarcelo Tasinaffo, Raimundo Moura, Rodrigo de Souza e Wantuir Aparecido de Freitas. Assugestes, crticas e os comentrios apresentados foram de grande valia. Muito obrigado!

    Gostaramos, tambm, de agradecer a Ansio Moliterno por disponibilizar a rea pblica da fractalpara os arquivos de exemplos das apostilas.

    As apostilas no tm o objetivo de competir com os cursos que so oferecidos pelo CPTEC ouINPE, mas complementar. A idia que o usurio, aps estudar a apostila, possa caminharsozinho, consultando manuais ou os colegas; ou seja, torne-se independente. A apostila umaponte, no o fim. Recomenda-se aos leitores da apostila que faam os cursos oferecidos peloCPTEC ou INPE: sempre temos algo a aprender! Alm disso, no futuro, as apostilas podem servirde base para cursos ministrados por alunos - instrutores.

    Espera-se que, no futuro, outros Projetos Apostila sejam realizados, melhorando e atualizando asapostilas existentes. Alm disso, outras apostilas (p.ex. Fortran 90), podero ser elaboradas.

    Boa leitura!

  • 3

    Instalao dos exemplos

    Pea a algum do Suporte (ou algum colega que conhea um pouco de UNIX) para instalar osexemplos na sua rea. As instrues so as seguintes:

    1. Transfira (via ftp, como usurio annimo) o arquivo instala_apostila da rea pblica dafractal ( /pub/software/apostila ) para o home do usurio.(em negrito est o que voc deve digitar; a tecla Enter) nevasca:/home/fulano>ftp fractal Name (fractal:fulano):anonymous Guest login ok... Password:fulano@cptec.inpe.br #ATENO: no ir aparecer na tela! Guest login ok... ftp>cd pub/software/apostila ftp>asc ftp>get instala_apostila ftp>quit nevasca:/home/fulano>

    2. Abra a permisso de execuo de instala. nevasca:/home/fulano>chmod u+x instala_apostila

    3. Execute instala_apostila (e entre com as informaes pedidas durante a instalao). nevasca:/home/fulano>instala_apostila

    ________________________________________________________________________________

    Explicao dos exemplos

    A apostila de programao em FORTRAN contm vrios exemplos, que so disponibilizados aousurio. Esses exemplos, esto na forma original apresentada na apostila, e encontram-se no arquivoprog_for.tar.

    1) adiciona.f - este programa soma nmeros de 1 a100, utilizando o comando DO, encerrado pelocomando enddo;

    2) adiciona1.f - executa a mesma operao do programa anterior, mas utiliza o comandoCONTINUE, para encerrar o lao do comando DO;

    3) array2.f - calcula mdia e desvio padrode uma srie de dados fornecida a partir do tecaldo;4) calcula_pi.f - calcula o valor de pi, utilizando uma funo intrnseca;5) contagem.f - faz contagem regressiva a partir de um nmero fornecido via teclado;6)contagem1.f - permite observar quando esto sendo executadas as primeira e segunda intreaes

    na estrutura de laos aninhados (comando DO);7) equacao.f - calcula a equao de segundo grau;8) equao1.f - calcula a equao de segundo grau, e suas razes, utilizando a estrutura do IF

    aritmtico;9) equacao2.f - calcula a equao de segundo grau, e suas raizes utilizando o comando IF

    expandido.10) ler_arq.f - l sries temporais a partir de arquivos em disco, faz a soma e gera um arquivo de

    sada;11) notas.f - fornece um conceito, dependendo, da nota fornecida via teclado;

  • 4

    12) rad.f - calcula o nvel de radiao utilizando o comando DO WHILE;13) radiacao.f - mostra um exemplo de formatao;14) raio.f - calcula a rea do circulo de raio r15) read.f - l um arquivo do disco no formatado, e escreve com um formato especfico16) sqrt.f - calcula raiz quadrada de um nmero, utilizando uma funa intrnseca17) teste.f - exemplo simpes utilizando a estrura do IF lgico simples18) soma1.f, soma2.f, soma3.f, soma4.f e soma5.f - so exemplo simples, utilizando alguns

    comandos bsicos.19) os arquivos *.dat - so sries temporais, utilizadas em alguns exemplos.

  • 5

    SUMRIO1.INTRODUO 1 Formatao Compilao e execuo

    2. CONCEITOS BSICOS 2 Comando Stop Comando End Comando Pause Comando Parameter

    3. DECLARAO DE VARIVEIS 5 Tipos de Variveis Inteiras (INTEGER) Reais (REAL) Alfanumricas (CHARACTER) Lgicas (LOGICAL)

    4. OPERADORES 5 Atribuio Operadores Literais Operadores Aritmticos Operadores Relacionais Operadores Lgicos Prioridade

    5. FUNES INTRNSECAS 9 Funes Trigonomtricas Outras Funes

    6. COMANDOS DE CONTROLE 10 Comando IF Comando DO Comando DO WHILE

    7. COMANDOS E FORMATOS DE ENTRADA E SADA 18 Comando READ Comandos WRITE e PRINT Canais de entrada e sada - Teclado e monitor - Arquivos em disco: Comandos OPEN e CLOSE Formatos

    8. REFERNCIAS BIBLIOGRFICAS 24

  • 1

    1. INTRODUO

    O FORTRAN (FORmula TranSLATION) uma linguagem de alto nvel, desenvolvida entre 1954e 1958 por John Backus e colaboradores. Como o prprio nome diz, ele permite uma traduo quasedireta de frmulas, por meio de uma simbologia de variveis e operadores algbricos, sendo assimpor excelncia uma linguagem voltada para problemas que possam ser formuladosmatematicamente, em particular nos campos da fsica, da engenharia, da estatstica e da prpriamatemtica. Apesar de ele permitir a elaborao de cdigos extremamente sofisticados para aresoluo de problemas de grande complexidade, o amplo sucesso do FORTRAN nos meiosacadmicos e cientficos deve-se ao uso de uma terminologia simples (em ingls) - OPEN, READ,STOP, etc - aliada codificao de cima para baixo (top-down approach), linha por linha,aproximando-se bastante do procedimento manual para a resoluo desses problemas. Assim, aidia expressar de maneira simples o problema a ser resolvido. Vamos comear com um exemplosimples.

    Imagine que o nosso problema fazer a soma de trs valores. O primeiro passo , ento, tentardescrever as etapas a serem seguidas para obter essa soma. A etapas a serem seguidas seriam: ler osvalores, somar os valores, imprimir seu resultado e finalizar. Vamos agora tentar descrever esseproblema em linguagem Fortran, seguindo essas etapas.

    __________________________________________________________________

    C23456789 !linha de comentrio program soma !inicia o programa chamado soma integer k,n,m !declara que k,n,m so variveis inteiras n=1 !atribui o valor 1 varivel n m=3 !atribui o valor 3 varivel m k=m+n !soma n e m, e o resultado armazenado em k print*,k !escreve na tela a varivel k stop !para a execuo do programa end !fim do programa soma________________________________________________________________________________

    Como podemos notar acima, uma estrutura bsica que inclui o comando program (d um nome aoprograma), declarao de variveis, clculo, e os comandos stop e end, seguida para a elaboraode um programa em Fortran . Alm disso, podemos notar que alguns critrios de formatao sousados para editar o programa. O programa pode ser editado em qualquer editor de texto (como,nedit, textedit, etc).

    Formatao

    Os seguintes critrios devem ser seguidos para se escrever um programa em FORTRAN no modode formulrio fixo:

    colunas 1 a 5: so usadas escrever os rtulos (label) ou nmeros de comando. Estes nmerosdevem ser inteiros e estar totalmente contido nestas colunas. No podem se repetir e noprecisam estar em ordem crescente. Sero usados para que outros comandos possamidentificar aquela linha;

  • 2

    coluna 6: qualquer caractere diferente de 0 (zero) nesta coluna indica que o que vem a seguir continuao da linha anterior ou da ltima linha que no seja um comentrio (prximoitem); podem existir at 19 linhas de continuao;

    colunas 7 a 72: comandos; colunas 73 a 80: ignoradas pelo compilador; como as palavras - comando em FORTRAN so todas em ingls, letras acentuadas, c

    cedilha () e til NO so aceitas.

    Conhecendo, agora, a conveno de colunas utilizada para a elaborao de um programa emFORTRAN, tente editar o programa dado na introduo, em seu editor de texto de preferncia. Como programa j editado a partir da stima coluna (no esquea), salve seu programa com a extenso .f(por exemplo soma1.f). O prximo passo a compilao e execuo desse programa.

    Compilao e Execuo

Recommended

View more >