Movatterモバイル変換


[0]ホーム

URL:


Przejdź do zawartości
Wikipediawolna encyklopedia
Szukaj

Fortran

Z Wikipedii, wolnej encyklopedii
Ten artykuł należy dopracować:
od 2025-12 →poprawić styl – powinien być encyklopedyczny.
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się wdyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon{{Dopracować}} z tego artykułu.
Fortran
Logo języka Fortran
Logo języka
Pojawienie się

1957

Paradygmat

wieloparadygmatowy

Typowanie

statyczne

Pochodne

Fortran 2008 (ISO/IEC 1539-1:2010) (2010)

Twórca

John Backus (IBM)

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

Linux, UNIX, Windows

Książki w Wikibooks
Multimedia w Wikimedia Commons
Strona internetowa

Fortran (od wersji 90) a dawniejFORTRAN (do wersji 77 włącznie) (odang.formula translation) –język programowania komputerów, pierwotnie zaprojektowany do zapisu programów obliczeniowych. Był niegdyśjęzykiem proceduralnym, obecnie jest nadal rozwijanym językiem ogólnego przeznaczenia. Umożliwia programowaniestrukturalne,obiektowe[1] (Fortran 90/95),modularne[2] irównoległe (Fortran 2008). Jego zastosowaniami są, między innymi, obliczenia naukowo-inżynierskie,numeryczne,symulacja komputerowa itp. Początkowe wersje FORTRANu miały ograniczone możliwości. Dzięki łatwości opanowania Fortran stał się najpopularniejszym językiem do przeprowadzania obliczeń numerycznych.

Specyfika

[edytuj |edytuj kod]

Z pierwszych wersji języka pochodzi zasada braku rozróżniania małych i wielkich liter wsł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 przezkompilatory Fortranu, wynikająca m.in. z jego długiej obecności na rynku programistycznym, znakomita skalowalność iprzenośność oprogramowania (pomiędzy różnymiplatformami sprzętowymi isystemami operacyjnymi), a także dostępność bibliotek dla programowania wieloprocesorowego irównoległego oraz bibliotek graficznych. Obliczeniaaerodynamiczne,wytrzymałościowe icieplne 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.

Historia i standardy

[edytuj |edytuj kod]

Pierwszykompilator Fortranu stworzył zespółJohna Backusa, który w latach19541957 pracował dlaIBM. Kompilator ten był pierwszym w historii kompilatoremjęzyka wysokiego poziomu. Został staranniezoptymalizowany, 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 wasemblerze.

Pierwsza standaryzacja nastąpiła w1960 roku, kiedy opisano pierwszystandard języka znany jakoFortran 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 nazwanyFortran 77, który w roku1980 stał się standardem międzynarodowym. Jego struktura przystosowana jest do używanych wówczas powszechniekart perforowanych, ale zawierała elementyprogramowania strukturalnego. W Polsce bardzo popularna była odmiana Fortranu na maszynyICL/Odra (FORTRAN 1900;kompilator taśmowy #XFAM oraz dyskowe #XFAT i #XFAE zkonsolidatorem #XPCK), a takżeWatfor 77,Lahey 77 iMS Fortran naPC czy Fortran 80 dla 8-bitowych komputerów z systememCP/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,alokowalnetablice, więcej instrukcji pozwalających na programowanie strukturalne itp.). Następcą Fortranu 77 stał sięFortran 90. Standard ma całkowicie zmienioną składnię dostosowaną do współczesnychjęzyków programowania, przykładowo Fortran 90 nie wymusza już na użytkowniku stosowaniaetykiet iinstrukcji skoku. Kolejnym standardem jestFortran 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 2023 i został opublikowany w listopadzie 2023 roku[3].

Podstawy

[edytuj |edytuj kod]

Operatory logiczne

[edytuj |edytuj kod]
operator logicznynazwa
.NOT.negacja
.AND.koniunkcja
.OR.alternatywa
.EQV.równoważność
.NEQV.zaprzeczenie równoważności

Operatory porównania

[edytuj |edytuj kod]
operator relacjiopis
.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 arytmetyczne

[edytuj |edytuj kod]
operator arytmetycznydziałanie
+dodawanie
-odejmowanie
*mnożenie
/dzielenie
**potęgowanie

Przykłady

[edytuj |edytuj kod]

Najkrótszy program:

END

Hello world, kod dla F77:

PROGRAMHELLOWRITE(*,*)'hello, world'END
Deklaracje zmiennych iImplicit none

Standard nie wymusza stosowaniadeklaracji zmiennych, wówczas niezadeklarowane zmienne onazwach rozpoczynających się od liter A-H i O-Z (nie są rozróżniane małe i dużelitery) majątypreal (rzeczywisty,zmiennoprzecinkowy o precyzji zależnej odimplementacji i opcji) azmienne rozpoczynające się od I-N są typuinteger (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)”.

Dyrektywa kompilatoraimplicit none zastosowana 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 25 razy dla zmiennejI:

DO100I=1,25

napisany z kropką zamiast przecinka:

DO100I=1.25

nie czyni tej instrukcji niepoprawną, ponieważ kompilator uzna ten zapis za domyślną deklarację zmiennejDO100I typu rzeczywistego (nazwa zaczyna się od litery D) i przypisze jej wartość1.25, co zmieni zamierzony przez programistę przepływ sterowania.

Kompilatory

[edytuj |edytuj kod]
 Zobacz też:kompilator.

Kompilatory języka Fortran 90/95

[edytuj |edytuj kod]

Kompilatory języka Fortran 77

[edytuj |edytuj kod]

Zobacz też

[edytuj |edytuj kod]
Zobacz hasłoFortran w Wikisłowniku
  • SAKO – „Polski Fortran”

Przypisy

[edytuj |edytuj kod]
  1. Charles D.Ch.D. Norton Charles D.Ch.D.,Viktor K.V.K. Decyk Viktor K.V.K.,Boleslaw K.B.K. Szymanski Boleslaw K.B.K.,On Parallel Object Oriented Programming in Fortran 90, „ACM SIGAPP Applied Computing Review”, 4 (1), 1997, s. 27-31 (ang.).
  2. University of Liverpool: Modular Programming with Fortran 90. 1997. [dostęp 2016-11-05]. (ang.).
  3. Fortran 2023. 2023. [dostęp 2024-01-23]. (ang.).

Linki zewnętrzne

[edytuj |edytuj kod]

Bibliografia

[edytuj |edytuj kod]
  • Wojciech Sobieski,GNU Fortran z elementami wizualizacji danych, Wydawnictwo Uniwersytetu Warmińsko-Mazurskiego w Olsztynie, Olsztyn 2008
  • Janusz Piechna,Programowanie w języku Fortran 90 i 95, Wydawnictwa Politechniki Warszawskiej, Warszawa 2000
  • Krzysztof Rościszewski, Romuald Witt,Nauka Fortranu 90/95, Wydawnictwo UJ, Kraków 2003
  • Anna Trykozko,Ćwiczenia z języka Fortran, Wydawnictwo MIKOM, Warszawa 1999
  • Ryszard K.R.K. Kott Ryszard K.R.K.,KrzysztofK. Walczak KrzysztofK.,Programowanie w języku Fortran 77, Warszawa: Wydawnictwa Naukowo-Techniczne, 1991,ISBN 83-204-1362-1,OCLC 749999902 .
  • Joanna Jonkisz, Jan Makuch, Stanisław Starzak,Programowanie w językach Algol 60 i Fortran 1900, Wydawnictwo Politechniki Łódzkiej,Łódź1982,Skrypty dlaszkół wyższych,Politechnika Łódzka, Ośrodek Elektronicznej Techniki Obliczeniowej (Fortran IV dla komputera Odra 1305)
  • Dariusz Chrobak,Fortran Praktyka Programowania, Wydawnictwo MIKOM, Warszawa 2003
Języki programowania
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
istrukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne
Źródło: „https://pl.wikipedia.org/w/index.php?title=Fortran&oldid=78426077
Kategorie:
Ukryte kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp