Fortran - Google

Fortran

Z Wikipedii

Skocz do: nawigacji, szukaj

Fortran lub FORTRAN (ang. FORmula TRANslator) to język programowania stworzony w latach 50. i nadal będący w użyciu. Był to niegdyś język proceduralny, obecnie umożliwia również korzystanie ze struktur (Fortran 90/95), a jego głównym zastosowaniem są obliczenia naukowo-inżynierskie (w szczególności obliczenia numeryczne).

Z pierwszych wersji języka pochodzi zasada braku rozróżniania małych i dużych liter w słowach kluczowych języka oraz używanych zmiennych, a także bogate zasady tworzenia formatów zapisywanych i drukowanych danych.

Fortran dysponuje wielką liczbą bibliotek, które pozwalają rozwiązać praktycznie każde zadanie numeryczne. Najważniejsze przyczyny, z powodu których Fortran jest wykorzystywany i rozwijany do dziś, to: szybkość obliczeń oraz wysoka wydajność kodu generowanego przez kompilatory Fortranu, wynikająca m.in. z jego długiej obecności na rynku programistycznym, znakomita skalowalność i przenośność oprogramowania (pomiędzy różnymi platformami sprzętowymi i systemami operacyjnymi), a także dostępność bibliotek dla programowania wieloprocesorowego i równoległego. Obliczenia aerodynamiczne, wytrzymałościowe i cieplne obecnie prowadzone są wyłącznie z użyciem tego języka.

Do niedawna te zalety były okupione brakiem dobrych metod wizualizacji czy niskopoziomowej komunikacji z systemem operacyjnym, gdyż te zagadnienia są pominięte w kolejnych standardach języka (aż do Fortranu 95 włącznie). Obecnie producenci kompilatorów (zwłaszcza niezależni), wzbogacają je o możliwość stosowania grafiki celem umożliwienia wizualizacji wyników obliczeń (wykresy, wizualizacja tablic wielowymiarowych) poprzez dostarczanie odpowiednich bibliotek.

Karta perforowana z podziałem na pola dla Fortranu IV.
Karta perforowana z podziałem na pola dla Fortranu IV.

Spis treści

[edytuj] Historia i standardy

Pierwszy kompilator Fortranu stworzył zespół Johna Backusa, który w latach 1954-1957 pracował dla IBM. Kompilator ten był pierwszym w historii kompilatorem języka wysokiego poziomu. Został starannie zoptymalizowany, ponieważ autorzy obawiali się, że nikt nie będzie go używał, jeśli szybkość programów nie będzie porównywalna z szybkością programów napisanych w asemblerze.

Pierwsza standaryzacja nastÄ…piÅ‚a w 1960 roku, kiedy opisano pierwszy standard jÄ™zyka znany jako Fortran IV. Kolejnym standardem byÅ‚ Fortran 66. Standard ten byÅ‚ zbyt ubogi i implementacje musiaÅ‚y zawierać wiele rozszerzeÅ„. W latach siedemdziesiÄ…tych American National Standard Institute (ANSI) opracowaÅ‚a kolejny standard nazwany Fortran 77 który w roku 1980 staÅ‚ siÄ™ standardem miÄ™dzynarodowym. Jego struktura przystosowana jest do używanych wówczas powszechnie kart perforowanych, ale zawieraÅ‚a elementy programowania strukturalnego. W Polsce bardzo popularna byÅ‚a odmiana Fortranu na maszyny ICL/Odra (FORTRAN 1900; kompilator taÅ›mowy #XFAM oraz dyskowe #XFAT i #XFAE z konsolidatorem #XPCK), a także Watfor 77, Lahey 77 i MS Fortran na PC czy Fortran 80 dla 8-bitowych komputerów z systemem CP/M-80. W praktyce wiÄ™kszość tych kompilatorów miaÅ‚a wiele rozszerzeÅ„, które dopiero po latach weszÅ‚y do kolejnego standardu (struktury rekordowe, alokowalne tablice, wiÄ™cej instrukcji pozwalajÄ…cych na programowanie strukturalne itp.). NastÄ™pcÄ… Fortranu 77 staÅ‚ siÄ™ Fortran 90. Standard ma caÅ‚kowicie zmienionÄ… skÅ‚adnie dostosowanÄ… do współczesnych jÄ™zyków programowania, przykÅ‚adowo Fortran 90 nie wymusza już na użytkowniku stosowania etykiet i instrukcji goto. Kolejnym standardem jest Fortran 95, zmiany w stosunku do poprzedniej wersji sÄ… niewielkie. Pomimo wprowadzenia nowych standardów, Fortran 77 jest nadal w użyciu (głównie przez starszych programistów przyzwyczajonych do tej wersji), co uwzglÄ™dniajÄ… producenci praktycznie wszystkich kompilatorów – na przykÅ‚ad kompilator Compaq Visual Fortran (wczeÅ›niej Digital Visual Fortran) kompiluje programy napisane w standardach 66/77/90/95. Najnowszy standard jÄ™zyka nosi nazwÄ™ Fortran 2003.

[edytuj] FORTRAN czy Fortran

Należy wspomnieć o tym, że obecnie stosujemy pisownię nazwy języka Fortran. Poprzednie standardy języka aż do wersji 66 włącznie oznaczano jako FORTRAN.

[edytuj] Przykłady kodu

Ciekawostka - najkrótszy program

       END

Warto zwrócić uwagę ze kod ten jest konieczny w każdym programie (jako informacja o końcu bloku głównego).

Typowy program - "hello, world"

Kod dla F77:

       PROGRAM HELLO
         WRITE (*,*) 'hello, world'
       END

Deklaracje zmiennych i "Implicit none"

Standard nie wymusza stosowania deklaracji zmiennych, wówczas niezadeklarowane zmienne o nazwach rozpoczynających się od liter A-H i O-Z (nie są rozrózniane małe i duże litery) mają typ real (rzeczywisty, zmiennoprzecinkowy o precyzji zależnej od implementacji i opcji) a zmienne rozpoczynające się od I-N są typu integer (liczby całkowite o zakresie zależnym od implementacji i opcji); jest to równoważne deklaracjom "implicit real (A-H,O-Z)" i "implicit integer (I-N)".

Wyrażenie "implicit none" zastosowane na początku programu, zapobiega wykorzystaniu niezadeklarowanych zmiennych. Przykładowy poprawny kod programy liczącego sumę dwóch liczb rzeczywistych (podwójnej precyzji - real(8)), w języku F95:

IMPLICIT NONE
REAL(8) :: a,b
READ *,a,b
PRINT *,'wynik',a+b
END

w przypadku kodu:

IMPLICIT NONE
REAL(8) :: a
READ *,a,b
PRINT *,'wynik',a+b
END

kompilator wyświetla błąd o niezadeklarowaniu zmiennej 'b' wykorzystywanej w programie.

Fakt domyślnej deklaracji zmiennych niejednokrotnie powodował kłopoty programistów, nie mogących odnaleźć źródła nieoczekiwanych kaprysów pozornie poprawnych programów. Np. nagłówek pętli wykonywanej stukrotnie dla zmiennej I mógłby wyglądać następująco:

DO 100 I=1,100

Omyłkowe umieszczenie kropki zamiast przecinka nie czyni tej instrukcji niepoprawną:

DO 100 I=1.100

Kompilator uzna ten zapis nie za otwarcie pętli, a za domyślną deklarację zmiennej DO100I typu rzeczywistego (nazwa zaczyna się bowiem od litery D) i przypisze jej wartość 1.1, co w oczywisty sposób zmieni zamierzony przepływ sterowania.

[edytuj] Kompilatory Języka Fortran

[edytuj] Kompilatory języka Fortran 90/95

  • GNU Fortran 95 - wolny, jeden z podprojektów GCC
  • G95 Project (Linux) - darmowy
  • VAST/f90 (Linux) - darmowy kompilator dla użytkowników indywidualnych (a wÅ‚aÅ›ciwie translator F77 do F90)
  • Intel Fortran Compiler (Linux, Windows) - w wersji pod Linuksa darmowy dla niekomercyjnych zastosowaÅ„
  • Absoft Pro Fortran (Linux, Windows, Mac OS, PowerPC) - pÅ‚atny
  • Compaq Visual Fortran (Windows, Linux/Unix/OpenVMS Alpha, OpenVMS VAX) - pÅ‚atny, ale już nie produkowany (nastÄ™pcÄ… jest Fortran rozwijany przez firmÄ™ Intel)
  • Lahey/Fujitsu Fortran (Windows, Linux, SPARC Solaris) - komercyjny
  • NAGWare f95 (Linux, Mac OS, SPARC Solaris, IRIX, SunOS, OSF/1, PA-RISC) - komercyjny
  • NA Software FortranPlus (Linux, Windows) - pÅ‚atny
  • Portland Group PGHPF Workstation (Linux, Windows) - pÅ‚atny
  • Salford FTN95 (Windows) - darmowy do zastosowaÅ„ niekomercyjnych (od roku 2005)

[edytuj] Kompilatory języka Fortran 77

[edytuj] Zobacz też

Wikibooks
Zobacz podręcznik na Wikibooks:
Fortran
  • SAKO - "Polski Fortran"

[edytuj] Linki zewnętrzne


Polska liderem w pokazywaniu europejskich produkcji
Europejskie stacje telewizyjne przeznaczają ponad 65 proc. czasu antenowego na produkcje europejskie, w tym ponad 36 proc. na produkcje niezależnych producentów z UE - wynika z piątkowego raportu Komisji Europejskiej. Polska jest liderem rankingu krajów UE.
TVP procesuje siÄ™ z "Dziennikiem"
Przeprosin i wpłaty 200 tys. na cel społeczny żąda TVP od "Dziennika" za artykuł pt. "Korupcja w TVP" - o domniemanej propozycji wiceszefowej Agencji Informacji TVP Patrycji Koteckiej wyższych wycen za materiały kompromitujące PO.
Maks Kolonko procesuje siÄ™ z "Faktem"
Przeprosin i 100 tysięcy zł zadośćuczynienia żąda od wydawcy "Faktu" znany prezenter TV Mariusz Maks Kolonko za nazwanie go "łajdakiem" i sugestię, że swój związek z Weroniką Rosati traktował instrumentalnie.
Powstaje audiobook o ÅšlÄ…sku
Sześć płyt i książka z esejami złożą się na audiobook poświęcony Śląskowi. Ma to być dźwiękowy pejzaż regionu.
Dodatek o Powstaniu Warszawskim w "Rzeczpospolitej"
Dzisiaj dziennik "Rzeczpospolita" (Presspublica) ukaże siÄ™ z dodatkiem poÅ›wiÄ™conym Powstaniu Warszawskiemu – "Warszawa '44".
Linki: Strona g³ówna