Startuj z nami!

www.szkolnictwo.pl

praca, nauka, rozrywka....

mapa polskich szkół
Nauka Nauka
Uczelnie Uczelnie
Mój profil / Znajomi Mój profil/Znajomi
Poczta Poczta/Dokumenty
Przewodnik Przewodnik
Nauka Konkurs
uczelnie

zamów reklamę
zobacz szczegóły
uczelnie

Fortran

Fortran

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 wielkich 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 często prowadzone są 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.

Spis treści

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.

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.

Podstawy programowania

Operatory logiczne

operacjanazwa
.NOT.negacja
.AND.koniunkcja
.OR.alternatywa
.EQV.równoważność
.NEQV.zaprzeczenie równoważności

Operatory działań na liczbach

operatoropis
.LT.ang. less than - inaczej <
.LE.ang. less equal - inaczej <=
.GT.ang. greater than - inaczej >
.GE.ang. greater equal - inaczej >=
.EQ.ang. equal - inaczej == (lub = w Pascalu)
.NE.ang. not equal - inaczej != (lub <> w Pascalu)

Operatory arytmatyczne

operatordziałanie
+dodawanie
-odejmowanie
*mnożenie
/dzielenie
**potęgowanie

Przykłady kodu

Ciekawostka - najkrótszy program

       END

Warto zwrócić uwagę, że 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óżniane 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 programu liczącego sumę dwóch liczb rzeczywistych (podwójnej precyzji - real(8)), w języku F95:

IMPLICIT NONEREAL(8) :: a,bREAD *,a,bPRINT *,'wynik',a+bEND

w przypadku kodu:

IMPLICIT NONEREAL(8) :: aREAD *,a,bPRINT *,'wynik',a+bEND

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 stokrotnie 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.

Kompilatory języka Fortran

Kompilatory języka Fortran 90/95

  • GNU Fortran 95 - wolny , jeden z podprojektów GCC
  • G95 Project ( Linux ) - darmowy
  • Edi ( Windows ) - darmowy pakiet programistyczny dla Windows, pod warunkiem zarejestrowania
  • 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 /Open VMS 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)
  • Open64 [1] - darmowy

Kompilatory języka Fortran 77

Bibliografia

  1. Ryszard K. Kott, Krzysztof Walczak. Programowanie w języku Fortran 77, Wydawnictwa Naukowo-Techniczne , Warszawa 1991 ,
  2. Janna Jonkisz, Jan Makuch, Stanisław Starzak, Programowanie w językach Algol 60 i Fortran 1900, Wydawnictwo Politechniki Łódzkiej, Łódź 1982 , Skrypty dla szkół wyższych , Politechnika Łódzka , Ośrodek Elektronicznej Techniki Obliczeniowej

Zobacz też

  • SAKO - "Polski Fortran"
  • Photran - środowisko programistyczne

Linki zewnętrzne


Inne hasła zawierające informacje o "Fortran":

Struktura (programowanie) ...

Programowanie wydajnych językach, ponieważ szybkość jest konieczna. Naukowe programy są zwykle zaimplementowane w Fortranie, gdyż przy użyciu nowszych kompilatorów możliwa jest w nim bardzo wydajna ...

Fortran Fortran lub FORTRAN ( ang. FORmula TRANslator) to język programowania stworzony w latach ...

Liczba ...

Dick Higgins ...

Kompilator ...

Bezpieczeństwo teleinformatyczne ...


Inne lekcje zawierające informacje o "Fortran":

Historia informatyki część II (plansza 2) ...

Programowanie - paradygmaty programowania (plansza 18) podział Programowanie strukturalne Programowanie niestrukturalne Praktycznie wszystkie języki programowania — nawet te pierwotnie niestrukturalne, np. Fortran i Basic — pozwalają dzisiaj pisać programy strukturalne, choć tylko nieliczne ...





Zachodniopomorskie Pomorskie Warmińsko-Mazurskie Podlaskie Mazowieckie Lubelskie Kujawsko-Pomorskie Wielkopolskie Lubuskie Łódzkie Świętokrzyskie Podkarpackie Małopolskie Śląskie Opolskie Dolnośląskie