Title: FORTRAN 77
1FORTRAN 77
- Presented by
- Destry Diefenbach
2The Free Online Dictionary of Computing
(http//foldoc.doc.ic.ac.uk/) Fortrash ltabuse,
languagegt /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)
3- 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
4History 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
5More 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
6FORTRAN I 1957
- Was the first compiler
- By 1958 over 50 of software was in FORTRAN
- Cut development time.
- 2 weeks to 2 hours
7FORTRAN 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
8FORTRAN 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
9Data Types
- FORTRAN 77 explicitly permits data types of
integer, real, double precision, complex,
logical, and characters.
10Real Data Types
- Represent decimal numbers
- It uses scientific notation
- 3E5 300000
- .123E-3 .000123
11Double Precision Data Types
- Instead of E it used D
- 1D2 100
12Complex 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) -105i
13Program Structure
- A FORTRAN program is a collection of subprogram
definitions. - Subprograms may be a FUNCTION that returns
values, a SUBROUTINE that doesnt return a value,
and one must be the main program
14Main 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.
15Intrinsic Functions
- FORTRAN 77 has many intrinsic functions
- Examples
- SQRT( ) square root
- FLOAT( ),INT ( ) type conversions
- COS( ),SIN( ), TAN( ) trig functions
16Statement 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) (-BSQRT(B2-4.0AC))/(2.0A)
17Subprograms
- 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.
18Control Structures
- GOTO statements
- IF statements
- DO statement
- CONTINUE statement
- STOP and PAUSE statements
- END statement
19GOTO 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)
20IF Statements
- Contains IF, ELSE IF, ELSE, END IF
- Example
- IF(Q) THEN
- AB
- CD
- ELSE IF (R) THEN
- EF
- GH
- ELSE
- XY
- ZW
- END IF
21DO Statement
- The DO statement is used to establish a
controlled loop - Example DO
- DO 10 I 1,10,1
22CONTINUE,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
23EVALUATION
- Readability
- Writability
- Reliability
- Cost
24Readability
- 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
25Writability
- Depends on what you are using it for.
- Is a pretty simply language
26Reliability
- Is not very reliable
- Only static type checking
- Lack of exception handling
27Cost
- Cheap
- Lots of free resources/compilers
- A fairly easy language to learn
28Bibliography
- Marshall, A C. A Brief History of FORTRAN 77. 8
Sept. 1997 http//www.liv.ac.uk/HPC/HTM
LF90Course/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/f77b
ook.pdf - William, Waite. FORTRAN 77 Semantic Analysis. No
date. http//eli-project.sourceforge.net/fortran_h
tml/Semantics.htmls1 - 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