Si të programoni në Fortran (me fotografi)

Përmbajtje:

Si të programoni në Fortran (me fotografi)
Si të programoni në Fortran (me fotografi)

Video: Si të programoni në Fortran (me fotografi)

Video: Si të programoni në Fortran (me fotografi)
Video: Si të mësosh dhe të mbash mend ato që ke mësuar? 2024, Prill
Anonim

Shumë njerëz e perceptojnë Fortran si një gjuhë programimi arkaike dhe "të vdekur". Sidoqoftë, shumica e kodit shkencor dhe inxhinierik është shkruar në Fortran. Si i tillë, programimi në F77 dhe F90 mbetet një aftësi e nevojshme për shumicën e programuesve teknikë. Për më tepër, standardet më të fundit të Fortran (2003, 2008, 2015) lejojnë programuesin të shkruajë kod shumë efikas me përpjekje minimale, duke përdorur të gjitha tiparet e gjuhës moderne, siç është OOP (programimi i orientuar nga objekti). FORTRAN është një akronim për "FORMula TRANslation", dhe është më i përshtatshmi për aplikime matematikore dhe numerike sesa për grafikë ose aplikime të bazës së të dhënave. Shumica e kodeve fortran marrin hyrje teksti nga një skedar ose linjë komande në vend se nga një menu ose ndërfaqe GUI.

Hapa

Pjesa 1 nga 4: Shkrimi dhe Përpilimi i një Programi të Thjeshtë

Fortran hello program botëror shkruani corrected
Fortran hello program botëror shkruani corrected

Hapi 1. Shkruani një program "Përshëndetje Botë"

Ky është zakonisht programi i parë që shkruan në çdo gjuhë, dhe thjesht printon "Përshëndetje botë" në ekran. Shkruani kodin e mëposhtëm në çdo redaktues teksti dhe ruajeni atë si helloworld.f. Kushtojini vëmendje që duhet të ketë saktësisht 6 hapësira para çdo rreshti.

program helloworld nënkuptuar asnjë karakter*13 hello_string hello_string = "Përshëndetje, botë!" shkruani (*, *) programin përfundimtar hello_string helloworld

Këshillë: Hapësirat janë të nevojshme vetëm në versionet e Fortran deri në FORTRAN 77. Nëse jeni duke përdorur një version më të ri, mund t'i lini hapësirat. Përpiloni programe nga versioni më i ri me f95, jo f77; përdorni.f95 si zgjerim të skedarit në vend të vetëm.f.

Hapi 2. Përpiloni programin

Për ta bërë këtë, shkruani f77 helloworld.f në rreshtin e komandës. Nëse kjo jep një gabim, ndoshta nuk keni instaluar një përpilues Fortran si për shembull gfortran akoma.

Fortran hello world compile run
Fortran hello world compile run

Hapi 3. Drejtoni programin tuaj

Përpiluesi ka prodhuar një skedar të quajtur a.out. Drejtojeni këtë skedar duke shtypur./a.out.

Hapi 4. Kuptoni atë që sapo keni shkruar

  • program helloworld

    tregon fillimin e programit "helloworld". Në mënyrë të ngjashme,

    fund programi helloworld

  • tregon fundin e tij.
  • Si parazgjedhje, nëse nuk deklaroni një lloj ndryshoreje, Fortran trajton një ndryshore me një emër që fillon me një shkronjë nga i në n si numër të plotë, dhe të gjithë të tjerët si një numër real. Rekomandohet të përdoret

    implicite asnjë

  • nëse nuk keni nevojë për atë sjellje.
  • karakteri*13 hello_string

  • deklaron një grup karakteresh e cila quhet hello_string.
  • hello_string = "Përshëndetje, botë!"

  • cakton vlerën "Përshëndetje, botë!" në grupin e deklaruar. Ndryshe nga gjuhët e tjera si C, kjo nuk mund të bëhet në të njëjtën linjë me deklarimin e grupit.
  • shkruani (*, *) hello_string

  • printon vlerën e hello_string në daljen standarde. E para * do të thotë të shkruash në dalje standarde, në krahasim me disa skedarë. E dyta * do të thotë të mos përdorni ndonjë formatim të veçantë.
Fortran comments
Fortran comments

Hapi 5. Shtoni një koment

Kjo nuk është e nevojshme në një program kaq të thjeshtë, por do të jetë i dobishëm kur shkruani diçka më komplekse, kështu që duhet të dini si t'i shtoni ato. Ka dy mënyra për të shtuar një koment.

  • Për të shtuar një koment që ka një rresht të tërë më vete, shkruani një c direkt në një rresht të ri, pa 6 hapësira. Pas kësaj, shkruani komentin tuaj. Duhet të lini një hapësirë midis c dhe komentit tuaj për një lexueshmëri më të mirë, por kjo nuk kërkohet. Vini re se ju duhet të përdorni një! në vend të një c në Fortran 95 dhe më të reja.
  • Për të shtuar një koment në të njëjtën linjë si kodi, shtoni një! ku doni të fillojë komenti juaj. Përsëri, një hapësirë nuk kërkohet, por përmirëson lexueshmërinë.

Pjesa 2 nga 4: Përdorimi i Input dhe If-Constructions

Llojet e të dhënave të Fortran
Llojet e të dhënave të Fortran

Hapi 1. Kuptoni lloje të ndryshme të të dhënave

  • INTEGER përdoret për numra të plotë, si 1, 3 ose -3.
  • REAL gjithashtu mund të përmbajë një numër që nuk është i plotë, si 2.5.
  • COMPLEX përdoret për të ruajtur numrat kompleks. Numri i parë është pjesa reale dhe e dyta pjesa imagjinare.
  • KARAKTERI përdoret për personazhe, si shkronja ose shenja pikësimi.
  • LOGJIKE mund të jetë ose.vërtetë. ose.fals.. Kjo është si tipi boolean në gjuhët e tjera programuese.

Hapi 2. Merrni të dhënat e përdoruesit

Në programin "Përshëndetje botë" që keni shkruar më parë, marrja e informacionit të përdoruesit do të ishte e padobishme. Pra, hapni një skedar të ri dhe emërtojeni atë compnum.f. Kur ta keni mbaruar, do t'i tregojë përdoruesit nëse numri i futur është pozitiv, negativ ose i barabartë me zero.

  • Shkruani programin e linjave dhe përfundoni programin.
  • Pastaj, deklaroni një ndryshore të llojit REAL. Sigurohuni që deklarata juaj të jetë midis fillimit dhe fundit të programit.
  • Shpjegoni përdoruesit se çfarë duhet të bëjnë. Shkruani një tekst me funksionin e shkrimit.
  • Lexoni hyrjen e përdoruesit në ndryshoren që keni deklaruar me funksionin e leximit.

program compnum real r shkruaj (*, *) "Fut një numër real:" lexo (*, *) r programin përfundimtar

Fortran if construction
Fortran if construction

Hapi 3. Përpunoni të dhënat e përdoruesit me një konstruksion if

Vendoseni atë midis

lexo (*, *) r

dhe

fund programi

  • Krahasimi bëhet me.gt. (më e madhe se),.lt. (më pak se) dhe.eq. (e barabartë) në Fortran.
  • Fortran mbështet nëse, ndryshe nëse, dhe tjetër
  • Një ndërtim i Fortran nëse përfundon gjithmonë me fundin nëse.

nëse (r.gt. 0) atëherë shkruani (*, *) "Ky numër është pozitiv." përndryshe nëse (r.lt. 0) atëherë shkruani (*, *) "Ky numër është negativ." përndryshe shkruani (*, *) "Ky numër është 0." përfundoj nëse

Këshillë: Nuk keni nevojë të vendosni kodin brenda konstruksioneve if me më shumë hapësira, por përmirëson lexueshmërinë.

Programi i kontrollit të numrave Fortran test
Programi i kontrollit të numrave Fortran test

Hapi 4. Përpiloni dhe drejtoni programin tuaj

Futni disa numra për ta provuar. Nëse futni një shkronjë, ajo do të ngrejë një gabim, por kjo është në rregull sepse programi nuk kontrollon nëse hyrja është një shkronjë, një numër, apo diçka tjetër.

Pjesa 3 nga 4: Përdorimi i sythe dhe vargjeve

Hapi 1. Hapni një skedar të ri

Meqenëse ky koncept është i ndryshëm, do t'ju duhet të shkruani përsëri një program të ri. Emërtoni skedarin addmany.f. Vendosni deklaratat përkatëse të programit dhe përfundoni programin, si dhe asnjë të nënkuptuar. Kur të keni mbaruar, ky program do të lexojë 10 numra dhe do të printojë shumën e tyre.

Hapi 2. Shpallni një grup me gjatësi 10

Këtu do të ruani numrat. Meqenëse ju ndoshta dëshironi një shumë të numrave realë, duhet ta deklaroni grupin si real. Ju deklaroni një grup të tillë me

numrat real (50)

(numrat është emri i grupit, jo një shprehje).

Hapi 3. Shpallni disa ndryshore

Shpallni numSum si një numër real. Do ta përdorni për të ruajtur shumën më vonë, por meqenëse shuma është marrë tashmë nga një shprehje Fortran, duhet të përdorni një emër si numSum. Vendoseni atë në 0. Deklaroni i si një numër të plotë dhe mos i caktoni akoma ndonjë vlerë. Kjo do të bëhet në lakun e bërjes.

Hapi 4. Krijo një do-loop

Ekuivalenti i asaj në gjuhët e tjera të programimit do të ishte një lak for-loop.

  • Një lak i bërë gjithmonë fillon me do.
  • Në të njëjtën linjë si do, e ndarë nga ajo me një hapësirë, është etiketa në të cilën programi do të shkojë kur të përfundojë. Tani për tani, thjesht shkruani një 1, do ta vendosni etiketën më vonë.
  • Pas kësaj, përsëri të ndara vetëm me një hapësirë, lloji

    i = 1, 10

    Me Kjo do të bëjë që ndryshorja i, të cilën e kishit deklaruar para lakut, të shkojë nga 1 në 10 në hapat e 1. Hapat nuk përmenden në këtë shprehje, kështu që Fortran përdor vlerën e paracaktuar prej 1. Ju gjithashtu mund të keni shkruar

    i = 1, 10, 1

  • Vendosni pak kod brenda lakut (shënoni hapësirat për lexueshmëri më të mirë). Për këtë program, ju duhet të rrisni ndryshoren numSum me elementin i-të të numrave të grupit. Kjo bëhet me shprehjen

    numSum = numSum + numër (i)

  • Përfundoni lakun me një deklaratë të vazhdueshme që ka një etiketë. Shkruani vetëm 4 hapësira. Pas kësaj, shtypni një 1. Kjo është etiketa në të cilën i thatë lakut të përfundojë pasi të përfundojë. Pastaj, shkruani një hapësirë dhe vazhdoni. Shprehja e vazhdueshme nuk bën asgjë, por jep një vend të mirë për të vendosur një etiketë, si dhe tregon se cikli përfundues përfundoi.

Lakri juaj do të duket tani si ky:

bëj 1 i = 1, 10 numSum = numSum + numra (i) 1 vazhdoj

Këshillë: Në Fortran 95 dhe më të reja, nuk keni nevojë të përdorni etiketa. Thjesht mos e futni njërën në deklaratën e bërë dhe përfundojeni lakun me "përfundo të bëjë" në vend të "vazhdosh".

Fortran do loop code
Fortran do loop code

Hapi 5. Shtypni numSum

Gjithashtu, do të kishte kuptim të jepnim një kontekst, për shembull "Shuma e numrave tuaj është:". Përdorni funksionin e shkrimit për të dy. I gjithë kodi juaj tani duhet të duket si më poshtë:

program addmany shumë i nënkuptuar asnjë numër real (10) num i vërtetë Numër i plotë i numSum = 0 shkruaj (*, *) "Fut 10 numra:" lexo numrat (*, *) bëjnë 1 i = 1, 10 numSum = numSum + numra (i) 1 vazhdoni të shkruani (*, *) "Shuma e tyre është:" shkruani (*, *) numSum fund programi shtesë

Fortran shtoni kodin e numrave test
Fortran shtoni kodin e numrave test

Hapi 6. Përpiloni dhe ekzekutoni kodin tuaj

Mos harroni ta provoni. Ju ose mund të shtypni ↵ Enter pas çdo numri që futni ose të futni shumë numra në të njëjtën linjë dhe t'i ndani me një hapësirë.

Pjesa 4 nga 4: Kuptimi i Koncepteve të Avancuara

Programi në Fortran Hapi 13
Programi në Fortran Hapi 13

Hapi 1. Keni një ide të mirë se çfarë do të bëjë programi juaj

Mendoni se çfarë lloj të dhënash nevojiten si hyrje, si të strukturoni daljen dhe përfshini një dalje të ndërmjetme në mënyrë që të mund të monitoroni progresin e llogaritjes tuaj. Kjo do të jetë shumë e dobishme nëse e dini që llogaritja juaj do të funksionojë për një kohë të gjatë ose përfshin hapa të shumtë të ndërlikuar.

Faqja e internetit e referencës Fortran screenshot
Faqja e internetit e referencës Fortran screenshot

Hapi 2. Gjeni një referencë të mirë Fortran

Fortran ka shumë më tepër funksione sesa shpjegohet në këtë artikull, dhe ato mund të jenë të dobishme për programin që dëshironi të shkruani. Një referencë rendit të gjitha funksionet që ka një gjuhë programimi. Kjo është një për Fortran 77 dhe kjo është një për Fortran 90/95.

Nënrutinat Fortran shembull
Nënrutinat Fortran shembull

Hapi 3. Mësoni rreth nënrutinave dhe funksioneve

Formati i vargut të formatit Fortran
Formati i vargut të formatit Fortran

Hapi 4. Mësoni si të lexoni dhe shkruani nga/në skedarë

Gjithashtu mësoni se si të formatoni hyrjen/daljen tuaj.

Shembull modern fortran screenshot
Shembull modern fortran screenshot

Hapi 5. Mësoni rreth veçorive të reja të Fortran 90/95 dhe më të reja

Kaloni këtë hap nëse e dini që do të shkruani/mirëmbani vetëm kodin Fortran 77.

Mos harroni se Fortran 90 prezantoi kodin burimor "Forma e Lirë", duke lejuar që kodi të shkruhet pa hapësira dhe pa kufirin e 72 karaktereve

Libri Fortran online screenshot
Libri Fortran online screenshot

Hapi 6. Lexoni ose kërkoni disa libra mbi Programimin Shkencor

Për shembull, libri "Receta Numerike në Fortran" është njëkohësisht një tekst i mirë mbi algoritmet e programimit shkencor dhe një hyrje e mirë se si të bashkoni kodet. Botimet më të fundit përfshijnë kapituj se si të programoni në një mjedis me gjuhë të përzier dhe programim paralel. Një shembull tjetër është "Fortran modern në praktikë" i shkruar nga Arjen Markus. Libri jep një pasqyrë se si të shkruhen programet Fortran në stilin e shekullit njëzet e një në përputhje me standardet më të fundit të Fortran.

Fortran përpiloni programin nëpër shumë skedarë
Fortran përpiloni programin nëpër shumë skedarë

Hapi 7. Mësoni si të përpiloni një program të shpërndarë nëpër skedarë të shumtë

Le të supozojmë se programi juaj Fortran është i shpërndarë nëpër skedarët main.f dhe morestuff.f, dhe se dëshironi që binari që rezulton të quhet allstuff. Pastaj do të duhet të shkruani komandat e mëposhtme në rreshtin e komandës:

f77 -c morestuff.f f77 -c main.f f77 -c morestuff.f f77 -o allstuff main.o morestuff.f

Pastaj ekzekutoni skedarin duke shtypur./allstuff.

Këshillë: Kjo funksionon në të njëjtën mënyrë me versionet më të reja të Fortran. Thjesht zëvendësoni.f me shtrirjen e duhur dhe f77 me versionin e saktë të përpiluesit.

Hapi 8. Përdorni optimizimin që ofron përpiluesi juaj

Shumica e përpiluesve përfshijnë algoritme optimizimi që përmirësojnë efikasitetin e kodit tuaj. Këto zakonisht ndizen duke përfshirë një flamur -O, -O2 ose -O3 kur përpilohen (përsëri në varësi të versionit tuaj të fortran).

  • Në përgjithësi, niveli më i ulët -O ose -O2 është më i miri. Jini të vetëdijshëm se përdorimi i opsionit më agresiv të optimizimit mund të fusë gabime në kodet komplekse dhe madje mund të ngadalësojë gjërat! Provoni kodin tuaj.

Këshilla

  • Filloni me programe të vogla. Kur krijoni kodin tuaj, përpiquni të identifikoni pjesën më thelbësore të problemit - a janë të dhënat e dhëna apo thirrja e funksioneve, struktura e lakut (këto janë disa shembuj shumë elementarë) dhe filloni prej andej. Pastaj ndërtoni mbi të në hapa të vegjël.
  • Fortran nuk është i ndjeshëm ndaj shkronjave të vogla. Për shembull, mund të deklaroni një ndryshore "Numër real" dhe të shkruani "num = 1" në rreshtin tjetër për t'i caktuar një vlerë atij. Por ky është një stil i keq, prandaj shmangeni atë. Më e rëndësishmja, Fortran nuk kujdeset as për rastin e funksioneve dhe deklaratave. Quiteshtë mjaft e zakonshme të shkruash funksione dhe deklarata me GJITHSI dhe ndryshore me shkronja të vogla.
  • EMACS është një redaktues i mirë teksti i mirë për t’u përdorur në vend të Notepad.
  • Ju mund ta keni më të lehtë të përdorni një IDE online (mjedis zhvillimi i integruar) në fillim. Një opsion i mirë është Coding Ground. Ju do të gjeni një mori gjuhësh programimi atje, përfshirë Fortran-95. Një opsion tjetër është Ideone.

Recommended: