Programiranje v fortranu, 2. del.

 

If-then-else-endif pogojni stavek.
If-then-else-endif stavek uporabljamo, kadar mora program kaj narediti pri različnih pogojih. Splošna oblika stavka je

IF (logicni izraz) THEN
   stavki1
ELSE
   stavki2
END IF
lahko pa je tudi samo kot
IF (logicni izraz) THEN
   stavki
END IF
ali tudi kot enovrstični logični if stavek
IF (logicni izraz) samo_en_ukaz
Stavki v prvem delu se izvedejo, če je pogoj izpolnjen in za delom else, če pogoj ni izpolnjen. Imamo pa lahko tudi še daljšo verzijo z več pogoji
IF (logicni izraz 1) THEN
   stavki1
ELSE IF (logicen izraz 2) THEN
   stavki2
ELSE IF (logicen izraz 3) THEN
   stavki3
ELSE IF (.....) THEN
   ...........
ELSE
   stavki-ELSE
END IF


Do stavek.
Do stavek uporabljamo, kadar mora program narediti znano število ponovitev. Splošna oblika stavka je
DO stevec = zacetek, konec, [korak]
   stavki
END DO
stevec je celo število, ki se začne pri celem številu zacetek in konča pri celemu številu konec. Stevec se spreminja s celim številom korak.

Tipi spremenljivk
Deklaracija spremenljivk v fortranu ima naslednjo obliko:
vrsta_spremenljivke :: list
vrsta_spremenljivke je ena izmed naslednjih opcij
• INTEGER : cela števila
• REAL: realna števila
• COMPLEX: kompleksna števila
• LOGICAL: logične spremenljivke, spremenljivka ima lahko dve vrednosti, pravilno (.true.) ali napačno (.false.).
• CHARACTER: znakovne spremenljivke
List je seznam imen spremenljivk, ki so ločene z vejico.

Formatiranje zapisa realnih števil in nizov.
Read in write stavka imata možnost formatiranega izpisa in branja. Druga zvezdica v oklepaju nam pove, če bomo uporabili kakšno formatiranje. Za realna števila imamo naslednje opcije
Fs.d - decimalna oblika
Es.d - eksponentna oblika
Ss.d - znanstvena oblika
ENs.d – inžinirska oblika
s predstavlja število mest, ki jih namenimo zapisu števila in d število decimalnih mest. Če je število večje od največjega števila, ki ga lahko na določen način zapišemo, potem se izpišejo na vseh mesti *.

Za nize pa imamo samo naslednji možnost
As
Tu je s število mest, ki so na voljo nizu pri zapisu, če je niz daljši, se ga pri zapisu odreže, če pa je krajši, se dodajo na začetku presledki.

Tu je še nekaj primerov:
write (*,’(f10.2)’) a
izpis realnega števila na deset mest z dvema decimalnima mestoma.
write (*,’(2f10.2)’) a,b
izpis dveh realnih števil a in b na deset mest z dvema decimalnima mestoma.
write (*,’(f10.2,f5.1)’) a,b
izpis prvega realnega števila na deset mest z dvema decimalnima mestoma in drugega na pet mest z eno decimalko.
write (*,’(a10,f10.2)’) niz,a
izpis niza na deset mest in realnega števila na deset mest z dvema decimalnima mestoma.

V kolikor vam kakšna podrobnost ni jasna, mi sporočite.

Nazaj na osnovno stran za numerične metode za kemike.

 

Fakulteta za kemijo in kemijsko tehnologijo

Katedra za fizikalno kemijo

Univerza v Ljubljani

Večna pot 113, K3.009

1000 Ljubljana

Slovenija

tel: +386 1 479 8540

e-pošta: tomaz pika urbic at fkkt.uni-lj.si

Govorilne ure so po dogovoru.

Prešernove nagrade