Nu finns faktiskt en HTML version av Fortran 77 standarden tillgänglig!
PROGRAM Huvudprogram FUNCTION Funktion, FUNCTION kan föregås av någon av nedanstående deklarationer av variabler, utom IMPLICIT. SUBROUTINE Subrutin ¤¤ ENTRY Extra ingång i underprogram. ¤ BLOCK DATA Gemensamma data, vilka delvis har initialvärden.
¤ IMPLICIT IMPLICIT REAL (A-H,O-Z), INTEGER (I-N) är skönsvärde. Satsen kan användas för att låta variabler med viss begynnelsebokstav få viss typ, jämför Appendix 4, avsnitt 5. IMPLICIT NONE Ej standard men bra, finns i Fortran 90, ger "Pascal-konvention", dvs att alla variabler måste deklareras. På Sun och DEC kan motsvarande funktion även erhållas med väljaren -u i kompileringskommandot. INTEGER REAL DOUBLE PRECISION COMPLEX LOGICAL CHARACTER
DIMENSION Kan även ges direkt i typdeklarationen, liksom i COMMON. ¤¤ COMMON Gemensam lagringsarea för variabler som finns i flera programenheter. ¤¤ EQUIVALENCE Gemensam lagringsarea för flera variabler i samma programenhet. PARAMETER Gör om variabeln till en konstant med ett visst värde. EXTERNAL Talar om att ett variabelnamn svarar mot en extern funktion eller underrutin. INTRINSIC Talar om att ett variabelnamn svarar mot en inbyggd funktion. SAVE Sparar värden mellan återhopp från och nytt inhopp i underprogram. ¤ DATA Sätter begynnelsevärden på variabler.
GOTO snr1 Hopp till satsnummer snr1 (Vanlig hoppsats). ¤ GOTO (snr1, snr2, snr3), heltalsuttryck Styrd hoppsats, om heltalsuttrycket är 1, 2, eller 3 sker hopp till satsnummer snr1, snr2, respektive snr3 (godtyckligt antal snr tillåtna) ¤¤ GOTO satsnummervariabel, (snr1, snr2, snr3) Tilldelad hoppsats, hopp sker till det satsnummer som svarar mot satsnummervariabeln. (godtyckligt antal snr tillåtna). ¤¤ GOTO satsnummervariabel Tilldelad vanlig hoppsats (hybrid). ¤¤ ASSIGN snr TO satsnummervariabel En satsnummervariabel kan ej tilldelas med en vanlig tilldelningssats (heltalsvariabel = heltalsuttryck) utan endast med ASSIGN. Den kan sedan användas både i tilldelad hoppsats och i vanlig hoppsats, samt även i samband med FORMAT. ¤ IF (numeriskt_uttryck) snr1, snr2, snr3 Aritmetiskt hoppvillkor, hopp till satsnummer snr1 om uttrycket är negativt snr2 om uttrycket är noll snr3 om uttrycket är positivt Kallas aritmetisk IF-sats.
IF (logiskt_uttryck) sats Villkorssats, om det logiska uttrycket är sant så utföres satsen, annars hoppar man direkt till nästa sats. Satsen får vara en vanlig tilldelningssats eller en vanlig hoppsats eller ett anrop av en underrutin. Kallas "logisk IF-sats". IF (logiskt_uttryck) THEN ! Fullständig alternativsats. satsföljd1 ! Varianter utan ELSE-del, ! liksom kapslade med ELSE ELSE ! ersatt med ! ELSE IF (log_uttr) THEN satsföljd2 ! finns även. END IF CONTINUE Fortsättningssats, gör inget. Rekommenderas för snygg avslutning av DO-slingan. STOP Avslutningssats, avbryter exekveringen. END Avslutningssats, avbryter kompileringen av programenheten, samt även exekveringen om man befinner sig där i huvudprogrammet. Om ett END påträffas under exekvering av ett underprogram sker i stället återhopp till den anropande programdelen. ¤ PAUSE Paussats, avbryter exekveringen tillfälligt (implementationsberoende). DO snr numerisk_variabel = var1, var2, var3 DO-slinga ¤ Flyttal tillåtes tyvärr som variabler i DO-slingor.
OPEN Öppna fil ! Öppna en fil innan ! programmet kan använda den. CLOSE Stänga fil ! En fil som ej har ! stängts kan vara ! omöjlig att läsa! READ Inläsning WRITE Utmatning ¤ PRINT Tidigare utmatning till radskrivaren, numera synonym till WRITE (implementationsberoende) INQUIRE Förfrågan om fil-status REWIND Återspola en fil till början BACKSPACE Återspola en fil en post ENDFILE Markera filslut FORMAT Fortrans specialitet (se nedan)
CALL Anropa en underrutin fnktn En funktion anropas genom att bara ge funktionsnamnet RETURN Återhopp från underprogram (underrutin eller funktion)
Exempel Heltal I I5 5 positioner reserveras. Flyttal F F8.3 8 positioner, varav 3 för decimalerna. E E14.6 14 positioner, varav 6 för decimalerna, 4 för exponenten, 1 för tecken, 1 för inledande nolla, 1 för decimalpunkt, samt 1 för inledande blank. D D28.12 Som E fast för dubbel- precisionstal. G G14.6 Som F om talet ryms i fältet, annars som E. Komplexa tal Som par av flyttal. Logiska L Textsträng A A7 Exempel (7 bokstäver ryms i A7) ' ' 'Exempel' ¤ nH 7HExempel Hollerith-konstant Positionering Tn n positioner från början TLn n positioner åt vänster TRn n positioner åt höger nX n positioner åt höger ¤ Ej ny rad $ Användes då man vill göra inmatning i direkt anslutning till utmatning Ej standard! Ej Fortran 90! Avbryt : Om listan är slut avbryts formatet här. Ny post / Normalt ny rad Binär B Ej standard men Fortran 90 Oktal O Ej standard men Fortran 90 Hexadecimal Z Ej standard men Fortran 90BN är standard under ULTRIX, under hålkortseran var BZ standard. Jämför BLANK='ZERO' respektive 'NULL' i OPEN-satsen, se avsnitt 8.1.1.A 2.8.1 Behandling av tecken och blanka
Utmatning SP + skrives ut SS + skrives ej ut S Standard (normalt SS) Inmatning BZ Blanka tolkas som noll BN Blanka nonchaleras
OBS: S, SP, SS, BN och BZ gäller formatet ut, eller till dess en ny av samma slag uppträder.
Skalfaktor kPInmatning:
En annan utvidgning är att FORMATen I, B, O och Z kan skrivas Iw.m, Bw.m, Ow.m och Zw.m, där w är den vanliga fältbredden, medan det valfria tillägget m indikerar ett minimalt antal siffror, med ledande nollor om så erfordras.