FORTRAN 77 - Murray State University

Download Report

Transcript FORTRAN 77 - Murray State University

FORTRAN 77
Presented by:
Destry Diefenbach
The Free Online Dictionary of Computing (http://foldoc.doc.ic.ac.uk/)
Fortrash
<abuse, language> /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