Kirjoittaja: Antti Laaksonen (08.12.2009)
Fortran on 1950-luvun puolivälissä alkunsa saanut ohjelmointikieli, joka soveltuu erityisesti runsaasti laskentaa sisältäviin matemaattisiin ohjelmiin. Fortran oli ensimmäisiä korkean tason ohjelmointikieliä, jotka helpottivat ohjelmoijan työtä konekieleen verrattuna.
Tämän esittelyn esimerkkiohjelmat seuraavat Fortran 90 -standardia.
Seuraava ohjelma tulostaa rivin tekstiä:
PROGRAM tulostus
WRITE (*,*) 'Hauskaa joulua!'
END PROGRAM tulostusSeuraava ohjelma tulostaa Fibonaccin luvut, jotka ovat alle 100:
PROGRAM fibolista
INTEGER :: a, b, c
a = 0
b = 1
DO WHILE (a < 100)
WRITE (*,*) a
c = a + b
a = b
b = c
END DO
END PROGRAM fibolistaSeuraava ohjelma esittelee taulukon käsittelyä Fortranissa:
PROGRAM taulukko
INTEGER, DIMENSION(50) :: t
t(1:50) = (/ (i * i, i = 1, 50) /)
WRITE (*,*) 'Lukujen 1-50 neliöt:'
WRITE (*,'(10I5)') t
t = t * 2 + 5
WRITE (*,*) 'Muunnettu taulukko:'
WRITE (*,'(10I5)') t
WRITE (*,*) 'Taulukon lukujen summa:'
WRITE (*,*) SUM(t)
END PROGRAM taulukkoOhjelman tulostus on seuraava:
Lukujen 1-50 neliöt:
1 4 9 16 25 36 49 64 81 100
121 144 169 196 225 256 289 324 361 400
441 484 529 576 625 676 729 784 841 900
961 1024 1089 1156 1225 1296 1369 1444 1521 1600
1681 1764 1849 1936 2025 2116 2209 2304 2401 2500
Muunnettu taulukko:
7 13 23 37 55 77 103 133 167 205
247 293 343 397 455 517 583 653 727 805
887 973 1063 1157 1255 1357 1463 1573 1687 1805
1927 2053 2183 2317 2455 2597 2743 2893 3047 3205
3367 3533 3703 3877 4055 4237 4423 4613 4807 5005
Taulukon lukujen summa:
86100Ohjelma laskee ensin taulukkoon lukujen 1–50 neliöt ja kertoo sitten kunkin luvun kahdella ja lisää siihen viisi. Taulukon tulostuksessa joka rivillä on kymmenen lukua ja kentän leveys on viisi merkkiä. Lopuksi ohjelma laskee taulukon lukujen summan.
Vuosien saatossa Fortran ei ole kerännyt vain ihailevia lausuntoja. Edsger W. Dijkstra totesi seuraavaa vuonna 1975:
"Vanhaan hyvään aikaan fyysikot toistivat toistensa kokeita ollakseen varmoja asioista. Nykyään he käyttävät Fortrania voidakseen välittää ohjelmia toisilleen – ja niiden bugeja."