Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Gjuha e programimit Fortran. të vdekurit në këmbë

Ministria e Arsimit dhe Shkencës e Federatës Ruse

Universiteti Federal Ural

emëruar pas Presidentit të parë të Rusisë

BAZAT E PROGRAMIMIT

NË GJUHËN FORTRAN

Tutorial

Yekaterinburg

Prezantimi. 3

Referenca e historisë. 5

Struktura e programit .. 8

Dallimet midis Fortran 90 dhe Fortran 77.11

Qasja në burimet kompjuterike. 15

Kryerja e detyrave në një grup. 17

Rishkruani tekstet e programit në server. 17

Kompilimi i programeve. 17

Nisja e programit në llogari. nëntëmbëdhjetë

Llojet e të dhënave. 22

Konstante numër i plotë. 22

Konstante reale. 23

Konstante reale me saktësi të dyfishtë. 23

Konstante komplekse. 23

Konstante komplekse me saktësi të dyfishtë. 24

Konstante Boolean. 24

Tekst konstante. 24

Operatorët e përshkrimit të tipit të të dhënave. 26

INTEGER i tipit integer. 26

SAKTËSI REAL dhe E DYFISHTE e tipit real. 27

Lloji kompleks kompleks dhe KOMPLESI I DYFISH. 28

CHARACTER është një lloj karakteri. 29

LOGJIK tip boolean. 29

DIMENSIONI i vargjeve. tridhjetë

PARAMETRI Atributi .. 32

Llojet e llojeve të të dhënave të integruara. 35

Shprehjet, veprimet dhe detyrat. 36

Shprehjet aritmetike. 36

Shprehje qëndrimi. 37

Shprehjet e Bulit. 38

Rregullat e vlerësimit të shprehjes. 38

Operatorët hyrës/dalës. 39

Operatori i hyrjes së të dhënave .. 39

Deklarata e hyrjes LEXO .. 40

Deklarata e daljes SHKRUAJ. 41

Operatori i konkluzionit është i ndezur Ekrani PRINT. 42

Deklarata e specifikimit të formatit hyrës/dalës (FORMAT) 43

Specifikimet X, T. 43

Specifikimi I 44

Ndarësit. 45

Specifikimi F. 46

Përsëritësit. 49

Specifikimi E. 50

Specifikimi G .. 51

Përshkruesit e të dhënave. 52

Operatorët e gjendjes. 53

Operatori logjik i kushtit. 53

Operatori i kushtëzuar aritmetik. 57

ZGJIDH RASTIN. 60

Operatorët e ciklit. 62

Operatori i ciklit DO .. 62

Operatori i ciklit DO WHILE. 64

Ndaloni operatorin STOP. 65

Deklarata e daljes së qarkut EXIT. 66

Operatorët e tranzicionit. 67

GOTO .. ​​67 bus-word jump operator

Operatori i degës së llogaritur GOTO .. ​​67

Operatori i degës së kushtëzuar IF ... GOTO .. ​​68

Puna me vargje. 69

Hyrja e vargjeve. 69

Shfaqja e vargjeve. 71

Përpunimi i vargjeve. 73

Nënprogramet .. 76

Operatori i funksionit. 78

Funksioni i nënprogramit FUNKSIONI .. 81

Procedura e nënprogramit NËNRUTINA. 83

Punoni me skedarë të jashtëm. 85

Operatori i hapur i skedarit OPEN .. 85

MBYLL deklarata mbyllëse e skedarit. 86

Shembuj të punës me skedarë. 86

Letërsia. 89

Prezantimi

Një tipar karakteristik i kompjuterëve paralelë është aftësia përdorimi i njëkohshëm për përpunimin e informacionit një numër i madh përpunuesit. Aplikimi i multiprocesorit sistemet kompjuterike(MVS) parashtron dy detyra për ndërtimin e algoritmeve paralele: paralelizimin e ekzistuesve algoritme sekuenciale dhe krijimi i algoritmeve të reja me fokus në sistemet paralele të llogaritjes.

Teknologjia më e zakonshme e programimit për kompjuterët paralelë me memorie të shpërndarë është aktualisht MPI. Mënyra kryesore e ndërveprimit të proceseve paralele në sisteme të tilla është kalimi i mesazheve tek njëri-tjetri. Kjo reflektohet në emrin e kësaj teknologjie - Message Passing Interface. Standardi MPI rregullon ndërfaqen që duhet të respektohet si nga sistemi i programimit në secilën platformë kompjuterike ashtu edhe nga përdoruesi kur krijon programet e tyre. Biblioteka e komunikimit MPI është bërë një standard i pranuar përgjithësisht në programimin paralel duke përdorur mekanizmin e kalimit të mesazhit.

Një program MPI është një grup procesesh të pavarura, secila prej të cilave kryen të vetin programin e vet(jo domosdoshmërisht e njëjta) shkruar në C ose FORTRAN. Në FORTRAN, shumica e procedurave MPI janë nënprograme (të quajtura nga Deklarata CALL), dhe kodi i gabimit kthehet përmes një shtesë parametri i fundit procedurat. Disa procedura, të dizajnuara si funksione, nuk kthejnë një kod gabimi. Asnjë rast i rreptë nuk kërkohet në emrat e nënprogrameve dhe konstantave të emërtuara. Vargjet indeksohen nga 1. Objektet MPI, të cilat janë struktura në C, përfaqësohen në FORTRAN si vargje të tipit integer.

IMM është programuar në FORTRAN. Vështirësia kryesore në përdorimin e tij për detyra të mëdha është koordinimi i ndërveprimit të pjesëve të një detyre të madhe. Fortran 90 përfshin mekanizma për ndërveprimin e objekteve në përputhje me teknologjinë e programimit të orientuar nga objekti, të cilat lehtësojnë punën ekipore në projekt i madh... Këto janë module për hartimin e bibliotekave, strukturave dhe llojeve të të dhënave të prejardhura për organizimin e të dhënave komplekse, ky është një shpërndarje dinamike e memories, si dhe një numër mekanizmash për përpunimin e grupeve, duke përfshirë formimin e fetave (seksioneve) të ndryshme. Mundësia e kombinimit në një familje (në gjini) procedura standarde të përpunimit që ndryshojnë në llojet e argumenteve të tyre mund të jetë mjet i dobishëm në një sërë detyrash. Llojet (familjet) e llojeve të të dhënave ju lejojnë të personalizoni lehtësisht zbatimin e një lloji duke marrë parasysh vetitë e harduerit (për shembull, një lloj INTEGER mund të deklarohet i gjatë ose i shkurtër përmes kontrollit të pamjes KIND). Disa rregulla stilimi mund të ndihmojnë në hartimin, për shembull, deklarimi i parametrave të hyrjes, daljes dhe të ndryshueshme të një procedure mund t'ju ndihmojë të gjeni gabimet e ndërveprimit. Rregullat për shkrimin e vetive të të dhënave, komenteve dhe elementeve të tjera e bëjnë më të lehtë leximin e programeve të shkruara, gjë që përshpejton kërkimin e gabimeve.

Referenca e historisë

1954 - IBM, përkthyesi i gjuhës së parë Fortran.

1958 - FortranII.

1962 - FortranIV.

1966 - Fortran 66.

1978 - Fortran 77.

U quajt një modifikim i gjuhës Fortran, i cili u shfaq në 1958 FortranII dhe përmbante konceptin e nënprogrameve dhe variablave të përbashkëta për të ofruar komunikim ndërmjet segmenteve.

Deri në vitin 1962, shfaqja e gjuhës së njohur si Fortran IV... Në vitin 1966 përfundoi zhvillimi i standardit amerikan për gjuhën ANSI (Instituti Kombëtar Amerikan i Standardeve), gjuha quhet Fortran 66... Në 1978, u zhvillua versioni i dytë i standardit ANSI - gjuha Fortran 77 duke përfshirë elementet programimi i strukturuar p.sh., IF e strukturuar, llojet e karaktereve.

Versioni i tretë i standardit ANSI është Fortran 90, realizuar në vitin 1991. Fortran 90është zhvillimi i gjuhës Fortran 77 pra një program i shkruar në Fortran 77, mund të kompilohet dhe të ekzekutohet si program në Fortran 90... Standard Fortran 90 Standard prezanton shumë lehtësira të reja për operacionet në vargje, metoda të reja për specifikimin e saktësisë, format falas Kodi i burimit, rekursioni, vargje dinamike etj.

Programet për gjuha aktuale standarde Fortran 77 mund të kompilohet me sukses nga përpiluesit Fortran 90 pa asnjë ndryshim. Megjithatë, struktura e një programi në gjuhë Fortran 90 mund të ndryshojnë ndjeshëm nga struktura e një programi ekuivalent në Fortran 77... Programuesi duhet të jetë i kujdesshëm që të mos përziejë të dy stilet.

Njëlloj, përpiluesi me Fortran 90 kërkon ofrimin e shpjegimeve për raportimin e disa kodeve të mospërputhjes (mospërputhjes), pra përdorimin e operatorëve ose variablave që lejohen përtej grupit të rregullave jashtë standardit.

Fortran zë vendin e krenarisë midis gjuhët moderne programimit. Është një nga gjuhët e para të programimit nivel të lartë dhe që nga fillimi i tij, ai është projektuar për të zgjidhur probleme komplekse llogaritëse. Fortran fillimisht u prit me skepticizëm midis programuesve të aplikuar, pasi besohej se kostoja e komoditetit të programimit në një gjuhë të nivelit të lartë do të kishte një humbje të konsiderueshme të shpejtësisë llogaritëse. Kur bëhet fjalë për modelimin e proceseve komplekse ose përpunimin e sasive të mëdha të informacionit, shpejtësia llogaritëse është një faktor vendimtar në përcaktimin e zgjedhjes së gjuhës, platformës kompjuterike dhe teknologjisë së programimit.

Midis shkencëtarëve, për shembull, ekziston një thënie e tillë që çdo problem matematike tashmë ka një zgjidhje në FORTRAN, dhe, në të vërtetë, ju mund të gjeni në mesin e mijëra paketave Fortran një paketë për shumëzimin e matricës dhe një paketë për zgjidhjen e ekuacioneve integrale komplekse dhe shumë e shumë të tjera. Një numër i paketave të tilla janë krijuar gjatë dekadave dhe janë të njohura në komunitetin shkencor deri më sot, për shembull - IMSL ( anglisht).

Shumica e këtyre bibliotekave janë në fakt pronë e njerëzimit: ato janë të disponueshme në kodet burimore, të dokumentuara mirë, të korrigjuara dhe shumë efikase. Prandaj, është e kushtueshme ndryshimi, e lëre më rishkrimi i tyre në gjuhë të tjera programimi, pavarësisht se rregullisht bëhen përpjekje për të konvertuar automatikisht kodin FORTRAN në gjuhë programimi moderne.

Modern Fortran (Fortran 95 dhe Fortran 2003) ka fituar veçoritë e nevojshme për programim efektiv për arkitekturat e reja llogaritëse, lejon përdorimin e teknologjive moderne të programimit, në veçanti, OOP.

Evoluimi i standardeve gjuhësore

Fortran është një gjuhë shumë e standardizuar, prandaj është lehtësisht e lëvizshme platforma të ndryshme... Standardet e reja gjuhësore ruajnë në masë të madhe vazhdimësinë me ato më të vjetrat, gjë që lejon përdorimin e kodeve të programeve të shkruara më parë dhe modifikimin e tyre.

FORTRAN 66 (1972) Bazuar në standardin IBM FORTRAN IV FORTRAN 77 (1980) Prezantoi shumë përmirësime: Fortran 90 (1991) Standardi i gjuhës është rishikuar ndjeshëm. Fortran 95 (1997) Korrigjimi i standardit të mëparshëm. Operatori dhe konstrukti FORALL janë prezantuar, duke lejuar më shumë fleksibilitet sesa operatori dhe konstrukti WHERE për të caktuar vargje dhe zëvendësuar unazat e mëdha. FORALL ju lejon të zëvendësoni çdo caktim të seksioneve ose operatorit dhe klauzolës WHERE, në veçanti, ai siguron qasje në diagonalen e matricës. Ky operator konsiderohet premtuese në llogaritjen paralele, duke kontribuar në paralelizimin më efikas se sa unazat. Fortran 2003 (2004) Zhvillimi i mëtejshëm Mbështetje OOP në gjuhë. Ndërveprimi me sistemin operativ. Shtuar gjithashtu mundësitë e mëposhtme: Fortran 2008 (2010) Standardi supozon mbështetje me anë të gjuhës së llogaritjes paralele (Co-Arrays Fortran). Gjithashtu supozohet të rrisë dimensionin maksimal të vargjeve në 15, të shtojë funksione të veçanta matematikore të integruara, etj.

Kompiluesit

Që nga zhvillimi fillestar i gjuhës, përpiluesit Fortran janë prodhuar nga IBM. Aktualisht, IBM furnizon përpiluesin optimizues VS Fortran për kompjuterët kryesorë IBM System z, historia e zhvillimit të versioneve të ndryshme të të cilit daton në vitin 1964, si dhe përpiluesin XL Fortran për platformat e bazuara në arkitekturën PowerPC - AIX, Linux dhe superkompjuteri Blue Gene (një version për Mac OS X kur kompjuterët Macintosh përdornin procesorë PowerPC). Të dy këta përpilues përmbajnë optimizues shumë të sofistikuar që rezultojnë nga vazhdimësia punë shkencore Specialistët e IBM për gjysmë shekulli. Mbi bazën e përpiluesit IBM Fortran XL, Absoft, një partner biznesi i IBM, ka krijuar dhe po jep përpiluesin Absoft Pro Fortran për sistemet e bazuara në PowerPC (Linux, Mac OS X) dhe Intel (Linux, Mac OS X, Windows) përpunuesit.

Fondacioni falas software GNU ka lëshuar një përpilues me burim të hapur Fortran-77 g77, i disponueshëm për pothuajse çdo platformë dhe plotësisht i pajtueshëm me GCC. Tani ai është zëvendësuar nga përpiluesi GFortran, i cili zbaton pothuajse të gjitha konstruksionet e standardit Fortran-95 dhe shumë ndërtime të standardeve Fortran-2003 dhe Fortran-2008. Ai është gjithashtu plotësisht i pajtueshëm me Fortran 77. Ekziston gjithashtu një projekt i pavarur g95 për të krijuar një përpilues Fortran-95 bazuar në GCC.

Karakteristikat dhe struktura e programit

Fortran ka një grup mjaft të madh të integruar funksionet matematikore, mbështet punën me numra të plotë, real dhe numra komplekse saktësi e madhe. Mjetet shprehëse të gjuhës fillimisht ishin shumë të dobëta, pasi Fortran ishte një nga gjuhët e para të nivelit të lartë. Më vonë, shumë ndërtime leksikore tipike për programimin strukturor, funksional dhe madje edhe të orientuar nga objekti u shtuan në Fortran.

Kartë me grushta me shenja kolonash për Fortran.

Struktura e programeve fillimisht u përqendrua në të dhëna nga kartat me grushta dhe kishte një numër karakteristikash të përshtatshme për këtë rast të veçantë. Pra, kolona e parë shërbeu për të shënuar tekstin si koment (simbol C), nga 1 në 5 ishte zona e shenjave, dhe nga 7 në 72 ishte teksti aktual i operatorit ose komenti. Kolonat nga 73 deri në 80 mund të përdoren për numërimin e kartave (për të rivendosur një kuvertë të shpërndarë rastësisht) ose për një koment të shkurtër, ato janë injoruar nga përkthyesi. Nëse teksti i operatorit nuk përshtatet në hapësirën e caktuar (nga kolonat e 7-ta në 72), në kolonën e 6-të të kartës tjetër vendoset një shenjë vazhdimi, dhe më pas operatori vazhdoi në të. Ishte e pamundur të vendoseshin dy ose më shumë operatorë në një linjë (hartë). Ndërsa letrat me grushta hynë në histori, këto virtyte u shndërruan në shqetësime serioze.

Kjo është arsyeja pse në standardin Fortran, duke filluar me Fortran 90, përveç formatit fiks teksti burimor u shfaq një format i lirë, i cili nuk rregullon pozicionin e linjës, dhe gjithashtu ju lejon të shkruani më shumë se një operator për rresht. Prezantimi i formatit të lirë ka lejuar krijimin e kodit, lexueshmëria dhe qartësia e të cilit nuk është inferiore ndaj kodit të krijuar duke përdorur gjuhë të tjera programimi moderne, të tilla si Java.

i sjellshem " kartëvizita"Fortran i vjetër" është një numër i madh etiketash që janë përdorur si në degën e pakushtëzuar GOTO, ashtu edhe në deklaratat e ciklit, dhe në deklaratat që përshkruajnë FORMATin e formatuar të hyrjes / daljes. Numri i madh i etiketave dhe deklaratave GOTO shpesh i bënte programet e Fortran të vështira për t'u kuptuar.

Është kjo përvojë negative që është bërë arsyeja pse në një numër gjuhësh programimi moderne (për shembull, Java), etiketat dhe operatorët e kërcimit të pakushtëzuar të lidhur janë modifikuar shumë.

Sidoqoftë, Fortran-i modern heq qafe tepricën e etiketave për shkak të prezantimit të operatorëve të tillë si DO ... FUND DO, DO WHILE, SELECT CASE. Për më tepër, në standardet moderne gjuhësore, vetëm operator klasik GOTO, e cila përdoret edhe sot në shumë gjuhë. Deklarata e llogaritur GOTO, si dhe konstrukti ENTRY - hyrja e shumëfishtë në procedura janë hequr.

Gjithashtu, veçoritë pozitive të Fortran-it modern përfshijnë nje numer i madh i operacionet e vargjeve të integruara dhe mbështetje fleksibël për vargje me indeksim të pazakontë. Shembull:

Real, dimension (:,:) :: V ... alokoj (V (- 2: 2, 0: 10)) ! Alokimi i memories për një grup, indekset e të cilit mund ! ndryshojnë nga -2 në 2 (indeksi i parë) ! dhe nga 0 në 10 - e dyta... V (2, 2: 3) = V (- 1: 0, 1) ! Rrotulloni një pjesë të një grupi shkruani (*, *) V (1,:) ! Printoni të gjithë elementët e grupit V, indeksi i parë i të cilit është 1. shpërndaj (V)

Përshendetje Botë!

Formati fiks (karakteret "" përdoren për të ndarë hapësirat në pozicionet e rreshtit 1 deri në 6):

␣␣␣␣␣␣PROGRAM përshëndetje ␣␣␣␣␣␣PRINT *, "Përshëndetje, botë!" ␣␣␣␣␣␣FUND

Format falas:

Program hello print *, "Hello, World!" fund

Vërejtje.

  • Deklarata PROGRAM është fakultative. Në mënyrë të rreptë, i vetmi operator i kërkuar i një programi Fortran është Deklarata FUND.
  • Zgjedhja e shkronjave të mëdha ose të vogla për shkrimin e deklaratave të programit është arbitrare. Nga pikëpamja standardet moderne Gjuha Fortran, grupi i shkronjave të mëdha dhe grupi i shkronjave të vogla përkojnë kur shkruajnë operatorët e gjuhës.

Ndërveprimi me gjuhë të tjera

Shumë sisteme programimi lejojnë lidhjen e skedarëve të objekteve të marra si rezultat i përkthimit të një programi Fortran me skedarët e objekteve të marra nga përpilues nga gjuhë të tjera, gjë që bën të mundur krijimin e aplikacioneve më fleksibël dhe shumëfunksionalë. Për gjuhën Fortran, disponohen gjithashtu një numër i madh bibliotekash, që përmbajnë të dyja nënprogramet për zgjidhjen e problemeve klasike llogaritëse (LAPACK, IMSL, BLAS), detyrat për organizimin e llogaritjeve të shpërndara (MPI, pvm) dhe detyrat për ndërtimin e ndërfaqeve grafike (Quickwin, FORTRAN / TK) ose akses në DBMS (Oracle).

Fortran në BRSS

Shënime (redakto)

  1. Shih për shembull: Depoja e Netlib në UTK dhe ORNL
  2. A. M. Gorelik. Evolucioni i gjuhës së programimit Fortran (1957-2007) dhe perspektivat për zhvillimin e saj // Metodat kompjuterike dhe programimi, 2008, V. 9, f. 53-71
  3. Bartenev O.V. Fortran modern. - M .: Dialog MEPhI, 2005. - ISBN 5-86404-113-0
  4. A. M. Gorelik. programimi i orientuar nga objekti në Fortran modern
  5. S. D. Algazin, V. V. Kondrat'ev. Programimi Visual Fortran. - M .: "Dialog MEPhI", 2008. - 448 f. - ISBN 5-8243-0759-8
  6. Gorelik A. M. Lajme
  7. VS FORTRAN
  8. XL Fortran për Linux
  9. Absoft Pro Fortran Compiler Suites Përmbledhje e përgjithshme
  10. Sun Studio - Standarde
  11. Ese nga Alexander Rastorguev mbi shfaqjen e Fortran në Dubna
  12. Historia e grafikës kompjuterike në Rusi

Letërsia

  • Fortran. Manuali i referencës së programuesit. Sistemi i kodimit automatik Fortran për IBM 704 EDPM. - IBM Corp. 1956. - 51 f.
  • ISO / IEC 1539-2: 2000 Teknologjia e informacionit - Gjuhët e programimit - Fortran - Pjesa 2: Vargjet e karaktereve me gjatësi të ndryshme
  • Robert W. Sebesta. 2.3. Kompjuteri IBM 704 dhe gjuha Fortran // Konceptet themelore të gjuhëve të programimit = Konceptet e gjuhëve të programimit / Per. nga anglishtja - Ed. 5. - M .: Williams, 2001 .-- S. 63-69. - 672 s. - 5000 kopje. - ISBN 5-8459-0192-8 (rusisht), ISBN 0-201-75295-6 (anglisht)

Lidhjet

  • gfortran - Përpiluesi Fortran 95/2003/2008, pjesë e Koleksionit të Përpiluesve GNU
  • në Protopedia - Enciklopedia e Gjuhëve të Programimit (Rusisht)

Gjuha e programimit Fortran përdoret kryesisht për llogaritje shkencore. Është shpikur në vitin 1954 gjuha më e vjetër programimi i nivelit të lartë, i ndjekur nga Lisp (1958), Algol (1958) dhe COBOL (1959). Numri i bibliotekave shkencore të shkruara në Fortran dhe krijimi i përkthyesve-përpiluesve të posaçëm lejojnë përdorimin e gjuhës sot. Përveç kësaj, u krijuan kalkulatorë të shumtë për vektorizim, bashkëprocesorë, paralelizëm, të cilët e ndërthurën këtë gjuhë për përdorim në prodhimin industrial. bota moderne.

John Backus, një inxhinier radio IBM, botoi artikuj në vitin 1954 nën titujt "Raporti paraprak", "Specifikimet për Sistemin e Përkthimit të IBM Matmal Transmula", nga të cilat u krijua termi FORTRAN. Pastaj u deshën edhe dy vjet përpjekje nga i gjithë ekipi, të cilin ai e drejtoi, për të shkruar përpiluesin e parë Fortran (25,000 rreshta për IBM 704).

Emri i gjuhës fillimisht ishte i shkruar me shkronja të mëdha FORTRAN dhe u përdor për të treguar versionet e gjuhës deri në Fortran 77, në krahasim me versionet falas sintaksë që nga Fortran 90. Në standardin Fortran 77, shkronjat e vogla nuk janë pjesë e gjuhës, por shumica e përpiluesve i mbështesin ato përveç standardit.

Fortran është gjuha mbizotëruese e programimit që përdoret sot në aplikacionet inxhinierike. Prandaj, është e rëndësishme që inxhinierët e diplomuar të jenë në gjendje të lexojnë dhe modifikojnë kodin Fortran. Herë pas here, të ashtuquajturit ekspertë parashikojnë se gjuha do të humbasë popullaritetin e saj dhe së shpejti do të pushojë së përdoruri fare.

Këto parashikime kanë dështuar gjithmonë. Fortran është gjuha më e fuqishme e programimit kompjuterik në histori. Një nga arsyet kryesore që gjuha e programimit Fortran ka mbijetuar dhe do të mbijetojë është inercia e softuerit. Pasi një kompani ka shpenzuar shumë burime dhe ndoshta miliona dollarë për një produkt softuerësh, nuk ka gjasa që ajo ta përkthejë softuerin në një gjuhë tjetër.

Avantazhi kryesor i Fortran është se ai është i standardizuar nga organet ndërkombëtare ANSI dhe ISO. Prandaj, nëse programi është i shkruar në ANSI, atëherë ai do të funksionojë në çdo kompjuter me një përpilues Fortran 77. informacion i rendesishem... Kështu, programet janë objekt gjuhë e orientuar Programimi Fortran ekziston në të ndryshme pajisje softuerike.

Fazat e krijimit të një platforme gjuhësore:

  1. Në 1954-1957, përpiluesi i parë u zhvillua nga e para. Në ato ditë nuk kishte "gjuhë të nivelit të lartë" (= HLL), shumica e sistemeve operative ishin të thjeshta dhe memoria ishte e vogël, rreth 16 Kb. Përpiluesi i parë funksiononte në IBM 704. Ky HLL ishte shumë më efikas se programimi i montimit dhe shumë popullor në kohën e tij.
  2. FORTRAN II u botua në 1958. Në të njëjtin vit, FORTRAN III u zhvillua, por kurrë nuk u lëshua në prodhim të gjerë.
  3. FORTRAN IV u krijua në 1961. Ai përmbante përmirësime të tilla si zbatimi i deklaratave TË PËRBASHKËT dhe EKUIVALENCA.
  4. Në vitin 1962, ASA filloi zhvillimin e një standardi për gjuhën e programimit të orientuar nga objekti Fortran. Kjo i lejoi shitësit ta përdorte atë në çdo kompjuter të ri. Dhe ky fakt e bëri atë edhe më të njohur HLL, gjuha u bë e disponueshme në Sistemet e Apple dhe TRS80.
  5. Në vitin 1967, u lëshua FORTRAN 66, standardi i parë HLL në botë. Publikimi i standardit nënkuptonte që gjuha ishte më e zbatueshme se çdo tjetër. Nga mesi i viteve 1970, pothuajse çdo kompjuter, mini ose mainframe ishte i pajisur me gjuhën standarde FORTRAN 66. Gjuha e përdorur nëse deklaratat, goto-deklaratat dhe programet spagethi. Ky program i strukturuar u bë i njohur në vitet '60 dhe '70.
  6. Fortran ekzistonte në kartat me grushta, veçanërisht me sistemin FMS, duke optimizuar paraqitjen e burimeve të tij derisa Fortran 90 prezantoi një sintaksë "falas". Në të, kodi i grupit Fortran fillon nga kolona e 7-të dhe nuk duhet të kalojë 72 mijë karaktere.

Duhet gjithashtu të theksohet se përpara Fortran 90, hapësira e bardhë nuk kishte rëndësi midis kolonave të 7-të dhe 72-të. Kështu, cikli "DO I = 1.5" mund të shkruhet edhe "DOI = 1.5". Nga ana tjetër, "DO I = 1.5" është ekuivalente me "DOI = 1.5".

Kode të shumta industriale janë shkruar në Nastran, NAG dhe bibliotekën IMSL-Fortran. Përputhshmëria e versioneve më të reja me versionet e mëparshme është e rëndësishme. Për këtë arsye, Fortran 90 është plotësisht i pajtueshëm me Fortran 77. Megjithatë, versionet e mëposhtme papajtueshmëritë standarde tashmë janë paraqitur.

Së shpejti pasuan gjuhët më të avancuara Fortran 90 dhe Fortran 95, të përditësuara në standardin aktual Fortran-2003. Përkundër faktit se përpiluesit modernë punojnë pafundësisht në të gjitha versionet aktuale të Windows dhe madje mbështesin procesorët 64-bit. Ndërkohë, prodhuesit e kanë njohur trendin e kohës dhe po ofrojnë përpilues për Linux në formën e gjuhës programuese të orientuar drejt objekteve Actor Fortran.

Parakushtet për përdorimin e gjuhës së programimit

Ju duhet të kuptoni se Fortran është ende një gjuhë programimi e përdorur gjerësisht dhe përdoret kryesisht në fushën e zbulimit. Aplikime klasike, të tilla si fizika ose inxhinieria, ku kryhen llogaritje të gjera dhe komplekse matematikore. Bibliotekat e gjera matematikore që ekzistojnë për përpilues të ndryshëm janë shumë të dobishme në to. Për ta përmbledhur, mund të argumentohet se Fortran përdoret ende sot për një numër arsyesh:

  • Biblioteka të shumta funksionale u zhvilluan gjatë viteve.
  • Prania e softuerit në Fortran, e cila kërkon burime shumë të rëndësishme për zhvillim, kur konsiderohet shumë e shtrenjtë për të kaluar në një gjuhë tjetër.
  • Të kesh përpilues të fuqishëm me funksione të integruara Fortran që prodhojnë shumë shpejt skedarë të ekzekutueshëm.
  • Gjuha është më e aksesueshme për një shpikës që nuk kishte një kurs kompjuteri të specializuar.

Shumë programe shkencore janë shkruar tani në C dhe C ++, kompajlerët për të cilët janë të disponueshëm në shumicën e makinave. Gjuhë të tjera të përpiluara ndonjëherë përdoren për llogaritje shkencore, dhe veçanërisht për programe si Scilab ose Matlab. Kjo e fundit përfshin gjithashtu bibliotekat BLAS dhe LAPACK të zhvilluara në Programimi Fortran... Matlab ishte fillimisht një program Fortran i shpërndarë në universitete dhe qendra kërkimore.

Edhe pse Tom Lahey është tani përpiluesi "i vetmi" i përgjithshëm, Lahey Computer Systems vazhdon të përdoret nga shumë programues. Lahey ka disa vite që punon me Fujitsu, Lahey po fokusohet në analizuesin Fortran dhe Fujitsu në gjeneratorin e kodit. Kompleti aktual përpilues për Windows quhet Lahey Fujitsu Fortran 95 (LF95) dhe është i disponueshëm në versione të ndryshme, disa prej të cilave gjithashtu integrohen me Studio pamore.NET 2003.

Ekziston gjithashtu një version i lirë i LF95 Express pa IDE-në e vet. Versioni aktual është 7.1. në Linux thirret nga përpiluesi Lahey / Fujitsu Fortran 95 v6.2 për Linux dhe është i disponueshëm në dy versione të ndryshme. Për shembull, versioni Pro përfshin pajtueshmërinë OpenMP v2.0, një motor grafik të thjeshtë Winteracter Starter Kit, biblioteka e matematikës dhe bibliotekë shkencore Rutinat Fujitsu 2.

Një prodhues tjetër është Absoft. Përpiluesit dhe C ++ ekzistojnë jo vetëm për Windows dhe Linux, por edhe për OS X në Macintosh. Këta përpilues janë me interes për zhvilluesit që kanë nevojë ose duan të mbështesin të tre platformat. Fatkeqësisht Absoft bën dallimin midis versioneve 32- dhe 64-bit për Linux, duke përdorur aktualisht versionin 10.0 të Fortran 95 për Linux 64-bit.

Kompleti përpilues EKOPath është relativisht i ri në treg. Ai përbëhet nga përpiluesit C ++ dhe mjedisi i zhvillimit Fortran për Linux, të cilët janë gjithashtu të disponueshëm veçmas dhe kryesisht synojnë përdoruesit 64-bit AMD. Ai gjithashtu funksionon në Intel EM64T. Gjithashtu, Microsoft dikur u përpoq të gjente një "treg të lirë" për Fortran dhe solli Microsoft Powerstation në treg.

Tregu mund të ketë qenë shumë i vogël për gjigantin e softuerit, por Digital mori një pjesë të kodit në 1997 dhe përdori përvojën e tij me përpiluesit Digital Unix dhe OpenVMS. Ishte lindja e Digital Visual Fortran ende shumë të suksesshme. Në një moment, Digital pastaj u zhvendos në Compaq, përpiluesi u përmirësua në versioni aktual Compaq Visual Fortran (CVF) v6.6.

Përveç platformave "normale" 32-bitësh, ekzistojnë kompajlerë të ndryshëm 64-bitësh, si ata për Intel Itanium dhe Intel EM64T. Megjithëse ato nuk janë "urgjente" për qëllimin e dorëzimit, ato janë të disponueshme për shkarkim falas përmes sistemit të internetit. Mbështetje Intel Kryeministri.

Pas një regjistrimi një herë, disi të rëndë, mund ta përdorni për një vit, me përditësime të reja çdo disa javë. Edhe versionet më të vjetra do të mbeten të disponueshme.

Një program Fortran është një sekuencë rreshtash teksti. Teksti duhet të ndjekë një sintaksë specifike. Për shembull: një rreth me rreze r, zona c.

Ky program lexon rreze reale dhe përcakton sipërfaqen e një rrethi me rreze r:

"Rrezja r:" lexo (*, *) r;

zona = 3,14159 * r * r;

shkruani (*, *) "Zona =";

Rreshtat që fillojnë me "C" janë komente dhe nuk kanë qëllim tjetër veçse ta bëjnë programin më të lexueshëm për njerëzit. Fillimisht, të gjitha programet e Fortran ishin shkruar me shkronja të mëdha. Shumica e programuesve tani shkruajnë shkronja të vogla pasi janë më të lexueshme.

Një program Fortran zakonisht përbëhet nga një program ose drejtues kryesor dhe disa nënprograme, procedura ose nënprograme. Struktura kryesore e programit:

  • emri i programit;
  • deklaratat;
  • deklarata;
  • ndalesë;
  • fund.

Teksti i pjerrët nuk duhet të merret si tekst fjalë për fjalë, por më tepër si përshkrim i përgjithshëm... Deklarata stop është opsionale dhe mund të duket e tepërt, pasi programi gjithsesi do të ndalojë kur të arrijë në fund, por rekomandohet që gjithmonë të ndërpritet programi me një deklaratë stop për të theksuar se filli i ekzekutimit është përfunduar.

Rregullat e pozicionit të kolonës

Fortran 77 nuk është një gjuhë me format të lirë, por ka një grup rregullash shumë strikte për formatimin e kodit burimor. Shumica rregulla të rëndësishme janë rregullat e paraqitjes së kolonës:

  • Kol. 1: Bosh ose "c" ose "*" për komentet.
  • Kol. 2-5: etiketa e operatorit.
  • Kol. 6: vazhdoi rreshti i mëparshëm.
  • Kol. 7-72: deklaratë.
  • Kol. 73- 80: Numri i sekuencës.

Një rresht Fortran që fillon me shkronjën "c" ose një yll në kolonën e parë është një koment. Komentet mund të shfaqen kudo në program. Të shkruara mirë, ato janë kritike për lexueshmërinë e një programi. Kodet komerciale Fortran shpesh përmban rreth 50% të komenteve. Mund të hasni edhe programe që përdorin Pikëçuditje(!). Kjo është shumë jo standarde në Fortran 77, por lejohet në Fortran 90.

Pikëçuditja mund të shfaqet kudo në rresht. Ndonjëherë deklarata nuk përshtatet në një rresht, atëherë mund ta ndani deklaratën në dy ose më shumë rreshta dhe të përdorni një karakter vazhdimi në pozicion.

  1. C23456789 - Kjo tregon pozicionin e kolonës.
  2. "C" - operatori tjetër kalon në dy zona linjat fizike.
  3. Sipërfaqja = 3,14159265358979+ * r * r.

Hapësirat boshe injorohen duke filluar me Fortran 77. Prandaj, nëse hiqni të gjithë hapësirën e bardhë në Fortran 77, programi është ende i saktë sintaksorisht, megjithëse pothuajse i palexueshëm për operatorët.

Emrat e variablave në Fortran janë 1-6 karaktere të zgjedhura nga shkronjat a-z dhe numrat 0-9. Karakteri i parë duhet të jetë një shkronjë. Fortran 90 lejon emrat e variablave me gjatësi arbitrare. Fortran 77 nuk bën dallim midis majës dhe shkronja të vogla, në fakt, supozon se të gjitha hyrjet janë të mëdha. Sidoqoftë, pothuajse të gjithë përpiluesit e F 77 do të pranojnë shkronja të vogla. Çdo variabël duhet të përcaktohet në deklaratë. Kjo përcakton llojin e ndryshores. Listat më të zakonshme të variablave janë:

  • numër i plotë;
  • reale;
  • saktësi e dyfishtë;
  • komplekse;
  • logjike;
  • karakter.

Lista e variablave duhet të jetë e ndarë me presje me emra. Çdo variabël duhet të deklarohet saktësisht një herë. Nëse ndryshorja nuk deklarohet, F 77 përdor një grup rregullash të nënkuptuara për të përcaktuar llojin. Kjo do të thotë që të gjitha variablat që fillojnë me shkronjat "in" janë numra të plotë dhe të gjithë të tjerët janë realë. Shumë programe më të vjetra F 77 përdorin këto rregulla të nënkuptuara, por programuesit nuk duhet ta bëjnë këtë, pasi gjasat e gabimeve të programit rriten në mënyrë dramatike nëse deklarojnë variabla në mënyrë jokonsistente.

Fortran 77 ka vetëm një lloj për variablat e plotë. Numrat e plotë zakonisht ruhen si variabla 32-bit (4 byte). Prandaj, të gjitha variablat e numrave të plotë duhet të marrin vlera në intervalin [-m, m], ku m është afërsisht 2 * 10 9.

F 77 ka dy tipe te ndryshme për variablat me pikë lundruese të quajtura saktësi reale e dyfishtë. Disa llogaritje numerike kërkojnë saktësi shumë të lartë dhe duhet përdorur saktësi e dyfishtë. Zakonisht real është një variabël 4 bajt dhe saktësia e dyfishtë është 8 bajt, por kjo varet nga makina.

Versionet jostandarde të Fortran përdorin sintaksën reale * 8 për të treguar variabla me pikë lundruese 8 bajt. Disa konstante shfaqen shumë herë në program. Prandaj, këshillohet që ato të përcaktohen vetëm një herë, në fillim të programit. Operatori i parametrave përdoret për këtë. Gjithashtu i bën programet më të lexueshme. Për shembull, një program për zonën e një rrethi duhet të shkruhet kështu.

Sintaksa e operatorit të parametrave (emri = konstante, ..., emri = konstante). Rregullat për operatorin e parametrave:

  1. Një "ndryshore" e përcaktuar në një deklaratë parametri nuk është një ndryshore, por një konstante vlera e së cilës nuk mund të ndryshojë kurrë.
  2. "Variable" mund të shfaqë më së shumti një operator parametri.
  3. Parametri i operatorit duhet të vijë përpara operatorit të parë të ekzekutueshëm

Disa arsye të mira për të përdorur një parametër - ndihmon në uljen e numrit të gabimeve, është e lehtë të ndryshosh një konstante që shfaqet shumë herë në një program.

Shprehjet Boolean mund të kenë vetëm vlerën .TRUE. ose .FALSE. dhe mund të gjenerohet duke krahasuar duke përdorur operatorë relacionalë.

Ju nuk mund të përdorni simbole të tilla si "<» или «=» для сравнения в F 77, но можно использовать правильную двухбуквенную аббревиатуру, заключенную точками. Однако такие символы разрешены в Fortran 90.

Shprehjet Boolean mund të kombinohen me operatorët logjikë "AND", "OR", "NOT", të cilët kanë një kuptim të qartë. Vlerat e së vërtetës mund të ruhen në variablat boolean. Detyra është e njëjtë me detyrën aritmetike.

Shembull: logjik a, ba = .E VËRTETË.b = a .DHE. 3 .LT. 5/2

Rendi i përparësisë është shumë i rëndësishëm. Rregulli është që shprehjet aritmetike vlerësohen së pari, pastaj operatorët relacionalë dhe në fund operatorët logjikë. Prandaj, b do të caktohet .FALSE. Në shembullin e mësipërm, boolean-et përdoren rrallë në Fortran, por ato shpesh përdoren në deklarata të kushtëzuara, siç është deklarata "if".

Konstante dhe detyrë

Forma më e thjeshtë e të shprehurit është konstante. Ekzistojnë 6 lloje konstantesh që korrespondojnë me 6 lloje të dhënash. Këtu janë disa konstante të numrave të plotë: 10-10032767 + 15

Konstantet reale: 1.0-0.252.0E63.333E-1.

Shënimi E do të thotë që ju duhet të shumëzoni konstanten me 10, të ngritur në fuqi pas "E". Prandaj, 2.0E6 është dy milionë dhe 3.333E-1 është rreth një e treta për konstante që janë më të mëdha se realja më e madhe e lejuar ose që kërkojnë saktësi të lartë, duhet përdorur saktësi e dyfishtë. Shënimi është i njëjtë si për konstantet reale, vetëm se "E" zëvendësohet me "D".

Shembull: 2.0D-11D99.

Këtu 2.0D-1 përfaqëson saktësi të dyfishtë me një të pestën, ndërsa 1D99 është një e ndjekur nga 99 zero.

Lloji tjetër janë konstantet komplekse. Ato shënohen me një palë konstante (numër të plotë ose real) të ndara me presje dhe të mbyllura në kllapa.

Shembuj janë: (2, -3) (1.9.9E-1). Numri i parë tregon pjesën reale dhe i dyti pjesën imagjinare.

Lloji i pestë janë konstantet boolean. Ato mund të kenë vetëm një nga dy kuptimet:

Vini re se pikat që përmbajnë shkronja duhet të shkruhen.

Lloji i fundit është konstantet e karakterit. Ato përdoren më shpesh në formën e një grupi karakteresh të quajtur varg. Ato përbëhen nga një sekuencë arbitrare e karaktereve të mbyllura në apostrofa (citate të vetme):

"Çdo gjë shkon!"

"Është një ditë e bukur"

Konstantet e vargut dhe të karakterit janë të ndjeshme ndaj shkronjave të vogla. Problemi lind kur duhet të keni një apostrof të vërtetë në vetë vargun. Në këtë rast, duhet të dyfishoni apostrofin: "Është një ditë e bukur", që do të thotë "Çfarë dite e mrekullueshme".

Deklaratat e kushtëzuara janë komponentë thelbësorë të çdo gjuhe programimi. Deklarata e tillë më e zakonshme në Fortran është deklarata "nëse", e cila në fakt merr disa forma.

Më e thjeshta është shprehja logjike "nëse" në përshkrimin Fortran: if (shprehje logjike) deklaratë e ekzekutueshme.

Kjo duhet të shkruhet në një rresht, për shembull, kur përcaktoni vlerën absolute të x:

nëse (x .LT. 0) x = -x

Nëse më shumë se një deklaratë do të ekzekutohet në një "if" atëherë duhet të përdoret sintaksa e mëposhtme: if (shprehje logjike) thenstatementsendif.

Rrjedha e ekzekutimit është nga lart poshtë. Shprehjet e kushtëzuara vlerësohen në mënyrë sekuenciale derisa të gjendet një vlerë e vërtetë. Pastaj ekzekutohet kodi përkatës dhe kontrolli kalon në deklaratën tjetër pas përfundimit "if".

Nëse deklaratat mund të vendosen në nivele të shumta. Është e rëndësishme të përdoret dhëmbëzimi i duhur për të siguruar lexueshmëri. Ja një shembull:

nëse (x.< y"endifelseif (x .LT. 0) thenwrite(*,*) "x is negative"elsewrite(*,*) "x is zero"endif

Programuesit duhet të shmangin futjen e shumë niveleve të deklaratave if, pasi do të jetë e vështirë për t'u ndjekur.

Mund të përdoret çdo stacion pune Unix me përpiluesin F 77. Programuesit me përvojë rekomandojnë përdorimin e Sun ose Dec.

Një program Fortran përbëhet nga tekst i thjeshtë që ndjek disa rregulla sintaksore. Ky quhet kod burim. Programuesit përdorin një redaktues për të shkruar kodin burimor. Redaktorët më të zakonshëm në Unix janë emacs dhe vi, por ato mund të jenë paksa të ndërlikuara për përdoruesit fillestarë. Ju mund të përdorni një redaktues më të thjeshtë si xedit, i cili funksionon nën dritaret X.

Pasi të shkruhet një program Fortran, ai ruhet në një skedar me ekstensionin ".f" ose ".for" dhe programi përkthehet në formë të lexueshme nga makina. Kjo bëhet duke përdorur një program të veçantë të quajtur përpilues. Përpiluesi Fortran 77 zakonisht quhet f77. Rezultatit të përpilimit i jepet emri disi i fshehtë "a.out" si parazgjedhje, por ju mund të zgjidhni një emër tjetër nëse kërkohet. Për të ekzekutuar programin, thjesht shkruani emrin e skedarit të ekzekutueshëm, për shembull, "a.out". Përpiluesi e përkthen kodin burim në kod objekti, dhe lidhësin ose ngarkuesin në skedarin e ekzekutueshëm. Siç mund ta shihni, kjo procedurë nuk është aspak e ndërlikuar dhe është e disponueshme për çdo përdorues.

Simulimi është një nga metodat më të përdorura të prodhimit dhe sistemet e tjera të disponueshme në fabrikat moderne. Shumica e modeleve të simulimit janë ndërtuar duke përdorur gjuhën e programimit të orientuar nga objekti Actor Fortran, ose një paketë softuerësh simulimi të shkruar në një gjuhë tradicionale. Këto mjete kanë kufizimet e tyre. Teknologjia e orientuar nga objekti ka treguar përdorim në rritje në shumë fusha dhe mban premtimin për një qasje më fleksibël dhe efikase për modelimin e sistemeve të biznesit.

Programimi Simula Fortran krahasohet me një gjuhë të zakonshme programimi shkencor të quajtur FORTRAN. Një model tipik simulimi ushtarak është programuar si në SIMULA ashtu edhe në FORTRAN. Programi SIMULA doli të ishte 24% më i shkurtër se versioni FORTRAN.

Versioni SIMULA është gjithashtu më i thjeshtë dhe jep një pamje më të mirë të modelit të simuluar. Nga ana tjetër, koha e ekzekutimit për ekzekutimet e prodhimit është 64% më e gjatë me gjuhën e programimit të orientuar drejt objektit Simula Fortran. Peshimi i të mirat dhe të këqijat tregon se SIMULA do të jetë softuer gjithnjë e më fitimprurës, me kosto më të larta personeli dhe kosto më të ulëta kompjuteri.

CUDA tregon se si zhvilluesit e aplikacioneve me performancë të lartë mund të shfrytëzojnë fuqinë e GPU-ve duke përdorur Fortran, një gjuhë e njohur për llogaritjen shkencore dhe testimin e performancës së superkompjuterëve. Autorët nuk supozojnë ndonjë përvojë të mëparshme me llogaritjen paralele dhe mbulojnë vetëm bazat dhe përdorin praktikat më të mira. Efikasiteti llogaritës i GPU-ve që përdorin CUDA Fortran sigurohet nga arkitektura e synuar GPU.

CUDA Fortran për Shkencëtarët dhe Inxhinierët do të përcaktojë pjesë kodi intensive llogaritëse dhe do të modifikojë kodin për menaxhimin e të dhënave, harmonizimin dhe optimizimin e performancës. E gjithë kjo bëhet në Fortran, pa pasur nevojë të rishkruhet programi në një gjuhë tjetër. Çdo koncept ilustrohet me shembuj aktualë, kështu që ju mund të vlerësoni menjëherë performancën e kodit tuaj.

Ndoshta një ditë një korporatë globale do të "globalizohet përfundimisht" dhe do të vendosë që Fortran nuk është më i nevojshëm, por jo tani. Falë aftësive aktuale të Fortran-it modern, shumë programues dhe shkencëtarë shohin të ardhmen pas tij. Për më tepër, ka mjaft prodhues në botë që jetojnë nga zhvillimi i përpiluesve modernë dhe fitojnë para të mira në këtë proces.

Unë u shtyva të përpiqem të shkruaj postimin tim të parë këtu, ku vt4a2h sugjeron përdorimin e C ++ për të mësuar. Po, shumë kopje janë thyer për këtë temë.

Unë, si ndoshta shumica e nxënësve të shkollës në pafundësinë e Atdheut tonë të gjerë, fillova të kuptoj bazat përmes ekranit blu, por jo vdekjen, por Turbo Pascal 7.0. Kishte, natyrisht, Basic, të cilin e takova për herë të parë në moshën parashkollore në kompjuterin sovjetik "Elektronika". Më pas ai dukej si një redaktues i çuditshëm teksti, sepse kompjuteri ishte krijuar për lojëra me sytë e një fëmije. Sidoqoftë, tashmë në institut u njoha me gjuhën Fortran, pasi mësova të cilën, ende pyes veten pse nuk përdoret për mësimdhënie.

Po, shumë do të thonë se gjuha ka vdekur, nuk korrespondon me realitetet moderne dhe tekstet shkollore me titullin, si në foto, shkaktojnë vetëm një buzëqeshje. Do të përpiqem të shpjegoj pse kjo gjuhë është kaq e mrekullueshme dhe pse e rekomandoj atë si gjuhë të parë. Nëse jeni të interesuar, mirëpriteni nën mace.

Unë besoj se bazat për bazat e programimit duhet të vendosen në vitet e shkollës, të paktën në shkollën e mesme. Edhe nëse në jetë një kompjuter do të përdoret vetëm për të shtypur në Word ose për të komunikuar në rrjetet sociale, njohuritë minimale se çfarë është një algoritëm dhe si të strukturohet një sekuencë veprimesh për të marrë rezultatin e dëshiruar, të paktën nuk do të dëmtojë një adoleshent të ri. një jetë të rritur dhe ka shumë të ngjarë të ndihmojë në formimin e një mendësie të veçantë.

Në mënyrë që mësimet e informatikës të jenë gëzim dhe jo të ëndërrojnë në ankthe, studenti duhet të kuptojë se çfarë po bën, si e bën dhe pse rezulton kështu dhe jo ndryshe. Në fund të fundit, në fakt, ju duhet të përcillni saktë informacionin në lidhje me lakin dhe operatorin e kushtëzuar, në mënyrë që një person të mund të shkruajë programe vetë. Për më tepër, sa më e thjeshtë të jetë sintaksa e gjuhës, aq më e lehtë është të kuptosh logjikën e shkrimit të kodit. Nëse një person mëson të kompozojë algoritmin e saktë, atëherë për programim në gjuhë të tjera, ai vetëm duhet të mësojë sintaksën e kësaj gjuhe, dhe baza tashmë do të vendoset.

Pse Fortran është kaq i mrekullueshëm?

Le t'i drejtohemi historisë së krijimit të kësaj gjuhe. U shfaq në vitet e largëta të 50-ta të shekullit të kaluar, kur kompjuterët ishin ende të mëdhenj, kishte pak programues dhe shkenca kompjuterike nuk mësohej në shkollë dhe në përgjithësi konsiderohej një pseudoshkencë. Ajo që duhej ishte një gjuhë e thjeshtë që do t'i ndihmonte inxhinierët dhe shkencëtarët të "ushqenin" formulat e shkruara në letër në kompjuterë, madje edhe përmes kartave të grushta.

Prandaj emri i vetë gjuhës: Për mula Tran slator ose "përkthyes i formulave". ato. fillimisht, gjuha u drejtohej njerëzve pa trajnim të veçantë, që do të thotë se duhej të ishte sa më e thjeshtë.

Epo, krijuesit ia dolën me thjeshtësi. Programi i parë klasik duket si ky:

Programi hw shkruani (*, *) "Përshëndetje, Botë!" fund
Sintaksa është edhe pak më e thjeshtë se Pascal, nuk ka nevojë të vendoset në fund të rreshtit " ; "ose" : “përpara shenjës së barazisë. Për më tepër, personat me njohuri minimale të gjuhës angleze nuk do ta kenë të vështirë të kuptojnë kuptimin e programit më të thjeshtë.

Këtu dua të vërej se Fortran ka disa rishikime të standardeve, kryesore prej të cilave janë 77 dhe 90 (duke ruajtur vazhdimësinë). Fortran është vërtet arkaik, ka një kufi në gjatësinë e rreshtit dhe është e nevojshme të futet në fillim rreshti, gjë që mund t'i japë një kandidati të ri programues një tronditje kulturore. Jo pa arsye programet e shkruara në Fortran 77 morën nga miku im emrin e madh "Brezhnev Code". Prandaj, i gjithë teksti im i referohet standardit gjuhësor 90 e më të ri.

Si shembull, unë do të jap një kod për llogaritjen e shumës së numrave të plotë jo negativë nga 1 në n, të futur nga tastiera, të shkruar nga studentja ime e diplomuar duke i mësuar programimin e saj nga e para. Aty përjetova mësimin e Fortran-it si gjuhën time të parë. Shpresoj se kjo ishte e mirë për të dhe se eksperimenti im ishte një sukses. Të paktën ajo mësoi bazat në disa mësime, e para prej të cilave u shpenzua në një leksion për gjuhën.

Programi chisla implicit asnjë! Variablat numër i plotë n, i, s! Trupi i chisla s = 0 shkruani (*, *) "Enter n" lexo (*, *) n nëse (n.le.0) atëherë shkruani (*, *) "Negative ose zero" përndryshe bëni i = 1, ns = s + i fundi do të shkruaj (*, *) "Sum =", s fund nëse fund
Siç mund ta shihni, ne e shkruajmë kodin ashtu siç mendojmë. Në parim, praktikanti nuk mund të ketë vështirësi. Sigurisht, lexuesi i vëmendshëm do të pyesë se çfarë është e nënkuptuar asnjë dhe dy yje në kllapa të ndara me presje. Asnjë e nënkuptuar nuk na thotë se ne po specifikojmë në mënyrë eksplicite llojin e variablave, ndërsa pa këtë hyrje, përpiluesi do të gjejë vetë llojin. Ylli i parë do të thotë që hyrja dhe dalja po ndodh në ekran, dhe e dyta do të thotë që formati I/O zbulohet automatikisht. Në fakt, një program Fortran nuk duket më i komplikuar sesa një pjesë e kodit të shkruar më sipër.

Po në lidhje me mjedisin e softuerit?

Në shkolla dhe në çdo institucion qeveritar, shpesh lind pyetja për softuerin, veçanërisht për licencimin e tij. Sepse paratë për këto nevoja nuk ndahen veçanërisht. Të paktën në kohën time ka pasur një problem me këtë, ndoshta tani situata ka ndryshuar për mirë.

Çdo redaktues teksti është i përshtatshëm për të shkruar programe Fortran. Nëse dëshironi të theksoni sintaksën, mund të përdorni Notepad ++ (mbështet sintaksë vetëm 77 standarde) ose SublimeText. Programi u shkrua, me çfarë do të përpilojmë? Është e thjeshtë, ju mund të përdorni GNU Fotran falas. Nëse përdorimi është planifikuar për përdorim jo komercial, atëherë lejohet të synohet përpiluesi nga Intel, i cili është i optimizuar mirë për procesorët me të njëjtin emër dhe vjen me minimumin IDE të kërkuar. ato. pragu i hyrjes është shumë preferencial.

Sipas shumë përdoruesve, mjedisi më i mirë i zhvillimit për Fortran mbetet Compaq Visual Fortran 6.6, versioni i fundit i të cilit u lëshua në fillim të viteve 2000. Pse ndodhi që mjedisi i bazuar në Visual Studio 6.0, i cili pa kërcyer me dajre niset më së shumti në Windows XP 32 bit, dhe ka një kufizim në memorien e përdorur, ka fituar kaq popullaritet në mesin e fortrans. Përgjigja është paraqitur në figurën më poshtë.

Ky është Compaq Array Visualizer, i cili është një mjet shumë i përshtatshëm për vizualizimin e grupeve 1, 2 dhe 3-dimensionale në procesin e korrigjimit të një programi direkt nga korrigjuesi. Siç thonë ata, pasi e kam provuar një herë, e ha tani. Fakti është se Fortran tani përdoret kryesisht në shkencë (që do të diskutohet më vonë), veçanërisht në fushën me të cilën po merrem, përkatësisht, në fizikën atmosferike. Gjatë korrigjimit të programeve, grupet përfaqësojnë fusha të ndryshme meteorologjike si temperatura, presioni, shpejtësia e erës. Është shumë më e lehtë të kërkosh për një gabim në fushat grafike sesa në një grup numrash, veçanërisht pasi zakonisht e di se si duhet të duket fusha përafërsisht, kështu që gabimet e dukshme ndërpriten menjëherë.

Fatkeqësisht, e gjithë puna e përpiluesit kaloi nga Compaq në Intel. Intel fillimisht mbështeti Array Visualizer, megjithëse ato versione ishin tashmë një pasqyrim i zbehtë i produktit Compaq, nuk ishte aq i përshtatshëm për të punuar me ta si më parë, por të paktën performanca minimale u mbështet. Mjerisht, Intel ndaloi së zhvilluari versione të reja të Array Visualizer, duke hequr dorë nga ky mjet më i përshtatshëm. Kjo është arsyeja pse komuniteti Fortran në pjesën më të madhe i shkruan programet dhe i korrigjon ato nën Compaq Visual Fortran në Windows dhe nis llogaritjet luftarake në serverët nën Linux duke përdorur përpiluesit Intel Intel, ju lutemi dëgjoni lutjet e përdoruesve, ktheni një mjet normal të paraqitjes së grupeve në korrigjuesin tuaj!

Vendi i Fortran në botën moderne

Dhe tani kemi ardhur te pikërisht tema që zakonisht shkakton një diskutim të nxehtë me kolegët e mi duke përdorur Matlab, të cilët argumentojnë se gjuha e rrallë e përshkruar në këtë postim është e padobishme për asgjë. Këtu nuk jam dakord me ta. Fakti është se Fortran është përdorur historikisht në llogaritjet inxhinierike ose shkencore, dhe për këtë arsye, me kalimin e kohës, ai ka fituar shumë biblioteka të gatshme dhe kode programi për zgjidhjen e një problemi të veçantë.

Kodi është përcjellë fjalë për fjalë nga brezi në brez dhe madje është i dokumentuar mirë. Mund të gjeni shumë zgjidhje të gatshme për ekuacionet e fizikës matematikore, algjebrën lineare (këtu duhet të theksojmë zbatimin e suksesshëm të punës me matricat), ekuacionet integrale dhe diferenciale dhe shumë, shumë më tepër. Ndoshta është e vështirë të gjesh një problem nga fusha e fizikës dhe matematikës, për të cilën nuk do të ishte zbatuar një algoritëm në gjuhën Fortran. Dhe nëse marrim parasysh optimizimin e shkëlqyer të përpiluesve Intel për procesorët Intel, mbështetjen për llogaritjen paralele në grupe me performancë të lartë, atëherë bëhet e qartë pse kjo gjuhë zë një vend të parë të merituar në komunitetin shkencor. Unë mendoj se mund të gjeni një përpilues Fortran të instaluar në çdo superkompjuter.

Shumica e modeleve serioze, të paktën në fushën e fizikës atmosferike, janë shkruar në Fortran. Po, po, parashikimi i motit, për të cilin të gjithë janë të interesuar herë pas here, merret gjatë përllogaritjeve të modeleve të shkruara në këtë gjuhë. Për më tepër, gjuha nuk është në stagnim, por vazhdimisht po përmirësohet. Pra, pas standardeve 77 dhe 90 të përshkruara më herët, u shfaqën botimet e reja 95, 2003, 2008, mbështetja e të cilave u fut në përpiluesit aktualë. Versionet e fundit të Fortran kanë rifreskuar disi gjuhën e vjetër të testuar me kohë, duke shtuar mbështetje për stilin modern, duke shtuar programimin e orientuar drejt objekteve, mungesa e të cilit ishte pothuajse atuti kryesor i kundërshtarëve të kësaj gjuhe. Për më tepër, Grupi Portland lëshoi ​​​​përpiluesin PGI CUDA Fortran, i cili lejon llogaritjet shumë paralele në kartat video. Kështu, pacienti është më se i gjallë, që do të thotë se programuesit e Fortran mbeten të kërkuar deri më tani.

Në vend të një pasthënieje

Dhe tani do të doja të kthehesha në temën e ngritur fillimisht të mësimdhënies së programimit dhe të përpiqem të përmbledh avantazhet kryesore të Fortran kur e zgjedh atë si gjuhë të parë.
  • Fortran është shumë i lehtë për t'u mësuar, sintaksa është e kuptueshme për një person të patrajnuar. Pasi të keni mësuar bazat, është e lehtë të rimësoni çdo gjuhë tjetër.
  • Një grup pa pagesë mjetesh ju lejon të mos merrni pyetje të panevojshme nga mbajtësit e të drejtave të autorit.
  • Gjuha është e njohur për mësuesit, pasi ekziston për një kohë të gjatë, dhe mësuesit tanë janë kryesisht përfaqësues të brezit të vjetër.
  • Ai shpërndahet gjerësisht në mbarë botën dhe është një thesar i të gjitha llojeve të bibliotekave.
  • I standardizuar, ndër-platformë dhe i pajtueshëm me prapavijë.
  • Është i dobishëm për studentët e specialiteteve teknike dhe veçanërisht të fizikës dhe matematikës, për shkak të orientimit drejt llogaritjeve shkencore dhe inxhinierike.
  • Është e rëndësishme dhe e kërkuar deri më sot.
Pra, pse jo Fortran? * "PC Magjike" 2000 №6 (28), f. 49–50.

Në vitin 1955, u lëshua gjuha e parë algoritmike e nivelit të lartë FORTRAN(FORmula TRANSlator - përkthyes i formulave). Ai u përdor kryesisht për zgjidhjen e problemeve shkencore, teknike dhe inxhinierike dhe u zhvillua nga punonjësit e IBM nën udhëheqjen e John Backus... Pak më vonë, në 1957, John Backus dhe bashkëpunëtorët e tij instaluan përpiluesin e parë Fortran në IBM (Bestinghouse). Programuesit që më parë punonin ekskluzivisht në Assembler ishin skeptikë në lidhje me aftësitë e një gjuhe të nivelit të lartë me performancë të lartë, kështu që kriteri kryesor për zhvillimin e standardeve Fortran dhe krijimin e kompajlerëve nga kjo gjuhë ishte efikasiteti i kodit të ekzekutueshëm. Meqë ra fjala, termi "përpilues" nuk përdorej gjerësisht në atë kohë, megjithëse Grace Hopper, admiralja e vetme femër në Shtetet e Bashkuara, e cila quhej gjithashtu "zonja e parë e programimit dhe gjyshja e Cobolit", ishte tashmë. prezantuar.
Shumica e operatorëve Fortran u përkthyen drejtpërdrejt në një ose dy instruksione makinerie, ndërtime të thjeshta sintaksore dhe përdorimi aktiv i etiketave dhe goto bënë të mundur marrjen e kodit shumë të shpejtë, dhe si rezultat, programet Fortran ndonjëherë funksiononin më shpejt se programet asembler. Struktura e brendshme e programit të përkthyer ishte gjithashtu shumë e thjeshtë - i gjithë kodi, të gjitha nënprogramet dhe të gjitha të dhënat, së bashku me bllokun e përbashkët, ndodheshin ekskluzivisht në memorien statike, gjë që, megjithatë, e bëri të pamundur përdorimin e rekursionit.
Për shkak se Fortran ishte gjuha e parë e nivelit të lartë që plotësonte nevojat e shumicës së përdoruesve në atë kohë dhe e lehtë për t'u mësuar, ajo u përhap shumë shpejt.
Për shkak të shpërndarjes së gjerë të kësaj gjuhe dhe shfaqjes së shumë programeve Fortran (kryesisht të natyrës llogaritëse), çështja e standardizimit të saj është bërë urgjente. Në fillim ishte standardi Fortran IV 1964, më pas, me shfaqjen e ideve të reja, një standard i ri u miratua në 1978 Fortran 77(f77) me zgjerime sintaksore më moderne dhe fleksibël. Sot, variantet më të zakonshme të Fortran janë Fortran 90(f90) dhe Fortran 95... Një grup entuziastësh janë duke përfunduar punën për një super version të gjuhës F2k, i cili do të publikohet në fund të këtij viti.
Megjithëse versionet e reja të gjuhës ndonjëherë u bënë shtesa të panevojshme (për shembull, shtesa të lidhura me shpërndarjen dinamike të memories) dhe të dobishme, si organizimi modular i programit, puna me pjesë të grupeve etj., sot kjo gjuhë nuk mund të quhet premtuese për studim, pasi sintaksa e tij është dukshëm e vjetëruar.
Sidoqoftë, për ata që shpesh duhet të zgjidhin probleme të ndryshme llogaritëse, nuk është aspak e nevojshme të marrin një libër matematike dhe të "fillojnë nga e para" çdo herë. Në 90% të rasteve të tilla, ajo që ju kërkoni është zbatuar dhe korrigjuar prej kohësh në Fortran. Prandaj, ka shumë të ngjarë, jeta e Fortran është e siguruar për një kohë të gjatë.
Ekziston një vend tjetër, relativisht i ri për Fortran - llogaritja paralele, ku semantika strikte e gjuhës ju lejon të merrni programe me performancë të lartë. Zakonisht përdoret standardi f90, pak i zgjeruar me një grup operatorësh për të treguar pjesë të programit të përshtatshme për paralelizim. Paralel Fortran ka standardin e vet HPF(Fortran me performancë të lartë). Sidoqoftë, fansat e Fortran, motoja e të cilëve u bë fraza legjendare "Pse duhet të mësoj gjuhë të tjera kur mund të shkruaj gjithçka në Fortran", ndjenë papërshtatshmërinë e tij të dukshme për projekte në shkallë të gjerë për shkak të lidhjes së saj me sintaksën e viteve '50, dhe u përpoq të fuste në të ide të modës OOP, por objekti Fortran si standard nuk u shfaq kurrë.
Ndër versionet freeware të Fortran, më i famshmi është f2c, i cili zbatohet për të gjitha sistemet UNIX dhe konverton tekstin e një programi Fortran në kodin C. Për DOS, ekziston një version falas i bcf77. Nga versionet komerciale, para së gjithash, duhet të theksohet Microsoft Fortran, i cili ju lejon të krijoni biblioteka dll, dhe Watcom Fortran, i cili gjeneron kod shumë efikas. Për detyrat që kërkojnë saktësi të lartë të llogaritjeve, është menduar përpiluesi nga MicroWay. Në përgjithësi, përpiluesit Fortran me cilësi të ndryshme janë të disponueshëm në absolutisht të gjitha platformat kompjuterike.
Megjithatë, merita kryesore e Fortran qëndron diku tjetër. Kur u bë e nevojshme të zhvillohen projekte shumë të mëdha, mangësitë e Fortran, të lidhura kryesisht me korrigjimin "të rëndë", u bënë të panevojshme të rënda. Prandaj, Fortran shërbeu si një stimul i fortë për zhvillimin e teorisë së programeve të korrigjimit dhe testimit. Janë shfaqur qindra verifikues sintaksor Fortran, duke kapur gabime të fshehura logjike. Më vonë, fusha të tilla teorike të programimit si transformimet ekuivalente të optimizimit të programit, përpilimi i nivelit të lartë, testimi i automatizuar, etj., dolën jashtë këtij drejtimi. Pra, ne nuk duhet të harrojmë për Fortran. Ndoshta nuk ka kuptim ta përdorim atë si një paketë veglash në detyrat e integrimit të sistemit, por ajo që është zhvilluar nga programuesit më të mirë në 30-40 vjet mund të përshpejtojë procesin e zhvillimit. Të paktën, ka pakrahasueshëm më shumë "blloqe ndërtuese" të softuerit për Fortran sesa për gjuhët e tjera të programimit. ■

* * *
John Backus I lindur më 3 dhjetor 1924 në Filadelfia, Pensilvani, në një familje të pasur, e kaloi fëmijërinë në Wilmington. Pas mbarimit të shkollës në vitin 1942, ai hyri në Universitetin e Virxhinias në Fakultetin e Kimisë (me insistimin e babait të tij, kimist), por pas një kohe ai ndërpreu studimet dhe në vitin 1943 u dërgua në shërbimin ushtarak.
Backus filloi të shërbente me Brigadën e Mbrojtjes Ajrore në Fort Stewart, Georgia, por më vonë u dërgua në kolegj për të studiuar mjekësi.
Për disa kohë ai punoi me entuziazëm në një spital të qytetit, por në vitin 1946 humbi interesin për këtë punë, la ushtrinë dhe shkoi në Nju Jork, megjithëse nuk dinte se çfarë të merrte dhe si të jetonte.
Pas një kohe, Backus hyri në shkollën e trajnimit të teknikut të radios. "Kisha një mësues shumë të mirë dhe ai më kërkoi të llogarisja karakteristikat e disa qarqeve. Ishte tmerrësisht e lodhshme, por jashtëzakonisht interesante."
Backus shpejt hyri në Universitetin e Kolumbisë (Nju Jork) për të studiuar matematikë, ku u diplomua (1949). Pak para përfundimit të studimeve, ai vizitoi një qendër kompjuterike IBM në Madison Avenue. Dhe këtu fati i buzëqeshi atij për herë të dytë - në 1950 Backus u bë programues në IBM.
Për dominimin e IBM-së në industrinë kompjuterike u fol për herë të parë në vitin 1952. Gjithçka filloi me 701, i njohur gjithashtu si Llogaritësi i Mbrojtjes. Menjëherë pas lëshimit të Modelit 701, specialistë nga Departamenti i Kërkimeve të Aplikuara filluan ta përmirësojnë atë (1955-1956).

Ndryshimet më serioze u sugjeruan nga John Backus, i cili më vonë mori pjesë aktive në krijimin e kompjuterit 704. Në veçanti, falë tij u shfaq e ashtuquajtura teknologjia e kodimit të shpejtësisë, e cila bëri të mundur thjeshtimin e dukshëm. Shkrimi i programeve për 701. "Aftësia për të përshpejtuar gjenerimin e kodit për Makinën 701, e cila ishte një kompjuter me pikë fikse unicast pa regjistra indeksi, e ktheu atë në një sistem me pikë lundruese me adresime arbitrare dhe regjistra indeksi," kujtoi Backus. Kështu që përdoruesit nuk duhej të shqetësoheshin më për kodin binar.
Edhe atëherë u shfaqën përbërësit e parë të teknologjisë së programimit të shpejtë, e cila përdoret sot. Në fakt, ky sistem u bë paraardhësi i komplekseve të ngjashme që u lëshuan në vitet 50-60 dhe u zëvendësuan më pas nga gjuhët e nivelit të lartë.
Dhe në vitin 1955, Backus "shpiku" Fortran, gjuhën e parë makinerike të nivelit të lartë. Më pas, duke kujtuar këtë periudhë, Backus do të thotë: "Ne nuk dinim se për çfarë të përpiqeshim dhe nuk dinim si ta bënim". Fillimisht, e gjithë puna ishte planifikuar të përfundonte në fillim të vitit 1954, por zhvillimi i gjuhës përfundoi pothuajse dy vjet më vonë.
Versioni i parë i përpiluesit përbëhej nga 25,000 rreshta të kodit të makinës të regjistruara në shirit magnetik. Çdo IBM 704 u pajis me një kopje të programit me një manual programimi prej 51 faqesh.
Në vitin 1959, Backus zhvilloi rregulla gramatikore për përshkrimin e sintaksës së gjuhëve të nivelit të lartë (forma normale Backus-Naur, shkurtuar BNF).
Në vitin 1976, John Backus iu dha Medalja Kombëtare për Kontribut në Shkencë, dhe që nga viti 1991 ai ka pushuar së angazhuari në shkencën kompjuterike.

Vladimir Buslaev

OCR: fir-vst, 2016

Artikujt kryesorë të lidhur