Mudanças entre as edições de "Fortran"
m (→Subrotinas) |
m (→Compiladores) |
||
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 17: | Linha 17: | ||
;[[Fortran 95 Silverfrost]]: um compilador '''grátis''' que pode ser obtido na internet: | ;[[Fortran 95 Silverfrost]]: um compilador '''grátis''' que pode ser obtido na internet: | ||
+ | |||
+ | ==Fortran 2003== | ||
+ | Veja quais características do Fortran 2003 são implementadas pelos principais compiladores em http://fortranwiki.org/fortran/show/Fortran+2003+status | ||
+ | |||
+ | Em particular note a TR 15581 (Technical Report 15581: permite alocação dinâmica de arrays em tipos definidos pelo usuário). | ||
==Código Teste== | ==Código Teste== | ||
Linha 105: | Linha 110: | ||
*[http://en.wikipedia.org/wiki/Fortran] | *[http://en.wikipedia.org/wiki/Fortran] | ||
*[http://pt.wikipedia.org/wiki/Fortran] | *[http://pt.wikipedia.org/wiki/Fortran] | ||
+ | * Manual do Fortran interessante, inclusive com Ponto Flutuante em http://www.ibiblio.org/pub/languages/fortran/unfp.html#section-4 |
Edição atual tal como às 16h32min de 9 de maio de 2012
A família de linguagens de programação conhecida globalmente como Fortran foi desenvolvida a partir da década de 1950 e continua a ser usada hoje em dia. O nome tem como origens a expressão "FORmula TRANslation" (ou "Translator").
As versões iniciais da linguagem eram conhecidas como FORTRAN, mas a capitalização foi ignorada em versões recentes da linguagem começando a partir do Fortran 90. Os padrões oficiais da linguagem referem-se a ela atualmente como "Fortran".
A linguagem Fortran é principalmente usada em Ciência da Computação e Análise Numérica. Apesar de ter sido inicialmente uma linguagem de programação procedural, versões recentes de Fortran possuem características que permitem suportar programação orientada por objetos.
Compiladores
- WATFOR
- a versão do FORTRAN IV desenvolvida na Universidade de Waterloo, Canadá, foi universalmente preferida pois o compilador produzia melhores relatórios dos erros de compilação.
- Fortran Powerstation 4.0
- comercializado pela Microsoft.
- Visual Fortran
- versão comercializada primeiramente pela Digital e depois pela Compaq. Uma evolução da versão da Microsoft.
- g95
- Grátis, código aberto, compilador Fortran 95 para Linux.
- Fortran em Linux
- Veja como rodar programa em Linux.
- Fortran 95 Silverfrost
- um compilador grátis que pode ser obtido na internet:
Fortran 2003
Veja quais características do Fortran 2003 são implementadas pelos principais compiladores em http://fortranwiki.org/fortran/show/Fortran+2003+status
Em particular note a TR 15581 (Technical Report 15581: permite alocação dinâmica de arrays em tipos definidos pelo usuário).
Código Teste
Alguns compiladores possuem um ambiente gráfico e um editor de textos para digitar os programas. No compilador Silverfrost:
- Crie um arquivo novo clicando em New. Escolha Free Format. Uma janela de texto deve abrir.
- Digite o código fonte abaixo.
program ola print *,"Ola mundo" end
- No menu Build, clique em Start Run para rodar o programa. Salve o programa com o nome teste.f90. Deverá abrir uma janela de comando e aparecer a mensagem
Ola mundo
Subrotinas
program principal real*8 :: x,y,m,S real*8,dimension(50) :: u real*8 :: norm x=10.D0 y=20.D0 call norma2( u, norm ) call media( x,y, m ) print *," Media ",m S=soma(x,y) end program !------------------------------ subroutine norma2( v, saida ) real*8,dimension(5) :: u real*8 :: saida saida=...... end subroutine !------------------------------ subroutine media( a,b,m ) real*8 :: a,b real*8 :: m m=(a+b)/2.D0 end subroutine !------------------------------ function soma( x, y)result( s ) real*8 :: x,y real*8 :: s s=x+y end function
Medindo o tempo
Um exemplo de como medir o tempo em Fortran.
program teste use portlib real*8, dimension(10000) :: x,y,s real*4 :: tempo integer :: k,i do i=1,100 x(i)=i y(i)=0.d0 end do print *,"Comecei..." tempo = SECNDS(0.0) do k=1,100000 do i=1,10000 s(i)=x(i)+y(i) end do end do tempo = SECNDS(tempo) print *,"Tempo (s): ",tempo end
Ver também
- [1]
- [2]
- Manual do Fortran interessante, inclusive com Ponto Flutuante em http://www.ibiblio.org/pub/languages/fortran/unfp.html#section-4