Glossary of FORTRAN 77 Statements


STATEMENTDescriptionExample of Usage
Arithmetic IF Transfers control, depending on whether value of an arithmetic expression is negative, zero, or positive IF (X-Y) 30, 40 , 50
ASSIGN Assigns a statement number to a variable ASSIGN 50 TO N
Assigned GO TO Transfers control to a statement specified by a variable; in conjunction with ASSIGN statement GO TO N
Assignment Assigns a value to a variable PI = 3.1416
NUMBER = 0
MAJOR = ' CPSC '
Z FLAG = . TRUE .
BACKSPACE Backspace a file BACKSPACE 12
BLOCK DATA Heading of a block data subprogram used to initialize variables in named common blocks INTEGER MONTH, YEAR
COMMON / INFO / MONTH, YEAR
DATA MONTH, YEAR /12, 1995/ END
BLOCK IF Executes or bypasses a block of statements, depending on truth or falsity of a logical expression; must be paired with END IF and may have ELSE or ELSE IF blocks IF (X.GT. O) THEN
RESULT = SQRT(X)
ELSE
IF (X .EQ. 0) THEN
PRINT *, 'NUMBER IS 0'
ELSE
PRINT *, 'NEGATIVE NUMBER'
END IF
CALL Calls a subroutine CALL CONVER (A, T, X, Y)
CHARACTER Specifies character type CHARACTER*10 NAME, INIT*1, LIST(20)
CLOSE Closes a file CLOSE (12)
COMMON Establishes blank or named common areas COMMON ALPHA, BETA, MAT (5,5)
COMMON / INFO / MONTH, YEAR
COMPLEX Specifies complex type COMPLEX Z, W, MAT (5,5)
Computed GO TO Transfers control to one of several statements, depending on the value of an integer expression GO TO (10, 20, 30, 40) CLASS
CONTINUE Used to close a DO-loop 5 CONTINUE
DATA Initializes variables at compile time DATA PI, (X(I),I=1,5) /3.14,5*0/
DIMENSION Declares dimensions of arrays DIMENSION MAT(5,5), LIST(20)
DO First statement of a DO-loop DO 5 I=1, N
DOUBLE PRECISION Specifies double precision type DOUBLE PRECISION A, B, ROOTS(20)
ELSE Defines ELSE-block in a block IF statement See block IF statement
ELSE IF Defines ELSE-IF block within a block IF used for multialternative selection See block IF statement
END Last statement of each program unit END
END IF Last statement of a block IF See block IF statement
ENDFILE Places end-of-file record in a file ENDFILE 12
END WHILE, END DO Terminates a WHILE loop; not in standard FORTRAN 77 See WHILE statement
ENTRY Specifies entry point in a subprogram ENTRY POLY (X)
EQUIVALENCE Establishes sharing of memory locations by different variables in same program unit EQUIVALENCE(X,Y), (ALPHA,A,T(3))
EXTERNAL Specifies externally defined subprograms that may be used as arguments EXTERNAL F, QUAD
FORMAT Defines a list of descriptors 20 FORMAT (1X, 'ROOTS ARE', 2F8.3)
FUNCTION Heading for a function subprogram FUNCTION AVE(X, N)
GO TO Unconditionally transfers control to a specified statement GO TO 100
IMPLICIT Used to establish a naming convention IMPLICIT REAL (L,N-Z), INTEGER (A-K)
INQUIRE Determines properties of a file or of its connection to a unit number INQUIRE (EXIST = FLAG, NAME =FNAME)
INTEGER Specifies integer type INTEGER X, CLASS, TABLE(10,20)
INTRINSIC Specifies intrinsic functions that may be used as arguments INTRINSIC SIN, DSQRT
LOGICAL Specifies logical type LOGICAL P, Q, TABLE(4,6)
Logical IF Executes or bypasses a statement depending on the truth or falsity of a logical expression IF (DISC .GT. 0) DISC = SQRT(DISC)
OPEN Opens a file OPEN(UNIT = 12, FILE = FNAME, STATUS = 'OLD')
PARAMETER Defines parameters PARAMETER (LIM = 100, RATE =1.5
PAUSE Interrupts program execution, program may be restarted PAUSE
PAUSE 'PROGRAM PAUSE'
PRINT Output statement PRINT *, 'X = ', X
PRINT *
PRINT '(1X, 317)', M, N, M + N-e
PROGRAM Program heading PROGRAM WAGES
READ Input statement READ *, ALPHA, BETA
READ '(15, F7.2)', NUM, Z
READ (12, *, END = 20) HOURS, RATE
REAL Specifies real type REAL NUM, GAMMA, MAT(10,10)
RETURN Returns control from subprogram to calling program unit RETURN
RETURN 2
REWIND Positions file at initial point REWIND 12
SAVE Saves values of local variables in a subprogram for later references SAVE X, Y, NUM
SAVE
Statement function Function defined within a program unit by a single statement F(X,Y) = X**2 + Y**2
STOP Terminates execution STOP
STOP 'PROGRAM HALTS'
SUBROUTINE Heading for subroutine subprogram SUBROUTINE CONVER (U, V, RHO, PHI)
WRITE Output statement WRITE (*,*) A, B, C
WRITE (12,'(1X, 316)') N1, N2, N3