You are on page 1of 4

FORTRAN 77 Presented by: Destry Diefenbach

The Free Online Dictionary of Computing (http://foldoc.doc.ic.ac.uk/)

Fortrash /for'trash/ Hackerism for the Fortran language, referring to its primitive


design, gross and irregular syntax, limited control constructs, and slippery,
exception-filled semantics. [Jargon File] (1994-10-26)

 “Algol is FORTRAN done right.” -Bruce Knobe, 1973  “Pascal is FORTRAN done
right.” -Raymond Langsford, 1980  “FORTRAN 77 is FORTRAN done right.” -James Ball,
1983

History of FORTRAN  Stands for IBM Mathematical FORmula TRANslation System but
abbreviated to FORmula TRANslation  FORTRAN 0 was developed by a IBM research team
headed by John Backus in 1954.  Was the first high-level programming language

John Backus 1924-1988

More History  The design of FORTRAN made it easier to translate mathematical


formulas into code.  FORTRAN originally began as a digital code interpreter for
the IBM 701  At that time it was called Speedcoding  The point of FORTRAN was to
make programming easier.

IBM 701

FORTRAN I 1957  Was the first compiler  By 1958 over 50% of software was in
FORTRAN  Cut development time. 

2 weeks to 2 hours

FORTRAN II - IV  FORTRAN II  

Independent compilation Fix the bugs

 FORTRAN III 

Was developed, but it was never widely distrbuted

 FORTRAN IV    

Explicit type declarations Logical selection (IF) statement Subprogram names could
be parameters ANSI standard in 1966

FORTRAN 77  FORTRAN 77 replaced FORTRAN IV as the new standard.  It retained most


of the features of IV  It added  

Character string handling Logical loop control statements And a If with a optional
else statement

Data Types

FORTRAN 77 explicitly permits data types of integer, real, double precision,


complex, logical, and characters.

Real Data Types  Represent decimal numbers  It uses scientific notation  

3E5 .123E-3
300000 .000123

Double Precision Data Types  Instead of E it used D 

1D2

100

Complex Data Types  Built in complex number data type  Which occupies 2 bytes 
The first byte in the pair represents the real part of the complex data type.  The
second byte represents the imaginary part of the complex item. represented as
follows Numeric Value (4.61,-6.81) 4.61 – 6.81i (-10,5) -10+5i

Program Structure  A FORTRAN program is a collection of subprogram definitions. 


Subprograms may be a FUNCTION that returns values, a SUBROUTINE that doesn’t return
a value, and one must be the “main program”

Main Program  The main program receives control of the processor when an
executable program is loaded for execution.  There can be only one main program in
an executable program.  That main program is identified by the fact that it does
not have a FUNCTION, SUBROUTINE, or BLOCK DATA statement as its initial statement.

Intrinsic Functions  FORTRAN 77 has many intrinsic functions 

Examples SQRT( )  FLOAT( ),INT ( )  COS( ),SIN( ), TAN( ) 

square root type conversions trig functions

Statement Functions  Statement functions are one line defined functions that is
internal to the program unit in which it is defined 

Example of a statement function 

ROOT(A,B,C) = (-B+SQRT(B**2-4.0*A*C))/(2.0*A)

Subprograms  The main abstraction devices in FORTRAN 77 are the subroutines and
functions.  The subroutine definition 

SUBROUTINE SWAP (I,J)

M=I I=J J=M RETURN END Functions are structurally similar to subroutines.

Control Structures  GOTO statements  IF statements  DO statement  CONTINUE


statement  STOP and PAUSE statements  END statement

GOTO Statements  The GOTO statement is used to direct program control to indicated
by the statement number specified in the respective GOTO statement  Three types of
GOTO statements  

Unconditional GOTO 100 Computed GOTO(1,2,3)I Assigned GOTO I,(1,2,3)

IF Statements  Contains IF, ELSE IF, ELSE, END IF  Example 

IF(Q) THEN A=B C=D ELSE IF (R) THEN E=F G=H ELSE X=Y Z=W END IF

DO Statement  The DO statement is used to establish a controlled loop  Example DO


DO 10 I = 1,10,1

CONTINUE,STOP PAUSE, and END STATEMENT  The CONTINUE statement serves as a point
of reference in a program  

No operational function is performed It is frequently used in DO loops to provide a


terminal statement

 The STOP and PAUSE statements do a similar task  

The STOP terminates execution The PAUSE terminates execution, but leaves the
program in a resumable state

 The END statement marks the physical end of a program

EVALUATION  Readability  Writability  Reliability  Cost

Readability  FORTRAN 77 is not to hard to read on a small scale, but when many
GOTO statements are involved it gets very difficult  Identifiers can only be six
characters long

Writability  Depends on what you are using it for.  Is a pretty simply language

Reliability  Is not very reliable  Only static type checking  Lack of exception
handling

Cost  Cheap  Lots of free resources/compilers  A fairly easy language to learn

Bibliography 

Marshall, A C. A Brief History of FORTRAN 77. 8 Sept. 1997


http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode29.html

ibiblio.org. A Brief History of FORTRAN. No date


http://www.ibiblio.org/pub/languages/fortran/ch1-1.html

American National Standards Institute, Inc. American National Standard Programming


Language FORTRAN. April 3, 1978. http://www.fortran.com/F77_std/rjcnf-0.html

Chivers, Ian D. Sleightholme, Jane. Interactive FORTRAN 77: A Hands on Approach 2nd
ed. 1984. http://www.kcl.ac.uk/kis/support/cit//fortran/f77book.pdf

William, Waite. FORTRAN 77 Semantic Analysis. No date.


http://eliproject.sourceforge.net/fortran_html/Semantics.html#s1

Bellis, Mary. Inventors of the Modern Computer. No date.


http://inventors.about.com/library/weekly/aa072198.htm

Page, Rex. Didday, Rich. Alpert, Elizabeth. FORTRAN 77 for Humans, 3rd ed. 1986
West Publishing Company

Katzan, Harry Jr. FORTRAN 77, Computer Science Series. 1978 Van Nostrand Reinhold
Company

You might also like