Język programowania Fortran - opis, główne polecenia i funkcje

Język programowania Fortran jest używany głównie do celów obliczeń naukowych. Wynaleziony w 1954 roku, jest najstarszą język wysokiego poziomu, który został następnie Lisp (1958), Algol (1958) i COBOL (1959). Liczba bibliotek naukowych napisanych w języku Fortran „i stworzenie specjalnych tłumaczy, kompilatory pozwalają używać języka dzisiaj. Ponadto stworzył liczne kalkulatory dla wektoryzacja, koprocesorów, równoległości, który vkraplyayutsya język do stosowania w produkcji przemysłowej we współczesnym świecie.

etapy historyczne Fortran

John Backus, radio IBM, opublikował w 1954 roku pod tytułem "Preliminary Report", „Specyfikacje dla IBM Matmal Transmula tłumaczenia systemowe», który oznaczał początek FORTRAN termin. Potem zajęło kolejne dwa lata wysiłków całego zespołu, który doprowadził do pisania pierwszego języka programowania Fortran kompilator (25000 Linie dla IBM 704).


Nazwa propysuvalosya pierwsze Fortranie język i kapitałowych liter użytych do opisania wersji językowych do Fortran 77 przeciwieństwie do darmowych wersji składni rozpoczynające się Fortran 90. Standardowe Fortran 77 małe litery nie są częścią języka, ale większość kompilatorów wspierać ich w uzupełnienie normy. Obecnie język programowania Fortran jest dominujący w programowaniu wykorzystywanym w aplikacjach inżynierskich. Dlatego ważne jest, aby inżynierowie mogli czytać i modyfikować kod Fortran. Od czasu do czasu, tak zwani eksperci, którzy przewidują, że język straci swojepopularność i wkrótce przestaną być w ogóle wykorzystywane. Te przewidywania zawsze były porażkami. "Fortran" - najbardziej stabilny język programowania komputerowego w historii. Jednym z głównych powodów, dla których język programowania Fortran przetrwał i przetrwał, jest inercja oprogramowania. Po wydaniu przez firmę dużej ilości zasobów i prawdopodobnie milionów dolarów na oprogramowanie, jest mało prawdopodobne, że przetłumaczy oprogramowanie na inny język.


Główną zaletą Fortranu jest to, że jest on certyfikowany przez międzynarodowe organizacje ANSI i ISO. Tak więc, jeśli program jest napisany w ANSI, będzie działał na dowolnym komputerze z kompilatorem Fortran 77. To jest ważna informacja. Tak więc, programowe języki programowania Fortran istnieją na różnych urządzeniach.

Różnice między wersjami językowymi

Etapy tworzenia platformy językowej:
  • W latach 1954-1957 pierwszy kompilator zaprojektowano od podstaw. W tamtych czasach nie było "języka wysokiego poziomu" (= HLL), większość systemów operacyjnych była prosta, a pamięć niewielka, około 16 Kb. Pierwszy kompilator pracował na IBM 704. Język ten był znacznie bardziej efektywny niż programowanie w asemblerze i bardzo popularny w tym samym czasie.
  • W 1958 opublikowano FORTRAN II. W tym samym roku opracowano FORTRAN III, ale nie został on wydany w szerokiej produkcji.
  • W 1961 r. Utworzono FORTRAN IV. Zawierał on ulepszenia, takie jak wdrożenie WSPÓLNYCH RÓWNOWAŻCÓW.
  • W 1962 r. Komitet ASA rozpoczął opracowywanie normy dla języka programowania obiektowego Fortran. To pozwoliło sprzedawcyużywaj go na każdym nowym komputerze. Ten fakt sprawił, że stał się jeszcze bardziej popularny w HLL, język stał się dostępny w systemach Apple i TRS80.
  • W 1967 roku FORTRAN 66 był pierwszym na świecie standardem HLL. Publikacja tego standardu oznaczała, że ​​język był szerzej stosowany niż jakikolwiek inny. W połowie lat siedemdziesiątych praktycznie każdy komputer, mini lub mainframe był dostarczany ze standardowym językiem FORTRAN 66. Język używał instrukcji if, goto-statement i spagethi-program. Takie ustrukturyzowane programowanie stało się popularne w latach 60-tych i 70-tych.
  • Fortran istniał na kartach dziurkowanych, w szczególności w systemie FMS, optymalizując lokalizację ich źródeł, dopóki Fortran 90 nie wprowadził "darmowej" składni. W nim kod tablicy Fortran zaczyna się od 7. kolumny i nie powinien przekraczać 72 tysięcy znaków.
  • Należy również zauważyć, że aż do Fortran 90 luk nie miało znaczenia między siódmą a 72. kolumną. Zatem cykl "DO I = 1,5" można również zapisać "DOI = 15". Z drugiej strony, "DO I = 15" jest równoważne "DOI = 1,5".
    Liczne kody przemysłowe zostały napisane w Nastran, NAG i IMSL - Fortran Library. Ważna jest kompatybilność nowych wersji z poprzednimi. Z tego powodu Fortran 90 jest w pełni kompatybilny z Fortranem 77. Jednakże niezgodności zostały wprowadzone w kolejnych wersjach standardu.
    Fortran 90 i Fortran 95 zostały wkrótce zaktualizowane o obecny standard Fortran-2003. Dzięki temu, że współczesne kompilatory działają bez ograniczeń we wszystkich aktualnych wersjach systemu Windows, a nawet obsługują procesory 64-bitowe. Tymczasem producenci rozpoznają trend czasu i oferują kompilatory dla Linuksa w postaci obiektuzorientowany język programowania Aktor Fortran.

    Wymagania wstępne dotyczące używania języka programowania

    Należy rozumieć, że Fortran jest nadal szeroko stosowanym językiem programowania i jest głównie wykorzystywany w dziedzinie odkryć. Klasyczne obszary zastosowania, na przykład w fizyce lub inżynierii, gdzie wykonywane są duże i złożone obliczenia matematyczne. Mają bardzo przydatne rozległe biblioteki matematyczne, które istnieją dla różnych kompilatorów. Podsumowując, można argumentować, że dzisiaj język Fortran został użyty z kilku powodów:
  • Obecność wielu funkcjonalnych bibliotek, które zostały opracowane przez wiele lat.
  • Obecność oprogramowania Fortran, które wymaga bardzo ważnych zasobów do rozwoju, gdy uznaje się za zbyt drogie przejście na inny język.
  • Obecność potężnych kompilatorów z wbudowanymi funkcjami Fortran, które produkują bardzo szybkie pliki wykonywalne.
  • Język jest bardziej dostępny dla wynalazcy, który nie miał specjalistycznego kursu komputerowego.
  • Wiele programów naukowych jest teraz napisanych w językach C i C ++, których kompilatory są dostępne na większości komputerów. Inne skompilowane języki są czasem używane do obliczeń naukowych, a zwłaszcza do programów takich jak Scilab lub Matlab. Te ostatnie obejmują również biblioteki BLAS i LAPACK opracowane w programowaniu Fortran. Matlab był pierwotnie programem w Fortranie, dystrybuowanym na uniwersytetach iw centrach badawczych.

    Nowoczesne kompilatory

    Chociaż Tom Lahey jest obecnie "jedynym" ogólnym kompilatorem, Lahey Computer Systemsjest nadal używany przez wielu programistów. Lahey kilku lat współpracuje z Fujitsu, Lahey koncentruje się na parser Fortran i Fujitsu - kod generator. Aktualny Compiler Suite dla Windows o nazwie Lahey Fujitsu Fortran 95 (LF95) i jest dostępny w różnych wersjach, z których niektóre także integruje się z Visual Studio 2003. Istnieje również wersja niskiej koszt LF95 Express, bez własnego IDE. Aktualna wersja - 7.1. w Linuksie nazywa się kompilatorem Lahey /Fujitsu Fortran 95 v6.2 dla systemu Linux i jest dostępny w dwóch różnych wersjach. Na przykład, wersja Pro obejmuje zgodność z OpenMP v2.0 silnika proste grafiki Winteracter Starter Kit, matematycznego bibliotecznych i Biblioteka Naukowa rutyny Fujitsu 2. Inny producent jest Absoft. Kompilatory i C ++ istnieją nie tylko dla systemów Windows i Linux, ale także dla OS X Macintosh. Te kompilatory są interesujące dla programistów, którzy potrzebują lub chcą wspierać wszystkie trzy platformy. Niestety, Absoft rozróżnia 32 - i 64-bitowe wersje dla Linuksa, obecnie stosowany w wersji 10.0 Fortran 95 (dla 64-bit Linux
    stosunkowo nowy na rynku jest pakiet EKOPath Compiler Suite składa się z kompilator C ++.. i środowisko programistyczne Fortran dla systemu Linux, które są również dostępne oddzielnie i są przeznaczone głównie dla 64-bitowych AMDusers. prowadzi też Intel EM64T. także, Microsoft po raz próbowali znaleźć „tani rynek» Fortran i wprowadziła na rynek Microsoft pOWERSTATION. Być może rynek był zbyt mały dla giganta oprogramowania, ale Digital wziął udział w kodzie w 1997 roku i użył s i pracować z kompilatory Digital UNIX i OpenVMS. Było jeszcze bardzo udane urodziny Digital Visual Fortran. W pewnym momencie, po czym przeniósł się do Digital Compaq, kompilator został zmieniony naAktualna wersja Compaq Visual Fortran (CVF) v6.6. Oprócz "normalnych" platform 32-bitowych istnieją różne 64-bitowe kompilatory, na przykład dla Intel Itanium i Intel EM64T. Chociaż nie są one "pilne" dla dostarczania, są one dostępne do bezpłatnego pobrania za pośrednictwem internetowego systemu wsparcia Intel Premier. Po jednorazowej, nieco uciążliwej rejestracji, możesz używać go przez rok, biorąc pod uwagę nowe aktualizacje co kilka tygodni. Nawet starsze wersje pozostaną dostępne.

    Struktura programu organizacyjnego

    Program Fortran jest ciągiem wierszy tekstu. Tekst musi być zgodny z określoną składnią. Na przykład: okrąg o promieniu r, obszar c. Ten program odczytuje rzeczywisty promień i definiuje obszar okręgu za pomocą promienia r: write (*, *); "Promień r:" czytać (*, *) r; powierzchnia = 314159 * r * r; write (*, *) 'Area ='; stop; koniec Wiersze zaczynające się na "C" są komentarzami i nie mają żadnego innego celu poza tym, że program jest bardziej czytelny dla ludzi. Po pierwsze, wszystkie programy Fortran zostały napisane wielkimi literami. Większość programistów pisze teraz małe litery, ponieważ jest bardziej czytelna. Program Fortran zwykle składa się z programu głównego lub sterownika oraz kilku procedur, procedur lub podprogramów. Struktura głównego programu:
  • nazwa programu;
  • deklaracje;
  • wypowiedzi;
  • stop;
  • koniec.
  • Wyróżnione kursywą nie należy postrzegać jako dosłownego, lecz raczej jako ogólny opis. Operator zatrzymania jest opcjonalny i może wydawać się zbędny, ponieważ program zatrzymuje się w każdym momencie, aleZaleca się, aby zawsze wypełniać program operatorem zatrzymania, aby podkreślić, że przepływ wykonywania jest zatrzymany.

    Reguły dotyczące kolumn

    Fortran 77 nie jest językiem formatu wolnego, ale ma bardzo ścisły zestaw zasad formatowania kodu źródłowego. Najważniejsze zasady to zasady rozmieszczenia kolumn:
  • Kol. 1: puste lub "c" lub "*" dla komentarzy.
  • Col. 2-5: etykieta operatora.
  • Col. 6: Kontynuuj poprzedni wiersz.
  • Col. 7-72 zatwierdzeń
  • Col. 73 - 80: Numer kolejny.
  • ​​Kilka Fortrans, zaczynając od litery "c" lub gwiazdki w pierwszej kolumnie, ma komentarz. Komentarze mogą pojawiać się w dowolnym miejscu w programie. Dobrze napisane, mają kluczowe znaczenie dla czytelności programu. Kody komercyjne Fortran zawierają często około 50% komentarzy. Możesz także spotkać programy używające wykrzyknika (!). Jest to wykonane na zamówienie w Fortran 77, ale dozwolone w Fortranie 90. Wykrzyknik może pojawić się w dowolnym miejscu na linii. Czasami instrukcja nie pasuje do jednej linii, możesz podzielić operatora na dwa lub więcej wierszy i użyć znaku rozszerzenia w tej pozycji. Przykład:
  • C23456789 - Pokazuje położenie kolumny.
  • "C" - następny operator przekazuje dwie gałęzie fizycznych linii.
  • Obszar = 314159265358979 + * r * r.
  • Puste spacje są ignorowane, zaczynając od "Fortran 77". Dlatego, jeśli usuniesz wszystkie spacje w Fortranie 77, program jest nadal poprawny pod względem składni, chociaż jest prawie nieczytelny dla operatorów.

    Zmienne, typy i deklaracje

    Nazwy zmiennych w Fortranie składają się z 1-6znaki wybrane z liter od a do zi cyfr 0-9. Pierwszą postacią powinna być litera. Fortran 90 pozwala na nazwy zmiennych o dowolnej długości. Fortran 77 nie rozróżnia wielkich i małych liter, w rzeczywistości zakłada, że ​​wszystkie dane wejściowe są wielkie. Jednak prawie wszystkie kompilatory F 77 będą akceptować małe litery. Każda zmienna musi być określona w reklamie. Ustawia typ zmiennej. Najbardziej popularną listą zmiennych jest:
  • liczba całkowita;
  • ;
  • podwójna precyzja;
  • złożone;
  • logiczne;
  • znaków.
  • Lista zmiennych powinna składać się z nazw rozdzielanych przecinkami. Każda zmienna musi zostać zadeklarowana dokładnie raz. Jeśli zmienna nie jest zadeklarowana, F 77 używa zestawu niejawnych reguł do ustawienia typu. Oznacza to, że wszystkie zmienne zaczynające się od litery "in" są liczbami całkowitymi, a wszystkie pozostałe są rzeczywiste. Wiele starszych programów F77 używa tych niejawnych reguł, ale programiści nie muszą tego robić, ponieważ prawdopodobieństwo wystąpienia błędów w programie gwałtownie wzrasta, jeśli wielokrotnie ogłaszali zmienne. Fortran 77 ma tylko jeden typ dla zmiennych całkowitych. Liczby całkowite są zwykle przechowywane jako 32-bitowe (4 bajty) zmienne. Dlatego wszystkie zmienne całkowite powinny przyjmować wartości w zakresie [-m, m], gdzie m wynosi w przybliżeniu 2 * 10 9. F 77 ma dwa różne typy dla zmiennych zmiennoprzecinkowych zwanych rzeczywistą podwójną precyzją. Niektóre obliczenia numeryczne wymagają bardzo dużej dokładności i należy stosować podwójną precyzję. Zwykle rzeczywista - 4-bajtowa zmienna i podwójna precyzja - 8 bajtów, ale zależy to od maszyny.Niestandardowe wersje Fortran używają składni real * 8, aby wyznaczyć 8-bajtowe zmienne zmiennoprzecinkowe. Niektóre stałe pojawiają się wiele razy w programie. Dlatego pożądane jest, aby zidentyfikować je tylko raz na początku programu. Aby to zrobić, użyj operatora parametru. Dzięki temu programy są bardziej czytelne. Na przykład obszar programu koła powinien być zapisany w ten sposób.
    Składnia nazwy operatora parametru = stała ,, nazwa = stała). Reguły dla operatora parametru:
  • Zmienna zdefiniowana w instrukcji parametru nie jest zmienną, ale stałą, której wartość nigdy się nie zmienia.
  • "Zmienna" może wyświetlać nie więcej niż jeden operator parametru.
  • Operator parametrów musi przyjść do pierwszego pliku wykonywalnego
  • Niektóre dobre powody, aby użyć parametru - pomaga zmniejszyć liczbę błędów, łatwo jest zmienić stałą, która pojawia się wiele razy w programie.

    Wyrażenia logiczne

    Wyrażenia logiczne mogą mieć tylko wartość .TRUE. lub .FALSE i mogą być tworzone przez porównywanie wyrażeń arytmetycznych za pomocą operatorów relacyjnych. Nie można używać symboli takich jak "Stały i docelowy" Najprostszą formą wyrażenia jest stała. Istnieje 6 rodzajów stałych odpowiadających 6 typom danych. Oto kilka stałych całkowitych: 10-10032767 + 15 Real Constants: 10-0252.0E63333E-1. E-Zapis oznacza, że ​​musisz pomnożyć przez stałą 10 podniesioną do mocy obok "E". W związku z tym 2,0E6 wynosi dwa miliony, a 3333 E-1 wynosi około jednej trzeciej dla stałych, które są większe niżnależy zastosować maksymalną realną dopuszczalną lub wymagającą dużej dokładności podwójną precyzję. Zapis jest taki sam, jak w przypadku stałych rzeczywistych, z wyjątkiem tego, że "E" zastępuje się "D". Przykład: 2.0 D-11D99. Tutaj 2.0 D-1 to podwójna precyzja z jedną piątą, a 1D99 to jedna, a następnie 99 zer. Następny typ to złożone stałe. Są one oznaczone parą stałych (całkowitych lub rzeczywistych), oddzielonych przecinkiem, ujętych w nawiasy kwadratowe. Przykładami są: (2 -3) (199 E-1). Pierwsza liczba reprezentuje rzeczywistą część, a druga reprezentuje część urojoną. Piąty typ to stałe logiczne. Mogą mieć tylko jedną z dwóch wartości: .TRUE. .FALSE Zwróć uwagę, że punkty zawierające litery muszą być napisane. Ostatnim typem są stałe symboliczne. Najczęściej są używane jako tablica znaków zwanych wierszami. Składają się z arbitralnej sekwencji znaków, więźniów w apostrofach (pojedyncze cytaty): "ABC" "Cokolwiek idzie!" "To jest miły dzień". W przypadku liniowych i znaków stałych rozróżniana jest wielkość liter. Problem pojawia się, jeśli potrzebujesz prawdziwego apostrofu w samej linii. W tym przypadku konieczne jest podwojenie apostrofu: "To miły dzień", co oznacza "Cóż za cudowny dzień"

    Warunkowe zatwierdzanie "jeśli"

    Ważnymi elementami każdego języka programowania są zatwierdzenia warunkowe. Najczęstszym takim stwierdzeniem w Fortranie jest operator, który faktycznie ma kilka form. Najprostszą jest instrukcja if w opisie Fortran: if (wyrażenie logiczne) instrukcji wykonywalnej. Powinno to zostać zapisane w jednym wierszu, na przykład przy ustalaniu bezwzględnej wartości x: if (x .LT. 0) x = -x IfJeśli ma być wykonywany więcej niż jeden operator, użyj następującej składni: if (wyrażenie logiczne) thenstatementsendif. Przepływ realizacji od góry do dołu. Wyrażenia warunkowe są oceniane sekwencyjnie do momentu znalezienia wartości prawdziwej. Następnie wykonywany jest odpowiedni kod, a kontrola przechodzi do następnego operatora po zakończeniu, jeśli. Operatorzy, jeśli mogą być zagnieżdżeni na kilku poziomach. Aby zapewnić czytelność, ważne jest użycie odpowiedniego wcięcia. Oto przykład: if (x .GT .0) thenif (x .GE .y) thenwrite (*, *) 'x jest dodatnie i x> = y'elsewrite (*, *)' x jest dodatnie, ale x użycie w Unix system operacyjny
    Możesz używać dowolnej stacji roboczej Unix z kompilatorem F 77. Doświadczeni programiści zalecają użycie Sun lub Dec. Program Fortran składa się ze zwykłego tekstu zgodnego z pewnymi regułami składni. Nazywa się to kodem źródłowym. Programiści używają edytora do pisania kodu źródłowego. Najbardziej popularnymi edytorami w systemie Unix są emacs i vi, ale mogą być one skomplikowane dla początkujących użytkowników. Możesz użyć prostszego edytora, takiego jak xedit, który działa pod X-Window. Po napisaniu programu Fortran jest on przechowywany w pliku z rozszerzeniem .f lub .for i przekłada program na format czytelny dla maszyny. Odbywa się to za pomocą specjalnego programu o nazwie kompilator. Kompilator Fortran 77 jest powszechnie określany jako f77. Wynik kompilacji otrzymuje domyślnie nieco tajemniczą nazwę ".out", ale jeśli chcesz, możesz wybrać inną nazwę. Aby uruchomić program, wpisz nazwę pliku wykonywalnego,na przykład "a.out". Kompilator tłumaczy kod źródłowy na kod obiektowy, a łącznik lub program ładujący do pliku wykonywalnego. Jak widać, ta procedura nie jest wcale skomplikowana i jest dostępna dla każdego użytkownika.

    Metody modelowania produkcji

    Modelowanie jest jedną z najczęściej stosowanych metod produkcji i innych systemów dostępnych w nowoczesnych przedsiębiorstwach. Większość modeli symulacyjnych zbudowanych jest w oparciu o obiektowy język programowania Aktor Fortran lub pakiet oprogramowania do symulacji napisany w tradycyjnym języku. Te narzędzia mają swoje ograniczenia. Technologia obiektowa jest coraz częściej stosowana w wielu dziedzinach i zapewnia bardziej elastyczne i efektywne podejście do modelowania systemu biznesowego. Języki programowania obiektowego Simula Fortran są porównywane ze zwykłym naukowym językiem programowania o nazwie FORTRAN. Typowy wojskowy model symulacyjny jest programowany zarówno w SIMULA, jak i FORTRAN. Program SIMULA był o 24% krótszy niż wersja FORTRAN. Wersja SIMULA jest również prostsza i daje lepszy obraz symulowanego modelu. Z drugiej strony, czas przeprowadzania serii produkcyjnych jest o 64% większy dzięki obiektowemu językowi programowania Simula Fortran. Ważenie plusów i minusów pokazuje, że SIMULA będzie coraz bardziej opłacalna, z wyższymi kosztami personelu i niższymi kosztami komputera. CUDA pokazuje, jak wysokowydajni twórcy aplikacji mogą korzystać z możliwości procesorów graficznych wykorzystujących Fortran, znany język naukowyobliczanie i testowanie wydajności superkomputera. Autorzy nie zapewniają żadnego wcześniejszego doświadczenia w przetwarzaniu równoległym i obejmują tylko podstawy, a także wykorzystują najlepsze praktyki. Wydajność obliczeń procesorów graficznych za pomocą CUDA Fortran zapewnia docelowa architektura procesorów graficznych. CUDA Fortran dla naukowców i inżynierów pozwoli zidentyfikować intensywne części obliczeniowe kodu i zmienić kod zarządzania danymi, równoległość i optymalizację wydajności. Wszystko to odbywa się w Fortranie, bez konieczności przepisywania programu na inny język. Każda koncepcja jest ilustrowana rzeczywistymi przykładami, dzięki czemu można natychmiast ocenić wydajność kodu. Być może kiedyś globalna korporacja "ostatecznie się globalizuje" i postanawia, że ​​"Fortran" nie jest już potrzebny, jednak nie teraz. Dzięki obecnym możliwościom dzisiejszego Fortranu wielu programistów i naukowców postrzega to jako przyszłość. Ponadto na świecie jest wielu producentów, którzy żyją z rozwojem nowoczesnych kompilatorów i dobrze zarabiają na tym procesie.

    Powiązane publikacje