Fortran
Fortran er normalt anset for at være det første tredje-generations programmeringssprog. Det blev designet i midten af 1950'erne og den første færdige oversætter udkom i 1957. Den første udgave ligner mere en abstraktion fra ren assembler end et egentligt sprog med undtagelse af formler. Deraf navnet, Formula Translator.
Fortran har udviklet sig kraftigt over årene, og den seneste revision er fra 2023.
Eksempler
Formler
Nedenstående fulde Fortran I program beregner den ene rod af andengradsligningen 3x2 + 1.7x - 31.92 = 0. Indtil Fortran dukkede op måtte dette programmeres i assembler. Det er en væsentlig forbedring.
A = 3.0 B = 1.7 C = -31.92 ROOT = (-B + SQRTF(B**2.0 - 4.0 * A * C)) / (2.0 * A) PRINT 1, ROOT STOP
PRINT
-linjen: Udskriver variablen på printeren ifølge format 1. To formater var forud-definerede. De skrev begge numre ud i 5 kolonner á 16 karakterer. Man kunne, som vist i næste eksempel, også definere egne formater.- Der var mulighed for at definere matematiske funktioner på én linje, som f.eks.
HYPOTENUSE(A,B) = SQRTF(A*A + B*B)
. Disse skal erklæres inden den første eksekverbare linje.
Do-løkker i Fortran II
I forhold til aritmetiske udtryk er Fortran noget mere jordnær for resten af sproget. Dette program udskriver tallene fra 1 til 5 og derefter summen. Det ligger ret tæt på hvordan man ville skrive det i assembler.
M = 0 DO 10 I = 1, 5 PRINT 20, I 10 M = M + I PRINT 20, M 20 FORMAT(I5) STOP
- Det er ikke muligt at erklære variable. Der er istedet en konvention: Alle variable, der starter med I, J, K, L, M, eller N er heltal.
DO
-linjen: Optæller variablen I fra 1 til og med 5, og udfører koden indtil og inklusiv linje 10. Når I er 6 fortsætter programmet efter linje 10.PRINT
-linjerne: Udskriver variablen på printeren ifølge format specificeret i linje 20.FORMAT
-linjen: Angiver et læse/skrive format på (I)nteger som kan være 5 cifre.
IF-sætninger i Fortran II
De tidlige udgaver af Fortran havde ikke Boolske operatorer. En IF-sætning bestod af et aritmetisk udtryk og tre GO TO adresser. Dette program trækker B fra A. Hvis resultatet er negativt hoppes til linje 10. Hvis 0 hoppes til linje 20, og hvis positivt hoppes til linje 30. Derefter går hver gren til linje 40.
IF (A - B) 10,20,30 10 PRINT 1, -1.0 GO TO 40 20 PRINT 1, 0.0 GO TO 40 30 PRINT 1, 1.0 40 STOP
Fortran IV
Fortran IV kom i 1962, og var et stort skridt hen mod et mere generelt og fuldt programmeringssprog. Nu kan man erklære variabler, eller fortsætte med konventionen. PRINT
, som var specifik til printeren, er blevet fjernet fra sproget. Man skal istedet bruge WRITE
til et nummer, som er tildelt til en enhed i job-kontrol kortene.
PROGRAM LOOP INTEGER SUM SUM = 0 DO 10 I = 1, 5 WRITE(4, 20) I 10 SUM = SUM + I WRITE(4, 20) SUM 20 FORMAT(I5) STOP
Der kom SUBROUTINE
og FUNCTION
erklæringer.
REAL FUNCTION HYPOTENUSE(A,B) HYPOTENUSE = SQRTF(A*A + B*B) RETURN END