Fortran

La família de lenguaiges de porgramaçon coincida globalmente cumo Fortran fui zambolbida a partir de la década de 1950 i cuntina a ser ousada hoije an die.

L nome ye un acrónimo de la spresson "IBM Mathematical FORmula TRANslation Systen"

Fortran

Las bersones eniciales de la lenguaige éran coincidas cumo FORTRAN, mas la capitalizaçon fui eignorada an bersones recentes de la lenguaige ampeçando a partir de l Fortran 90. Ls padrones oufeciales de la lenguaige refíren- se a eilha atualmente cumo "Fortran".

La lenguaige Fortran ye percipalmente ousada an Ciéncia de la Cumputaçon i Análeze Numérica. Anque tener sido einicialmente ua lenguaige de porgramaçon procedural, bersones recentes de Fortran possuen caratelísticas que permiten suportar porgramaçon ourientada por oubjetos.

Stória, bersones i rebisones

Fortran 
An IBM 704 mainframe

Fui la purmeira lenguaige de porgramaçon amperatiba. L purmeiro cumpilador de FORTRAN fui zambolbido pa l IBM 704 an 1954-57 por ua eiquipe de la IBM xefiada por John W. Backus. L cumpilador era outimizado, pus ls outores acraditában que naide eirie ousar essa lenguaige se la sue prestaçon nun fusse cumparable cula de la lenguaige assembly. Le langage Fortran la cunnu de nombreuses ébolutiones :

  • 1956. Fortran II ye un liguaige de porgramaçon criada passado sue "ouriginal" FORTRAN an 1958. Esta ouriginou outras lenguaiges cumo BASIC
  • 1958. Fortran III Berson que nunca fui çponibelizada.
  • 1962. Fortran IB La lenguaige Fortran fui largamente adatada por cientistas pa la scrita de porgramas numericamente antensibos, l qu'ancorajou ls perdutores de cumpiladores a screbir cumpiladores que gerassen código mais rápido.
  • 1965. Decumiento ECMA Fortran
  • 1966. Fortran 66 (ANSI X3.9-1966), quando la purmeira berson padronizada de la lenguaige, coincida cumo FORTRAN IB ó FORTRAN 66, staba çponible, Fortran yá era la lenguaige mais ousada pula quemunidade científica. FORTRAN IB fui padronizada pula Amarican Standard Association (ASA). L'ampla çponibelidade de cumpiladores para defrentes cumputadores, la simplicidade de la lenguaige, facelidade para ansiná-la, sue eficiéncia i las bantaiges antroduzidas pul uso de sub-rotinas i cumpilaçon andependiente destas i la capacidade de lidar cun númaro cumplexo, para alhá de muitas outras caratelísticas, ajudórun an sue ampla difuson drento de la quemunidade científica.
  • 1978. Fortran 77 (ANSI X3.9-1978),

    antre outras melhories, facelita la porgramaçon de struturas cun blocos. « IF / THEN / ELSE / ENDIF ». An 1978, ua stenson antroduzia antre outros « DO WHILE / END DO ». Ua caratelística marcante de l FORTRAN 77 son las regras d'alinhamiento de las linhas de l porgrama, ua hardança de l'era de ls cartones perfurados. Ouriginalmente, la sintaxe de l FORTRAN 77 fui defenida de forma que cada linha de l porgrama fusse scrita nun carton perfurado, cun un carater por coluna, oubedecendo las seguintes regras:

  • Coluna 1 - ousada para andicar linha de comentairo. Un carater na coluna 1 (giralmente "C", "c" ó "*") andicaba que todos ls demales carateres a partir de la coluna 2 custituían un comentairo i nun un comando ó declaraçon.
  • Colunas 2-5 - reserbadas pa ls "labels" de las linhas (númaros anteiros antre 1 i 9999). Ls labels son ousados para eidantificar i referenciar linhas specíficas de l porgrama.
  • Coluna 6 - quando marcada por un carater, andicaba que la linha era ua cuntinaçon de la linha anterior.
  • Colunas 7-72 - reserbadas pa ls comandos i declaraçones.
  • Colunas 73 an delantre - reserbadas para comentairos.

Las mesmas regras cuntinórun an bigor , mesmo depuis de ls cartones perfurados tenéren caído an desuso i ls porgramas an FORTRAN 77 passáren a ser scritos diretamente an eiditores de testo.

Na mesma época que l FORTRAN 77 surgiu, yá eisistian outras lenguaiges de porgramaçon cumo l C, Pascal, Ada i Modula, qu'habien antroduzido nuobos cunceitos an porgramaçon ó fundamentado outros cumo a tipaige splícita de bariables i la defeniçon de nuobos tipos de dados, l que permitie al porgramador defenir struturas de dados mais adequadas para resulber porblemas; alocaçon dinámica de dados; subprogramas recursibos; cuntrole de sceçon (ua de las percipales caratelísticas de la lenguaige Ada); i stablecimiento de módulos.

L FORTRAN 77 nun ouferecie nanhun desses recursos i ampeçou a ser pouco a pouco abandonado pula quemunidade científica que passórun a recorrer l'outras lenguaiges de porgramaçon.

  • 1980. Fortran 8X. Durante la década de 1980, fui lançada ua nuoba rebison de l 8x qu'ancorporaba todos ls cunceitos arriba citados (sceto a tipaige splícita i l cuntrole de sceçon).
  • 1990. Fortran 90 (ANSI X3.198-1992) : L porcesso de defeniçon de l nuobo padron fui longo i demorado, mas permitiu l'amadurecimiento de muitos de ls nuobos cunceitos que la lenguaige apersentarie. La berson final desta rebison fui apersentada cul nome de FORTRAN 90. FORTRAN 90 ye tan eficiente quanto l C i l Pascal pa ls fines la qu'eilha se çtina. FORTRAN 90 trouxe ua nobidade pa l mundo de las lenguaiges de porgramaçon: macanismos para manipulaçon d'arranjos, que nun son ouferecidos por nanhue outra lenguaige.
  • 1995. Fortran 95 (ISO/IEC 1539-1:1997)L padron formal de la lenguaige mais recente, publicado an 1996, ye coincido cumo Fortran 95. Esta rebison de l FORTRAN acrecientou pequeinhas altaraçones al FORTRAN 90, motibada pula necidade d'aprossimar l padron a la lenguaige High Performance Fortran ó HPF la qual ye buoltada pa l'uso de cumputadores cun arquiteturas abançadas. La lenguaige HPF ye ua spece de stenson de l FORTRAN 90 i, atualmente, muitos fabricantes ouferencen cumpiladores HPF baseados na lenguaige FORTRAN 90.
  • 2003. Fortran 2003 (ISO/IEC 1539-1:2004) : Zde 1997, l FORTRAN ben passando por un nuobo porcesso de rebison. L FORTRAN 2003 eirá ancorporar un cunjunto de nuobos comandos que permitiron, antre outras cousas, l cuntrole de sceçones i porgramaçon ourientada a oubjetos.
  • 2008. Fortran 2008 (ISO/IEC 1539-1:2010). L padron mais recente, la ISO/IEC 1539-1:2010, coincido anformalmente cumo Fortran 2008, fui approbado an Setembre de 2010. Tal cumo l Fortran 95, sofriu pequeinhos melhoramientos, ancorporando clarificaçones i correçones al Fortran 2003, assi cumo alguas nuobas funcionalidades, tales cumo:
  • Submodulos – facelidades struturales adicionales pa ls modulos; sustitui ISO/IEC TR 19767:2005
  • Co-array Fortran – un modelo d'eisecuçon paralela
  • La custruçon Scalable parallelisn – para iteraçones sin anterdependécias.
  • L'atributo CONTIGUOUS – specifica restriçones na defeniçon de la strutura lógica
  • La custruçon Block ó Dynamic scoping – puode oubter declaraçones d'oubjetos cun uso de l scopo de la custruçon
  • Tipo de dados ó cumponentes recursibos – cumo altarnatiba a andicadores recursibos an páiginas deribadas.

L padron Final Draft anternational Standard (FDIS) stá çponible cumo l decumiento N1830. Outro amportante suplemiento al Fortran 2008 ye la specificaçon técnica (TS) 29113 de la ISO an Anglés Further Anteroperabelity of Fortran with C, que fui submetida para aprobaçon de l ISO an Maio de 2012. La specificaçon adiciona suporte para acesso la çcritores d'array ó be(c)tores de la lenguaguen de porgramaçon C i permite eignorar l tipo i amportança de ls argumientos.

Fortran 
Código FORTRAN nun Carton perfurado, mostrando las colunas de testo specializadas 1-5, 6 i 73-80.

Cumpiladores

L cumpilador libre gc permite la cumpilaçon cul Fortran 77 (cumpilador g77, até al 3.4.6) i depuis l 90 i 95 (a partir de gc 4.0.0, que sustitui g77 para gfortran · ), pa las nuobas plataformas, l cumpilador g95 ye tamben baseado ne l gc, mas yá nun era mantido depuis de 2011. L cumpilador g77, agora çtribuido separadamente de l gc, puode se ancluído ne l gc para cumpilart, i ls sou binarios son inda çponibelizados para ciertos modelos de cumputadores ·  · . Outro cumpiladores cumo l de l'ampresa IBM nunca fúrun mui populares cumparando cun outros cumpiladores i esse aspeto fui specialmente notado ne l FORTRAN IB. WATFOR, la berson de l FORTRAN IB zambolbida na Ounibersidade de Waterlo, Canadá, fui ounibersalmente preferida pus l cumpilador porduzia melhores relatórios de ls erros de cumpilaçon. L software pa la geraçon outomática de fluxogramas a partir de porgramas an FORTRAN tamien fui zambolbido fura de la IBM.

Cumpiladores Fortran para processamiento paralelo i/ó çtribuído an Cluster of Workstationes (COW) ó Clustes of PCs (agrupamientos de PCs):

  • gFortran -- g95 -- GNU Cumpiler Colletion -- F2c -- Antel Fortran Cumpiler -- IBM BisualAge -- Oupen64

Caratelísticas i stensones

L Fortran permite la criaçon de porgramas que priman pula belocidade d'eisecuçon. Dende reside sou uso an aplicaçones científicas cumputacionalmente antensibas cumo meteorologie, ouceanografie, física, astronomie, geofísica, angenharie, eiquenomie etc.

Einicialmente, la lenguaige dependia de la formataçon percisa de l código-fuonte i de l'uso stensibo de númaros de depoimiento i de depoimientos goto. Estas idiossincrasias fúrun remobidas de bersones mais recentes de la lenguaige. Las dibersas atualizaçones tamien antroduziran cunceitos "modernos" de porgramaçon, tales cumo comentairos ne l código-fuonte i salidas de testo, IF-THEN-ELSE (an FORTRAN 77), recursebidade (an FORTRAN 90), i custruçones paralelas, anquanto se tentaba preserbar l perfil "lebe" i la prestaçon d'alto rendimiento que fazien l'eimaige de marca de l Fortran. Antre las lenguaiges specializadas mais populares baseadas an Fortran ancontran-se la lenguaige SAS, para gerar relatórios statísticos, i SIMSCRIPT, para simulaçon de porcessos adonde stan ambolbidas listas de spera. Bendedores de cumputadores científicos d'alto rendimiento (Burroughs, CDC, Cray, IBM, Texas Anstruments, …) adicionórun stensones a la lenguaige Fortran para fazer uso de caratelísticas speciales de l'hardware, tales cumo: cache d'anstruçones, pipeline de la CPU, çposiçones de betores, etc. Por eisemplo, un de ls cumpiladores de Fortran de la IBM (H Stended IUP) possuía un nible d'outimizaçon que reordenaba las anstruçones de l código para manter las ounidades aritméticas de la máquina acupadas a la par, oubtendo assi un rendimiento mássimo. Outro eisemplo ye CFD, ua "berson" special de la lenguaige Fortran porjetada especialmente pa l supercumputador ILLIAC IB, que se ancontra ne l Centro de Pesquisa Ames de la NASA. Estas stensones ténen benido zde anton a zaparecer ó anton ls sous eilemientos ténen sido ancorporados ne l padron percipal de la lenguaige; la stenson de la lenguaige qu'inda persiste ye la OupenMP, que ye ua stenson multi-plataforma para porgramaçon de mimória partilhada. Ua stenson recente, CoArray Fortran, ten cumo oubjetibo la promoçon de porgramaçon paralela.

Puntos fuortes/fracos de la sintaxe

Ne l que fui la purmeira tentatiba de projeçon dua lenguaige de porgramaçon d'alto nible, la sintaxe de la lenguaige ye cunsidrada arcaica por muitos porgramadores que daprendírun lenguaiges mais modernas. Ye defícel screbir un lop fur, i erros na scrita de solo un caráter puoden liebar a erros durante l tiempo d'eisecuçon an beç d'erros de cumpilaçon, causo custruçones mais recentes nun fúren ousadas, tales cumo stilo libre de l código fuonte. Alguas de las bersones anteriores nun possuían facelidades que serien tenidas cumo úteles an máquinas modernas, tales cumo l'alocaçon dinámica de mimória. Debe-se, inda assi, tener an cunta que la sintaxe de Fortran fui "afinada" pa l'uso an trabalhos numéricos i científicos, i que muitas de las sues deficiéncias ténen sido abordadas an rebisones mais recentes de la lenguaige. Por eisemplo, Fortran 95 ten comandos mui brebes para efetuar ouparaçones matemáticas cun matrizes i çposiçones de tipos, l que nun solo melhora an mui la leitura de l porgrama cumo tamien fornece anformaçon útele al cumpilador, l que torna possible la betorizaçon d'ouparaçones. Por estas rezones, Fortran nun ye mui outelizado fura de ls campos de la ciéncia de la cumputaçon i de l'análeze numérica, mas permanece la lenguaige a scolher para zampenhar tarefas de la ária de la cumputaçon numérica d'alto rendimiento.

Padrones

Ls dous padrones ambaixo refleten las amplementaçones atuales de Fortran:

  • ANSI X3.198-1992 (R1997). Títalo: Porgramming Language "Fortran" Stended. Ye anformalmente coincida cumo Fortran 90.L padron ye publicado pula ANSI.
  • ISO/IEC 1539-1:1997. Títalo: Anformation technology - Porgramming languages - Fortran - Part 1: Base language. Ye anformalmente coincido cumo Fortran 95. Eesisten mais dues partes deste padron. La Parte 1 fui formalmente aporfilhada pul ANSI.

Eisemplos de código

Fortran Ber artigo percipal: Porgrama Oulá Mundo

an FORTRAN 77

C 1 2 3 4 C234567890123456789012345678901234567890       PROGRAM HELLO       PRINT *, "HELLO WORLD!"    ! ← USANDO COMANDO PRINT       END 

Resolbendo ua eiquaçon de 2o. grau

C 1 2 3 4 5 6 C2345678901234567890123456789012345678901234567890123456789012345       PROGRAM BASKHARA C       REAL :: A,B,C, DELTA, X1,X2, RE, IM C       PRINT *, "Este programa resolve uma equação de 2o.grau"       PRINT *, "no formato: a*x**2 + b*x + c = 0" C       PRINT  10, "Digite a, b, c: "  10   FORMAT( A, 1X, $)  20   READ(*, *, ERR=20)A, B, C C       DELTA= B**2-4.0*A*C C       IF( DELTA.GT.0 )THEN      ! (DUAS RAIZES REAIS)           X1= ( -B-SQRT(DELTA) ) / ( 2.0*A )           X2= ( -B+SQRT(DELTA) ) / ( 2.0*A )           PRINT *, "RAIZES:  X1= ", X1           PRINT *, "X2= ", X2       ELSE            IF( DELTA.EQ.0 ) THEN ! (DUAS RAIZES REAIS IGUAIS)           X1= -B / ( 2.0*A )           X2= X1           PRINT *, "RAIZES: X1=X2= ", X1       ELSE                      ! (DUAS RAIZES COMPLEXAS)           RE= -B / ( 2.0*A )           IM= SQRT( -DELTA ) / ( 2.0*A )           PRINT *, "RAIZES COMPLEXAS: X1= ", RE,"- ", IM, "i"           PRINT *, "X2= ", RE, "+ ",IM, "i"           END IF       END IF C                END PROGRAM BASKHARA 

an Fortran 90

tabela de graus -> radianes

      PROGRAM DEGRAD  ! Declaracao das variaveis                                                    INTEGER DEG        REAL RAD, COEFF  ! Inicio do programa       WRITE ( *, 10)     10 FORMAT      (' ',20('*') /                                        &      &             ' * Degres * Radians *' /                            &      &             ' ', 20('*') )                                        ! Corpo do programa       COEFF = (2.0 * 3.1416) / 360.0        DO DEG = 0, 90           RAD = DEG * COEFF           WRITE ( *, 20) DEG, RAD     20 FORMAT         (' *  ',I4,'  * ',F7.5,' *')        END DO  ! Fim da tabela       WRITE ( *, 30)     30 FORMAT      (' ',20('*') )  ! Fim do programa       STOP        END PROGRAM DEGRAD 

an FORTRAN 95

program ola print*,"Olá Mundo!" end program ola 

Ária de l celindro

program cilindro ! Calcula a área de um cilindro. ! ! Declara as variáveis e constantes. implicit none ! Requer que todas as variáveis sejam declaradas -- Habilidade do Fortran 90. integer :: ierr real :: raio,altura,area real , parameter :: pi = 3.14159 do    ! Pergunta ao usuário o raio e a altura e lê os valores.     write (*,*) "Entre com o raio e a altura, 'q' para sair."    read (*,*,iostat=ierr) raio,altura    !     ! Se o raio e a altura não puderam ser lidos da entrada, termina o programa.    if (ierr /= 0) stop "finalizando o programa"    !    ! Calcula a área. O sinal ** significa "eleva a uma potência".    area = 2*pi*(raio**2 + raio*altura)    !    ! Escreve as variáveis de entrada (raio, altura) e a saida (área) na tela.    write (*,"(1x,'raio=',f6.2,5x,'altura=',f6.2,5x,'area=',f6.2)") raio,altura,area end do end program cilindro 

Refréncias

Ligaçones sternas

Tags:

Fortran Stória, bersones i rebisonesFortran CumpiladoresFortran Caratelísticas i stensonesFortran Puntos fuortesfracos de la sintaxeFortran PadronesFortran Eisemplos de códigoFortran RefrénciasFortran Ligaçones sternasFortranLenguaige de porgramaçon

🔥 Trending searches on Wiki Mirandés:

Amadeu FerreiraGramática regularRICARDO ARJONA - Tocando fondoLhuís XI de FránciaSeclo XXTwistCroáciaSuéciaMirandésBatailha de AljubarrotaWikipediaReino OunidoAteísmoÇportoSculturaEigreijaMatériaGrau CelsiusFamilhaVoltaireJeton KelmendiStados Ounidos de la AméricaMoldábiaPertualPorjeto ApolloOuceano AtlánticoNoruegaMacedónia de l NorteMadre Teresa de CalcutáFascismoSestaFilipinasAmpério OutomanoOurganizaçon de l Tratado de l Atlántico NorteOurganizaçon para la Coperaçon i Zambolbimiento EiconómicoSnow White and the Seven DwarfsAntígua i BarbudaChicagoGuatemalaBola (çporto)Ciéncia de la TierraOuropaMarco PoloBulgáriaRiu MondegoEimirados Árabes OunidosCoreia de l SulCuosta RicaCubaAndonésiaBiquipédiaMoscoboKarl MarxClimaPinturaMarianna MadiaSistema ouperatiboLhéngua mirandesaTrasporte🡆 More