Fortran jezik programiranja - opis, glavne naredbe i funkcije

Programski jezik Fortran uglavnom se koristi za znanstveno računanje. Izumljen 1954. godine, najstariji je programski jezik visoke razine, a slijede ga Lisp (1958), Algol (1958) i COBOL (1959). Broj znanstvenih knjižnica napisanih na Fortranu "i stvaranje posebnih kompilatora-prevoditelja dopuštaju korištenje današnjeg jezika. Osim toga, stvoreni su brojni kalkulatori za vektorizaciju, koprocesore, paralelizam koji poplavljuju taj jezik za uporabu u industrijskoj proizvodnji modernog svijeta.

Povijesni događaji Fortrana

John Beck, IBM radijski inženjer, objavio je 1954. članke pod nazivom Preliminarno izvješće, Specifikacije za IBM Matmal Transmula TRANslating sustav, koji je označio početak FORTRAN-ovog pojma. Potom je trebalo još dvije godine za cijeli tim koji je započeo pisati prvi Fortran programski jezik za kompajler (25.000 linija za IBM 704).


Naziv jezika izvorno je pisan velikim slovima FORTRAN i korišten je za označavanje jezičnih verzija do Fortrana 77, za razliku od slobodnih verzija sintakse, počevši s Fortranom 90. U Fortranu 77, mala slova nisu dio jezika, ali većina kompajlera ih podržavaju u dodatak standardu. Danas je programski jezik Fortran dominantan u programiranju u inženjerskim aplikacijama. Stoga je važno da diplomirani inženjeri mogu čitati i mijenjati Fortran kod. S vremena na vrijeme, takozvani stručnjaci koji predviđaju da će jezik izgubitipopularnost i uskoro će prestati biti korištena. Ta su predviđanja uvijek bila neuspješna. "Fortran" - najstabilniji računalni programski jezik u povijesti. Jedan od glavnih razloga zašto Fortranov programski jezik opstaje i preživljava je softverska inercija. Nakon što je tvrtka potrošila mnogo resursa i možda milijune dolara na softverski proizvod, malo je vjerojatno da će prevesti softver na drugi jezik.


Glavna prednost Fortrana je da je certificirana od strane međunarodnih tijela ANSI i ISO. Dakle, ako je program napisan u ANSI-ju, pokrenut će se na bilo kojem računalu s kompajlerom Fortran 77. To je važna informacija. Dakle, objektno orijentirani programski jezik Fortran programi postoje na različitim softverskim uređajima.

Razlika između jezičnih verzija

Faze stvaranja jezične platforme:
  • 1954-1957. Prvi kompajler je dizajniran od nule. U to vrijeme nije postojao "jezik visoke razine" (= HLL), većina operacijskih sustava je jednostavna, a memorija mala, oko 16 Kb. Prvi prevodilac radio je na IBM 704. Ovaj jezik HLL bio je mnogo učinkovitiji od programiranja na asembleru i vrlo popularan u jednom trenutku.
  • Godine 1958. objavljen je FORTRAN II. Iste godine razvijen je FORTRAN III, ali nije bio pušten u široku proizvodnju.
  • Godine 1961. stvoren je FORTRAN IV. Ona je sadržavala poboljšanja, kao što je provedba operatora ZAJEDNIČKI EKVIVALENCIJA.
  • Godine 1962. ASA Odbor je počeo razvijati standard za objektno-orijentirani programski jezik Fortran. To je omogućilo prodavateljukoristiti ga u svakom novom računalu. A zbog toga je postao još popularniji kod HLL-a, jezik je postao dostupan na Apple i TRS80 sustavima.
  • Godine 1967. FORTRAN 66 je bio prvi svjetski standard HLL. Objavljivanje standarda značilo je da se jezik šire primjenjuje od bilo kojeg drugog. Do sredine 1970-ih, gotovo svako računalo, mini ili mainframe je bilo isporučeno sa standardnim FORTRAN 66 jezikom. Takvo strukturirano programiranje postalo je popularno šezdesetih i sedamdesetih godina. Fortran je postojao na bušenim karticama, posebno s FMS sustavom, optimizirajući lokaciju njihovih izvora, sve dok Fortran 90 nije uveo "slobodnu" sintaksu. U njemu kod matrice Fortran počinje s 7. stupcem i ne smije prelaziti 72 tisuće znakova.
  • Također treba napomenuti da do Fortrana 90 praznina nije bilo važno između 7. i 72. stupca. Dakle, ciklus "DO I = 1.5" može se također napisati "DOI = 15". S druge strane, "DO I = 15" je jednako "DOI = 1.5".
    U Nastran, NAG i IMSL - Fortran knjižnici napisani su brojni industrijski kodeksi. Važna je kompatibilnost novih verzija s prethodnim. Zbog toga je Fortran 90 u potpunosti kompatibilan s Fortranom 77. Međutim, inkompatibilnosti su uvedene u kasnijim verzijama standarda.
    Fortran 90 i Fortran 95 uskoro su bili praćeni aktualnim standardom Fortran-2003. Uz činjenicu da moderni prevodioci rade neograničeno u svim trenutnim verzijama sustava Windows i čak podržavaju 64-bitne procesore. U međuvremenu, proizvođači su prepoznali trend vremena i ponudili prevodioce za Linux u obliku objektaorijentirani programski jezik Glumac Fortran.

    Preduvjeti za korištenje programskog jezika

    Treba shvatiti da je Fortran još uvijek široko korišteni programski jezik i uglavnom se koristi na području otkrića. Klasična područja primjene, na primjer u fizici ili inženjerstvu, gdje se izvode veliki i složeni matematički izračuni. Imaju vrlo korisne opsežne matematičke biblioteke koje postoje za različite kompajlere. Ukratko, može se tvrditi da je danas jezik Fortran korišten iz više razloga:
  • Prisutnost brojnih funkcionalnih knjižnica koje su se razvijale tijekom mnogih godina.
  • Prisutnost Fortran softvera, koji zahtijeva vrlo važne resurse za razvoj kada se smatra preskupim za prelazak na drugi jezik.
  • Prisutnost moćnih kompilatora s ugrađenim značajkama Fortrana koje proizvode vrlo brze izvršne datoteke.
  • Jezik je pristupačniji izumitelju koji nije imao specijalizirani računalni tečaj.
  • Mnogi znanstveni programi sada su napisani u C i C ++, čiji su kompilatori dostupni na većini strojeva. Drugi kompilirani jezici ponekad se koriste za znanstveno računanje, a posebno za programe kao što su Scilab ili Matlab. Potonje također uključuje BLAS i LAPACK knjižnice razvijene u Fortran programiranju. Matlab je izvorno bio program u Fortranu, distribuiran na sveučilištima i istraživačkim centrima.

    Moderni sastavljači

    Iako je Tom Lahey sada "jedini" generalni prevodilac, Lahey Computer Systemsi dalje ga koriste mnogi programeri. Lahey već nekoliko godina radi s Fujitsuom, Lahey se fokusira na Fortranov parser, a Fujitsu je generator koda. Trenutni Compiler Suite za Windows naziva se Lahey Fujitsu Fortran 95 (LF95) i dostupan je u različitim verzijama, od kojih su neke integrirane iu Visual Studio .NET 2003. Postoji i jeftina verzija LF95 Expressa bez vlastitog IDE-a. Trenutna verzija - 7.1. u Linuxu se naziva Lahey /Fujitsu Fortran 95 v6.2 kompajler za Linux i dostupan je u dvije različite verzije. Na primjer, Pro verzija sadrži OpenMP v2.0 kompatibilnost s jednostavnim grafičkim mehanizmom Winterbox Starter Kit, Matematičkom knjižnicom i Znanstvenom knjižnicom za Fujitsu 2. Drugi proizvođač je Absoft. Kompajleri i C ++ postoje ne samo za Windows i Linux, već i za OS X Macintosh. Ovi kompilatori su zanimljivi programerima koji trebaju ili žele podržati sve tri platforme. Nažalost, Absoft razlikuje 32-bitne i 64-bitne verzije Linuxa, verzija 10.0 Fortrana 95 (za 64-bitni Linux).
    Paket kompajlera EKOPath, koji se sastoji od C ++ kompajlera, relativno je nov na tržištu. i Fortranova Linux razvojna okruženja koja su također dostupna zasebno i prvenstveno za 64-bitne AMDusers, a također rade na Intel EM64T, kao i Microsoft jednom pokušali pronaći Fortranovo "jeftino tržište" i pokrenuli Microsoft Powerstation tržište. premala za softverskog giganta, ali Digital je 1997. uzeo dio koda i upotrijebio s i rad s prevodiocima Digital Unix i OpenVMS. Još je bilo vrlo uspješno rođendan Digital Visual Fortran. U nekom trenutku, a zatim se preselio u digitalnu Compaq, prevodilac je revidiran naTrenutna verzija Compaq Visual Fortran (CVF) v6.6. Osim "normalnih" 32-bitnih platformi, postoje i različiti 64-bitni kompajleri za Intel Itanium i Intel EM64T. Iako nisu "hitni" za isporuku, dostupni su za besplatno preuzimanje putem sustava Intel Premier Web Support System. Nakon jednokratne, pomalo glomazne registracije, možete je koristiti godinu dana, uzimajući u obzir nova ažuriranja svakih nekoliko tjedana. I dalje će biti dostupne starije verzije.

    Struktura organizacijskog programa

    Fortran program je niz redaka teksta. Tekst mora slijediti određenu sintaksu. Na primjer: krug radijusa r, područje c. Ovaj program čita pravi radijus i definira područje kruga s radijusom r: write (*, *); 'Radius r:' očitava (*, *) r; područje = 314159 * r * r; napiši (*, *) 'Područje ='; zaustaviti; kraj. Linije koje počinju s "C" su komentari i nemaju nikakvu drugu svrhu osim da program učini ljudima čitljivijim. Najprije su svi Fortran programi pisani velikim slovima. Većina programera sada piše mala slova, jer je čitljivija. Fortran program obično se sastoji od glavnog programa ili upravljačkog programa i nekoliko rutina, rutina ili potprograma. Struktura glavnog programa:
  • naziv programa;
  • izjave;
  • tvrdnje;
  • zaustaviti;
  • kraj.
  • Istaknuto u kurzivu ne bi se trebalo shvatiti kao doslovno, nego kao opći opis. Operator zaustavljanja nije obavezan i može se činiti suvišnim jer se program zaustavlja kad u svakom slučaju dosegne svoj kraj, aliPreporučuje se da uvijek dovršite program s operatorom zaustavljanja kako biste naglasili da je tijek izvršenja zaustavljen.

    Pravila stupca

    Fortran 77 nije jezik slobodnog formata, ali ima vrlo strogi skup pravila za formatiranje izvornog koda. Najvažnija pravila su pravila rasporeda stupaca:
  • Col. 1: prazno ili "c" ili "*" za komentare.
  • Col. 2-5: oznaka operatera.
  • Col. 6: Nastavite prethodni redak.
  • Col. 7-72 odobrenja
  • Col. 73 - 80: Redni broj.
  • ​​Nekoliko Fortransa, počevši od slova "c" ili zvjezdice u prvom stupcu, imaju komentar. Komentari se mogu pojaviti bilo gdje u programu. Dobro napisani, oni su presudni za čitljivost programa. Fortranovi komercijalni kodovi često sadrže oko 50% komentara. Također možete naići na programe koji koriste uskličnik (!). To je vrlo dobro izrađeno u Fortranu 77 ali dopušteno u Fortranu 90. Uzvičnik se može pojaviti bilo gdje na liniji. Ponekad se izjava ne uklapa u jedan redak, a operatera možete podijeliti u dva ili više redaka i koristiti znak proširenja u položaju. Primjer:
  • C23456789 - Prikazuje položaj stupca.
  • "C" - sljedeći operator prenosi dvije grane fizičkih linija.
  • Područje = 314159265358979 + * r * r.
  • Prazna mjesta se ignoriraju, počevši s "Fortran 77". Stoga, ako izbrišete sve prostore u Fortranu 77, program je još uvijek sintaktički ispravan, iako je za operatore gotovo nečitljiv.

    Varijable, tipovi i deklaracije

    Imena varijabli u Fortranu sastoje se od 1-6znakova odabranih od slova od a do z i brojeva 0-9. Prvi znak bi trebao biti slovo. Fortran 90 omogućuje imena varijabli proizvoljne duljine. Fortran 77 ne razlikuje gornji i donji slučaj, zapravo pretpostavlja da su svi unosi velika slova. Međutim, gotovo svi F 77 kompilatori će prihvatiti mala slova. Svaka varijabla mora biti navedena u oglasu. Ovo postavlja vrstu varijable. Najčešći popis varijabli je:
  • cijeli broj;
  • ;
  • dvostruka preciznost;
  • kompleks;
  • logično;
  • znak. Popis varijabli trebao bi se sastojati od naziva razdvojenih zarezima. Svaka varijabla mora biti deklarirana točno jednom. Ako varijabla nije deklarirana, F 77 koristi skup implicitnih pravila za postavljanje tipa. To znači da su sve varijable koje počinju s "in" slovom cijeli brojevi, a svi ostali su stvarni. Mnogi stariji F77 programi koriste ta implicitna pravila, ali programeri to ne moraju činiti, budući da se vjerojatnost grešaka u programu naglo povećava ako opetovano objavljuju varijable. Fortran 77 ima samo jedan tip za cjelobrojne varijable. Cijeli brojevi se obično pohranjuju kao 32-bitne (4 bajtne) varijable. Stoga, sve cjelobrojne varijable trebaju uzeti vrijednosti u rasponu [-m, m], gdje je m približno 2 * 10 9. F 77 ima dva različita tipa za varijable s pomičnim zarezom nazvane stvarnom dvostrukom preciznošću. Neki numerički izračuni zahtijevaju vrlo visoku točnost i treba koristiti dvostruku preciznost. Obično stvarna - 4-bajtna varijabla i dvostruka preciznost - 8 bajta, ali to ovisi o stroju.Nestandardne verzije Fortrana koriste sintaksu real * 8 za označavanje varijabli s varijablama s pomičnim zarezom od 8 bajta. Neke konstante se u programu pojavljuju mnogo puta. Stoga ih je poželjno identificirati samo jednom na početku programa. Da biste to učinili, upotrijebite operator parametra. Također čini programe čitljivijima. Primjerice, programsko područje kruga bi trebalo pisati ovako.
    Sintaksa imena operatora parametra = konstanta, ime = konstanta). Pravila za operatora parametara:
  • Varijabla, definirana u instrukciji parametra, nije varijabla, već konstanta čija se vrijednost nikada ne može promijeniti.
  • "Varijabla" može prikazati više od jednog operatora parametara.
  • Operator parametara mora doći na prvu izvršnu datoteku
  • Neki dobri razlozi za korištenje parametra - pomaže smanjiti broj pogrešaka, lako je promijeniti konstantu koja se pojavljuje mnogo puta u programu.

    Logički izrazi

    Logički izrazi mogu imati samo .TRUE vrijednost. ili i može se formirati usporedbom aritmetičkih izraza pomoću operatora relacija. Ne možete koristiti simbole kao što su "Konstanta i odredište. Najjednostavniji oblik izražavanja je konstanta. Postoji 6 vrsta konstanti koje odgovaraju 6 tipova podataka. Ovdje su neke cjelobrojne konstante: 10-10032767 + 15 Real Constants: 10-0252.0E63333E-1. E-notacija znači da trebate pomnožiti s konstantom 10 podignutom na snagu pored "E". Prema tome, 2.0E6 je dva milijuna i 3333 E-1 je oko jedne trećine za konstante koje su veće odmaksimalna stvarna dopuštena, ili koja zahtijeva visoku točnost, treba koristiti dvostruku preciznost. Oznaka je ista kao i za stvarne konstante, osim što se "E" zamjenjuje s "D". Primjer: 2.0 D-11D99. Ovdje je 2.0 D-1 dvostruka preciznost s jednom petinom, dok je 1D99 jedna, a slijedi ih 99 nula. Sljedeći tip je složene konstante. Označeni su parom konstanti (cijelih ili stvarnih), odvojenih zarezom, u zagradama. Primjeri su: (2 -3) (199 E-1). Prvi broj predstavlja stvarni dio, a drugi predstavlja imaginarni dio. Peti tip su logičke konstante. Mogu imati samo jednu od dvije vrijednosti: .TRUE. .FALSE. Napominjemo da točke koje sadrže slova moraju biti napisane. Posljednji tip su simboličke konstante. Najčešće se koriste kao niz znakova koji se zovu redovi. Sastoje se od proizvoljnog niza znakova, zatvorenika u apostrofu (jednostruki navodnici): 'ABC' 'Sve ide!' ' "Lijep je dan" Linearne i karakterne konstante razlikuju velika i mala slova. Problem nastaje ako trebate imati pravu apostrofu u samoj liniji. U ovom slučaju, potrebno je udvostručiti apostrof: 'To je lijep dan', što znači 'Kakav divan dan'

    Uvjetno odobravanje 'ako'

    Važne komponente bilo kojeg programskog jezika su uvjetna odobrenja. Najčešći od takvih izjava u Fortranu je operator if, koji zapravo ima nekoliko oblika. Najjednostavniji je if izraz u Fortran opisu: if (logički izraz) izvršne izjave. To treba napisati na jednom retku, na primjer, pri određivanju apsolutne vrijednosti x: if (x .LT. 0) x = -xAko treba izvršiti više operatora, upotrijebite sljedeću sintaksu: if (logički izraz) thenstatementsendif. Tijek izvršenja od vrha do dna. Uvjetni izrazi se procjenjuju sekvencijalno dok se ne pronađe prava vrijednost. Zatim se izvršava odgovarajući kod, a kontrola prelazi na sljedećeg operatora nakon završetka if. Operatori ako se mogu ugnijezditi u nekoliko razina. Kako bi se osigurala čitljivost, važno je koristiti pravo uvlačenje. Evo primjera: ako (x .GT .0) thenif (x .GE .y) tada piše (*, *) 'x je pozitivan, a x> = y'elsewrite (*, *)' x je pozitivan, ali x Usage Operacijski sustav Unix
    Možete koristiti bilo koju Unix radnu stanicu s F 77 kompilatorom, a iskusni programeri preporučuju korištenje Sunca ili Dec. Program Fortran sastoji se od običnog teksta koji slijedi određena pravila sintakse. To se zove izvorni kod. Programeri koriste editor za pisanje izvornog koda. Najčešći uređivači u Unixu su emacs i vi, ali oni mogu biti komplicirani za početnike. Možete koristiti jednostavniji uređivač, kao što je xedit, koji radi pod X-Windowsima. Nakon što je program Fortran napisan, on se pohranjuje u datoteku s nastavkom .f ili .for i prevodi program u strojno čitljiv oblik. To se radi pomoću posebnog programa koji se naziva prevodilac. Kompajler Fortran 77 obično se naziva f77. Rezultat kompilacije zadan je pomalo tajanstveno ".out" ime, ali možete odabrati drugi naziv ako to trebate. Da biste pokrenuli program, samo unesite naziv izvršne datoteke,na primjer, "a.out". Kompajler prevodi izvorni kod u objektni kod, a linker ili boot loader u izvršnu datoteku. Kao što možete vidjeti, ovaj postupak uopće nije kompliciran i dostupan je svakom korisniku.

    Metode modeliranja proizvodnje

    Modeliranje je jedna od najčešće korištenih metoda proizvodnje i drugih sustava dostupnih u suvremenim poduzećima. Većina simulacijskih modela izgrađena je pomoću objektno orijentiranog programskog jezika Actor Fortran ili pak programskog paketa za simulaciju pisanog na tradicionalnom jeziku. Ovi alati imaju svoja ograničenja. Objektno orijentirana tehnologija sve se više koristi u mnogim područjima i obećava fleksibilniji i učinkovitiji pristup modeliranju poslovnog sustava. Objektno-orijentirani programski jezici Simula Fortran uspoređeni su s uobičajenim znanstvenim programskim jezikom FORTRAN. Tipični vojni simulacijski model programiran je u SIMULA i FORTRAN. Program SIMULA bio je 24% kraći od FORTRAN verzije. SIMULA verzija je također jednostavnija i daje bolju sliku simuliranog modela. S druge strane, vrijeme za izvođenje proizvodnje je 64% više s objektno orijentiranim programskim jezikom Simula Fortran. Vaganje prednosti i mana pokazuje da će SIMULA biti sve profitabilnija, s većim troškovima osoblja i nižim troškovima računala. CUDA pokazuje kako razvojni programeri visokih performansi mogu koristiti mogućnosti grafičkih procesora koristeći Fortran, poznati jezik za znanostizračuni i testirati performanse superračunala. Autori ne predviđaju bilo prethodnog iskustva paralelno računanje i pokriti samo osnove i koristiti najbolje prakse. računanja učinkovitost GPU koriste CUDA Fortran uvjetom meta arhitekture GPU. CUDA Fortran za znanstvenika i inženjera će odrediti intenzitet računalnog koda i promjenu koda za upravljanje podacima paralelizam i optimizaciju performansi. Sve je to učinjeno u „Fortran” bez potrebe za prepisati program u nekom drugom jeziku. Svaki koncept ilustrira konkretne primjere, tako da se odmah može procijeniti učinkovitost koda. Možda jednom globalne korporacije „potpuno globalizirana” i odluči da je „Fortran” više nije potreban, ali ne sada. S obzirom na trenutne mogućnosti moderne Fortran, mnogi programeri i znanstvenici ga vidjeti u budućnosti. Osim toga, proizvođači u svijetu sasvim živi kroz razvoj modernih prevodiocima i dobro zaraditi taj proces.

    Povezane publikacije