Dan Nagle's Technical Site

Scalar Fortran

Home --> Fact Sheet --> Workshops --> Scalar Fortran

Scalar Fortran

This workshop consists of a series of examples. Read, compile, and execute each example. See what it does. The comments are intended to explain each step.

There are a few themes featuring in this workshop. One is the notion of scope, or where a definition is known. Another is the notion of the processor to represent the environment within which the program was compiled, linked, and executed. The notion of type parameterized by kind is also prominent.

The table following gives an overview of the Scalar Fortran workshop, and gives links to the individual example directories.

Scalar Fortran

Index Name Link Topics
01 Hello World 01-Hello_World program scope, input/output transfers
02 Hello World 02-Hello_World intrinsic modules, initialization
03 Hello World 03-Hello_World internal procedures, host association
04 Hello World 04-Hello_World module scope, use association
05 Hello World 05-Hello_World interfaces, arguments, procedures
06 Hello World 06-Hello_World module procedures, submodules
07 Hello World 07-Hello_World derived types, type-bound procedures
08 Hello World 08-Hello_World asynchronously executing images, merged stdout
09 Hello World 09-Hello_World distributed objects executing asynchronously
10 Timing 10-Timing timing and time-and-date services
11 Random 11-Random random number seeding and generation
12 Echo 12-Echo command line access
13 Path 13-Path environment variable access
14 Execute 14-Execute command line execution
15 Bit Model 15-Bit_Model bit model, bits addressed as if by powers of 2
16 Bit Model 16-Bit_Model "mil std" bit intrinsic procedures
17 Bit Model 17-Bit_Model merging, counting, comparing bits
18 Bit Model 18-Bit_Model bit masks and double-word shifts
19 Bit Model 19-Bit_Model arithmetic, logical, and circular single-word shifts
20 Kinds 20-Kinds integer kinds, integer model, integer inquiry intrinsics
21 Kinds 21-Kinds real kinds, real model, real inquiry intrinsics
22 Kinds 22-Kinds character kinds, character sets
23 Kinds 23-Kinds processor kind summary
24 Integers 24-Integers default integer, radix, limits
25 Integers 25-Integers integer operators and operator-like intrinsics
26 Integers 26-Integers integer relational operators
27 Integers 27-Integers names of integer kinds
28 Integers 28-Integers integer division
29 Characters 29-Characters character kind parameters and character length parameters
30 Characters 30-Characters character declarations and character assignment
31 Characters 31-Characters trim and character concatenation
32 Characters 32-Characters searches and substrings
33 Characters 33-Characters more searches and strings
34 Characters 34-Characters character comparisons
35 Characters 35-Characters ASCII characters
36 Logicals 36-Logical logical values and operators
37 Logicals 37-Logical relational operators produce logical values
38 Reals 38-Reals default real, real intrinsics, real formats
39 Reals 39-Reals real operators and operator-like intrinsics
40 Reals 40-Reals real relational operators
41 Reals 41-Reals names of real kinds
42 Reals 42-Reals the limits of floating point
43 Complex 43-Complex default complex
44 Complex 44-Complex complex operators and conversions
45 Complex 45-Complex a complex kind for every real kind
46 Derived Types 46-Derived_Types derived type and derived type value constructors
47 Derived Types 47-Derived_Types safe derived types with private components and get/set
48 Derived Types 48-Derived_Types derived type pointers and linked lists
49 Assignment 49-Assignment conversion among numeric types
50 Assignment 50-Assignment logical assignment
51 Attributes 51-Attributes pointers, targets, association status
52 Attributes 52-Attributes allocatables, pointers, and targets
53 Attributes 53-Attributes derived type components and targets
54 Attributes 54-Attributes cobounds and coshape
55 Executables 55-Executables if-blocks
56 Executables 56-Executables select case, case values, case ranges
57 Executables 57-Executables do-loops, cycle, exit
58 Executables 58-Executables do-loop m1, m2, m3, and the iteration count
59 Executables 59-Executables do-concurrent and unordered iterations
60 Executables 60-Executables associate blocks to rename complicated terms
61 Executables 61-Executables blocks and nested scope
62 Executables 62-Executables branching and branch targets
63 Input Output 63-Input_Output sequential access, processor messages
64 Input Output 64-Input_Output using file names from the command line
65 Input Output 65-Input_Output stream access
66 Input Output 66-Input_Output direct access, scratch files
67 Input Output 67-Input_Output namelist
68 Input Output 68-Input_Output list-directed
69 Input Output 69-Input_Output unformatted transfers
70 Input Output 70-Input_Output formatted direct access
71 Input Output 71-Input_Output dos-to-unix file converter via unformatted stream access
72 Input Output 72-Input_Output character file copy via asynchronous i/o
73 Format 73-Format format spacing descriptors
74 Format 74-Format blank interpretation and scale factor
75 Format 75-Format print any number of newlines
76 Format 76-Format control leading signs
77 Format 77-Format integer decimal format
78 Format 78-Format character format
79 Format 79-Format character format and logical format
80 Format 80-Format real format
81 Format 81-Format real exponential format
82 Format 82-Format real engineering format
83 Format 83-Format real scientific format

Back to the Top