Copyright 1978 Intel Corporation
FORTRAN-SOPROGRAMMING MANUAL
Manual Order Number: 9800481 A
PRINTED IN U.S.A./A151/1279/5K CP
PREFACE
Page
CHAPTER
CONTENTS
PREFACE GLOSSARY CHAPTER INTRODUCTION TO FORTRAN
FORTRAN CONCEPTS
APPENDIX A
ILLUSTRATIONS
CHAPTER PROGRAMMING GUIDELINES
FORTRAN-80STATEMENT SUMMARY
GLOSSARY
Record - A sequence of values or characters
1.1.1 Comment Lines
CHAPTER INTRODUCTION TO FORTRAN
1.1 An Introductory Example
1.1.4 Value Assignment Statement
1.1.2 Type Statement
1.1.3 Input Statements
1.1.5 Output Statements
1.2.1 Executable Statements
1.2 Summary Of FORTRAN·SO Statements
1.1.6 Program Termination
1.2.2 Nonexecutable Statements
1.2.3 Order of Statements
FEN:• • • •
PROGRAM name
2.1.2 The PROG RAM Statement
2.1.3 Statements and Lines
2.2 FORTRAN Statement Elements
2.2.1 Character Set
2.2.2 Constants and Variables
ARITHMETICOVERFLOW ERROR MURPHYSLAW
FORTRAN-80
+64101 #14010
PNAME AB HITS AVG
where
#4567Q+#AF2CH
2.2.4 Expressions and Operators
2.2.4.3 Relational Expressions
is evaluated as if it were written
10FLAG = FLAG +
IF FLAG1 .EQV. FLAG2 RETURN
15/3 + 18/9 = 15/3 + 2 = 15/5 =
2.2.5 Scope of Symbols
15/3 + 18/9 = 5 + 2 =
2.3 Notational Conventions
CALL sub arg,arg
Page
3.1.1 REAL Type Statement
CHAPTER DEFINING VARIABLES ARRAYS, AND MEMORY
3.1Type Statements
3.1.2 INTEGER Type Statement
3.1.3 LOGICAL Type Statement
•va,luernustueiA, Qp4
CHARACTER * len, name ,name
3.1.4 CHARACTER Type Statement
3.1.5 IMPLICIT Statement
v* len aryd* len
3.2 Array Definition
3.2.1 DIMENSION Statement
3.2.2 Kinds of Array Declarators
ary s ,s
3.2.3 Properties of Arrays
3.2.4 Referencing Array Elements
Element
3.3 Assignment Statements
Dimension
Declarator
TYPE OF exp
3.3.1 Arithmetic Assignment Statement
TYPE OF
RESULT
3.3.4 ASSIG N Statement
3.3.2 Logical Assignment Statement
3.3.3Character Assignment Statement
v = exp
r*c,r*c
3.3.5DATA Statement
ASSIGN stlTO name
DATA I,J,K/10,20,301
3.4.1 EQUIVALENCE Statement
3.4 Memory Definition
DATA ZEROS 110*0/1,J,K 110,20,301 &NAMES2 IOTTI
3.4.2COMMON Statement
COMMON /eb! nlist ,/ eb! nlist
3.4.2.2 Named and Blank Common Blocks
3.4.3BLOCK DATA Subprograms
3.4.2.1 Common Block Memory Sequence
3.4.4 BLOCK DATA Statement
4.1.1 Unconditional GO TO Statement
CHAPTER 4 PROGRAM EXECUTION CONTROLS
4.1 Transferring Program Oontrol
4.1.2 Computed GO TO Statement
4.1.3Assigned GO TO Statement
GO TO name n, stl ,stl
IFexps1,s2,s3
4.1.4Arithmetic IF Statement
4.1.5 Logical IF Statement
4.1.6 IF, ELSE IF, and ELSE Blocks
4.1.7 Block IF Statement
4.1.8ELSE IF Statement
4.1.9 ELSE Statement
4.1.10 END IF Statement
4.2.2 DO Statement
4.2 Loop Control Statements
4.2.1 Operation of a DO Loop
4.3 Program Termination Statements
4.2.3CONTINUE Statement
4.3.3EN 0 Statement
4.3.1 PAUSE Statement
4.3.2 STOP Statement
5.1.1Intrinsic Functions
CHAPTER FUNCTIONS AND SUBROUTINES
5.1Intrinsic and Statement Functions
A = 33 + SQRT8
INTRINSIC tunc ,tunc
5.1.2 INTRI NSIC Statement
5.1.3 Statement Functions
tunc dum ,dum ... = exp
156.8
5.1.3.1 Referencing Statement Functions
5.1.3.2 Statement Function Limitations
5.2.1.1 Referencing External Functions
5.2 External Procedures
5.2.1 FUNCTION Statement
typ FUNCTION tunc dum ,dum
5.2.2Subroutines
5.2.1.2 FUNCTION Subprogram Limitations
5.2.3 SUBROUTINE Statement
~RETURN
CA.~END
5.2.4 RETU RN Statement
SAVE lebl ,Iebl
5.2.5SAVE Statement
5.2.6EXTERNAL Statement
EXTERNAL proe ,proe
5.3 Arguments And Common Blocks Revisited
5.2.7 CALL Statement
5.3.3 Association Of Arguments
5.3.1 Common Blocks
5.3.2 Dummy And Actual Arguments
Functions And Subroutines
5.3.3.2 Variables As Dummy Arguments
5.3.3.4 Procedures As Dummy Arguments
5.3.3.1 Agreement Of Argument Lengths
5.3.3.3 Arrays As Dummy Arguments
5.3.3.5Argument Association Limitations
FX, Y,
Page
6.1.1Record Properties
CHAPTER INPUT/OUTPUT
6.1Records, Files, And Units
6.1.2 File Properties
6.1.2.3 File Position
6.1.2.1 File Existence
6.1.2.2 File Name
6.1.2.4 External And Internal Files
6.1.2.5 File Access
6.1.3 Unit Properties
6.2.1.1 Unit Specifier
6.2 File-HandlingStatements
6.2.1 OPEN Statement
6.2.1.21/0 Status Specifier
6.2.1.5 File Status Specifier
6.2.1.3 Error Specifier
6.2.1.4 File Name Specifier
6.2.1.8 Record Length Specifier
6.2.1.6 Access Method Specifier
6.2.1.7 Formatting Specifier
6.2.1.9 Blank Specifier
6.2.2.1 Unit Specifier
6.2.2CLOSE Statement
6.2.1.11 Opening A Connected Unit
CLOSE close-list
6.2.2.2 File Disposition Specifier
6.2.3 BACKSPACE Statement
6.2.4 REWI N D Statement
REWI N Darg-list
6.3.1 READ Statement
6.3 Data-Transfer 1/0 Statements
6.2.5 ENDFILE Statement
REWIND REWIND 3, IOSTAT= ERRFLG, ERR=
6.3.1.1 Control Information List
Examples
6.3.1.3 Implied-DOList
6.3.2WRITE Statement
6.3.1.2 Input List
WRITE ctl-list out-list
6.4.1 Unformatted Data Transfer
6.4Formatted And Unformatted Data Transfer
6.3.3 PRINT Statement
6.4.2.2 Format Control
6.4.2 Formatted Data Transfer
6.4.2.1 Printing Formatted Records
stl FORMAT flist
6.4.3FORMAT Statement
6.4.3.t Edit Descriptors
1 is Ff
Form of exp
Edit Descriptor
Absolute value of exp
OY1 Y2
either a sjgu ora letter indicatingthebas¢
a Z5editdesctiptor
Example
FS.2
DollytSigfjl$ijitrrrg·
6.4.4List·Directed Formatting
6.4.4.1 List-Directed Input
6.4.4.2 List-DirectedOutput
Page
7.1 Program Development
7.1.1 Problem Definition
CHAPTER PROGRAMMING GUIDELINES
7.1.2 Program Documentation
7.1.3 Refining The Problem Definition
7.1.4 Final Coding
7.2.2 GO TO Statement
7.2 FORTRAN Coding
7.2.1 Functions And Subroutines
7.2.3 Crossing Unit Lines
X = 2217*r* *2
7.3 References
7.2.5 Reminders
PI =
1972
A.2 Statement Summary
APPENDIX A FORTRAN-80STATEMENT SUMMARY
A.1 Statement Sequence
ERR = stl
ERR = stl
FORTRAN-80Statement Summary
DATA Statement Category: Nonexecutable
ELSE IF Statement Category: Executable, Block IF
EQUIVALENCE Statement
FUNCTION Statement Category: Nonexecutable
IMPLICIT Statement
OPEN Statement
fORTRAN-80Statement Summary
REWIND Statement
SUBROUTINE Statement Category: Executable
APPENDIX B INTRINSIC FUNCTIONS
B.1 Intrinsic Function Summary
<ORM
Intrinsic Functions
FORTRAN-80
CATEGORY
B.2 Notes On Intrinsic Functions
Page
C.2 The Hollerith Constant
APPENDIX C HOLLERITH DATA TYPE
C.1 Hollerith As A Data Type
C.2.1 Hollerith Constants In DATA Statements
Hollerith Data Type
C.3 Hollerith Format Specification
C.4 AEditing Of Hollerith Data
0.2Nonstandard Extensions To 1977 FORTRAN
APPENDIX D EXTENSIONS TO ANSI FORTRAN
0.1 Standard Extensions To 1977 Subset
0.3 More Specific Semantics Than 1977 FORTRAN
0.4 Differences From 1966 FORTRAN
Miscellaneous extensions Seven-dimensionalarrays
Page
ASCII CODES
APPENDIX E
Page
F.2 Compiler Extensions
APPENDIX F 8080/8085 PROCESSOR DEPENDENCIES
F.1 Processor Limitations On Language
Length
F.2.2 Port Input/Output
F.2.3 Reentrant Procedures
F.2.1 Lowercase Letters
F.2.4 Free-formLine Format
F.2.7 Including Source Files
F.2.6 Default Data Lengths
F.2.5 Interpretation of DO Statements
$0077
F.3 Unit Preconnection
F.2.8 REel Specification For Sequential Files
F.2.9 Flexibility In Standard Restrictions
INDEX
Index FREEFORM Compiler Control, F-2
FORTRAN-SO
Index
Page
NOTES
NOTES
SOFTWARE PROBLEM REPORT
inter
Postage will be paid by Addressee
111111
BUSINESS REPLY CARD
Intel Corporation Attn: Literature Department
REQUEST FOR READERSCOMMENTS
FORTRAN·80PROGRAMMING MANUAL 9800481 A
0LIKE YOUR COMMENTS
111111
BUSINESS REPLY CARD
Intel Corporation Attn: Literature Department
Page
inter
Printed in U.S.A