Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Um curso de Fortran

Paulo Bordoni
September 14, 2016

Um curso de Fortran

Veja esta apresentação em www.bordoni.info.

Paulo Bordoni

September 14, 2016
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. Descobri duas coisas: 1. O Fortran evolui muito! 2. Há

    um interesse, reprimido, em um curso de Fortran na UFRJ.
  2. 1. Existem muitos sistemas em Engenharia, em uso hoje, construídos

    em Fortran. 2. Muitos pesquisadores (da COPPE inclusive) utilizam Fortran. 3. Tais sistemas são altamente eficientes e possuem milhares de linhas de código. 4. Pela sua construção o Fortran é uma linguagem extremamente rápida, algumas vezes mais que C. Os motivos dessa demanda são diversos. Vou citar 4 deles:
  3. Outros motivos básicos para Fortran são: 1. Fortran, FORmula TRANslation,

    e COBOL foram as primeiras linguagens de programação. C, C++, ADA, Pascal, Java, PHP e Python vieram depois. 2. Os pacotes 1. BLAS  Basic Linear Algebra Subprograms 2. LAPACK  Linear Algebra Package desenvolvidos (inicialmente) em Fortran 77 constituem a pedra angular da computação científica (veja Netlib). Depois foram vertidos para C, etc.
  4. Um parênteses: Este é o principal repositório de software científico

    que a comunidade científica mundial dispõe:
  5. O Fortran evoluiu muito. Além da versão inicial, Fortran 77,

    temos as versões 90, 95, 2003, 2008. Por exemplo suas versões atuais usam ponteiros, como em C, e vetorização mais difusão para cálculos de Álgebra Linear, como Python.
  6. Fortran 2008[edit] The most recent standard, ISO/IEC 1539-1:2010, informally known

    as Fortran 2008, was approved in September 2010.[23][24] As with Fortran 95, this is a minor upgrade, incorporating clarifications and corrections to Fortran 2003, as well as introducing a select few new capabilities. The new capabilities include: •Submodules – Additional structuring facilities for modules; supersedes ISO/IEC TR 19767:2005 •Coarray Fortran – a parallel execution model •The DO CONCURRENT construct – for loop iterations with no interdependencies •The CONTIGUOUS attribute – to specify storage layout restrictions •The BLOCK construct – can contain declarations of objects with construct scope •Recursive allocatable components – as an alternative to recursive pointers in derived types The Final Draft international Standard (FDIS) is available as document N1830.[25] An important supplement to Fortran 2008 is the ISO Technical Specification (TS) 29113 on Further Interoperability of Fortran with C,[26][27] which has been submitted to ISO in May 2012 for approval. The specification adds support for accessing the array descriptor from C and allows ignoring the type and rank of arguments. Fortran 2015[edit] The next revision of the language (Fortran 2015) is intended to be a minor revision and is planned for release in mid-2018.[28] It is currently planned to include further interoperability between Fortran and C, additional parallel features, and "the removal of simple deficiencies in and discrepancies between existing facilities."[29][30] https://en.wikipedia.org/wiki/Fortran
  7. 1. Visão geral do curso. 2. Introdução à resolução de

    problemas. 3. Introdução às linguagens de programação (aspectos históricos). 4. Introdução à programação. 5. Números no computador (IEEE754 2008) floats 32, 64 e 128 e operações aritméticas elementares. 6. Atribuição, arredondamento e erros. 7. Caracteres, strings, tipos lógicos e números complexos. 8. Arrays em FORTRAN (vetores, matrizes, etc) – parte básica. 9. Estruturas de controle. 10. Mais sobre arrays e exemplos. 11. Entrada e saída de dados, formatação e uso de arquivos. 12. Funções. 1ª parte da ementa:
  8. 13. Introdução a ponteiros. 14. Sub-rotinas, variáveis locais e globais

    e passagem de parâmetros. 15. Módulos e programação estruturada. 16. Estruturação de dados. 17. Sobrecarga de operadores. 18. Aplicações matemáticas. 19. Programação genérica (se houver tempo). 20. Introdução à programação paralela, CUDA e CUBLAS (se houver tempo). A continuação da ementa:
  9. Para acessar uma lista enorme de programas em FORTRAN, vá

    para: http://www.netlib.org/cheney-kincaid/