b"\n_START_ARTICLE_\nFortran\n_START_PARAGRAPH_\nFORTRAN (i\xc5\xa1 angl. Formula Translator) \xe2\x80\x93 viena pirm\xc5\xb3j\xc5\xb3 algoritmini\xc5\xb3 kalb\xc5\xb3, savo istorij\xc4\x85 skai\xc4\x8diuojanti nuo 1957 m. J\xc4\x85 suk\xc5\xabr\xc4\x97 amerikie\xc4\x8di\xc5\xb3 firmos IBM tyrin\xc4\x97toj\xc5\xb3 grup\xc4\x97, kuriai vadovavo D\xc5\xbeonas Bekus (John W. Backus). Kalba i\xc5\xa1siskyr\xc4\x97 tuo, kad matematin\xc4\x97s formul\xc4\x97s joje labai pana\xc5\xa1ios \xc4\xaf formules matematiniame tekste._NEWLINE_\xe2\x80\x9eSveikas pasauli\xe2\x80\x9c FORTRAN atrodyt\xc5\xb3 ma\xc5\xbedaug taip:_NEWLINE_ C       Tai pirmoji programavimo kalba, _NEWLINE_ C       kurioje buvo galimi komentarai._NEWLINE_         WRITE (6,7000)_NEWLINE_   7000  FORMAT(19H Sveikas, pasauli!)      _NEWLINE_         STOP_NEWLINE_         END_NEWLINE_Pirmasis WRITE operatoriaus parametras (6) yra standartinis terminalo i\xc5\xa1vedimo kanalo numeris (skaityti reikdavo i\xc5\xa1 penkto kanalo). Antrasis parameteras, 7000, nurodo \xc4\xaf \xc5\xbeemiau esan\xc4\x8di\xc4\x85, tuo pa\xc4\x8diu skai\xc4\x8diumi pa\xc5\xbeym\xc4\x97t\xc4\x85 formato eilut\xc4\x99 (kuri n\xc4\x97ra vykdoma ir programoje gali b\xc5\xabti bet kur). 19H rei\xc5\xa1kia jog Sveikas, pasauli! ir du tarpai aplink u\xc5\xbeima lygiai devyniolika simboli\xc5\xb3. V\xc4\x97lesn\xc4\x97s FORTRAN versijos simboli\xc5\xb3 skai\xc4\x8diuoti nebereikalavo, ta\xc4\x8diau tai buvo laikoma geru programavimo stiliumi . _NEWLINE_Pirmiausia kurta matematiniams apskai\xc4\x8diavimams, FORTRAN turi kompleksini\xc5\xb3 skai\xc4\x8di\xc5\xb3 tip\xc4\x85 kurio neturi daugelis naujesni\xc5\xb3 programavimo kalb\xc5\xb3. Ankstyvose versijose buvo daug v\xc4\x97liau ne\xc4\xafprast\xc5\xb3 konstrukcij\xc5\xb3. Pavyzd\xc5\xbeiui, su EQUIVALENCE buvo galima t\xc4\x85 pa\xc4\x8di\xc4\x85 lentel\xc4\x99 pasiekti tiek kai vienmat\xc4\xaf, tiek ir kaip dvimat\xc4\xaf ar daugiamat\xc4\xaf masyv\xc4\x85, su ENTRY - perduoti valdym\xc4\x85 \xc4\xaf funkcijos kodo viet\xc4\x85 bet kur (neb\xc5\xabtinai \xc4\xaf funkcijos prad\xc5\xbei\xc4\x85). Pirmojoje FORTRAN versijoje proced\xc5\xabr\xc5\xb3 bei funkcij\xc5\xb3 nebuvo, jos pirm\xc4\x85kart pasi\xc5\xablytos FORTRAN II.\n_START_SECTION_\nDabartin\xc4\x97 pad\xc4\x97tis\n_START_PARAGRAPH_\nFORTRAN anaiptol n\xc4\x97ra pasenusi ir nenaudojama kalba. Ji pakankamai gerai tinka \xc4\xafvairiems sud\xc4\x97tingiems matematiniams apskai\xc4\x8diavimams ir \xc5\xa1ioje srityje teb\xc4\x97ra pla\xc4\x8diai naudojama. Naujausios versijos (FORTRAN 2003 ir pan) turi dinamin\xc4\xaf atminties paskirstym\xc4\x85, abstrak\xc4\x8dius duomen\xc5\xb3 tipus, i\xc5\xa1imtis ir net objektinio programavimo galimybes. Yra sukurti specializuoti lygiagre\xc4\x8diajam programavimui skirti FORTRAN dialektai._NEWLINE_Voyager 1 bei Voyager 2 programin\xc4\x97 \xc4\xafranga i\xc5\xa1 prad\xc5\xbei\xc5\xb3 buvo para\xc5\xa1yta FORTRAN 5, v\xc4\x97liau perra\xc5\xa1yta FORTRAN 77. Dalis jos dabar perra\xc5\xa1yta C.\n_START_SECTION_\nNaujo FORTRAN dialekto pavyzdys\n_START_PARAGRAPH_\nprogram cilindras_NEWLINE_!!! Programa cilindro plotui skai\xc4\x8diuoti_NEWLINE_ implicit none ! \xc5\xa0is sakinys nurodo, jog visi kintamieji turi b\xc5\xabti deklaruoti_NEWLINE_ integer ierr_NEWLINE_ character yn_NEWLINE_ real spindulys,aukstis,plotas_NEWLINE_ real, parameter\xc2\xa0:: pi = 3.14159_NEWLINE_ ciklas: do_NEWLINE_    ! Klausk vartotojo apie cilindro matmenis_NEWLINE_    write (*,*) '\xc4\xaeveskite pagrindo spindul\xc4\xaf ir cilindro auk\xc5\xa1t\xc4\xaf.'_NEWLINE_    read (*,*,iostat=ierr) spindulys,aukstis_NEWLINE_    ! Jei duomen\xc5\xb3 perskaityti nepavyko, pakartoti cikl\xc4\x85._NEWLINE_    if (ierr /= 0) then_NEWLINE_       write(*,*) 'Klaidingi duomenys.'_NEWLINE_       cycle ciklas_NEWLINE_    end if_NEWLINE_    ! Skai\xc4\x8diuojame plot\xc4\x85. ** \xc5\xbeymi k\xc4\x97limo laipsniu operacij\xc4\x85._NEWLINE_    plotas = 2*pi*(spindulys**2 + spindulys*aukstis)_NEWLINE_    ! Spausdiname cilindro matmenis (spindulys, aukstis)_NEWLINE_    ! ir apskai\xc4\x8diuot\xc4\x85 plot\xc4\x85 (plotas)_NEWLINE_    write (*,'(1x,a7,f6.2,5x,a7,f6.2,5x,a5,f6.2)') &_NEWLINE_         'spindulys=',spindulys,'auk\xc5\xa1tis=',aukstis,'plotas=',plotas_NEWLINE_    yn = ' '_NEWLINE_    taip_ne_ciklas: do_NEWLINE_       write(*,*) 'Skai\xc4\x8diuoti kitam cilindrui? t[n]'_NEWLINE_       read(*,'(a1)') yn_NEWLINE_       if (yn=='y' .or. yn=='Y') exit yn_loop_NEWLINE_       if (yn=='n' .or. yn=='N' .or. yn==' ') exit ciklas_NEWLINE_    end do taip_ne_ciklas_NEWLINE_ end do ciklas_NEWLINE_end program cilindras"