Fortran/Wprowadzenie
Z Wikibooks, biblioteki wolnych podręczników.
Spis treści |
[edytuj] O języku Fortran
Język Fortran jest językiem kompilowanym. Oznacza to, że aby uruchomić nasz pierwszy program w Fortranie musimy go skompilować, czyli przetworzyć z postaci czytelnej dla człowieka na kod maszynowy. Historyczne uwarunkowania doprowadziły do tego, że kompilatory języka Fortran generują zoptymalizowany kod, dzięki czemu wykonanie programu, napisanego w Fortranie jest bardzo szybkie. Oprócz tego ważną cechą Fortranu jest jego przenośność. Podobnie, jak język C, także i Fortran jest językiem przenośnym - ale tylko w postaci kodu źródłowego. Natomiast w przeciwieństwie do języka C, Fortran posiada niejako "wbudowane" funkcje obsługi wejścia i wyjścia (Input-Output - I/O) oraz funkcje matematyczne. Np. potęgowanie posiada swój specjalny operator (o nich później). Język Fortran oferuje też ciekawe możliwości dla osób piszących programy pod systemy wieloprocesorowe lub programy równoległe.
[edytuj] Zastosowanie języka Fortran
Z rozdziału historia dowiedziałeś się, niektórych zastosowań języka Fortran. Jednak nie są to jedyne jego zastosowania. W jednym z dialektów napisano nawet system operacyjny.
[edytuj] Czego potrzebujesz
Aby rozpocząć przygodę z językiem Fortran musisz koniecznie zaopatrzyć się w:
- dowolny system operacyjny
- dowolny edytor tekstowy, który nie formatuje tekstu, lub ma funkcję zapisywania plików bez formatowania.
- kompilator języka Fortran - tutaj natrafisz na bardzo duży wybór
[edytuj] Edytor
Zamiast zwykłego edytora możesz wybrać Zintegrowane Środowisko Programistyczne (IDE), na przykład wtyczkę Photran do środowiska Eclipse.
[edytuj] Kompilator
Jak już wspomniałem, wybór kompilatora może sprawić Ci trudność. Będzie on zależał od systemu operacyjnego oraz możliwości Twojego budżetu. Oczywiście do nauki wystarczy Ci najprostszy, darmowy kompilator. W niniejszym podręczniku będziemy opierali się na najnowszym dziecku projektu GCC - gfortran. Krótką listę dostępnych kompilatorów, zawiera artykuł w polskiej Wikipedii. Niezłym punktem startu jest też anglojęzyczna strona The Fortran Company, na której oprócz informacji o komercyjnych pakietach, znajdziesz też sporo darmowych bibliotek i tutoriali.
Dość ciekawą rzeczą jest natomiast działanie kompilatora. Każdy kompilator języka Fortran składa się z dwóch części
- kompilatora właściwego, przetwarzającego program na kod maszynowy
- biblioteki uruchomieniowej
To właśnie w tym drugim elemencie przechowywane są najbardziej podstawowe funkcje. Bibliotekę uruchomieniową możemy porównać do biblioteki języka C w systemach UNIX (tak naprawdę, w systemach Uniksowych część biblioteki uruchomieniowej korzysta z biblioteki języka C). Kompilatory Fortranu umożliwiają także łączenie w jeden program kilku modułów napisanych zarówno w języku Fortran, jak i C. Temu zagadnieniu poświęcony jest ostatni rozdział tego podręcznika (Łączenie języka C z językiem Fortran).
[edytuj] Pierwsze spojrzenie na Fortran 90/95
[edytuj] Witaj świecie!
Zgodnie z tradycją pierwszym przykładem języka programowania powinien być program wyświetlający radosny napis "Hello World!". Oto kod tego programu w Fortranie 95 (albo w Fortranie 90, gdyż niewiele się między sobą różnią):
! ! To jest program przykładowy w Fortranie 90/95 ! program hello ! nieobowiązkowy ale zalecany początek programu print*, "Hello World!" ! wyświetlenie na ekranie napisu end program hello ! koniec programu - obowiązkowy, jeśli wcześniej jest słowo program
Zapiszmy nasz program w pliku hello.f95. Aby go uruchomić musisz wykonać czynność, zwaną kompilacją. Nasze przykłady oprzemy na kompilatorze gfortran. Aby uzyskać program wykonywalny w konsoli musisz wykonać:
gfortran hello.f95 -o hello
Aby uruchomić program należy wywołać ścieżkę dostępu do pliku, np.:
./hello
lub po prostu jego nazwę, jeśli katalog w którym się znajduje został dopisany do zmiennej środowiskowej $PATH.
[edytuj] Wiedza elementarna
- Język Fortran (niezależnie od wersji) nie rozróżnia wielkości znaków, czyli print* i PRINT* to dla kompilatora dokładnie ta sama instrukcja.
- W jednym wierszu można umieścić do 132 znaków.
- Spacje są ważne - służą do oddzielania słów kluczowych i identyfikatorów (oprócz spacji tę funkcję pełnią także inne białe znaki i znaki przestankowe). Nie wolno wstawiać spacji (ani innego znaku) wewnątrz słowa kluczowego lub identyfikatora.
- Komentarzem jest tekst od symbolu wykrzyknika do najbliższego znaku końca linii. Wyjątkiem jest sytuacja, gdy znak ! pojawia się w cytowaniu.
- Znak końca linii jest znakiem kończącym instrukcję.
- Jeśli chcemy kontynuować instrukcję w następnym wierszu musimy na końcu linii postawić znak &. Jeśli jednak chcemy przełamać napis otoczony cudzysłowem lub apostrofami to znak & musimy umieścić na końcu pierwszego i na początku drugiego wiersza.
- W przypadku, gdy chcemy umieścić kilka instrukcji w jednym wierszu oddzielamy je znakiem ;
- Język Fortran pozwala na używanie niezadeklarowanych zmiennych (co nie jest zalecane) - typ zmiennej zależy wówczas od pierwszej litery nazwy zmiennej. Nazwy zaczynające się na I,J,K,L,M,N to liczby całkowite, pozostałe to liczby zmiennoprzecinkowe. Możemy zrezygnować z tej możliwości (zalecamy!) umieszczając instrukcję implicit none zaraz po wierszu ze słowem program.
- Używany alfabet to litery małe: a-z i duże: A-Z, cyfry 0-9, znak podkreślenia _. Dozwolone są również następujące znaki specjalne: spacja, enter oraz +-*/<=>().,'";:!&%$?. Oprócz tego znane nam kompilatory w komentarzach i łańcuchach tekstowych pozwalają na użycie innych znaków, w tym polskich liter "z ogonkami".
- Struktura programu rozdziela część deklaracyjną od wykonywalnej - tzn. po użyciu jakiejkolwiek instrukcji wykonywalnej, nie można już deklarować zmiennych, stałych itp.
- Do cytowania napisów (stałych tekstowych) można używać zarówno znaku cudzysłowu " jak i apostrofu '. Przy czym jeśli rozpoczęliśmy cytowanie jednym znakiem, to trzeba zamknąć je tym samym - dzięki temu bez problemu można umieścić w łańcuchu same znaki cytowania np. "User's guide" (ten sam efekt uzyskamy pisząc 'User''s guide').

