1620_Users_Group_Eastern_Region_196505 1620 Users Group Eastern Region 196505

1620_Users_Group_Eastern_Region_196505 1620_Users_Group_Eastern_Region_196505

User Manual: 1620_Users_Group_Eastern_Region_196505

Open the PDF directly: View PDF PDF.
Page Count: 320

Download1620_Users_Group_Eastern_Region_196505 1620 Users Group Eastern Region 196505
Open PDF In BrowserView PDF
PROCEEDINGS OF THE MEETING
OF THE EASTERN REGION OF THE
1620 USERS GROUP

The Carillon Hotel

Miami. Florida
May 9. 10. 11. 1965

•

•
TABLE OF CONTENTS
PAPERS TO BE PRESENTED AT
1620 USERS GROUP MEETING
MIAMI - CAI~ILLON HOTEL
MAY 9, 10, 11. 1965

o

Session A-I

Unattended Operations of the 1620, C. S. Schrodel
(Sun Oil Company, U. G. Code 1298) (Intermediate) ••••••••••••••••••••••••••••• l
Time Sharing on the 1620, E. W. Channen
(University of Windsor, U. G. Code 7042) Simulation of Program
Interrupt for Time Sharing Under Monitor I (Intermediate) •••••••••••••••••••• lO
The Compleat FOHTRAl{, J. A. Haag
(Purdue University) Description and Discussion of a New 1620
Textbook on FORTRM~ II (General Interest) •••••••••••••••••••••••••••••••••••• ll
_

Undefined Variable Detector for FORTRAN II, T. J. Scott
(Sun Oil Company, U. G. Code 1298) A Debugging Aid to Locate
Undefined Variables at Object Time in a FORTHAN II, V. 2 Program
(All FORTRAN users) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 19
Music Programs as an Aid to Debugging, P. J. Jutsum

(University of the West Indies) (General Interest) ••••••••••••••••••••••••••• 22
Session B-1
Financial Evaluation by Discounted Cash Flow, Leslie Parker
(IBM - Poughkeepsie) 20K 1620· Financial Analysis Program
(Intermediate) ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 26
CD 4 - PDQ, G. Lilly
(Jones and Laughlin Steel Corp.) An Extended Disk Version of
PDQ FORTRAN (Intermediate, Systems Programmers) •••••••••••••••••••••••••••••• 38

uw -

M 1620 WISAL, C. Mackenna
(Uni v. of Wis consin - l-1ilwaukee) A Simple Instructional Programming
Language for Accounting (Intermediate) ••••••••••••••••••••••••••••••••••••••• 42

1620 Support for a Document Writing System, C. M. Thatcher
(Pratt Institute) A 1620 Program Insert Control Symbols Into the Input
for an 870 Document Writing System (Elementary - Intermediate) ••••••••••••••• 54
Session C - 1
Use of 1620 Model I for Simplification of Boolean Algebra Expressions,
C. Plesums
(Union College, U. G. Code 1302) A Discussion of a Program for Boolean
Simplification with Emphasis on Programming "Tricks" Used
(Intermediate - assumes knowledge of M. L•• SPS) ••••••••••••••••••••••••••••• 62

~

C·
..•

•

TABLE OF CONTENTS, contd.

c

Plot a Block Diagram, Mrs. S. Young
(U. S. Dept. of Health, Education & Welfare, U. G. Code 1118)
Program to Use CalComp Plotter to Prepare Block Diagrams for
SPS Source Programs (General Interest) ••••••••••••••••••••••••••••••••••••••• 65
Assembling SPS 1 Programs with Monitor 1, T. I. Markland
(IBM - Poughkeepsie) (Intermediate) •••••••••••••••••••••••••••••••••••••••••• 77
PROGRAM TEAM SESSIONS
1620 Back Panel Wiring Program, Peter Dunham
( Raytheon) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• *
1620 Electronic Circuit Analysis Package, Herbert Wall
(IBM) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 86
Computer Aided Design of Integrated Circuits, A. Spitalny
(Norden) ••••••••••••••••••••••••••.••••••••••••••••••••••••••••••••••••••••••• 87
D. C. Automatic Electric Network Analysis, H. Pachon
(Automatic Electric Labs, Inc., U. G. Code 3182) A Program to
Perform Automatic D. C. Analyses of Electronic Circuits
(Advanced) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 108
Traverse Adjustment by Weighted Least Squares, R. L. Kenngott
(Chas. H. Sells, Inc., U. G. Code 1377) Employs the Full Theoretical
Rigor of Least-squares in Traverse Adjustment Without Artifice or
Approximation (Intermediate) •••••••••••••••••••••••••••••••••••••••••••••••• 120
3-Dimensional COGO, J. W. Madden
(Electronic Data Processing, Inc.) A 3-Dimensional Set of COGO
Routines for Use in Highway and Bridge Design (Intermediate) •••••••••••••••• 123
Design of Single, Double, Triple Cell Box Culverts, Leno Morris
(New York Sta~e Dept. of Public Works) •••••••••••••••••••••••••• ~ ••••••••••• l33
Hore-Less, CPM & PERT System for Disk and Printer, A. D. Johnson
(NASA, U. G. Code 3306) (Intermediate) •••••••••••••••••••••••••••••••••••••• l47
Session A - 2
Fitting Straight Lines to X-Y Data When Both Variables are
Subject to Error, F. K. Durkam
(u. S. Atomic Energy Commission) Three Methods (Scarborough, Wald,
Bartlett) for Estimating Functional Relations of Two Variable Data
are Compared With the More Commonly Used Regression Relationships Fitted
With the Least Squares Criterion •••••••••••••••••••••••••••••••••••••••••••• l54

C

"i
I'

Use of Orthogonal Polynomials for Curve Fitting, S. S. Kuo
(Univ. of New Hampshire, U. G. Code 1198) The Application of
Orthogonal Polynomials is Extended for Fitting a Set of Unequally
Spaced Data Points (General Interest) ••••••••••••••••••••••••••••••••••••••• l64
ii

•

•

TABLE OF CONTENTS, eontd.

Curve Fitting by Finite Sums of Exponentials, R. Meshelof
(State University of Nev York. U. G. Code 1283) (Advanced) •••••••••••••••••• 175
Session B-2
TYGO - Load and Go SPS for Paper Tape, R. C. Head Be P. J. Jutsum
(University of the West Indies) ••••••••••••••••••••••••••••••••••••••••••••• 187
SPAS - Load and Go SPS for 4o-6oK Card System. G. G. Billin
(Clarkson College) (Advanced - Intermediate) •••••••••••••••••••••••••••••••• 188
Session C - 2, SessionC - 3
Understanding FORTRAN II (Workshop) I L. Hoffman
(Princeton University-Guggenheim Labs) A Presentation of FN II
Subprograms Written in SPS Will be Made With an Bxtensive
Coverage of the Internal Communication of fll II for the 1620 •••••••••••••••• 196
Session A - 3
Non-Linear Estimation "by !,·10dified Gauss-Newton 1·1ethod t Jerry Kemp
(U. S. Naval Ammunition Depot, U. G. Code 3073) Program Uses
Gauss-Newton Hethod for the Fitting of Non-Linear Regression
Functions by Least Squares •••••••••••••••••••••••••••••••••••••••••••••••••• 197
The Autolog-Digiklok System, E. F. Staiano. D. E. Atkins
(Bucknell University) A Digital Clock for the 1620 and Software
Modifications to Monitor I to Incorporate the Clock in an Automatic
Logging System (Intermediate) ••••••••••••••••••••••••••••••••••••••••••••••• 213
Disk Version of FORTRM~ II Incremental Plotter Subroutine
(Plotter Users), P. Larrea
(Princeton-Pennsylvania Accelerator, U. G. Code 1177) A General
FORTRAN II Subroutine for a Complete Drawing With Only One Subroutine
and a Minimum Number of Statements (Intermediate) ••••••••••••••••••••••••••• 235
Session 13 - 3
Planning and Running a Short Term Workshop on Computer Orientation
and Programming. Mrs. Joyce Fodor
(University of Wisconsin, U. G. Code 3155) (General Interest particularly those responsible for education and training programs) ••••••••• 256
A Ten-Year Budget Projection for Educational Institutions, J. A. Ferling
(Claremont Men's College, U. G. Code 5033) The Use of the 1620 in
Planning for Educational Institutions (Elementary) •••••••••••••••••••••••••• 263
Junior College Instructional Testing Program, D. G. Owen
(Miami-Dade Junior College) Description of Test Scoring System
Used at Miami-Dade Junior College (General Interest; Educators) ••••••••••••• 268
*Not available at time of publication.
iii

c

PROGRAI'4
1620 USERS GROUP MEETING

CARILLON HOTEL
Miami Beach, Florida
May 9, 10, 11. 1965

SUNDAY - MAY 9
6:00 p.m. -

8:00 p.m.

8:00 p.m. - 10:00 p.m.

REGISTRATION
SOUND-OFF SESSION
Chairman:

Dr. James R. Oliver

SHOW

11:30 p.m.

Medallion Room

Cafe Le Can Can
HONDAY - HAY 10

7:30 a.m. -

8:30 a.m.

REGISTRATION

Burgundy Foyer

8:00 a.m. -

9:00 a.m.

NEW USERS BREAKFAST

Sugar tn Spice Room

OPENING SESSION

Carillon Hoom

y:oo a.m. - 12 Noon

Chairman: Dr. Oliver
(1) Official opening and welcome
by President J. R. Oliver
(2) Users Group announce'ments
(3) IBI'-1 announcements

o

10:00 a.m.

COFFEE BREAK

Upper Lobby

10:30 a.m.

"1130 Computer"
D. N. Leeson

Carillon Room

12:00 noon - 1:15 p.m.

LUNCHEON
Speaker: Mr. Rudolf Heyer
"Education and the 1620"

Burgundy Room

SESSION A-I

Carillon Room

1:30 p.m. -

2:00 p.m. Paper

"Unattended Operations of 1620"
c. s. Schrodel

2:00 p.m. -

2:20 p.m. Paper

"Time Sharing on 1620"
E. W. Channen
(Inter.)

2 : 20 p.m. -

m Paper
2 •"50 P ••

lIlIT
"The Compleat FORTR ~
ff
J. A. Haag
(General Interest)

2:50 p.m. -

3:10 p.m. Paper

"Undefined Varia.ble Detector
for FORTRAN II"
T. J. Scott
(General Interest)

3:10 p.m. ""

3:30 p.m. Paper

"Husic Programs as an Aid to Debugging"
P. J.Jutsum
(General Interest)

SESSION B-1

2:20 p.m. Paper

"Financial Evaluation by Discounted
Cash Flow"
Leslie Parker
(Inter.)

2 :20 p.m. -

2 :·50 p.m. Paper

"cD4-PDQ (Disk PDQ)"
G. Lilly
(Inter., Systems Programmers)

2:50 p.m. -

3:10 p.m. Paper

"1620 Support for a Document Writing System"
C. 1>1. Thatcher
(Inter. )

3:10 p.m. -

3:30 p.m. Paper

"UW-N 1620 WISAL" (new language)
C. MacKenna
(Inter.)

2:00 p.m. Paper

"Use of 1620 t..fod I for Simplification
of Boolean Algebra Expressions"
C. Plesums

2:00 p.m. -

2:30 p.m. Paper

"Plot a (SPS) Block Diagram"
Mrs. S. Young
(General Interest)

2:45 p.m. -

3:15 p.m. Paper

"Assembling SPS I Programs with
r·ioni tor I"
T. I. Harkland
(Inter. )

3:30 p.m. -

4:00 p.m.

TE~1

4:00 p.m. -

~

·

·

'

"

~

'

"

"

Empire Hoom

1:30 p.m. -

PROGRM4

_ _ • _ _ _ •_ _ _ _ _ r ••

Dominion Room

1:30 p.m. -

SESSION C - 1

~

• _ _ _ ._. _ _ _

~

------_._---------_.__..

~

-----

COFFEE BREAK

Upper Lobby

(1) ELECTRONICS PGM TEAM

Empire Room

MEETINGS:

5:30 p.m.

A. Spi t alny. Chai man
v

c

en

--

Hr.

h st.

o

4:00 p.m. -

rtrtM

tt tznnz

Paper

"1620 Back Panel Wiring Program"
Peter Dunham

Paper

"1620 Electronic Circuit
Analysis P,ackage"
Herbert Wall

Paper

"Computer Aided Design of Integrated
Circuits"
A. Gpi t ulny

Paper

"D. C. Automatic Electric Network
Analysis"
H. Pachon
( 1/2 hr. Adv. )

5:30 p.m.

& CIVIL ENGINEERIUG
PGH TEAM
T. J. Scott, Chairman

(2) STRUCTURAL

Paper

"Gimmik-free Adjustment of
Survey Traverse"
R. L. Kenngott
(20-30 min. Inter.)

Paper

"3-Dimensional COGO"
J. H. Madden
(4') min.)

Paper

"Design of Single. Double, Triple
Cell Box Culverts"
Len 0 Horri s
(30 min.)

Dominion Room

4:00 p.m. -

5:30 p.m.

( 3) PROCESS & C']ElvlICAL EHGINEERING
PGH TEAM
C. S. Schrodel, Chairman

Sales Board Room

4:00 p.m. -

5:30 p.m.

(4) OPERATIons RESEARCH PGHTEAH
J. R. Oliver, Chairman

Carillon Room

Paper

"ePN & PERT System for Disk and

Printer"
A. D. Johnson·
(20 min. Inter.)

5:30 p.m. -

o

~~:30

p.m.

COCKTAIL HOUR

Sun Terrace

(Compliments of The ,Carillon Hotel)

6:30 p.m.

LUAU

Sun Terrace
vi

9:30 p.m.

EXECUTIVE COUNCIL f.fEETING

9:30 p.m.

RECENT FIil-1S of, IUTEREST to
1620 Users

Dr. Oliver's Suite
No. 1604
Empire Room

lUESDAY - HAY 11
SESSION A - 2

9:00 a.m. -

9:15 a.m. Paper

"Fitting Straight Lines to
x-y Data ~len Both Variables
are Subject to Error"
~. K. ,Durkam

9:15 a.m. -

9:30 a.m. Paper

"Use of Orthogonal Polynomials
for Curve Fitting"
S. S. Kuo
(Inter. )

9:30 a.m. - 10:00 a.m. Paper

"Curve Fitting by Finite Gums of
Exponentials"
R. Meshelof
(Adv.)

,SESSION B-2
9:00 a.m. -

9:30 a.m. Paper

Carillon Room

Dominion Room

"TYGO - Load & Go- BPS
for Pape.r Tape"
R. C. Read & P. J. Jutsum

9:30 a.m. - lO:OQa.m. Paper. "SPAS - Load & Go SPS
for 4o-6oK Card System"
G. G. Bi11in.
(Adv. - Inter.)

:SESSIOH C - 2
9:00 a.m. - 10:00 a.m.

10:00 a.m. - 10:30 a.m.

WORKSHOP:
"Understanding FORTRAN II"
(FORTRAN II sub-programs
written in SPS)
L. Hoffman
(Adv. )
COF'}i'EE BREAK

Upper Lobby

SESSION A- 3

Carillon Room

10:30 a.m.' - 11:00 a.m. Paper "Fitting of Non Linear Regression
FunctiQns by Least .Squares"

h~h~

(Inter.)

/
/

Empire Room

J

vii

C

Dominion Room

SESSION B-3

10:30 a.m. - 10:50 a.m.
Paper

10:50 a.m. - 11:20 a.m.
Paper

EDUCATION TEAM

SESSIO~1

"Planning & Running Short Term
Workshop on Comp. Orient. & Prog."
Mrs. Joyce Fodor
(General Interest)
"A Ten Year Budget Projection for

Educational Institutions"
J. A. Ferling
(Elem.)
SESSION C - 3

10:30 a.m. - 12:00 noon

WORKSHOP

CO:~TINUATI

Empire Room

au

L. Hoffman

SESSIOH A - 3

11:00 a.m. - 11:30 a.m.
Paper

11:30 a.m. - 12:00 noon
Paper

"Autolog Digiklok Nod for
1620 t10ni tor I System"
E. F. Staiano. D. E. Atkins
(Inter.)
"Disk Version of FORTRAN II
Incremental Plotter Subroutine"
P. Larrea
(Plotter 'i.lsers)

SESSION
11:20 a.m. - 11:50 a.m.
Paper
12:00 noon - 1:15 p.m.

o

Carillon Room

il -

3

Dominion

Hearn

"Test Scoring System"
D. G. Owen
LUNCHEON

Burgundy Room

1:30 p.m. -

3:00 p.m.

"1-1. P. L. "
Cari lIen Room
(!4ultipurpose Programming Language)
D. N. Leeson

3:00 p.m. -

3:30 p.m.

COFFEE

Upper Lobby

3:30 p.m. -

5:00 p.m.

ANSWER TO SOUND OFF

Carillon Room

viii

c

Im,ts.

M

, 1_

it

timnddrsszrtt

SUN OIL QOMPANY
RESEARCH AND EN GINElmING
ENGINEERING DIVISION

UNATTENDED OPERATION OF THE 1620 COMPUTER
by

C. S. Schrodel

'For presentation at

th~

Eastern Region, l620 Users Group Meeting

May 10, 1965'

o

Miami, Florida

1

UNATTENDED OPERi:TION' OF THE 1620 COMPUTER
------'----- --- ---- --------

SUMMARY
.

The unattended operation system was designed to allow running of an
operc~,tor and without the
limitation of the card read and punch hoppers. Tf,(;) syst.em can execute
and compile Fortr2.Tl II-Version 2 programs, using .t.he 1311 Disk Drive as
the input~output device for data and programs. Se[iarDte programs used by
the system are:

IBH 162:)' for long periods without need of an

1.

A program to load the data and source decks onto the

disk.

2.

A program to load the object programs.

3.

A rrogram to control compilation.

4.

A program to control execution.

5.

A pro:y,ram to dump the output from the disk.

6.

Nodified cOTilpiler and subroutLles.

Present reciuircments for use of the system are a 69J core, a 1311
Disk Drive, SJUI'ce pro~~ rruns in Fortran II, and prograrn~-'"~ihich 'do no t use
cOl'e location5 S~2.9~.2 to 59,999.
~"'~;;"w'-"""-';:~.7":'"'.

USE OF THE SYSTEH
T118 normal use of the system is to load the data and pI',Jt~;rams onto
the diEk dU"Y':in:·~ the late oiter-noon, allow unattended op8rDtion during the
n:: :;ht, a.10 dump the output from the disk trie following morning. In order
to properly load the disk, it is necessary to know the following aoout
thp -jist: layo11 t.:

1.

The data and source decl-cs ;reloaded tl:0 sectors par

card from tne sector speci.:.'J.ed upwi::,rd. The sector
CJdciress is specified ;It load time and must be gre['ter
than 600 and also ar' ~VGn number.
2.

The objectpr·)grams are loaded three cylinders per
program from the sector specified upward. 'fhe sector
address of the first program is specified at load time
and must be a multiple of 200.

3.

The program output followed by the symbol tables of the
compiled programs are written two sectors per record
(card) starting Cl.t 00000.

2

.

(

,
"

4.

The compiler (passes I, II and intermediate output) uses
sectors 18800 to 19999.

5.

Compiled object decks are written on the disk one sector
per card starting at 18799 downward.

Sectors should be specified for the input and programs so that the
work 'can be fit on the disk in sectors 0 to 18199, and so that generated
output will not overlap data not yet used. Efficient usage is to load
first the programs ~th the highest ratio of input to output. The
starting address of the programs should be 18800 minus 600 times the
number of programa. Data followed by source decks are loaded below the
object programs. Oper~ting in this manner, it is possible to have the
output overlap data already used, have the s,ymbol tables overlap the source.
decks, and finally have the compiled object decks overlap the programs
which had been previously run.
Each data set and source program must be preceded by a oard with a
record mark in column one. If it is desired that the same program be
reloaded for the next data set, any digit should be placed in column two
of the record mark card. For example, if the same program is. to be
used for three data sets, then the first two data sets must be preceded
with cards having a record mark in column one and a digit in colwnn two.
A card with a double record mark is placed after the last source deck
as an indication to stop. It· should be obvious that data and object
programs must be loaded in the same order and that compilations are last.
The system cannot be used to compile and execute directly.

"LOAD DATAII PROGRAM
The "Load Data" program is loaded into core, followed by the data
and source programs. The ADD tables must be in core. During loading,
the program types the message DATA START and reads from the typewriter
the sector address at which the data is to begin. This location is
recorded on the disk in· sector 00598. The data is then read in and
written on the disk, two sectors per card, starting at the specified
location.
"LOAD PHOGRAM" PROGRAM
This program is used to load onto the disk those programs-which are
to be executed. ATter loading, the program types the message PROGRM4
START and reads from the typewriter the sector address from which the
programs are to be stored. 'This location is recorded in sector 00599,
and the program stops. The first program to be executed is then loaded
. into core, together with its subprograms m,1d subroutines. After loading,
a branch to 59000 causes the program to be wr1ttenont,0 disk at the proper
location. The second program is then loaded into core, &ld the process
repeated.

o

To prevent the possibility o£ check stops due to undefined variables,
it 1s convenient to have the core cleared· to flagged zeros. However l i t
is necessary that the "LQa4 Program" routine in the S9 J OOO's not be
cleared. The proposed Ileana ot doing thi. ia to clear the core to

3

·.•.

-.~-.------

-

--.----

...-..•.. •..-.-- .....

•
flagged zeros, restore the add tables, and record this "clear core" in
sectors 0 to 00590 before the initial load. This. II clear core" is then
to be read into core between each loading tor a fresh start.

"EXECUTION" PROGRAM
This· routine is essentially a monitor and controls the execution of
the object programs. The program is loaded into core when the unattended
operati.on is to be initiated and resides in 59000 to 59900. This routine
operates in conjunction with a modified subroutine deck to perform the
following functions:
1. Load object programs from disk into core.

2.

Read through data cards until a record mark card is
found, indicating a new data set.

3. Read or write a record on disk whenever a card would
have been read or written by an unmodified subroutines
set.

4.

Terminate execution and go to the next job whenever an
error F7 occurs, or 25 errors other than F7 and F8, or
a record mark card is read for a data card.

5. Type

OLAP and stop if an input record is to be read from

a sector lower than the current output sector.

6.

Write a record between jobs to control the dumping of the
output.

This routine reads a program into core locations 0 to 58999 whenever
a branch to 59000 occurs. After loading the program, it reads through
the input records until it finds a record mark card. If the record mark
card does not contain a digit in column two, it increments the program
counters by 600 so that the next program will be read into core on the
next branch to 59000. The counters are not incremented when column two
contains a digit. The routine then types START and executes a 4900409.

"COMPILE" PROGRAM
This routine works in conjunction with a modified compiler to allow
compilation without use of the card reader .or punch. Compiler, source
statements, intermediate output, symbol table, and object decks are all .
read from or written on the disk. This program is loaded on the disk by
the "Load Programs" routine following the last program to be executed.
After termination of the executions, this program is read into core and
takes control. The routine requires about 2000 core posit.ions. FW1ctions
of this routine are as follows:

1.

Read in Pass I or Pass II at the appropriate time.

2.

Read or write source statements, ·intermediate output or
object deckus1ng disk instead ,pi cards. Intermediate'
output starts at sector 19171 for each job.

'\

c

\

4

II
I

3. Write symbol tables statements on the disk rather than

c

the typewriter.

4. Type OLAP and stop if source statements are to be
read from a higher sector than object deck is to be
written.

5.

Write a control record for use of "Dump Disk" routine
between symbol tables and object decks.

6.

Between jobs, read through source statements until a
record mark card is found. Stop if it is a double record
mark.

ItDUIJIP DISK" PROGRAM

This routine is used to dump the results of the unattended operation
from disk onto cards. One alphameric card is punched for each two
sectors starting at sector 0 and continuing through the number of sectors
written for output and symbol tables. The program then punches out all
Gompiled object decks one card per sector, strrting at 18799 and
continuing down through the number of records written for object decks.
The program stops after pUllching the output of each job to allow
separation of cards. Depressing start causes a continuati.on to the next
Job. After plllching the last record written, the program types the
message 'END.
HODIFIED COMPILER

,Changes were made to both passes of the Fortran II-Version 2 compiler.
The changes are oS follows:
1.

Every card read or written has been converted to a branch
into the IICompile" program for the reading or writing of
disks.

2.

All halts have been removed. Those which had been terminal
now generate a branch to the next job.

3.

The header card appears only in front of the symbol tables.

4. The use of sense s\Ii tches is eliminated.

Symbol tables
and traces are standardw Customary batch compiling is
eliminated. Source listings are not avai12ble. Subrout.ines
are no t punched.

5.

o

PAUSE, STOP, and END statements generate a 275900059899
instruction instead of a 48. This is to prevent undesired
halt.s during unattended operation. If desired, a halt
and branch back can be placed at 59000 for attended
op'eration.

MODIFIED SUBROUTINES
I

A modified subroutine deck is used for unattended operation. The
subroutines branch into the "Execution" program for input and output

5

---~

~--~-

-~-

..

-.~-.~~~-

..__.... __ ...

.. --

_---_._ .._-------_._-_.... _.....•.•••.._--.-.----

and the listing of the error message other than F8. Error F8 messages
have been modified so that they appear only on the typewriter.

c.

S. Schrodel

C:
6

APPENDIX:

-

OPERATING TECHNIQUE FOR UNATTmDED OPERATION

Load Data
1.

Load add tables if core has been cleared to zero.

2.

Load "Load Data" Program.

3.

Type sector address at which data is to start; must
be greater than 00600 and must be an even address.

4.

Stack data followed by source programs, and read
into core.

5.

Each data set and source program must be preceded
by a oard with an 028 punch in column one. This
card must have a punch in column two if the same
program is to be reloaded fOF the next data set.
The last card must have an 028 in both columns one
and two.

Load Programs
1.

Clear core with a 310000300002 command.

2.

Load add tables.

3. Store this clear core on the disk with the

"Lo~d (j

on Disk" routine •

.4.

Load ttLoad Programs" routine.

5.

Type sector address at which programs are to begin.
Must be a multiple of 200. Normally, 18200-600 times
the number of programs to be executed.

6. Load 1st program to be executed and branch to 59000.
The Version 2 unattended subroutines must be included.

7. Clear core with the tlRead '0 from Disk" routine.
8. Repeat 6 and 7 for each program.
9.

Load "Compile" Program.

1.

Load add tables if core has been cleared to zero.

2_

Load

Execution

"Execu~;lontt

routine.

7

Dump Disk

-..,.....-

1.

Load "Dump Disk" routine.

2.

Remove cards from punch hopper.

3.

Press START.

4.

R~peat

2 and 3 until END is typed.

In case processing was interrupted because of error, proceed as
follows:
1.

Read 18000 into 36825-36829 and 00000 into 37657-37661.

2.

Execute

3.

Branch to 59824 after the last symbol table has been
punched to punch object decks.

steps.l~3

above.

When dumping the disk using this latter procedure, the operator
must use the typewriter sheet to know what output is being punched.
One job is punched each time the start button is pressed. Do not
count compilations which are Pass I only.
If the contents of 36825~36829 and 37657-37661 are recorded after
execution, the normal dump procedure can occur anytime simply by
restoring the recorded values.
Set-Up Example
i

Five programs are to be executed and three programs compiled.
second program is to be run four times.

The

Program 1 has 1000 cards input and 1500 output,
Program 2 has 50 cards input and 250 output for each data set .•
Program 3 has 100 cards input and 500 output.
Program 4 has 10 cards input and 100 output.
Program
To~a1

5 has

10 cards input and 150 output.

output = 3250 cards.

Total input = 1320 cards.
Load programs in orcier of increasing ratio of output to input
(Lowest output/input first). Output of the last can safely overlap
input of the next to last. (provided last output is greater tqan next
to last input) •
. Data -Start • 2(,3250-13l0) .. 3880
Program Start = 18200-5(600) = 15200

8

Data should be stacked as follows:
Record mark card followed by Program 1 input.
Record mark card with a digit in column two followed by
first data set of Program 2.
Record mark card with a digit in column two
second data set of Program 2.

follo~ed

by

Record mark card with a digit in colunm two followed by
third data set of Program 2.
Record mark card followed 'by fourth data set of Program 2.
Record ma.rk card followed by Program 3 input.
Record mark card followed by Program

4 input.

Record mark card followed by Progrrm

5 input.

Record mark card followed by first source program•.
Record mark card followed by second source program.
Record mark card followed by third source program.
Double record mark card to stop.
Note that compilations

~re

last.

9

(a)

Title and Author:

Time Sharing on the 1620
by
Eric W. Channen,
Department of Chemistry,
University of Windsor.

(b)

Company and Users Code:
University of Windsor, User No. 7042.

(c)

lime Required for Presentation:

Cd)

Spt:!cial Equipment Required:

(e)

'I\;;chnical Level of Presentation:

Mt:::dium

(f)

Audience for whom it is intended:

Computer Center Staff

20 minutes

Any 1620 using Monitor I

ABSTRACT

(g)

The Monitor I system has been adapted to permit routine
compucation to proceed automatically between jobs, thus utilizing
idle computer time.

The routine or lengthy computation can be

interrupted at any time, by the use of a console switch, to allow
a short job to be run, and will automatically be resumed when the
interrupting job is complete.

The effect is accomplished by stor-

ing the contents of memory on disc, together with a restart address.
The system should be particularly valuable at installations where
routine data processing tends to conflict with an oJ:>t:!u-sho(:
operation.

10

ij"'j'j

0"

COMPREHENSIVE FORTRAN PROGRAMMING-A NEW TEXT"qOOK

c

James N. Ha.ag
Purdue university
Indi a n8polis, Ind.
1620 Users Group Miami MeetlnE, May 9-11, 1965
I. Introduction
II. Historical Background
III. Computer Technology Curriculum
IV. Compiler Langu'~3ge Programming (FORTRAN)
V. Design Criteria For The Textbook
*.1\ B STRA CT ~~

o

This talk will de81 with the arrangement, contents, and
underlying philosophy of a new book on computer programming
in the FORTR.4.N language. The pert 1nent port ion of the preface from the book is given below:
.
"This textbook is intended as an introduction to computer progrs.mming for those intereRted in one of the so-c911ed BEST-SAM
a.re(as: Business, Eng ineerinp: , Science, Technology, Soci[11 science,
llgriculture, 8na M,lexed, fe'~rful expect~3ne ies in tIle hope th~'lt 8nother
book may join tue long-lifetime rRnks of these two bo~ks. One
should note th~t in history or in economics, ~ lonp lifetime ~~y
:TIe\in 2"H~-4 yenrs, wflile in our cisci'Jline, f:': lonp- lifetime m')y
me'] n 0 nly 2 ~H:-2 y e<' r s .
I wish to tell you of t:l6 rise of'lnot.r!er textbook on T.;'10R'rR f , N
prosr.~3mlling ~iS of July 1, 1965.
'gesed on this t'llk, you Sh01J10
be :Jble to 'Jredic't v!hen it will f~lll, e t:lreefQld:
~O~"'R,'\~ ,:,!lth ~O~~:'~~ for tl-J.e 1620, "t:;'Io~rrr:::!\N TT.-T)
for tne 1620, :;lnd "t:;'IOR~Ri~N IV for the 7Q9J/7094.
f

)

II •

}-IIS~o.RTCX\L

Bi\ CKGROTT'~1)

In 1962, PU.rdlJe University dectded to t..'~ke 'Jction bnsed on 'l
Feder'1l re'Jort which st1ted th"t the t~en current 1,1:)0, JOO jobs
relnted directly toEDP would eX~'lnd expone~ti""11\T until 3,C:;I)Q,CY1,)
jobs would be .'iV:-311eble in 1978. 'Oy wPy of b'3ckp"rollnd, T mip'~1t
s t::3te th.'l t rno st of you, when ~ ct ine- in t :le C ,-' t el70rv ~I.,h i ch we c ':111
"progrnmmer", ,:::tre of n speci')l breed c'llled HK5: :}rop.-r'lmmers, w1-:ere
'-IKE is ,gn acronym for Ifh~.rd knocks of eXijerience".
qKE proprr'mmers
are widelv accepted ~:lS 1-:leing quine t<'lented tOlnd crlpr~l;le. On the
other h.'Jnd, the system which gives rise to T{KS 'JrC)P-r'l1nmers is one
8f the lowest ef~~>iciency systems knov.rn to r.1'lnki.no. Ver:rs of tr"ininez, oc(':)sion~Jl1.y wi.th r,'lndom dis'lstrous occurences to m"n 'lnd/or
ffi1C:line, el~?pse ~)efore an HKE 0roFr r' mmer 'Jrises from the to'TIb,
truly c lad in t>le stl i_ni ng grJrment S of hi r ref ined Rki l'_s . "'h'lnk
he'lvens th':~t our medic'll doctors ;~re not forced, by def·1 ult, to
obt~in their tr~ininE in 0n ana1agous m1nner!
purd ue hr3 s nlrefJdy deve10:Jed, thnnks to men such :1S Sam Ijonte
3nd S3ul Rosen, three degrees in ComDuter ScieQces, o. Computer
Sci en c e SO? t ion for. 3. B. S. in. l~a them.':l tic s, a .1\IT • S. inC; om n 1.. 1 t e r Sci en c esC'
nd J. Ph.D. in Gomr)uter Sciences.
However, gr'ldu'1tes of these
./

12

f
~

,
•

I

1
•

rt rizriW

c

progrRms are destined to be systems analysts, tea.chers, a.nd resenrchers, not programmers. rr.'he1r progr rl mm1ng is of a secondnry
nature in their ca.reers. As a. result, Purdue decided in 1962 to
immedi3tely set up a 2-year non-college credit curriculum in
com?uter Technology to efficiently train students in either a
commerci,'3l or a scientific progr~.mm1ng option. Three Model I
1620 computer centers with disks, card in9ut/output, and the full
ga.mut of unit record equipment were lnstF.llled 8t Purdue's re@:ion~l
cnmpuses at Indi8napolis, Hammond, and Ft. Wayne, Indiana. I at
Indin.n3polis, Johl'l Man.i9!.~s c?:.~. ._J1~~lP:~ond, nnd la.ter, Maurice H~lsey
at Ft. \~layne, tind''''a.b6~ut }O industriAl representatives ~nd faculty
were given the responsibility of'developing the two options' course
sequence and content in the 2-yeBr curriculum in Computer Technolo~y.
In t~1e 1962-63 a.ca.demic year, 100 persons holding down 40-hourper-week positions started the initinl curriculum ~s p~rt-time students.
The classes were all held in the evenings. In the 1963-64 academic
year, the revised curriculum W3S opened to full-time daytime students as well as being continued in the evenings for gnoth~r 100
part-time students. As of now, over 300 students have started the
2-yenr program. On the support of all concerned p13rties, in M~y,
1965, Purdue converted the entire Computer Tecl1nolop:y progr')m into
a fulJ . . . . ~,q.!l.E?.g .~ ..._qredit curriculum a.nd t:,1US our first grp.du~tes t~is
June will receive an Associ~te Degree in Computer ~echnology. Also,
in M~Y, 1965, Purdue opened up a Junior and a Senior year in Technology to round out the educRtion of those Associate Degree holders
who desired to tr:1ke a B.S. in Technology. Current stBtistics indi-'
cate that of e~ch 100 students who begin this progr9m, about 50 will
receive the AS20ciDte Degree. It is too soon to B!1y how m')ny of these
will go on for t~e ~.S. It is interesting to note t~8t of the entering
students in Computer Technolo~y, over 15% alre1dy h1ve a B.S. degree.
III.

COMPUTER TECHNOLOGY mERRICULUM

The commercial and scientific options of the Associate DeFree
in Computer Technology e9.ch consist of 20 one-semester courses, averaging sligntly/over 3 credit-hours per course. ~~e objectives of this
curriculum and of these courses are listed in Aooendix A. ~he cur~i­
cuiam mtUteHf 1iber~~.1 use of the course contents ;ndsequences developed by other universities and the progr~mmer t~qining proFr~ms of
a. number of comouter mnnufBcturers and commercial and scientific
installations. The course names convey the course contents.
The co~mon technical core of courses for both options is this
7-course sequence of titles: Unit Record DRta Processing, Compiler
L8ne-'u~ge Progr 1l mrhing (FORTRAN), Ma.chine Lf1ngu':l~e Progr~mming, Assembly Lnngur)ge Progrnmming, Utility Progr.'3ms, Systems Annlysis, and
Computer Project. Of the. 13 remaining courses, these 5 a.re common
to both opt ions: English Composition, Tec(lnical Report 'I',"1ri ting,
Econom ics, Algebra, 8.nd Sta.t ist ics. rrhe rema.ining 8 courses are
different for" the two options. The commercial option includes two
semesters of accounting, computer mRth, d~ta processing applic~tions,
COBOL proe-ramming, industr1al organ1za.tion, and two electives. The'
scientific option includes two semesters ot ca.lculus, two semesters
ot physics, two semesters of numerical ana.lysis, and two electives.
rr:~e IJ.~~_,Eequi£!~<~.~"!.~~q;9.}cs a.nd mater1~lB tor the 13 computeroriented courses in these rwo options are listed in Appen9~_x .S.• This
book list changes every tour montha, that 1s, three tImes 8 year.
4

o

-

l3

The reason for the frequent changes is straightforw~rd: better
textbooks are newly published or are brought to our a.ttention. You
will recognize among these a.uthors ma.ny familinr names: ; McCracken,
Leeson, Germain, and Dodes.
IV.

COMPILER LANGUAGE PROGRAMMING (FORTRAN)

Textbook selection is always a dif~lcult procedure. You know
from your own experience tha·t no perfect textbook on any subject
exists. One must a.lways compromise. En.ch aut~or, including myself,
ha.s either a conscious or an unconscious "Drum to be'3t", or a.t leAst
this is what the oS'ycholog1sts c18im. Our most difficult textbook
selection at Purdue w~s for the course in FORTR~N, Compiler Lgngu1ge
Progr1mming.· 'VIe have used six different texts and hr.:lve found them
guilty of one or both of these major faults as far as teaching beginninfl progr8mmers: the "dot-d ot-dot" a,ppro,') ch a.nd the ttfr8 ctured
i'lickers" a.pproach. I might a.dd thAt I do not feel th~.t these two
appr09ches are necessa.rily fa.ults when instructing intermedi'lte or
advanced progr~mmers.
The "OQt-. keey)s chanptnp: its acronvm
from NPL to MPLto N(PPL to PL/! and 1.,.,rho kno\,rs T.vh~3.t else.
I he,~rd
a bomplete~y unconfirmed rumor that two more acronyms, or ~0re
correctly, n:)mea; are circul~3tinB in priv~lte convers1tions:"'T'tA"'SON H
:J nd "9 - EDGE" •

18

i,,'1

r tmr • • •_

Hr

rt_ rzrrt

SUN OIL COMPANY
RESEARCH AND ENGINEERING
ENGINEERING DIVISION

UNDEFINED VARIABLE DETECTOR
by

Thomas J. Scott

For presentation at the Spring, 1965 1620 Users Group Meeting
May 9 - 11

Miami, Florida

1°
19

UNDEFINED VARIABLE DETECTOR

INTRODUCTION
The Undefined Variable Detector program (UVD) is written in S.P.S.-II
to be an aid in debugging other
Version II.

~rograms

that are written in Fortran 11-

Basically, the UUVDtt checks to see that the arithmetic

subroutines and the output portion of the I/O subroutines of the Fortran
II-Version II package do not get an opportunity to manipulate improperly
defined fields.

A total of nineteen of these subroutines are altered by

the "UVD", in order that this field definition check may be made in every
case where control is passed to a subroutine that might, in normal
operation, encounter an undefined variable.

A list of these altered

subroutines may be fQund on page 2.
The "UVD" is loaded begind the Fortran II-Version II program at object
time, and in no way affects the results normally obtained from the program.
GENERAL DISCUSSION
Undefined variables do not always indicate their presence in the
same manner.

The most obvious rlleans of detection is the sudden and

shocking appearance of the check-stop light on the console.

The displaying

of the contents of IR-2 will indicate the return address from the
subroutine package, but this does not alvJay-s define the portion of the
program in which the undefined variable was encountered.

Dependine upon

the length of the field transferred, the program may have been terminated
abruptly, or it may have solved several problems before feeling the
effect of the undefined variable.

The latter case may create a tedious

searching problem for the programmer.
The most potentially dangerous situation, however, is the one in
which the undefined variable remains undetected.

20

The "UVDII will identify an undefined variable the instant it is
encountered, and will type a lnessage indicating its symbol table location.
the prograruner may then define the variable via the typewriter, and return
control to the "UVD."

The program requires 1200 core positions.

It utilizes the indirect

addressing feature. '. It. may be re-assembled at any location in CQl'e
I

simply by changing the "define origin" card at the very beginning of the
source deck.
TIMING
Swnple runs have indicated an increase of approximately 50% in
run time.

This is based on a Mod-I, without the floating point hardware

feature.
SUBROUTINES ALTERED BY THE UVD
Subroutine
Abbreviation

Core
Location

TOFAC

01314
02466
01506
03038
01538
03082
016)2
03254
01676
02372
01562
03470
01762
02372
02372
04586
03996
05938
03574

FLAD
FXAD
FLSUB
FXSUB

FLMUL
FIMUL

FLDVD
FIDVD

RFLSUB
RFISUB

FLRDVD
FXRDVD

RSUFL
RSNFI
FLElP

FXEXP

r/o

FIXI

21

c~

Music Programs as an Aid to Debugging

Title:
Aut~.ors

:

Ronald C. Read and Peter J. Jutsum

Direct enquirip.s to:

Hon.q,ld C. head
Computing Centre
Mathematics Department
University 0f t~H:: ,Vest indies
K0na,

~ing8ton

~,

J~~aicao

The problem of dp.bu?;[';lng a ni:.~v" pr0gram C8.n at times be very
tedious and frustrating, and any aid to the operator to 8nable hi~
to r'ollow what is going on in tbe computer when he is trying to
find ~ fault j.n a program must be of some value.
The constructlcn
of the 1620 enables tr,e state of certain of the rei~iste:rs to be
exa~lined wi t:r the qjc of the indicator lit£hts, but these are of very
Ii t';'J18 value except in the static C8.se with t he machine halted.
Tr.is halt can he rna.de manually, but frerluently in tr:e course of
debug~ing it is a check stop, and either way, the addresses of the
~alt does not always leRd very raDidly to the cause of the fault.
It iE the pur90se of this paper to suggest that trle rgg..i.§:.j;tgnS from
thp core stora~p of the computer, which can ARsily be made audible,
cB.n'·"'h~"'·avaluable tool to aid the programmer in th e debuggi ng stage.
A sm~ll rarlio
cql~ipment, a.nd if

set is ~ll thRt is needed in the way of extra
tris is nl8.ced on top of the Machi YlP. immediately
ahov-e the program switches, and tuned away fr0m a broadcast
transmission but as close to the clock frequency ~i8 nossible, this
is sufficient to hear all th~t is ne~ded. (The clock frequency of
the Tilodel i is 1 .Mc/s). 1'he clock pulse is ftloduld.ted by the
ari thrleticaI'anG:"Ofl1er operations and tLis, when der.1odulatcd by tr'e
radio receiver, gives a noise In th~ au~itlp ranceo
The sounds picked up by this m~thod vary cr;n3ic1erA.bl~,r accordinf\
to the nature of the operation that is going on at the time, and it
requires a certain amount of practice to reco~nise thp sounds and
interpret them in a useful way. To Gain a little experience, it is
quite a good idea to "listen" to some programs with which one is
fA.miliar.
However some of the noises are very characteristic, particularly
fairly tight loaDs, and if these occur in the program, either
intentionally or because of some faul t of pro.;ra:':min,J', they are very
easily reco;Q"nisc:i. The dismal sound of cleari n~ me':lory is one of
t~0se th~t cRnnot be missed!

o
22
£:

II'"

Consider as an example a table look-up section of a program
that is fairly common, such 8S:T~lJl

LOOK

C
BE

AM
CM

BNE

*+18, START
, SYMBOL

OUT
LO OK +n ,10,10
LOOK+6,END
LOOK

960
160
560
560
200
et cetera.

This has an execution time for the cycle, assuming that the entries
in the table are all of ten digits and positive, of 2,440 microseconds,
and this means that a note of frequency 1,000,000/2,440 c.p.s. will
be generated. (The timings are for the Modell) i.e. about 410 c.p.s.
or about G above middle C.
Less pure notes, or perhaps they should be c~lled noises, come
from loops whose execution times are not constant. Jor example, in
the loop above, if the stored entries in the table are not all of the
same length, and not all positive, the instruction LOOK will not lave
A. constant execution time, but it will vary between 960 anrt 280
microseconds. The noise of this loop will have fundamental frequency
cO'11ponents between 410 ann 570 c.p.s., but also many harmonics, Rnd
the result is not at all musical.
(Demonstration on tane recorder of thesp two sounds)
Parts of a progr3.m that are r~peti ti. ve in tl'is sort of way can
usually be fairly eR.Gily recognised, and even if no more is done than
to listen to the nE::W program on first running it, this can save a
consjrterable amount of searchi~g if an exasperating check stop is
encountered. At the very least it can save the ti1H}1.nvolved in
running a trace routine from the very beginning of the program when
in fact the fault does not occur until a good deal later.

a

The!3-~_!j~. w,d~l.QOnS.,:t.r._a.t,iIJ,n is of
program tha.t has several different
table searro~)er Dart of ttu:~mselves, and this
is by no !l)ep-ns always the case. It is certainly tru8 that not much c~vn
be glea.ned from' the sound of ather parts of the or0~:ram since the
capaci ty of the ear to sort out very irrcP'ular SQUiJr1.c is very limi ted,
but the listening technique is not defeated in these cases. lt is
recom~pnded practice to introduce a number of unnecessary halts into
a program, subsequently to he replaced by NOr instructions or to be left
out al tor~ether un recompiling, and these s~rve to enH.ble the operator
to isolate the section in which a fault occurs. It is sugge8ted that
tnstead of the hal t, the inserted instructions A.re HrNIs to a subroutine
that generates a characteristic note, and that tLef,e are later replaced
by NOPs. Vlhtle the BTM instructions remain however, the fact that the
program has got to certain points without mishap can be clearly
recognised by listening to it. The duration of tt~ inserted notes can
be varied, and they serve a triple purpose. They furnish audible
progress reports, they slow down the program to a speed that enables
the operator to keep track and they can be made of sufficient duration
in crucial cases to enable the program to be halted at a desired point.
A hasic subroutine (usin~ indirect addressing) of only 43 digits
follows. If indirect addressing is not available a slightly •••••••
24

- - - - -_ _ _ _ _ _ _ _ .l

longer subroutine is needed
SING

TR
8M
BNE

SING-l,SING-l,611
*+9,4,710
SING

c

BB
and the linkage to be introduced into the program in place of the
trFtdttional halt

BTM

SING,xxxxx

where xxxxx is an address somewhere in the aritbmeticA.l tables.
If
the Q operand is 400, this will produce the hiehest possible note of
a fairly short duration. IJower addresses will produce progressively
lower notes of progressively lon~er duration. If an operator wishing
to try this would be offended by notes that are not in harmonic
relation to one another, I will gladly supply a list of suitable Q
operands together with their musical equivalents.
The next recording is of a program that is searching for closed
circuits in an arbitrary network. In th~ first part of the recording
there is no modification made, and you can hear thR.t it would be very
difficult to sort out the various operations th)"t are going on. In
the later part of the recording, we have the same program, Dut it has
had some musical "telltales" introduced into it, and knowing the points
in the program vibpre these have been introduced, ann the :pitch that
corresponds with each mark, one can follow the progress of the program.
Nhen that recordin~ comes to an end., it is because of a check stop
(deliberately fixed), ana it is possible tn tell if we listen
attentively to the sounds, t:hat it occurs after the first tncidence of
Low D. This enables us to isolate the fault immediately.
(Demonstr~tion

as described above)

On~ can go further in this, and by writing a slightly longer
subroutine in place of SING, it would be easy to arrange that the note
played at a point in the program depended on the state of a switch
which is bein? set. ~'or instance, it sometimes occurs that a program
fault is caused by the removal or setting of a flag or record mark
wtlich is not intended by the programr~er, and on those occasions where
this doesn't happen until the program has run for some time, chasing
the bug can be very tedious. It would be an idea to put in an audible
warning of this, long enough to wake up the operator.

There is one rather risky aspect of this technique. In time, the
fascination of the noises made by a proeram becomes too great, and the
intervening calculations wane in their importance. The result could
well be
(Demonstration o.! a short .excerpt from "The :B'ligh t of the Bumble
Bee" by N.Rimsky-Korsakov.)

"c'

\~.,'

25

'

.

O

./1·i

FINANCIAL EVALUATION PROGRAM

Leslie Parker
Manufacturing Engineering
Poughkeepsie, New York

o
26

Management decision making should be an enlightened process. Lack of
time and useable information, however, often conspire against it. The decision
maker may be forced to rely more heavily on his own judgment than he would
like.
One factor which should enter into every business decision is the financial
justification for the change. The Financial Evaluation Program can provide this
information. Too often the process of financial evaluation involves:
Gathering cost data by someone technically aware of the situation.
Explanation of this data to someone with a financial background
(with a resultant loss due to differences in semantics, purposes,
and backgrounds).
Lengthy financial analysis, often by non-standard, manual
methods, and with a poor to cursory understanding of the
problem.
Explanation of the results of the evaluation to the decision
maker, through the eyes of the person doing the calculations
(again with losses due to differences in semantics, purposes,
and backgrounds).
.
Decision made on lost prem ises, and an incomplete understanding of the meaning and methods of the financial
manipulations.
The shear length of time required for the analysis often prohibits its use,
and in those instances where the time is available, the evaluation suffers in
the translation from analyst to evaluator to decision maker.
This program by comparison is a standard tool which the analyst uses to
abstract and compress financial data. The evaluation is SWiftly performed, and
placed in a form familiar and understandable to the decision maker.
Following are some of the reasons for having economic evaluation:
1)

SUSTAIN AND INCREASE PROFITS OF FIRM

2)

PERMIT UNIFORM JUSTIFICATION OF ALL PROJECTS

3)

ENCOURAGE CONSIDERATION OF ALTERNATIVES

4)

REDUCE BIAS OR IRRATIONAL APPROACHES

5)

CURTAIL FALSE STARTS

6)

PERMIT PERIODIC FINANCIAL AUDITS

7)

ENABLE MANAGEMENT TO MORE EQUITABLY EVALUATE
ALTERNA TlVES

8)

PROVIDE MEASUREMENT OF UNCERTAINTY

27

The following list details some of the s!,ecific attributes of the Financial
Evaluation Program.

0

1)

FLEXIBLE

2)

PRACTICAL

3)

CONSISTENT

4)

COMPLETE TREATMENT OF COSTS

5)

COMPUTERIZED

6)

DISCOUNTS MONEY

7)

RECYCLES DEPRECIATION

8)

RECOGNIZES CASH VS. ACCOUNTING COST

The Discounted Cash Flow technique is illustrated in Figure #1. First a Net
Cash Outlay is calculated for each alternative method of implementing the project,
for each year of the financial life (NCO-A and NCO-B). From these values for
each year, a net cash difference is calculated (CASH FLOW). OL stands for outlay,
analogous to Investment (I NV) and FB stands for flowback, analogous to savings
(SAV). The INV or SAY column is an adjusted Cash Flow, in which the deferred
investment (OL which chronologically follows FB) have been removed through a
Cost of Capital adjustment. From the INV or SAY column, the compound interest
rate is calculated which would have to be acquired to realize equivalent return
from a bank, by depositing the investments. This interest rate is the Rate of
Savings for the evaluation. Finally each entry in the I NV or SA V column is discounted to the present date using Rate of Savings as the compound interest rate.

DISCOUNTED CASH FLOW TECHNIQUE
Year

NCO - A

NCO - 8

1964
1965
1966
1967
1968
1969

5,000
10,000
5,000
10,000
5,000
20,000

10,000
5,000
12,000
5,000
10,000
10,000

CASH FLOW

OL
F8
OL
F8
OL
F8

5,000
5,000
7,000
5,000
5,000
10,000

INV OR SAV

DISCOUNTED

INV 5,000
0
INV 1,650
SAV
327
0
SAV 10,000

5,000
0
1,355
243
0
6,111

VALUE

Rete of Savings
is !0.4 0/0

Cost of Capital is 7.0 0/0

28

The following outl ine describes the Program Method, in a brood form.

COST COMPARISON
To compare two methods of accomplishing the same project,
assume both methods will derive the same income but incur
different costs; therefore, compare the costs involved.
INPUT PREPARATION
Analyst Iists projected
project life.

c~ts

for each method in each year of

INPUT CATEGORIES
Complete check Iist of expense categories is provided.
NET CASH OUTLAY
Program ca Icu lates Net Cash Outlay for each method, in each
year of Financial Impact Life by calculating c~ts
depreciation, and tax credits. (See EXPENSE TREATMENT.)
DIFFERENTIAL CASH FLOW
The difference between the two Net Cash Outlays is found for
each year of the Financial Impact Life and printed in the Cash
Flow column of the output.
DEFERRED INVESTMENT
All deferred investments are reconciled and a new Cash Flow
is generated (INV or SA V column).
RATE OF SAVINGS
Compound interest formula is evaluated to find RATE OF
SAVINGS interest rate which would have to be appl ied INV
in order to realize equivalent savings.
PRESENT VALUE
The present value of each entry in the INV or SAV column
is calculated using the RATE OF SAVINGS.

()
29

-"~-------~

"""--"---"-""""""-

-"

"--~--""""""~-~---~----

EXPENSE TREATMENT
CURRENT INVESTMENT (CI) (Year End Value of Asset)
o
Increases in (CI) are added to Net Cash Outlay (NCO) in that year.
o
Decrease in (CI) yie Ids an Income Tax credit, subtracted from NCO in
that year.
o
Carrying cost calculated on Inventory and added to NCO.
FIXED INVESTMENT (FI)
o
Each (F I) is added to NCO in year it occurs.
o
Each (FI) except land, is depreciated over appropriate tax life, and
recycled, if necessary. Income Tax credits are calculated on this
depreciation for each year; these are subtracted from NCO.
o
Incentive tax credits are calculated for each (FI) except land, and
subtracted from NCO in the year of purchase.
INVESTMENT EXPENSE (IE)
o
(IE) in monyears are converted to dollars and benefit rate appl ied.
o
(IE) added to NCO.
o
In non-recycle problem, Income Tax credits are calculated and subtracted
from NCO.
o
In recycle problem, expenses are depreciated over tax Iife of product,
Income Tax credits calculated and subtracted from NCO in
appropriate years.
ANNUAL CASH OPERATING EXPENSE (ACOE)
o
Convert all manyears to dollars plus benefit rate.
o
Add all ACOE to NCO.
o
(Material and Operating Supplies/Turnover Rate) times carrying cost,
added to NCO.
o
In non-recycle problem, Income Tax credits are calculated and subtracted
from NCO.
o
In recycle problem, expenses are depreciated over tax Iife of product,
Income Tax credits ca Iculated and subtracted from NCO in appropriate
years.
ANNUAL EXPENSES OR GAIN SUBJECT TO TAX
o
DORA - Calculate Income Tax credit and subtract from NCO.
o
SAS
- Calculate Income Tax credit and subtract from NCO.
o
Compare SOFA to WOFA:
If SOFA is greater than WOFA, calculate capital gain tax on difference
and add to NCO.

If WOFA is greater than SOFA, calculate Income Tax credit on .
difference and subtract from NCO.

o

o
o
o

Subtract SOFA from NCO.
Subtract INCOME from NCO.
Income Tax is calculated on INCOME and added to NCO.

30

(

The figure on the following page shows an input sheet. One of these
is completed for each year of the pro ject Iife. The input form comprises a Iist of
cost categories, bringing to the attention of the analyst the information pertinent
to the evaluation. A carbon copy of this sheet is used directly by keypunching
for preparing the card input to the program.
A facsimi Ie listing of the information carried on control cards is shown
below. This includes the standard manpower, tax and turnover rates.

COMPANY CONFIDENTIAL
FIXED INVESTMENT CONSTANTS BY ASSET TYPE
BLD

LI
TAX LIFE
TAX CREDIT

25.00 35.00
7.00

7.00

TE

TL

PEA

NPE

7.00 20.00 20.00

6.50

9.25 13.00 18.00

2.25

4.67

4.67

7.00

0.00

7.00

7.00

SE
7.00

GI

OTH

7.00

DOLLAR RATES PER MAN YEAR
DESIGN

DE-BUG

DIRECT

I NO IR~CT.

IND-TECH

MAINT

2665

1757

3150

2746

1575

3780

MISCELLANEOUS CONSTANTS
INVENTORY TURNOVER RATE

A

2.00 B

1.00

INVENTORY CARRYING COST RATE 1.7 PERCENT
EMPLOYEE BENEFITS RATE 2 PERCENT
PRODUCT LIFE FOR RECYCLING

2.00 YEARS

FEDERAL TAX RATE 50.0 PERCENT
STATE TAX RATE 5.0 PERCENT
CAPITAL GAIN TAX RATE 25.0 PERCENT
COST OF CAPITAL 1.5 PERCENT

31

lI'~,

\'-.;/'

IBM

(ORIGINAL)

ECONOMIC EVALUATION

PROJECT NO.

YEAR

DATE

ECONOMIC tlf'"E

DESCRIPTION

LLLJ-Ll_l
COST COMPARISON

RECYCLE

COST REDUCTION

OR

D

D

NOD

YESD

r---r---------------,T--------,r-----------------PREPAID
INSURANCE

INVENTORIES

CURRENT INVESTMENT

PREPAID
RENTAL

OTHER

---------+---------t------- - -------------- r---LAND
IMPROVEMENT'S

.LAND

TEST
EQUIPMENT

BUILDINGS

II--------+~----------------

---------- -- --- ----- -------------

FIXED INVESTMENT

P:g0'I~~~Ir5'+'
A

ACCESSORIES

--- - - -

---

NON PRODUCTION
EQUIPMENT

----------------

--------

INVESTMENT EXPENSE

P

DESIGN
(MAN YRS)

--- ---- ------

SPECIAL
EQUIPMENT

GENERAL
INSTALLATIONS

-

-

--

OTHER

-----------------------,I---------f-----------

DEBUGGING
(MAN YRS'

PROTOTYPE

PRODUCTION
EQUIPMENT

--- ------ ------1----------

o
R

TOOLING

-- - -1 ---- ---

TRAINING

REMOVAL
REARRANGEMENT
&: INSTALLATION

OTHER

- - - - - 1 1 - - - - - - - - - - - ------ ---

----1"
I

I-----------------H-------I:----I--------------- f------------l -------+--------1-----------1--

R

DIRECT LABOR
(MAN YRS)

E

INDIRECT LABOR
(MAN YRS'

--------r-----: ____ --f--------- -

--

E

ANNUAL CASH

T

OPERATING EXPENSE

NI~~~NS~~~~RT

-,--------

S

N

INDIRECT TECH-

RENTAL
EQUIPMENT

FLOOR
SPACE

OPERATING
SUPPLIES

---T----

------~---- - - - - - - 1'---+--------+-_..L

REBUILD/OR
OVERHAUL

REWORK

VENDOR
SUBCONTRACT

EXPENSE
TOOLS

----+-----------i--

-

LEASES

I
-- -- - - ------+---------+-1

TAXES

UTILITIES

WRITE OFF
OF FIXED
ASSETS

DEPRECIATION
ON RETAINED
ASSETS

SPOILAGE
AND SCRAP

INVENTORIES

PREPAID
INSURANCE

PREPAID
RENTAL

---------

-

------

---

OTHER

----- ------ - - - - - - - - + - - - - - - - - - .

I------------------tt-------------- ------

CURRENT INVESTMENT

MATERIALS

--------

-------------- ----

ANNUAL EXPENSE OR
GAIN SUBJECT TO TAX

MAINTENANCE
(MAN YRS)

- -

SALE OF
FIXED ASSETS

INCOME

--------------- j -

OTHER

-----

---- -----

1---------------#---------+-------------- ------ ---- ------- -------LAND

LAND
IMPROVEMENTS

BUILDINGS

PRODUCTION
EQUIPMENT

TEST
EQUIPMENT

11------------+------------ r--.---------

FIXED INVESTMENT
B

- - - - - - - - - - - - r - - - - - - - - - ------------

PE'6°J:~~~~OTN
ACCESSORIES

--+----

NON PRODUCTION
EQUIPMENT

SPECIAL
EQUIPMENT

INDIRECT LABOR
(MAN YRS)

INDIRECT TECHNICAL SUPPORT
(MAN VRS)

o
R

INVESTMENT EXPENSE
T

P

:

:

R

DIRECT LABOR
(MAN YRS)

o
p

1

o
S

~

ANNUAL
E

C~SH

OPERATING EXPENSE

RENTAL
EQUJPM_ENT

,

;
FLOOR
SPACE

I
REWORK

11------------------------

MAINTENANCE
!MANYRS'

MATERIALS

OPERATI NG
SUPPLIES

:
I

REBUILD/OR
OVERHAUL

VENDOR
SUBCONTRACT

EXPE_NSj-TOOLS

----+--------+------

II-----------+-----------r-----------+---------+---------f---------~

ANNUAL EXPENSE OR
GAIN SUBJECT TO TAX

LEASES

TAXES

UTILITIES

OTHER

WRITE OFF
OF FIXED
ASSETS

DEPRECIATION
ON RETAINED
ASSETS

SPOILAGE
AND SCRAP

SALE OF
FIXED ASSETS

32

INCOME

The fd lowing facsimi Ie output contains:
1)
2)
3)
4)
5)

Pro ject designation
Cost summations for each alternative
Differential Cash Flow; INV or SAV, and DISCOUNTED VALUE
Calculated RATE OF SAVINGS, and
PAYBACK period

SAMPLE PROBLEM

FINANCIAL IMPACT LIFE 8 YEARS

PROJECT NO 0000373-03

DATE 112763

RECYCLED COST REDUCTION

ALTERNATE A

ALTERNATE

(3

a

0

XED I NVE STt-1ENT

18000

36675

INVESTMENT EXPENSE

1114

2880

99739

40412

118853

79967

INV OR SAY

DISCOUNTED VALUE
8169

CURRENT INVESTMENT
f

J

OPERATING £XPCNSE
TOIAl PROJECT COST
YEAR

CASH FLOW

1964

OL

11092

INV

11092

1965

FB

5680

SAY

5680

1966

FB

5333

SAY

4400

1758

1967

OL

91.7

0

0

1968

FB

7142

SAY

7142

1548

1969

FB

5281

SAY

5281

8L~3

1970

FB

9771

SAY

7975

937

1971

OL

1823

0

0

TOTAL

FB

19345

SAY

j

19386

RATE OF SAVING IS 35.8 PERCENT AT A COST OF CAPITAL OF 1.5 PERCENT
PAYBACK IS 4.1 YEARS

33

3081

Many advantages accrue from the use of the program; some are listed below:

c

EXPED ITES APPROPRIATION REQUESTS
PROVIDES RAPID RESULTS
COMPARES VARYING INPUT VALUES (Variable Planning)
COMPARES VARIOUS ECONOMIC LIVES
COMPARES VARIOUS CONTROL DATA RATES
INPUT FORM PROVIDES COMPREHENSIVE CHECK LIST
BROAD APPLICATION
REDUCES USER TRAINING
ACCURATE COMPUTATIONS
CONS ISTENT TREATMENT
ANNUAL IDENTIFICATION OF COSTS
HELPS AVOID SURPRISES
INCREASES ECONOMIC AWARENESS IN USER
STRENGTHENS USER1S FINANCIAL ARM
SEPARATES COSTS (Relevant - Irrelevant)
SPOTLIGHTS IMPENDING FINANCIAL TROUBLE

0,
34

As with every technique there are some cautions which must be observed,
in order to obtain valuable output. These are listed below:

c

APPLICATION
EMPHASIS
I LLUSORY SECURITY
I NTERPRETA TlON OF RESULTS
NECESSITATES GOOD JUDGMENT
The program requires the following computer configuration:
1620 CPU/20 K MEMORY
1622 CARD READ PUNCH
1620 FEATURES
AUTO DIVIDE
ADDITIONAL INSTRUCTIONS
READ PUNCH ADAPTER
INDIRECT ADDRESSING
The prime financial objective of business is to increase wealth. This requires
effort in two directions; first, the minimization of cost; and secondly, the maximization of profit. This program is primarily a cost minimization model, using a
detailed listing of the project associated costs, however, it may also be used to
evaluate profits by entering project incomes as lumped yearly sums.
Using the newest financial evaluation techn,iques, and data processing
capabi lities, this program gives better answers to old questions. It is not meant
to make management decisions, which must include many factors not considered
by the program, i. e. technical feasibility, certainty of estimated input data,
concurrent project experience and displacement. It does provide the engineer
or analyst with a strong tool for evaluating the economics of projects under·
consideration, and thus proves a valuable adjunct to the studies of technical
feasibi Iity.

APPENDIX I
The following figure illustrates recycle depreciation, which the program can use.
This method of depreciation is used by some firms in the rental business. It serves to
defer tax credits into the future so they will parallel the income from the product.

c
35

o

o
1

2

3

4

Investment Tax Life
Depreciation for $100
Investment

40.00

30.00

20.00

10.00

Recycle Depreciation
for $40 over 6 Years

11.43

9.52

7.62

5.72

3.81

1. 90

8.57

7. 14

5.71

4.29

2.86

1. 43

5.72

4.76

3.81

2.86

1. 90

0.95

2.86

2.38

1. 91

1. 43

0.95

0.47

Line 5

19.05

14.29

9.53

4.76

1. 90

0.47

Line 6

YEAR

Recycle Depreciaticn
for $30 over 6 Years
Recycle Depreciation
for $20 over 6 Years
.... ..

--

w

0'\

5

6

7

8

9

Line 1
Line 2
Line 3
Line 4

~ ~.--, .....

Recycle Depreciation
for $10 over 6 Years
......-

--_

Total Recycled
Depreciation Values

NOTE:

11.43

18.09

20.48

The $100 investment was first depreciated over a four-year tax life of the
investment (Line 1); then each yearly amount from Line 1 was depreciated
over a six-year tax life of the product (Lines 2 through 5). These values
were accumulated in Line 6, which represents the total yearly recycle
depreciation values.

Recycle Depreciation {Dollars}

GLOSSARY

CASH FLOW
A chronology of the yearly totaIOutlays,.andFlowbcicks,'.or
Investments and Savings of cash.
:CONVENTJONAL CASH FLOW
Cash Flow with De,fe'fred Investments're,con,cHe,d..
COST COMPARISON
Evaluation method in which .both projects"areunderte,ntafive
,cons ide rat ion.
COST OF CAPITAL
The inte rest rate at which the ,company can obtaJn:the ,use> of
capital.
COST REDUCTION
Evaluation method in which the base project (A) Js .pre,sently
, in use.
D.EFERRED INVESTMENT
Outlays which chronologically follow FlowhacksintheCash
Flow,.
FLOWBACKS (FB)
Differential receipt of cash because of implement.iI19proie,ct
(8) instead of project (A).
FULL DISCOUNTED CASH FLOW
Present values of all CashFlowlnvestments . .and£a,v.;ings (Cash
Flow discounted to present date at Rate of S.aving~J.
INVESTMENT (INV)
Cash Flow Outlays with Deferred Investments ,re c,onc He,d.. ,
NON-RECYCLE DEPRECIATION
Conventional,single depreciation,t.e,., ,sum of t;beyaQr~-s~:;
digits, stra ight line ,or doublestrciight line ,dec\:i;ri'ing"balance.,
OUTLAY (OL)
Differential payment ,of cash he cause of i"1pl,emen,fiQ9 ,p.fp.iect;
(B) instead ,of proie;ct (A).
RECYCLE DEPRECIATION
A double depreciation method used ,by some finns Jnthe"re,ntal
business.

SA YIN GS (SAY)
Cash Flow Flowbacks wHh Deferred,investmentsre,'conclled.

37
....

-.--~---~----

... - ... --------

----~

ttrz

C4D
An Operating System Built Around PDQ
by
J. Grant*, G. F. Lilly**, F. H. Maskie11***, M. L. McAteer****

ABSTRACT

C4D is a PDQ operating system for the IBM 1620. It
provides for batch processing a mixed group of compilation and
execution runs. It .permits storage of programs and data on one
or more 1311 disk drives. Segmentation of programs is possible
under C4D. A superior set of diagnostics has been included as
part of the system.

* Junior Research Mathematician, Jones & Laughlin Steel Corpora.tio~l
** Resea.rch Supervisor, Jones & Laughlin Steel Corporation
*** Computer Supervisor, Pennsylvania Transrormer Division or the
McGraw Edison Company
**** Research Physicist, Jones & Laughlin Steel Corporation

38

THE C4D OPERATING SYSTEM

C4D is an operating system built around an extended
version of PDQ FORTRAN.l It is written for the IBM 1620 with a
1311 disk file, indirect addressing, and the special instructi.ons
TNS, TNF, and MF. C4D will also utilize a second disk drive and
the 1443 printer if these are available. It is self adapting for
any core size~
C4D consists of the following programs:
1.
2.

3.

4.

5.
6.

The
The
The
The
The
The

statement scan routine
diagnostic routine
compiler routine
class A subroutines
relocatable subroutines
executive routine~

The statement scan routine rea.ds each source program
statement, removes the blanks, determines the type of statement
a.nd stores this information on the disk for later use by the
diagnostic and compiler routines. After it has read the en~ire
source program it calls the diagnos tic routine from the dis,k.
The diagnostic routine is a modified version of the 40K
FORTRAN II Di.agnostician. 2 The modifications accommodate the
differences in language between FORTRAN II and PDQ FORTRAN, permit
the use of the 40K Diagnostician on a 20K machine, and incorporate
the Diagnostician as a routine wit'hin C4D. If the diagnostic
routine finds errors it punches or prints error messages, lists
the entire source program on the 1443 if available and calls the
executive routine from disk. If no errors are found in the program
the diagnostic routine calls the compiler.
The compiler routine is a modified version of the original
C2 processor for PDQ.2 Error messages have been eliminated as these
are now handled by the diagnostician. ACCEPT and IF(SENSE SWITCH)
statements have been eliminated as they have no place in an operating system designed for open shop programming and closed shop
operation. The ability to. segment programs has been added to avoid
core size limitation on program length. More symbols are permitted
since the compiler routine occupies less core storage. The length
of integer variables is now ten digits. This allows integer arith~
metic in the c'omparison of alphameric fields. Finally no object
decks are produced, since C4D obj ec tprograms are stored temporc{ri ly
or permanently on the disk.
The class A subroutines are little changed from '~heir .
PDQ ancestors. They do detect undefined symbols at run time and,
in this event, return control to the executive routine. The relocatable subroutines have real or integer values according to
their initial letters. They include all the original PDQ

39

Ie)

relocatables, an absolute value routine for integers, a random
number generator, and the MOVE routi ne 3 for disk seek, read, and
write operations. The LOG subroutine is now called ALOG since it
is a real function.
The executive routine determines the nature of each job
from a control card. It then loads the appropriate system routine
or object program from disk. It acts as librarian for programs on
disk, it loads and relocates the relocatable subroutines, it
controls dumps to disk or printer, and it prints headings and
dates for each job. Finally it permits automatic exit from the
system by loading another program not handled under the system.
Speed comparisons with other systems will only be possible
after extended experience with C4D and will vary for different jobs
and for different machine configurations. Unlike the IBM MONITOR
sys tem, C~D ha~ ___ ~()_"_"2~~~~_~?:g1]"r9~._"§"~~"~~~~L~~.!l.E~_§.g~. __p'~ograms and does
not permi t separate compi la tion of subprograms wi th lo-c"al- variab Ie
names and statement numbers. These limitations, however, must be
balanced by important advantages for the instal1a,t:LQJJ which runs
mainly FORTRAN programs. The system uses only 4% of the disk and
the rest of the disk may be divided into program storage and working
data storage, to suit the needs of each particular installation.
The use of a second disk drive is readily enabled at system load
time. In a two drive system, one drive contains only working data
storage, and the other only systems and users programs. Other
advantages of C4D are the efficiency of core utilization and the
speed of disk operations for program segmentation and for data
storage.
When C4D is submitted to the Users Group Library, the
documentation will consist of three manuals for three distinct
groups of readers. The Users Manual defines C4D as a programming
language for users with a basic knowledge of' FORTRAN. It describes
those control cards of interest to the user and lists all error
messages. The Operators Manual describes the control cards needed
in running the system, the system sense switch options, loading
the system, and interrupting the system for dumps. The S¥§J;em~
Manual is written for systems programmers who wish to correct,
e)c-t-e-nu,--or generally modify C4D itself, or who are just curious
about how someone else constructs a system.

o
40

REFERENCES
1.

F. H:.' Maskiell, "PDQ, FORTRAN", U. G. Library Program
1620-02.0.031.

2.

J. Sriediker, C. T. Snyder, Jr., J. W. Burgeson, "FORTRAN II
DIAGNOSTICIAN", U. G.Library Program 1620-01.6.019.

3.

Ma:ryLynnMcAteer , "MOVE", 1620 Users Group Newsletter, Volume
2, ,No.5, p. 4, October 1964.

ACKNOWLEDGMENTS
The authors gratefully acknowledge the contributions of
many friends and colleagues.
John Burgeson of IBM whose FORTRAN II DIAGNOSTICIAN provided the original basis for the C4D diagnostic routine. Lawrence
POwell of Pennsylvania Transformer for the dump .... to-disk routine.
G~brge Moesta of Jones & Laughlin Steel Corporation for his printerdump routine. James Taylor of Data Corporation for a faster routine
for' the compiler symbol table scan. Dick Pratt of Data Corporation
f6r his preliminary version of 1443 AFIT SPS which was used exclusively in assembling the system. Manfred Fleiss of Jones &
La,ughlin and Joseph Smi th of the RAND Corporation for contributions
to 'the sample procedures. John Holmes of Cooper-Bessemer, stewart
Lee and James Field of the University of Toronto, and Donald Jardine
of-d.uPont of Canada, for their suggestions built into the original
PDQ. Ja:ck 0 'Keefe of American Bridge for the REREAD feature.

"f

41

WISCONSIN ACCOUNTING LANGUAGE
Mr. Craig MacKenna .
Computing Center
University of Wisconsin-Milwaukee

C"\
,)

(SLIDE)

Language.
COBOL.

WISAL, W-I-S-A-L, stands for Wisconsin's Accounting

WISAL is a key-word compiler, similar in this respect to

The source language involved is similar to current account-

ing language.
WISAL is natively a 1400 series system, the language having
been devised and the first processor written at the University of
Wisconsin Commerce Data Processing Center, by Mr. Richard W. McCoy
and associates, for an IBM 1410.

Potentialities are also inherent

in the WISAL language for its use as an applications system--usefu1
to business and industry as a system permitting their accountants
to handle every day accounting transactions by computer with an
absolute minimum of programming or computer familiarity.

Emphasis

in this talk, however, is on use of WISAL as an educational accounting system.
WISAL was first used at the University of Wisconsin
ductory accounting courses in spring of 1963.

in

intro-

The University of

Wisconsin-Milwaukee (hereafter referred to as UWM, while Madison
as UW) first used WISAL in the fall of 1964.

The fall 1964 pro-

ject at UWM involved approximately 200 elementar.y accounting students.

The fall 1964 project at UW involved about 300 e1ementar.y

accounting students.

(SLIDE)

B.y fall of 1965, the UW Commerce

o
42

Data Processing Center

~ntends

to publish a book, dealing with

the use of' WISAL as an educational accounting system.

It will

deal mainly with the use of' WISAL on the IBM 1410, but acknowledgement will be made of the fact that there is a 1620 WISAL.
Since the book should deal only with source language considerations, it should be completely compatible with 1620 WISAL.

Avai1-

able f'rom UWM will be a supplement to the book discussing things
about 1620 WISAL which are different from 1410.
As

tem.

p'reviously mentioned, WISAL is natively a 1400 series sys-

Its very purpose and form of output are indicative of 1400

series inf'luence; however, a joint University of Wisconsin-Madison
and University of Wisconsin-Milwaukee venture into producing general 1620 WISAL compilers has been undertaken in the knowledge
that many schools who will be interested in using WISAL as an edu..

cational accounting system have a 1620 at their disposal.

This

talk deals with UWM WISAL-D, a disk-oriented version of WISAL.
We hope to have a non-disk version ready by fall of 1965. Naturally, the specif'ics will change in the non-disk version, but
the source language should certainly remain the same.

Either of

these two versions will work on a basic 20-K machine; that is, no
automatic floating point or other special features.

The version

with which we are specifically concerned today, that is the D
version, the 1311 version, should work on either a Model I or
Model II, under Monitor I or Monitor II; it can use a printer;
it does not use index registers, but on a Model II they will be

43

. _ - - - - - - - _ . _ - - - - .....

__ ._. __....._ . _ - - - - - -

~

, nTI:

o

! it

turned off.

We hope to have the 1311 version in the library by

July of this year; the non-disk version in the library by September.

1620 source listings will be available from UWM, the li-

brary, and I believe I have some with me.

Also there will be

source decks and object decks for the processor and one problem.
There will be a programmed solution for that one problem, the
only one which has been written to date--The Wholesale Paper Company.
In a sense WISAL is a rigged system.

Any problem to be run

under it by students has to be completely worked out in advance;
that is, it has to be handled by normal accounting means and the
correct answers derived.

This must be done because in WISAL

there is the capability to produce for the accounting instructor
at a later date a log of the errors made by his students running
under the WISAL system.

This error log is stored on disk in a

permanently assigned area to be dumped by a separate program
called WISLOG at such time as the instructor should desire a
block of results or at such time that the permanently assigned
area is filled.

The instructor can do with these error lists as

he sees fit; he can give them to his students as an aid in debugging or correcting their

programs~

or he can withhold them from

the students and possibly use them as an aid in grading the student in his project.
Once the accounting problem has been worked out and coded in

SPS in a format acceptable to the WISAL processor, it can be stored

44

on disk under Monitor like any other program or data block.

At

execution time lfISAL can call any of several problems; that is,
1620 WISAL-D has multiple problem capabilities.

It can handle up

to four disk-stored problems under it at any given time.
:for the' WISAL systems is

c

Input

cards; output can be either card or

vi~

printer under the control of a control record.
(SLIDE)

This is a :full VlISAL output.

logically into :five parts.
o:f the source program.

It can be divided

Here, the :first part, is a print-out

(SLIDE)

This particular output is a sim-

ulation of that produced by a 1620 having a 1443 printer attached
and printer output speci:fied.

With a card system, this phase of

output is eliminated; there being no purpose in just duplicating
t"he source program.

However, even under a card system, this pha,se

of output is represented by a punch-out of a copy of any card containing a source language error, followed by a diagnostic error
message.

(SLIDE)

This second phase of output is a print-out o:f

the reference section, as it is called.

To each of the source

language routines as written out above is attached a label.

The

student then sets up these labels in an array; the first field of
the first line of this section being the label of that routine
~

which the student wants to have handle transaction one.

The sec-

ond field on the first line is the label of that routine which the
student wants to have handle transaction two, and so on through
the complete set of transactions involved in the problem.

Again,

the outputting of this section is eliminated under a card output

Q
45

$

=i t t '

im

rl

irtHts

system, but is still represented by diagnostic messages and punchout of cards having errors--such errors having to do with the application of source language to particular transactions--a routine
inappropriate to the transaction.
(SLIDE)
ledger.

This third phase of the output is that of a general

This is output underelther the card or printer system,

that is, after the source program has been run in and executed.
(SLIDE)

Directly following this is the fourth phase, the accounts

receivable trial balance.

The fifth phase of output is, below

here, an income statement: the figures here b.eing derived from
the particular accounts in the preceding phase.

(SLIDE)

The

format of output in all phases and the assignment of particular
amounts so as to derive this income statement and the following
balance sheet is done completely under system control.

(SLIDE)

The sixth section is the balance sheet for this theoretical company and month--a page of assets and a page of liabilities.

All

the editing and formatting being done by the program in this
printer version.

(SLIDE)

Most of the editing is still being

done by the computer in the card version; however, with the card
version, for this neat appearing type of output, the print-up
should be subject to a 407 board split, the split being quite simple to set up.

lJ:he last little line of the output --"BINGO"--

simply means that the student has "balanced the bOOkS".
You will notice that this comprises quite a few pages of output.

On a card system a program having no source language errors

46

=====iJiAAAiMUu;a: ,."'"

will punch about 275 cards, of which about forty will be blank.
The criteria on cutting off the 275 card output is made variable.
(SLIDE)
language.

C

Now let us turn to the specific form of the source

As mentioned before, this source language is similar

to that used in current accounting practice.

Here is one typical

WISAL instruction, or typical WISAL sentence as it has come to
be called:

"DEBIT ACCOUNT 1111 BY AMT 1."

This is the most basic

one can get in a WISAL instruction" and no other instruction is
really much more complex.

All WISAL sentences start with a verb"

DEBIT or CREDIT; an object, such as 1111 here--i.e. an account number, the account numbers being in the booklet which each student
would have; and third" the AMT.

The idea of using AMT 1 and ANT 2,

etc. (they go up to AMT 9 in the 1620 WISAL system) to represent
fixed fields in each transaction produced certain difficulties
in the running of student programs. It had to be explained, either
through the write-up or through individual questioning and answers" what each AMT represented in each transaction.
tain rules were set up for "amountingfl".

Thus" cer-

If a transaction for

the month involved a cash amount, it was referred to as AMT 1; and
if it involved a discount, it was referred to as AMT 2.

(SLIDE)

An alternate coding to solve some of this difficulty is now seen

here:

"DEBIT ACCOUNT 2113 BY CASHAMT" (CASHAMT referring to the

amount of the cash payment or disbursement which is involved in
the transaction).

The three nmemonic AMT codings which have been

developed are this CASHAMT, DISCAMT, the amount of a discount,

47

- - _•• _ . _ - - -......

_-....

~---.-

....

-.~.-----.----

....

-~

...- .....

-.~-

o

and VOUCAMT, the amount of a voucher.

If there are ever amounts

which cannot be classified strictly as cash, voucher, or discount
involved in the transaction, you have to go back to the numeric
system.
(SLIDE)

This slide illustrates two flexibilities of the

WISAL language.

First of all, as in this line, you have the ca-

pability of saying CREDIT (CUST), that is, credit the account of
a particular customer.

The particular customer's account number,

if any, involved in each transaction is stored with the transaction under the WISAL system, and thus the processor compiles instructions to pull this address, or account number, out of the
transaction and then operate upon that.
is the main illustration:

The rest of the sentence

(AMT 1 + AMT 2).

This routine handles

transactions involving a discount where it is desired to credit
by the sum of the two amounts.
this all in one instruction.

Thus, we have the facility to do
(SLIDE)

Plus and minusing of amounts

can also be done in words, as you see here:
PLUS DISCAMT."

"DEBIT 1311 BY CASHAMT

One could also have the word MINUS as an al terna-

tive to the minus sign.
(SLIDE)

A further illustration of amount flexibility:

4111 BY AMI' OF THE CASH PA'DIENT MINUS AM'!' 2."

"CREDIT

Here the idea of

key-words comes into specific focus, aside from comments which
could be to the front or to the rear of the sentence; that is, the
idea of the key-words within the actual sentence.

The key-words

here are CREDIT, the four numerics in a row, 4111, and the key-

o

words in the latter half, the amount portion:

the word AMr, the

48

..-m" ....

word CASH, (the words OF and PAYMENT being nonsignificant) and the
word AMT

2~

One thing not permitted is 2 AMT; that becomes a bit

sticky.
You will notice here, and it has been brought to me as a criticism of this type of coding, that one variable or quantity is represented by a spread-out, noncontiguous group of symbols--AMT OF
THE CASH PAYMENT, AMT and CASH going together to refer to one quantity.

The criticism is that no other language does this, and that

in an educational system you are trying to illustrate other languages.

I think this type of coding is a nice feature, and if you

agree with this criticism, there are always the CASHAMT and DISCAMT
codings, which are handled the same way but which can be placed
contiguously.
(SLIDE)

This is the present extent of the WISAL language.

Here is a general chart of the key structure of the WISAL sentence.

.1

There is the verb DEBIT or CREDIT, the object, four numer-

ics representing a general account or the word (CUST) representing a particular customer account varying from transaction to
transaction, and the various codings for amount--plus or minus
AMT I through AMT 9, CASHAMT, DISCAMT, and VOUCAMT, or AMT •• CASH,
AMT •• DISC, and AMT •• VOUC.

Possible future expansions include

amortization subroutines, multiplication, literals--any features
which could be of use in advanced accounting.

But presently,

since it1s being used in an elementary accounting course, this
1sa11 that is needed.

49

--

---

....... -.-------..

-.----~------.------------------~-.-

o

()

This then is one WISAL sentence.
put together to

~orm

A group of these may be

a routine or subroutine.

columns 8 through 11 which comprise a label.

The key here is
In processing, any

card which does not have a label is assumed to be part of the previous routine: automatic continuation cards, so to speak, if you
are thinking of FORTRAN.

Or if it has the same label as the card

or cards immediately preceding, it goes

t1i th

the same routine.

Only a different set of characters in columns 8 through 11 than
those on the previous card having characters in columns 8 through
11 constitute a new routine.

The routine may thus be as long as

desired.
(SLIDE)

The first part of the card, columns 1-6, is a page-

and sequence number.

These page and line number aid the computing

installation and the stUdent in correcting the program and prove
invaluable in a project involving two to three hundred stUdents.
Column 7 has traditionally been treated as comments indicator:

if there is anything in that column, the card will be treated

as a comment.

This procedure has been expanded by several features

which attempt to give the student a grasp of a flow of control
through his program.

If this was a WISAL coding form, you would

see above the label columns, the words "if TRAN TYPE", and to the
right of that, above the instructions, the word "THEN".

(SLIDE)

At the start of the student program, as you see here, there is a
line with the word "START" in columns 7 through 11 and words "READ
TRANSACTION" through the instruction section, followed by a card

50

"END

{the lette-r E being in column 7) GO TO STATEMENT-PREPARATION".

This gives the student sense of control:

after all transactions

have be:en processed, go to statement-preparation, go to prepa:ring
the output.

(SLIDE)

are two more lines.

Then, at the end of the source program, there
The first has the word "ERROR" starting in

coltunn 7; if error, then go to "CODE-NaT-FOUND", which is simply
a diagnostic if you haven't matched the label appearing in the
reference section w'ith one in the source program.

After that, the

line "GO TO START", implying a loop and a flotV' of control through
the program.

(SLIDE)

The concept that the student can vlork under

is that execution starts at the top card--read a transaction.

If

all transactions have been processed, go to statement-preparation;
if riot, run through a sequence of "if tran type this then do that"
--if tran type A5 do this, if tran type B7 do this, "if error go
to code-not-found", and "go to start".

This gives the student a

concept of basic programming not otherwise found in a WISAL system
vrithout these features.

However, since there is something in col-

umn 7 of each of these cards, they are actually treated as conunents
and are only used to give the stud.ent a sense of function greater
than he would otherwise have.
The output can be produced upon having read the last card, the
TrI'LE card.

This card gives the student's name, section, name of

instructor, and whatever else the student wishes to have punched
thereon.

Actually, execution is done as the reference cards are

read in.

Then, based on the number of source language errors and

(}
51

o

reference section errors that were made by the student, a decision is made as to whether to punch out the rest of these cards.
If a source program is particularly bad, there is no reason to
continue on and punch out the full output.

But, if the number of

errors is less than that specified by the instructor, the computer continues to punch or print the full output.
(SLIDE)

I have mentioned the possibility of instructor pre-

coding transactions.

This is done by control records.

trol records are in this slide.

The con-

There is a control record *PRINTER

specifying that there is an on-line printer.

A *PRECODE record'

sets the beginning total debits and total (!redits of any general
ledger account or receivab1e suoledger account to two specified
values as to the right.

To go with this is a *PRECODED record

specifying that you are precoding particular transactions, as here
you are precodinG transactionG 1, 7, 18, 22, 87, 88, 101, 102, and
124.

The number of transactions in the Hholesale Paper Company

program is 125.

There is also one other control record, a *CRITERIA

card, the four fields to the right representing the number of
source language errorr:; and reference section errors, of bad inclusion and omission, to be judged as the cut-off point for a full
output.
(SLIDE)

a shot of the

There:is one more slide vlhich vTe have here.
aforemE~ntioned

This is

error-log dump vrhich the instructor

can receive and do with as he pleases.

You will notice in this

error-log a copy of the title card, the number of the four types

o

o
of errors, and the magnitudes of the errors in total debits and
total credits for each account which was different from that in
the precoded problem.

1620-WISAL-D processor.

This then is' the WIsAL language and the
Thank you very much.

c
53

p.

W·

~

o
1620 SUPPORT FOR A DOCUMENT WRITING SYSTEM*

C. M. Thatcher
Pratt Institute,
Brooklyn, N. Y.

ABSTRACT
A primary use of the IBM Document Writing System is to
prepare individually typed form letters from punched card input"
Special characters are used to initiate tabulation, carriage return,
shift to upper or lower case, etc. The insertion of these characters
into the punched input for the letter itself is not difficult, but the
punching of name-and-address cards requires concentration. A 1620
program which circumvents this problem is now in use. In addition
to inserting all necessary control characters, the program expands a
substantial number of abbreviations. As a consequence, name-andaddress cards can be key-punched fasterthan the full name and address can be typed by hand, and c;an be used for both inside address
and envelope address if desired.
The paper briefly describes the 870 System and its plugboard
wiring for this application indicates particular control symbols
found to be most suitable, and cons iders the role of the 1620 in some
detail.
I

*

*

*

*

*

* Paper presented before the 1620 Users Group Meeting in Miami
Florida, May 10, 1965.

o

54

I

- ------

••

--~'.j''''''_--i_--_t

'''~roiiijj''.1_ _fiiJ"""'-"''Miii''-'·'~iiiiiI''·-_1iiI1iiiiiI1_'jFS_1:_-'--~----'--"'"'''~''''-~~~~--

---,

I

11:1
',I

The IBM 870 Document Writing System is essentially a data converter.
The fully complemented system provides 18 different input-output combinations such as paper tape input to punch card output punch card input to
typewriter output, etc. The latter combination is particularly useful when
a number of form letters must be individually typed: Punching the letter
into a deck of cards makes it possible to produce as many copies as may
be desired by the punch-card-to-typewriter combination--quickly, accurately, and with only intermittent operator attention.

o

I

Control over such typewriter functions as tabulation, carriage return,
and case shift is exercised through control panel wiring. Each of the 12
special characters available via key punching (see Appendix 1) produces
a pulse at a particular pOint on the control panel when it appears as an
input character. This pulse may be routed by wiring to any desired typewriter control function or typewriter special character key, to obtain almost any desired output format.
For example the control panel might be wired to make the -typewriter carriage return whenever an nat" sign is encountered on an input
card, while an equals sign might be used to cause the first letter of the
following word to be capitalized. The need for an equals sign in the output document creates a problem in the latter event, but the typewriter
keyboard and control symbols in use at Pratt Institute provide for a full
range of output special characters, including the record mark.
I

A brief consideration of pertinent keyboard and control symbols
should be of some interest and will be helpful when the part played by
the 1620 is discussed in due course. First, note that the left and right
parentheses appear twice in the keyboard listing in Appendix 2. This
duplication led to the decision to use the leftparenthesis to shift the
typewriter to upper case and the right parenthesis to return it to lower
case . Thus punching ill, for example, yields a question mark on the
output document. Significantly, left and right parentheses can be typed
by punching ill and ill, respectively, making output parentheses fully
available despite their input use as control symbols.
Similarly, the equals, at, and record mark signs can be typed by
punching .i±l, U, and.el, respectively. The corresponding input
characters are thereby made available for control use, and the "at" sign
is used for typewriter carriage return. The equals sign is used to shift
the typewriter to upper case for the next input character only. This is a
matter of convenience only it being simpler to punch =A than (A) for the
same result. The input record mark is used for various purposes which
will be explained later.
I

55

c

•

o

The next step was to take advantage of four two-position latches on
the 870 control panel. Depending on latch position a given input character can be used to produce either of two different results. Latch position
can also be controlled by punched special characters and the left and
right parentheses were selected for this purpose. This gives these symbols
a dual function but the two consequences are not incompatible.
I

I

I

Through the use of latch wiring a punched i:l causes typewriter tabulation (whereas - alone causes - to be typed); 1=. halts the operation
pending operator intervention; and J.L ejects the card being read. A summary
of the function of all special characters appears in Appendix 3. Note the
use of the slash by itself for a second convenience function namely a
s pace followed by upper case for the next input character only.
I

II

II

I

A sample output letter is presented in Appendix 4 and the corresponding input card listing in Appendix 5. It can be seen that the special control
symbols do not appear so frequently as to require extreme concentration
during punching. Furthermore it is possible to have a model copy of the
letter typed at the same time that the input punch-card deck is being prepared. Any punching errors thus become immediately obvious and can be
corrected on the spot.
I

I

The preparation of punch cards bearing name and address and a personalized salutation is something else again as can be seen from the examples
in Appendices 6 and 7. With control symbols appearing so frequently errorfree punching is difficult even with intense concentration thereby making
the punching of name-and-address cards a slow process. It was therefore
decided to investigate the possibility of writing a 1620 program to take over
the burden of inserting pertinent control symbols into symbol-free input
cards. Initially, the program was intended to
I

1.

I

( 1) Replace any input double b13nk (used to signal the end of a typewritten line) with an "at" sign to return the typewriter carriage; and
(2) Insert an equals sign before any alphabetic character at the beginning of a line and replace any blank preceding an alphabetic character
with a slash thereby effecting capitalization.
I

Although these steps would greatly facilitate the punching of a source
deck" it quickly became apparent that an even more extensive-use of the
1620 would be extremely advantageous. The program as originallyenvisioned was therefore successively expanded until it now provides for the
following in addition to the two basic purposes cited above:
II

I

( 3) An M IF, S,D, P or R in column 1 followed by a blank in
column 2 is automatically converted to Mr. Mrs., Miss, Dr. Prof., or
Rev., respectively by the 1620.
I

I

o

I

(4) lIand Mrs." can be inserted after any of the foregoing titles if
desired, using program switch control.:

56

( 5) Source cards are punched with last name first thereby facilitating proper alphabetic sorting and filing. The 1620 program reverses
the order to obtain the desired output form.
I.

(6) The 1620 generates a personalized salutation from the input
last name and specified title and adds this to the output object deck.
Thus it need not be punched into the source card.
1

( 7) A period is automatically inserted after any alphabetic character standing alone on the source card.
( 8) A zero I, 2, etc. following the input name automatically
generates Sr. 1 Jr. 1 II 1 111, etc. I following the las t name with proper punctuation.
1

1

(9) Cardinal numbers appearing as street names are converted to
ordinal form; i.e. 18 Street becomes 18th Street.
1

( 10) The comma separating city and state is inserted automatically.
Zone numbers included on the source card are inserted ahead of the comma.
( 11) Input cards in any Single deck can contain up to 100 different
two-character abbreviations which are expanded by the 1620 program. For
example, ST can become STREET PT can become PRATT INSTITUTE BKS
can become BROOKLYN 5, NEW YORK, etc. The fact that the program permits changing the list of recognizable abbreviations is Significant since
the most advantageous list may differ from letter to letter. Note that the
particular abbreviations selected should not be letter combinations which
might have to be used directly as such.
1

1

1

( 12) Under program switch control, a common first line and/or common salutation can be inserted if desired. Thus DIRECTOR OF GUIDANCE
need only be punched once if a number of letters are to go to guidance
directors at several different high schools.
( 13) One or more record marks are inserted into the output cards to
permit the same cards to be used for typing inside address and salutation,
for addressing envelopes or for typing a proof list of names and addresses
without operator intervention.
I

These features of the 1620 converter program greatly Simplify the task
of punching input name-and-address data, as can readily be seen from the
sample input presented in Appendix 8. As a matter of fact any reasonably
competent key-punch operator can now punch the input card considerably
faster than a good typist can type the full name and address by hand.
1

The use of the object deck produced by the 1620 program should be
fairly obvious: The body of the letter is punched up separately and is

57
.... - . _ - _...-_ .. __ ..

-

--~-

-...

---~---

..

c

*0

o

headed by a card bearing the date and accompanying punctuation and control symbols only. The name-address-salutation cards prepared by the
1620 are then inserted behind the date -line card, and the complete letter
deck is ready to be run. ,;Preparing one or two duplicate' copies of the
main letter deck makes it possible to change the name-address-salutation
cards in one deck while the 870 is typing from another / with minimum
los s of time.
On~

final feature of the entire program should be of interest. Since
it was anticipated that letter writing would often be supervised by secretaries having no experience in plugboard wiring, it became desirable to
use the same wiring for any of the three output uses envisioned--letter
writing, envelope addressing / or name-and-address listing. This has
been accomplished through the use of a Single header card, into which a
single code letter is punched to denote the operation desired.
Punching a P / for example / immediately ejects the punched header
card and turns on the keyboard / card punch and typewriter for succeeding cards. Thus the machine is automatically set for punching a new
letter deck/ with a model letter being typed at the same time. Punching
aT/ . on the other hand / turns on the card reader and the typewriter for
succeeding cards / yielding typewriter output from punch card input.
I

Punching an S or a ~ also yields typewritten output from punch card
input / but the former brings the operation to a halt when an input record
mark is encountered while the latter ejects a card upon a record mark
input. Study of the sample input card in Appendix 7 will show that the S
punch accordingly stops the program after each name and address is
typed, to. permit changing envelopes ~n an addreSSing operation. The:f:
punch yields a proof list of names and addresses without pause / as can
also be seen from the sample input card.
In summary the 1620 converter program has made it feasible to use
punch cards for typing inside addresses and salutations addreSSing envelopes/and listing names and addresses. Without the program / the
necessary key punching' would be almost prohibitively painstaking and
slow; with it / input punch cards can be prepared faster than the same
information can be typed by hand.
I

I

It is likely that not very many Users will have an opportunity to put
the program described herein to direct use . If the foregoing description
encourages others to envision new uses for the 1620, however--uses not
directly related to calculation--it has served its purpose.

o
58

_ .. - -,.-..... ...-..
~

-~

.•..--....

_._.

I

o

APPENDIX

1. '. Special chq.racters available via key pl.lnching :'

= * /

,+. -

( )

@ $ :f:

Typewriter key combinations (in addition to us ualu.pper and lower case
. ,alphabetic characters) :

2 •.

.

,. . #.

.1 '.2

3•

11

3

4

¢
?
567

( ). =
8

9'0

+

?

@" =t:

* /

%
$

(
)

Special character functions and type-outs:
Punched
Character

Typewriter
Res20nse

Punched
Character

(

Upper Cas·e

= 1 or (1)

Type

)

Lower Case

=2 or (2)

Type #

(- )

Tabulate

=3 or (3)

Type

@

Return
Carriage

=4 or (4)

Type

=5 or (5)

Type ¢

=6 or (6)

Type

=7 or (7)

Type ?

=8 or (8)

Type

,=9 or (9)

Type (

=0 or (0)

Type

,

.

.

=p or(P)

Capital
Letter P

/

Space and
Capitalize

(=

Halt

(/

Eject card
in process

+

(Variable)

".:.',

.'

Ie

(@

Type

/

= -

I

)

Type @

+

Type +

Type

=+ or (+)

Type =

Type

-----~~

It

, Type

59
---

Typewriter
Res20nse

.

C

C"'·

"I

4•

Sample output letter (salutation name to be typed manually) :
Dear Mr.
Thank you for your letter of May 5. Coincidentally I wrote you on the same date and you
presumably already have my views on the matter.
I

Sincerely yours

I

Otto McCanick
Director
OM:ibm

5.

Corresponding punch card input (double line at right indicates continuation on same card to fill all 80 columns) :

=D2:AR/r\:'IR. (=

=3@@(-T)I-LU,TK YOU FOR YOUR UTTER OF/f'1AY 5. /COIN-©CIDENTALLY,/
I

~.-:ItOTE

yeU ON THE

VIEI"JS ON THE MAT
TER.@@(--S)INCEREL

bS.l\hE DATE AND YOU@PRESUMABLY AlliEADY HAVE IvIY

Y YOlmS,@@£@( --0) TTO/rrC=CANICK@( --D) lRECTOR@§(Or.13) IBM( =

o
60
_====a.x:ae:mai,,,i#

RPM (Q ;a.lh,,,,.. '-.a

*.W44;4

6.

Sample output name-and-address, including personal salutation:
Mr. and Mrs. John J. Jones
113 E. 45th Street
Bronx 18 New York

I

Jr.

I

Dear Mr. and Mrs. Jones:
7•

Corresponding punch card input:

~=MR. AND/MRS ./JOHN/J ./JONES,

/JR .@113/E.

45TH/STREET@=BRONX 1
8 J jNE\ll/yORK@@+=DEA

) )+R/MR. AND/MRS./JONES(3/

8.

Corresponding punch card input to 1620 converter program:

M JONES

JOHN J 1

113 E

45

ST

BX18

c
61

Use ot the IBM Model I for the
OF BOOLEAN ALGEBRA EXPRESSIONS

~~LIFICATION

Charles A. Plesums
ABSTRACT
This program is an extension of the method developed by Quine
and continued by Hoobert Huhta for the reduction to the simplest
second order equivalent of a Boolean Algebra function of the SUMof-products form. In order to carry out the repeated comparisons
involved in the process with maximum efficiency, the table-lookup hardware (addition hardware) of the 1620 Model I is used. As a
result, a literal ouput can be obtained approximately ten times as
fast as by previous 1620 computer methods.
This paper is concerned with a summar,y of both the definition of
the problem and method of solution as evolved from the Quine method by
Hoobert Huhta. and some of the unusual programming techniques used to
implement the method. A complete description of the method and techniques can be obtained from the program of a similar name soon to be
submitted for distribution by the User's Group.

o

In the logical design of digital circuits, as used in computers,
control s.ystems. and simulation. Boolean Algebra functions are derived
from truth tables by means of the simple basic theorem. This form of
the expression is usually not optimum for implementation; in other
words. a simpler Boolean function can usually be found which performs
the same job and is economically cheaper to construct.
In 1952 Quine developed a method of simplification that was quite
simple and toutine; so simple that it is quite error prone. Basi callZ, it involves the repeated application of the Boolean Identity, AZ+
AZ=A. where A is any Boolean expression. In the interest of conciseness, a review or the Quine method is omitted; such a description is
readily available in maqy texts, such as Phister. LOGICAL DESIGN OF
DIGITAL COMPUTERS, Wiley, 1958, p. 68.
It is not uncommon to represent Boolean minterms in a binary format. In the interest of ca"lserving memory space in the decimally
oriented 1620, this binary i8 converted to octal. In the octal fonnat,
the condition of three variables can be represented in a single memory
location, and the identity ot each of the bariables is maintained.
However, in the binar,y or octal form a missing variable is not distinguishable. The Huhta method, therefore, generates a second number, called the set identification number, which represents, in octal form, the
eliminated variables. Therefore, a single term in the Huhta process
is represented by two octal numbers; the set identification number
stating which variables are missing, and the term representing which
variables are present in the true (uncomplemented) form.
Subsequent comparisons in the Quine process need only take place

62

·~.\
,
C
,

among those terms that have the same variables. In the Huhta method
comparison is executed an~ within a set of terms with the same set
identification number.
In the use of the Quine method, the same term often evolves from
entirely different combination of terms. In the Huhta method the'
duplicated terms are eliminated from processing 'by the following procedure. In the comparison process the octal. weight ot the eliminated
variable is obtained. It this is great'er than the value ot the set
identification number (SIN) ot the terms that were being compared, the
process continues like Quine. It the weight of the eliminated variables
is less than the SIN, the simplitied term will be one of a duplicated
pair, and is not carried to the next level ot simplificatinn.
In the comparison process, we s~ the terms combine i t they ditfer
in the state of only one variable; in other words if they differ in one
binary place. To discover this condition, we must perform a digit-bydigit table look-up. From this look-up, three conditions can evolve:
1) the digits are the same, so the variables are the same, and the lookup may proceed. 2) the octal digits differ in more than one binary place,
and therefore the terms are not combinable. J) the digits differ in only
on binary place, and the table must yield the octal weight of the place
that differs. Note that the terms are cominable only if condition three
exists in one and only one octal digit, and condition 2 never exists.
To pertorm this table look-up, the addition tables are replaced
wi th a combinability table and the terms are added. Condition 1)
produces a zero as a result ot the "addition," condition 2) produces
a record mark, and J) produces the weight of the different variable.
The "sum" is scanned for record marks or more than one digit, which
indicate non-combinabill ty • The table look-up and scan, including the
modification of the table area, is executed in 7 to 11 instructions,
depending on the data.
Another major programming procedure is the use of the process that
has come to be known as the shift. There are several tables at numbers
of which o~ one element is dealt with at a time, and atter it is used,
it is never referred to in that array again. Rather than deal with the
relatively major programming effort ot address arithmetic and instruction
modification, as well as counters to indicate the extent ot the ~,
only the first element of the array is dealt with. Atter finishing with
the element, a Transmit Record is executed which removes the first
element 8llci·:;shifts all the following elements one element closer to the
beginning of the array. In addition, the presence of the record mark
at the end of the array and repeated in each unused element by the proce ••
is used as an indicator of the end of the array so that no count must be
maintained of the number of elements present.
The present form at the program requires a minimum 1620 model I with
card I/O, and can handle problems of 15 variables, 150 minterms, 650
or 800 intermediate terms, and redundant lIinteras,. It produces a literal
output and a punched output for use by subsequent programs which have not
yet been developed in SPS. The write-up of the program soon to be distributed by the User's Group contains about twenty pages describing the
Huhta Method in detail; those interested should obtain a copy.

63
---~

.~-~~---~-

.~~-~~-~~~.~.~---~-~

-~-.~~~~-~~-~-.~---

!

c

o
Further development 1n the area of programming Boolean Algebra
can follow two paths ••• There is a need for a program to select the
essential terms and non-essential prime implicants to complete the
solution, and a whole new area of research would be the development
of a method of simplification to other criterion, such as the cheapest
combination of pre-packaged circuits; the fewest number of interconnections, or some other criterion.

I

I

I

o

I

64
I

.1

·1
!

I

I'"

].

o
AN APPLICATION -, PLOT A BLOCK DIAGRAM
•

",

,~.1

.-

.~.

':.;.

by

1/
Theod.ore M. Hartz and Susannah H. Young

.

. .

~ ~.

-1/

1 ,~~ers

of the Data Processing and Mathematics Section,
;Rad:lation, Surveillance Center, Division of Radi61pgtcal'
"Health, B,ureau of State Services, Public Health Service,
Department of Health, Education & We1fare~ Rockville,
~;ry1and.

'Presented at the Eastern Region 1620 'Us·ers Group Meeting
May 9-11, 1965, Miami Beach, Florida

65

'~'"

C

'/

INTRODUCTION
The function of a block diagram, as the term is used here, is
threefold:
(1) To provide the programmer with a means of visualizing, during
the developmental stages of programming, the sequence in which
logical and arithmetic operations should occur and the relationship
of one portion ofa program to another;
(2) To become a programmer's tool, serving as his guide and check-off
sheet; and finally
(3) To go into the volume marked "DOCUMENTATION" and thereto serve
as the record used for future modifications and/or reference.
The block diagram used in stages (1) and (2) can be rough or smooth,
and it can have one or one hundred revisions squeezed in or added on
while the program is being developed, written and debugged. But for
stage (3), a fine, smooth, complete, and up-to-date block diagram
must be produced at documentation time; and this is always a tedious
job for the pr,ogrammer.
The program here. presented is an outgrowth of stage (3) requirements
because the redrafting of detailed block diagrams for an SPS program
of over 4,000 instructions had been a,most time-consuming chore for
the impa,tient programmers
After this job had been completed,
thoughts turned to the possibility of having the plotter assist with
such labors in the future.
0

A short program was written to illustrate the various geometric
figures proposed, showing assorted sizes and proportions along with
suggested layouts for printing instructions. Execution on the plotter
was a great success; and, after selecting the sizes and scales to be
used, work on this program began.
Before proceeding further to describe this program, it would be well
to divert for a minute to explain that the geometric figures selected
are those in use in our office, and for the purposes stated. They are
described in a "Reference Manual" which was distributed in May, 1963,
to personnel in the Data Processing and Computations Section of the
Division of Radiological Health.
Three geometric figures are used here and they are:
(1)

Rectangle - to represent operation,

(2)

Diamond - to represent decision, and

(3)

Circle - to carry label and to represent branch.

66

----"-~-""--"-"--~"'-~""

- _ . , . .... _ - - - -

--"',"--,,-~'-,

---

o
A description of each of these four parts now follows:
PART I - - ANALYZER:
(A) Initializes plotter, (sets up scales and moves pen to start),
sets up margins, and draws
horizontal line to mark the top of a
page.

a

(B) Initializes library (OPCODE) and corresponding table of geometric
figures required (ROUTIN).
(C) Clears out input area, inputs card in alphameric format and sets
up OPCODE fie ld.
(D) Searches through library for required OPCODE and branches to the
appropriate ROUTIN or to ERROR o
(E) Tests for amount of writing space still available on plotter paper
and goes to new line or new page if required.
When it is determined by the analyzer that a new line or new page is
needed, this routine will cause the plotter to:
(1) Draw a 0.8" diameter circle to show a branch from the mainline
program,
(2) Write inside the circle the word "NEXT LINE" or "NEXT PAGE" as
the case may be, and
(3) Initialize at either the new line values or at the new ~ values.
In the latter case, a horizontal line is drawn to mark the start of a
fresh page.
PART II -- LOCATER
After the opcode has selected the proper geometric figure and after
the plotter has drawn that figure, the locater is called on to find
the operands required. If the locater finds the items required, it
will cause the plotter to draw them; otherwise, there will be a branch
to ERROR.
PART III - .. ERROR
This routine outputs error messages on the typewriter, if the other
routines have indicated there was an error.

o

68

PLANNING AND PREPARATIONS
Each of these geometric figures was laid out to scale. Provision was
made in the internal layout for sufficient printing to accommodate, in
its entirety, each instruction being plotted. Space was also provided
for a label, if present, in an appended label circle. Arrows needed
to link the figures and to show directions of flow were laid out to
scale. Subroutines were written to draw each one of them using the
CalComp Plotter. Subroutines were also written which would locate:
(1)

P operand of up to 6 characters,

(2)

P operand of up to 10 characters,

(3)

Q operand of up to 10 characters, and

(4)

Flag operand.

Margins and layouts were established, and it was decided to use an
8 1/2" x 11" paper format (as plotter paper is 11+" wide) with 1 1/2"
side margins. A subroutine was written to compute line and page
consumption, and to draw a horizontal line every 8 1/2" to show where
to cut the paper roll into separate sheets. The last preliminary task
was to list all the opcodes which an SPS program could contain and
alongside each opcode to write an English-language translation of an
instruction using that opcodeo
These English-language translations contain the key prepositions which
differentiate the various operand functions and which, therefore, sort
the opcodes into natural groups. This is shown in the following examples
which concern flag operations. The first inclination in grouping opcodes
would be that SF, MF, and CF would probably be handled as one natural
group, but now consider their English-language translations and the key
prepositions contained in each.
CF

INPUT

MF

INPUT, B means Move Flag :::::l1l:I::
from B ::::I:'
to INPUT

SF

INPUT

means Clear Flag at INPUT

means Set Flag at INPUT

The odd one here is MF as it uses 2 prepositions and has 2 operands,
while CF and SF each use one operand and use the same preposition.
These natural groups of opcodes were further regrouped into a larger
category by geometric figures required:
Operation, Branch with Decision, Special, and Branch without Decision.
A program outline developed naturally and wa. in four principal parts,
as follows: Part I -- Analyzer; Part II -- Locater; Part III -- Error;
Part IV -- Plotter.

67

o
PART IV

PLOTTER

PLOTTER is the last major portion of this program and consists of seven
separate parts. It is in this portion where the figures are plotted
and the instructions are written.
A.

Branch

Branch functions were the first to be defined and plotted. These were
done by first grouping together similar kinds of branch opcodes after
the pattern of their English-language translation. From this grouping
came two subdivisionst
Branch-without-a-decision, and
Branch-with-a-decision
1.

Branch-Without-a-Decision

To represent this kind of instruction in a block diagram required only
a circle, (the convention used by this office for "Branch"); and this
full circle, (0.8" diameter), had already been laid out and plotted
above as part of the ANALYZER. No connection to the next instruction
was needed for these opcodes, (such as BB), so the only task remaining
was to insert the instruction in the circle. In all but two cases,
this meant to write only the opcode. In these last two cases, (B and
B7), the P operand is important, while the OPCODE, Branch, can be .
implied by the circle. Therefore, a 6-space area was provided across
the horizontal diameter of the circle in which to write a P operand.
No connection to the next instruction was need~d in this case either.
For all these opcodes, the plotter was moved in the pen-up pOSition
to the starting point of the next figure.
2.

Branch-With-a-Decision

This is the second branch subdivision and includes four opcodes for
branch depending-on-conditions-in-the-Q-operand, plus the 26 opcodes
in the BRanch-an-INDicator list. By converting an instruction using
one of these opcodes into an English-language equivalent, their block
diagram format was developed naturally, thus:
Opcode

P operand

Q

BE

ALPHA

B.Q]!

means BRANCH, if Equal/Zero
Indicator is ON, to ALPHA

BNF

ALPHA

~

means BRANCH, if NO Flag in
BETA, to ALPHA

o
69

operand

It became evident from these translations that all factors involving
the decision were self-contained in an OPCODE which has no more than
four characters, yet can have a meaning as involved as "Branch if
Sense Switch 1 is NOT on." On the proposed block diagram, all these
factors would be represented by a diamond (decision) and a circle
(branch) with arrows as needed and a part-circle for the label, if
present.
A diamond was laid out with dimensions of 7 x 10 units which would
reduce to plotter scale 0.7" x 1.0", very close to template size and
proportions. To provide for the possible presence of a 6-digit label,
a second circle (a part ... circle with an 0.8" diameter) was laid out to
attach to the diamond. The branch circle had already been laid out
and plotted above as part of the ANALYZER. Arrows were needed to link
the geometric figures and to show the direction of flow, and these
were laid out to have an overall length of 0.3". The smallest print
size available in the annotation routine (at the vertical angle) was
used throughout the entire program.
The last task remaining .was to plot (to write in) the instruction,
but because these instructions differ in format, their layouts in
this block diagram had to differ in the same way.
The 26 BRanch-on-INDicator opcodes were very direct and were no
problem to layout. Across the inside length of the diamond, a
4-space area was provided in which to write a 4-character (maximum)
OPCODE. And similarly, across the horizontal diameter of the circle,
a 6-space area was provided in which to write a maximum 6-character
P operand.
The four BRanch-on~ instructions were written out on 2 horizontal
lines inside the diamond with the opcode and the word "IN" on the
first line, and the Q operand on the second line -- the whole being
read as "Branch NO Flag in Q" and, then, the entire P operand was
written across the horizontal diameter of the circle, showing the
Where of the Branch.
B.

Operation

Operation functions were the next group to be defined and plotted.
Grouping similar kinds of opcodes together had provided the groups
of naturally similar branch instructions. The same system was
continued for operation functions, and provided, not two, but eleven
naturally-similar groups. Further study of these operation groups
showed that they would all utilize the same operation box, and the
same appended label-circle, and the same connecting arrow; but that
they would differ in the English-language translation of the
instruction.
It was possible, therefore,to have one connnon routine for all these
opcodes up to the annotation of the instructions, at which point each
of these groups would be handled according to its own unique
requirements. These eleven operation groups are:

70

W' • • • -

C!

Subroutine
Name

if of
Opcodes

List of Opcodes

FQTP

9

TF, TFM, TR, TD, TDM, TNF, LD,
LDM, MF

ADCOM

4

A, AM, CM, C

SUBTR

2

S, SM

MULDIV

4

M, MM, D, DM

STRIP

1

TNS

READ

8

RN, RNTY, RNPT, RNCD, RA, RATY,
RAPT, RACD

WRITE

12

WN, WNTY WNPT, WNCD, DN, DNTY,
DNPT, DNCD, WA, WATY, WAPI', WACD

SUPER

16

SK, RDGN, WDGN, CDGN, RTGN, WTGN,
CTGN, RDN, WDN, CDN, RTN, WTN,
eTN, SEEK, GET, PUT

FIAG

2

SF, CF

CALL

1

CALL

DRAW

1

DRAW

The operation box was laid out with dimensions of 8 x 11 which would
reduce to plotter scale 0.8 x 1.1 inch, very similar to template size
and proportions. The length was sufficient to accommodate lO-characters
of writing, and the width sufficient for five lines of writing. To
provide for the possible presence of a 6-digit label, a third circle
(a part-circle with an 0.8" diameter) was laid out to attach to the
operations box at its upper left corner.
The instruction's were laid out as follows:
Line 1.
2.
3.

FQTP

4.
5.
ADCOM

1.

2.
3.

4.
5.

o

71

FROM
OPCODE
Q operand
TO
P operand
Flag operand
OPCODE
Q operand
TO
P operand
Flag operand

Line 1.
20
3

SUBTR

0

4.
5.

1.
2.
3.

MULDIV

4.
5.
STRIP

1.
2.
3.

4.
5.

1.
20
3.

READ

4.
5.
1.
2.
3.

WRITE

OPGODE
Q operand
FROM
P operand
Flag operand

(-~'

'--J'

OPCODE
P operand
BY
Q operand
Flag operand
OPCODE
FROM
P operand
TO
Q operand
Flag operand
OPCODE
P operand

INTO

Flag operand
OPCODE
Poperand

FROM

4.
SUPER

5.

Flag operand

1.
2.
3 .•

OPCODE
P operand

PER

4.
FlAG

50

Flag operand

10
2.
3.

OPCODE
P operand

AT

4.
CALL

5.

Flag operand

1.
2.
3.

OPCODE
P operand

4.

Q operand or Blanks w/MES3

5.
DRAW

1.
2.

OPCODE

3.

4.

Fourth operand

50

72

._--

---'"-----~-~------------------'"

---------------------------'"---------~---------

(

o

C.

Branch and Transmit (BRANT)

Another opcode represented by this same operation box and label circle
is the one for BT and BTM -- here called BRANT. Because of its threefold
function, it follows a unique format and has to be so treated. This
unique instruction format is due to a two-way flow between the operation
box and the branch circle, and this is shown by the use to !HQ arrows,
(one down and the other up) 0 The layout of the instruction further
conveys the threefold meaning of it -- as follows:
The Branch circle contains the P operand to which the program branches
and from which it later returns. The OPCODE is on line (1) of the
operation box and the Q operand, the address of the data transmitted
to P-l, is on line (2). Flag operands if present are on line (5),
while line (3) and (4) remain blank •.
D.

Miscellaneous (MISe)

Another operation function which is somewhat similar to the previous
eleven is MISC. This routine concerns the control operations which
often appear 1.n profusion in a program but which one may wish to omit
from a block diagramo Except for "K", these opcodes have a complete
meaning in themselves -- are self-contained, and require no operands.
To accomodate this kind of opcode, a switch setting is provided here,
and this routine will then perform the following:
Search for a label and, if one is present, draw it with its label circle,
proceeding right along to draw the operation box and then the opcode.
Then the opcode is tested and if it is "K", a further search is made
for operands and those present will be drawn, along with an arrow to
the next instruction. In case the OPCODE is .!!.Q.t "K", an arrow is
drawn to the next instruction.
If, however, the first search finds that this instruction does NOT
have a label, the program then branches to find how SSI is set.
If SSI is ON, the program returns to draw the operation box, the
opcode and the arrow, as usual; but. if SSI is OFF (and there was NO
label) this causes the entire instruction to be omitted and the
program returns to START and the next instructiono
E.

Plot

A separate treatment for the CalComp macro-instruct'ion PLOT was
required because of the 2 sets of coordinates and their variations
in length. To accommodate the different lengths of the sets of
coordinates, two sizes of operation boxes were laid out, (0.80" x
1.10" and 0.80" x 2.20"), and made available to acconnnodate these
instructions. This routine decides which size to use after:
(1) searching out the first pair of coordinates and counting their
combined number of digits, (2) searching out the second pair of

o

73

coordinates and counting their combined number of digits, and (3)
eQmparing eahch total to 110. If both aredlo Aorllebssl' thels~ll blox
is used, ot erwise, t h e arge one is use.
. a e circ e 1.S a so
provided, if needed, and the instruction is written out in the
·operation box in this format:
Line (1)

OPCODE

Line (2)

Coordinates (1) and (2)

Line (3)

TO

Line (4)

Coordinates (3) and (4)

CI~
,,;,1

FROM

Line (5)
Fo

Declarative Operations (DE CLOP)

The last group to be described is a 2l-item list of declaratives:
DS, DSS, DAS, DC, DSC, DVLC, DAC, DSAC, DSA, DSB, DNB, DDA, DGM, DTN,
DTA, DCN, DCA, DPTN, DPTA, and DDW.
These are not apart of a block diagram, but still one may not wish
to omit them entirely. To accommodate this kind of situation, a
switch setting is provided here, and this routine will perform as
follows:
If SS2 is ON, the program will punch a card for each item in this
list. But if SS2 is OFF, the program will omit the declarative
completely and return to START and the next instruction.
G.

Special

In this last group, the opcodes DEND and DORG were considered as a
special class. The program will perform as follows:
DORG

Ignore this opcodeand proceed to the next instruction.

DEND

Call EXIT, thus bringing an end to the plotting.

74

c

o

CONCLUSION
Machine requirements for this program are:
1620 with 40K memory, Monitor System (one disk drive), card reader/
punch, CALCOMP on-line plotter, and MF-TNF-TNS-automatic divide.
The program here presented is operational and has already proved to
be extremely valuable. One of its hidden assets is its flexibility.
Changes can be very easily introduced, and several have already been
discussed. These include such additions as:
(1)

A fourth geometric figure to contain comments and remarks,

(2)

A page numbering feature, and

(3) Other alterations as may be required to meet a userls
individual requirements.
A representative assortment of SPS Source-Program instructions
together with their block diagram format, as produced by this
program, is attached (see Appendix A) to illustrate typical
plotter outpu~.

o

75

_ _ _ _ _ _.._,,_. ____ .._. _ _ _ 1

<,-.---- ._----------

l066STlRT
1070

108b
1090
1100
1 11 OA TE

~

M

-r4

"0
C

:.

TR TNPUT1-j ,f'LANK-J
1 FM AT £ S T 1" 1 8
~ ROuT r N
TFM ATEST+l1 ,OPCOD£

I
!

• 711 '

~ACDINPUTI

SF

INPUTltZl-

s r e i NPuTl

i

26 ~ ()('COOF.

't

A.

~

TR
FROM
. BLANI<.-l

TFM FROM
. ROUTIN

:rf~H

FROM

SF

AT

. INPUTl +2

. OPCOOE

TO

:rO

:TO

. INPUTI-I

. RTEST+tB
71 t

. "RTEST+ t t

,

·1I

~
BE

1120

1130
---

.

1140
---------.-

l150
1160
- --------- _- -- ----1170
..

POUTIN

,

ATFST+]1 ,END
. e~.___ fRROR 1
,
AM ATe-ST+ll ,8
A",
ATFST+IR,5
81 ft.T(s
(

.. _-

,6

,

,6

,

,, ,'.
,711,
, , ;1

-.. -._--

T'--'-' .-

.-.--

I.

tl

p

RM
.S

. £NO

~:ro

~:rO

. RTEST+t 1

. RTEST+ t t

.- S

AM

,s

:ro

. RTEST+1S
71 1

I

Q

V

..

'.~

c

, -.. .,.

o

i
I

t
I

ASSEMBLING SPS I WITH MONITOR I
T. I. Markland
IBM Systems ~nufacturing Division
Poughkeepsie, New York

o
77

---,._-----,_._----_._,_.---, ...... _-,_ ..,--_..... -. __ .......... ,.. .............. ............,,.

The floating point formats of SPSI and SPS II or SPS 11-0 (Mon itor I)
pose the greatest problem to program conversion because of the ir
incompatibility. SPS I uses Excess 50 floating point notation while SPS 11-0
does not. The most significant difference between the two systems of
notation is that SPS I uses on Iy one fie Id wh i Ie SPS 11-0 uses sepa rate
fields for the mantissa and the characteristic. Conversion from SPS I to
SPS 11-0 requires changing the format of each number defined in the
program, and every reference to these numbers; e.g., each Transmit Field
instruction, used to transmit a floating point number~ must be changed to a
TFLS instruction. This problem becomes troublesome if the program
involved is one of a set of programs and the output from one is the input to
anothe ri i. e., the AUTOSPOT System.
Because the operation codes for both floating point formats are the
same, it is .not possible to write a separate set of subroutines for SPS II-D
without modifying both the system op-code table and every floating point
op-code in the source deck.
The IBM 1620 Monitor I System Reference ~nual (Form C26-5739-3)
explains a method of adding user-written subroutines to the N\onitor System.
The application of this method to the conversion of the standard subroutine .
set will be the main topic of this paper.
Since the SPS I subroutines did not have the advantage of variable
length mantissa, only the fixed length subroutine set in SPS II needed
modification. Although the fixed length subroutine set is much simpler than
the variable length set, the task of thoroughly reviewing and understanding
these subroutines is not particularly pleasant. Besides, most programmers
do not care how the floating arctangent subroutine works as long as it works.
One of the requirements of placing a user-written subroutine on the
file is a knowledge of the PICK. subroutine. The PICK subroutine is used by
every other subroutine, with the exception of fixed point divide, to set up
the addresses and data for the subroutine. The PICK routine can be
modified without much involvement in the logic of the other subrout,ines.
Only slight modifications are necessary in'the other subroutines.to make them
compatible with the new PICK subroutine.
Knowledge of the rules and methods of re location for subroutines is
also important. First of all, each subroutine is a relocatable program.
Regardless of the main program location in storage, PICK and the other subroutines will follow. Therefore, certain addresSes and data'areas used in the
subroutines will be located in a differefJt area depending on the last location
used by the main program. Also, each reference to these areas must address
the correct location; hence, many instructions in the subroutines must be
corrected during the loading of the subroutine. Furthermore, the arithmetic
and functional subroutines use areas that are defined in PICK. Th'is requires
that the arithmetic and functional subroutines be modified for the ir own
location in core storqge and the location of the PICK subroutine.

78

,

o

One area which requires consideration is PCK. This is defined in the
PICK subroutine at the actual address 02365. This area is used for
communication between the main-line program dnd all of the subroutines.
The address of the entry point to PICK is always located atPCK. The
addresses of the entry points to the other subroutines are located in five-digit
fields below PCK and all of these addresses are loaded into this area when
the subroutines are loaded into core storage. Addresses above PCK are used
by PICK and the other subroutines to communicate between themse Ives and
the main line program. A review of the method of communication shows
that:
The first instruction of the linkage is TFM
PCK + 10, * + 19.
This instruction transmits the address of the high order digit of the address
of A operand to the common communication area. The second instruction is
B7
-(PCK - 5*X),. This instruction causes the computer to execute the
first instruction at the entry point to the called subroutine (FA, FS, etc.).
The branch is indirect to the common communication area which was set to ~
the proper address when the subroutine was loaded. X represents the number
of the entry point in the subroutine entry point list, each entry point having
itsown address area. After the branch, a OSA is effectively assembled with
the addresses 'of the two ope rands.
The subroutine now executes a TFM to set up a return to itse If and
branches to PICK. PICK then executes a TR, with an indirect Q address of
PCK + 10. to bring the address of the operands to the common area; adds 11
to the address at PCK + 10 to find the ma in I ine return address; places the B
operand in an area referred to as BETA; and, returns to the arithmetic or
functional subroutine. The subroutine calculates the result, places it in an
area labeled ALPHA, and returns control to PICK. Finally PICK handles all
the error codes and arithmetic indicators, places ALPHA in the A operand in
the main program,andbranches bock to the main program to complete the
cycle. This is the general logic but some subroutines do not take the
complete advantage of all the functions of PICK.
Since PICK uses the PCK addresses to obtain the operands, sends the
operands to the appropriate subroutine, and returns the result to the main
program, it may be possible to modify PICK, to convert a floating point
number which is in the Excess 50 notation, to SPSII-D notation and then
reconvert the results before returning them to the main program. And if this
can be done without changing the results of assembling an SPS 11-0
program, it may be possible to assemble source decks for either SPS system.

o

One sl ight problem which may necessitate changes to the SPS I source
deck is created by the ma in progra~ using address modification. Chang ing
the addresses of the operands in the linkage, or branching around Iinkage
wi 1\ cause problems. SPS. land SPS 11-0 assemble linkages of different
lengths and with the addresses of the operands indifferent locations. A
short review of all references to addresses near a macro instruction should
solve this problem.

79

,.

_____ .. '.. __ .~_~~ ...... _., ___ ~ _ _ _ • ______ ,_ _ _ _ _ _ _ _ ~ _ _ _ _ _ ~ __ ."._"'~'."'~""' __ '''N~'''._'''_"'N •. '_'_'~_'.''''""-_- _ _ _ _ ~_~ __ ~'' •• _ ... ,__ ....... ". _ _ -.......-..J_._ .. __ .. "-.•.. ~,,.~ ... ,.""'.. ____ ,...... ,,~ .• _..... __ ,.,.. ~.,_ ... _._

-........,,-........-.~-...-..,.............-.~.-...,.~... ~..•'~_._.N'••••

Some of the problems encountere·d during the modification of the SPS 11-0
subroutine set 01 were:
a)'

SP~ I subroutines place a product or quotient at location 99 rather than

in the A operand area.
b)

The arithmeHc subroutines set up the A operand and expect to find them
i.n the SPS 11-0 format (this could require 'another SPS I to SPS 11-0
conversion routine in each of the arithmetic subroutines).

c)

Some of the subroutines operate on the operands directly (rather than on
ALPHA and BETA) by indirectly addressing to those addresses in the
common PCK area.

d) 'An SPS..fI-O generated result may not be'converted correctly back to
SPS I du~ to overflow or underflow •
e)

SPS·I and SPS 11-0 error recognition techniques are different.

f)

Certain constants and data areas are defined in PICK and referenced in
the other subroutines.

g)

The SPS 11-0 floating shift operations do not address low order digits of
floating point fie·ld.

A suggested solution for each of the above problems will follow as the
logic behind the general technique of conversion is reviewed. The following
steps will E:'Xplai'n the operation of PICK and how the conversion is accomplished
in the PICK subroutine:

1•

Re se t e rro r. dig i t 00401 •

2.

fV..o~e

3.

CaJc.ulate main line return address.

4.

Calculate addresses of mantissa and characteristics of both operands.

5.

Reset a switch used to determine the floating poi~t format when converting back (CBSW).

6.

Pro,ceed to the SPS 11-0 set-up routine if either an FSLS or FSRS operation
has beencaHed for ,or the floating point operand is in SPS 11-0 format.
If nqne of these conditions exist, continue totheSPS I to SPS 11-0
conversion routine.

6ddresses of operands from main program to PCK area.

NOTE
A switch must be set in the FSLS and FSRS subroutines for
. this test because of problem (g) above.' The switch may be
se~ upon entering either routine and reSet' upon returning
from PICK. The format check is made by 'subtracting one
from the address of the B operand and check ingfor a flag
. on that digit. The following steps follow the 'logic of the
SPS I. to SPS II-D conversion.

80
- ... ---- ..- .. --..-.... -

.. ---.. --.---------~--

C}

7.

Set CBSW and reset multiply-divide switch (MDSW).
NOTE
The MDSW is set in either the FM or FD subroutines.
switch takes care of problem (a).

This

8.

Move B operand to BETA-2.

9.

Check for digit at BETA-9. If no digit is present, place 0000000099
in BETA and proceed to step (11 ).

10.

Conve rt BETA to SPS II format by subtract ing 50 from BETA-10 and
moving the result to BETA.

11 •

Skip ALPHA set-up if not arithmetic subroutine.
NOTE
This test is accompl ished by check ing for the presence
of a flag in the PCK common a rea. The flag is always
placed by each subroutine and then is removed by each
non-arithmetic routine. This satisfies the requirement
of problem (b) .

12.

Convert ALPHA to SPS lias per steps (9) and (10).

13.

Return to correct subroutine.
NOTE
If the format was SPS II-D, PICK places the B operand in
BETA and checks for an arithmetic subroutine. IF FA, FS,
FM, or FD has been called, ALPHA also will be
converted.
It will be assumed at this point that the functional or arithmetic subroutine has been executed, the result of the operation has been
placed in ALPHA, and control has been transferred back to PICK.
Any modifications required in the arithmetic and functional subroutines
will be covered later. The remaining steps complete the explanation
of the PICK subroutine.

14.

Set error digit at location 00401 if required.

15.

Return ALPHA to A operand and return to ma in program if CBSW is
reset.
NOTE
If CBSW is set, the original operands were in SPS I
format.
I

o

16.

Proceed to step (19) if there is a digit in the high order position of the
ALPHA mantissa.

17.

Set ALPHA to a \I zeros and proceed to step (22) if the error digit at
location 00401 is not a record mark {overflow or underflow}.

81

18.

Set ALPHA TO 5000000000 and proceed to step (22) if the error digit
is a record mark.

19.

Add 50 to the characteristic of ALPHA.

20.

Place all zeros or all nines in ALPHA if the result of the add is either
negative or overflows (problem d above).
NOTE
Ifan underfloworoverflow occurs as a result of the
operation or the conversion, an error routine places
the zeros or nines in ALPHA, types out the main
line return address and the addresses of the operands,
and halts (problem e)i depress.ing START will cause.
PLCK to continue as if the error had not occurred.

21.

Wove ALPHA to ALPHA-1 0 (return to SPS I format).

22.

Set HP and EZ indicators by adding zero to the result.

23.

Place the result in either the A operand or location 99 depending on the

MDSW.
24.

Return to main program.

This completes the part of the procedure which is handled by the PICK
subroutine. The remainder of this paper treats the conversion of the other
subroutines.
The first step is to visually scan the Iistings of each subroutine to find
all references to PCK:+ 15, PCK + 20, PCK + 25, and PCK +30. These are
the addresses ()f the characteristic and mantissa addresses for the A and B
operands. Since these operands may be in SPS I format, they should not be
worked on directly. However, the numbers in the PICK subroutine already
have been converted and pl,aced in the correct format in ALPHA and BETA.
The slJbroutines may work on ALPHA and BETA directly by changing
PCK
PCK
PCK
PCK

+
+
+
+

15
20
25
30

indirect .toALPHA direct;
indirect to BETA direct;
indirect to ALPHA - 2 direct; and,
indirect to BETA - 2 direct.

NOTE
These changes are not required in FSLS, FSRS, TFLS,
and BTFS because they are not included in the SPS I
subroutine set.
The last problem (f) is caused by ce rta in data aredS be ing defined in
PICK and ref~ren~ed in. the other subroutines (ALPHA, BETA, etc.). First, it
is necessary to determine which areas are referenced in the ()ther subroutines.
One method of doing this is to assemble a II of the subroutines with the
exception of PICK and Iist all errors indicating undefined symbols. The
following labels are those requiring definition:

82

Ci

0

1

ALPHA
AZERO
BETA
CZERO
FAC
FLONE

LCNl
LCN2
LCN3
LCN5
LOGE
MDSW*

NOSDIG
ONEZ
OVFL
PCK
SAVE
SFTS*

SIGN
STORE
UNFL
ZRES

The I'Aonitor' System symbol table provides an easy way of allowing
symbols defined in one program to be used in another program. Symbols may
be defined in this table by using the SPSLlB portion of Monitor; however, it
is necessary to determine the relocation address of each symbol. To do this,
it is necessary to assemble PICK (re locatable) and note the addresses of each
symbol Iisted above.
The control cards required to define the System Symbol Table are as
follows:
IfJOB5
I I XEQ SPSLlB
* DEFINE SYSTEM SYMBOL TABLE
ALPHA
AZERO

-00066
-01134

etc.
*ENDLIB

If II

The symbol in each detail symbol card starts in column 6 while the
address starts in column 16. Addresses which are to be relocatable should be
preceded by a minus (-) sign. NOSDIG and PCK are 'the only addresses
which are not relocated.
Only half of the problem has been solved; it is necessary to identify
for the subroutine supervisor program, which loads all our subroutines, those
addresses which should be relocated according to the actual location of the
subroutine being loaded, and those to be relocated according to the actual
location of PICK. This is accompl ished by defining a "pseudo constant (DC
statement)" in the source deck. An explanation of the use of the pseudo
constant is given in the Monitor Manual under the heading "Operands that
are a Function of Pick and/or Mantissa Length." The only "modifiers" which
are required are 0 and 5, since the fixed length subroutines are not affected
by mantissa length. A check of each subroutine, after all other changes have
been made, wi II indicate what must be done to the pseudo constants to make
the subroutines function correctly.

o

NOTE
PCK is not re located and does not depend on the
location of PICK.
*These we re defined spec ificall y for the modified subroutine set.

83

The other changes required in the arithmetic and functional subroutines
include:
1.

2.

3.

Changing all direct returns to the main program (branches to PCK
indirect), to branches to the second portion of PICK.

+ 10

NOTE
This should not be done for the FSLS, FSRS, TFLS, and
BTFS subroutines.
Set switch in functional subroutines and TFLS and BTFS to stop ALPHA
set-up (this may be done by clearing the flag which is always set on the
highest order digit of the address of the return to the functional subroutine (PCK + 1).
The last change requires setting and resetting a switch in the two-shift
subroutines (FSRS and FSLS). This switch (SFTS) also used to inhibit
ALPHA set-up is to be set immediately upon entry to the subroutine and
reset immediate Iy upon returning from PICK.

Before loading any of the subroutines onto the file it is first necessary
to delete them in their existing form. This is done with the following control
cards:

II JOB 5
II DUP 5
* DELET

0100

IIII
The numerical portion of the *DELET card is the DIM Entry Number of
the PICK subroutine for subroutine set 01. The DIM Entry Number for the
proper subroutine is entered in columns 13-16. The DIM Entry Numbers for
each subroutine in set 01 are:
PICK
FA and FS
FM
FD
FSQR
FSIN and FCOS
FATN
FEX and FEXT
FLOG and FLN
FSRS
FSLS
. TFLS
BTFS

0100
0102
0104
0105
0106
0107
0109
0110
0112
0114
0115
0116
0117

84

U

T
'

tztM"'i::;:r'=mwpwrrelS!!!!'WIFWPII",,

srI! t

_ ..m._'r_

==

rrih

•

NOTE
The double subroutines are really one subroutine with two
entry points. Since the fixed point divide routine simply
uses the automatic divide instruction in this subroutine
set, and there are no refe rences to the PICK subroutine, it
is not necessary to change this routine at all.
The last thing to be done is assemble each subroutine and store it
permanently on the file. The SPS control cards required to do this are:
* ASSEMBLE RELOCATABLE
* SYSTEM SYMBOL TABLE
* L1BR
* 10 NUMBER 0100
* STORE RELOAOABLE
The *SYSTEM SYMBOL TABLE card $hould not be used when assembl ing
PICK because it will produce double definition errors. The number on the 10
NUMBER card is the DIM Entry Number for the subroutine being assembled ..
The appendix to this paper contains listings and other information which
may be useful when converting the users subroutine set.

o
85

fl

•.

o

Electronics
A McGraw·HiII Publication
330 West 42nd Street. New York. N.Y. 10036
Telephone: [212] 971·2645

Lewis H. Young. Editor

June 28, 1965

Dear Mrs. Hall:

Mr. Love of IBM has written us requesting per.mission
for you to reprint "Using a Computer for Circuit Analysis"
by Herbert Wall from the November 2, 1964 issue of Electronics.
You have our permission provided the reprint carries the
following legend: Reprinted from Electronics, November 2, 1964;
copyright 1964 McGraw-Hill, Inc.

LHY:kf
cc: David J. Love

Mrs. Carol A. Hall
USL Computing Center
University of Southwestern Louisiana
Lafayette, Louisiana

o

86

"'1

"
C
!I.

"

o

f' PW

c

COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS
by:
Arnold Spitalny
for presentation at
1620 Users Group Meeting
in
Miami Beach, Florida, May 10, 1965
'The Norden Division of United Aircraft Corporation has
had an active and extensive design automation progra~ for the past
2 1/2 years. We are trying to apply the same thought and effort to
development of man-machine systems for performing our engineering
work more efficiently that we normally apply to development of radars,
display systems, navigation systems, and other complex electronic
equipment. Emphasis throughout our program has been placed on development of user-oriented systems in which computer assistance is
made conveniently available to engineers in the context of their own
problems. These users do not have to become programmers to learn
and UBe the systems we develop.
Since most of our business is in development of electronic
equipment, a large part of our design automation effort has been
directed toward improved methods for synthesis, analysis, layout, and
packaging of electronic circuits. Our early start, rapid pro~ress,
and demonstrated capability attracted outside recognition and support
in two important areas.

r'

In April 1963, Norden and IBM agreed to combine our separate
circuit analys~s program development efforts and work together on a
comprehensive user-oriented circuit analysis program system. This
joint effort resulted in development of the ECAP system which was presented by Mr. Wall. The Norden version is called NORNAP (Norden Network Analysis Program). It includes many features added by Norden
after IBM stopped further joint development to prepare ECAP for general
release.
Development of an electronic design that performs the proper
functions is only one step in the series of activities required for
design and production of integrated circuits.
Once a satisfactory electronic design is achieved, the next
problem is design of the d1ffusion and interconnection patterns required to fabricate this circuit within a single silicon chip. This
can be a tedious and frustrating job, which increases exponentially
in difficulty as we increase the number of components in each circuit.
The designer must determine size and shape of all elements, allow for
moats and clearance tolerances, arrange the elements into a minimum
area rectangle of satisfactory form factor, locate terminals, and route

87

c

all interconnections without meta1izatlon crossover.
This layout design task is much more difficult than design of a conventional printed circuit board. Errors are not likely
to be discovered until after the first devices are made and are rarel~/
possible to correct without repe:ating the whole manufacturing cycle.
The repeated cycle of design, manufacture, test, and modification can
be broken by providing a computer-aided design system that helps the
device designer to obtain better designs faster, automaticall:y checks
the designs for conformance with all proces,s tolerances and design
rules, automatically generates a complete set of mask designs corresponding to the checked and approved layout design, and predicts
functional performance of the circuit before it is built.
Norden 1s now developing such a man-machine system under
Air Force sponsorship with the assistance of the United Aircraft
Research Laboratories. The program is under the direction of Captain
H.D. Colwick and Mr. M. Bialer of the Electronics Branch, Manufacturing
Technology Dlvision,Air Force Materials Laboratory, Wright Patterson
Air Force Base, Ohio.
This system for rapid design of microcircuits is supplemented
by the series of Norden-IBM computer programs for analysis of electronic
circuits.
These two developments reduce the time required for initial
design and manufacture of new microcircuits to less than that needed
for conventional circuitry.
Since the basic circuit analysis methods are fairly well
known and were discussed b~ Mr. Wall we will devote most of our time
to the newer material on design of circuit layout and interconnection
patterns.

Design Cycle Outline and Circuit Analysis
Figure 1 indicates some of the major steps involved in
conventional design and development of integral circuits. The full
sequence from concept to delivery includes preliminary design, circuit synthesis, circuit analysis, mask layout, mask artwork and cutting, and the many steps of fabrication and test. All the steps
shown in ovals were originally performed manually.
Some of the problem areas of the conventional approach
are indicated by the feedback loops in Figure 2. The first is to
design a circuit that performs the desired function and has parameter
values suitable for inclusion within an integral circuit. The conventional experimental breadboard approach requires uses of conventional
components and pieces from other integral circuits. Distributed effects
and leakage paths within the chip must be estimated and simulated,
and other distributed effects caused by the experimental setup must

o
88

~
I

o

o
TlSt Data

Requirement
Wafers,Dopanta,
Headera, etc.
Art.ark

Mal'ers

I .. ,

.. ,

FABRICATION

a
TEST

CX>

\.0

Topological
Ru/ . . .

COOROINATOGRAPH

KEY

o

Human oct,on,
Monitoring,
Control

D

Specialized
E quipm.n'

• Loroe/y implicit,
uncod if/ed, 'ncomp/e,e

o

Compu'er
Program

Figure 1.

Conventional Design and Development ot
Integral Circuits

I

Delivered

Circuit

be minimized. Experimental modification of parameters is often much
more difficult than in conventional circuits, due to the limited range
of integrated circu1t elements available for experimental hookup.
This problem is greatly eased by using computer analyses
~
of prospective circuit designs and mod1fications to supplement the
experimental work. A very simple user-oriented language is used to
describe circuits to the computer, which can then perform dc, ac,
or transient analyses and obtain more information in a few minutes
than could be learned 1n weeks of laboratory tests.
Figure 2 shows a simple equivalent circuit and the corresponding input data that describe tne circuit to the computer. Each
branch is described by a single IBM card containing branch number,
nodes connected to, and values of all circuit parameters. The computer
uses these data to set up and solve the matrix formulation of the
circuit nodal equations.
Once the circuit is defined to the computer, many analysis
routines are available to assist the engineer in analysis and optimization of his circuit. The command instructions for directing the
computer to use some of these routines are indicated in Figure 3.
We will now look at the output that results from one of
these instructions.
Figure 4 is a photograph of a computer printout. At the
top are all the node voltages of the circuit, which are the same
as would be measured on a circuit breadboard. Next, we have the
sensitivity of every node voltage to variations in every circuit
parameter. This information, obtained in less than one second on
the IBM '7094 computer or one minute on the 1620 computer, provides
more insight into the effect of component variabtion and tolerances
than could be obtained in weeks of experimentation. A very simple
circuit has been used for this illustration. We routinely handle
circuits of up to 20 nodes and 50 branches on the 1620 or 50 nodes
and 100 branches on the 7094.
Figure 5 shows how new microcircuits are designed with the
system now under development at Norden. The steps shown in hexagons
represent computer operations. Functional performance of prospective
circuits is determined by computer analysis and optimized before layout begins. Circuit layout is actually performed by automatic computer programs, subject to manual review and modification, and results
in automatic preparation ot a set of mask artwork.
This system is planned tor eventual on-line operation with
graphical display and manipulation of circuit layout patterns on a
CRT display with a light pen. The present prototype version uses a
Calcomp plotter on the 1620 tor graphical display and an Orthomat
Drafting Machine for automatic preparation of mask artwork. Graphical
design manipulations are performed on a 7094 computer in Hartford and

o
90

o

<:)

DCNODE

\D

J-I

T1

Figure 2.

:11!'
.~~.. '·f~.
ml
'.
~ (1,( ,

til'... (2,31':\:

R = 2000.(.10)

~

R ~ 5 E + 06

~ ..

f< = 27.

(3,4)

R

1.(,01),

,

E

~ =~(4,O)~

R·' 1000.(.10)

N ~ (3,0)';

R ~ 100001.10)

N - (1,3)

R

R

.: 3

G

E

= 30.

,

I

=

=

-.01 E - 06

-.6

39E3:.10)
036·l0361

Input Data Preparation

,0367)

I
l

Z!

Q

Z
III

:I

Figure 3.

Control Instructions
<]2

o

o

0
NO. BRANCHES =
NO. NODES = 4

7

NOMINAL ~ODE TO DATUM VOLTAGES
2.999E+01
2.062E+01
5.493E-00

4.764E-00

SENSITIVITIES
PERCENT CHANGE IN NODE VOLTAGES FOR A ONE PERCENT CHANGE IN PARAMETERS
R 1
1.770E-04

-1.683E-04

-1.747E-04

-1.961E-04

4.690E-07

-4.530E-01

-2.385E-03

-2.677E-03

1.172E-0~

3.493E-00

-5.962E-00

-6.693E-00

3.623E-06

1.050E-02

2.809E-03

-2.313E-02

1.342E-04

3.891E-01

1.040E-01

1.431E-01

1.192E-04

-3.564E-01

6.993E-01

7.850E-01

1.572E-04
3
1.171E-03

4.076E-01

-7.997E-01

-8.978E-01

-3.491E-00

5.958E-00

6.689E-00

9.999E-01

9.509E-01

9.868E-01

1.107E-00

1.690E-05

4.900E-02

1.310E-02

-1.079E-01

2.502E-09

-7.456E-06

1.272E-05

1.428E-05

R 2
\..0

w

R 3
R 4
R 5
R 6
R 7
4,

G
E 1
E 4
3

Figure 4.

Computer Printout

Test Data

Wafers, Dopants,

Headers, etc.

Requirement

Mad O. . ion

AUTOMATIC
MASK
CUTTING

Maat.rs

FABRICATION I

J - - - - - l.......1

a

Delivered
Circuit

TEST

PLOTTER
OR
DISPLAY

\.0
~

•

Topalooicai

rules built into prooram

KEY

o

Human Action,

Manitorino,

D

Specialized
Equipment

o

Computer
Prooram

Control

Figure 5.

o

Computer-Aided Design and Development'
of Integral Circuits.

(~
~ )

_"7":1'JJ!!!!!' "P''''Y'n_

•• _

_

cards are transceived 70 miles over the phone lines to Norwalk for
Calcomp plotting on the 1620 computer.
Circuit Layout Design
Figure 6 is the schematic of a two-stage differential
amplifier designed with the prototype computer-aided design system.
We will assume that circuit analysis and functional optimization
have been completed.
The. schematic assigns an initial location for all elements
relative to one another, as well as parameter values and interconnections. This information is put into the computer along with the
following circuit fabrication requirements:
a) fabrication method
b) sheet resistivity of resistors
c) transistor types

o

Based on these inputs and a set of design rules developed
at Norden, the computer calculates the length and width of each
resiator and the area of each capacitor. It also selects from a
library of standard shaped transistors the dimensions of the transistor
and diode types selected by the designer to meet the electrical requirements of the circuit.
The computer is now ready to plot an initial detailed layout
as shown in Figure 7.
This figure and the following figures are photographs of
actual computer plotted outputs at various stages in the design process.
This initial layout, Figure 7, is the starting point for
a series of man-machine interactions to evolve the final design. The
designer looks at this picture and decides to rearrange things a little.
He may sa~y, "Let r s rotate this transistor and move it up here, bring
the other one as close as possible below it, put R10 on top to join
it with Rl5, move R2 up and put R12 alongside it, do the same to the
other side to maintain symmetry, and take a look at what that gives
us. II (Figure 8)
These instructions are coded in a simple user-oriented
language, punched on cards, and fed to the computer.
The complete vocabulary of 23 command instructions provides a capability for assigning any desired orientation to any
circuit element and locating it in any desired position relative to
the other elements. Provisions are included for routing interconnections, bending and joining resistors, shaping capacitors, adding
and deleting moats, and performing other routine design functions.

95

B+

RI5
5K

R3
5K

R6
2.7K

R4

750

R9

R5
1.7K

250

B-

Figure 6.

Two-stage Differential Amplifier
96

..... _ - _.................

_

..•......

_

....•.

o

o
100

E

80

El

15

60

'to
E

20

[Qj

o

o

o

20

Figure 7.

"S jQ]

YO

Initial Layout

97

o

I.

G]--- ---------

.100

E

@

80

f6][Q1

AtO

fO]

015

110 ~[Q] It [lJ I~ 01 I

0

110 @bfDJ II [0] Iffi 01 I

z
Z

110 Will II [0] lijill

I [0] IriJ 01

Rlll

I

0

I

E

.E

.20

o

o

20

YO

o
Figure 8.

First Modification
98

o

Figure 9 and 10 show successive layout improvements illustrating
some of these capabilities.
A translator program interprets the instructions and calls
in manipulative programs to change the layout in accordance with the
deisgner's instructions and the appropriate programmed or recorded
rules and tolerances. In the on-line system, the design modificat1.on
language will be converted from cards to light pen and pushbutton
operations.
Each succeeding transformation is graphicall~ displayed
by the computer to aid the designer in planning his next design step.
The process of looking at a trial layout and instructing the computer
to make changes is repeated until a satisfactory layout is achieved
(Figure 10). On the circuit layout is accepted, the designer directs the computer to design diffusion masks from the final composite
two-dimensional design. The computer then punches control instructions
on paper tape to make each mask on an accurate, high resolution drafting
machine. Figures 11, 12, 13, 14 are photographs of computer-plotted
mask designs for the differential amplifier.
Interconnection Routing
Routing of interconnection metalization is an important
consideration in planning location of diffused elements and is a
difficult job for large circuits, even after a favorable layout is
obtained. It is even more difficult to take a circuit diffusion
pattern designed for one application and reconnect it to form a
completely different circuit.
Figure 15 is a computer-designed interconnection pattern
for an error amplifier. More than 50 different circuits have been
designed with this same diffusion pattern b~ rearranging the interconnections.
A maze-solving computer program is used to route interconnections, automatically avoiding all contacts of other nodes and
all previously routed interconnections. The resulting pattern can
vary, depending on the routing sequence. When a connection is completely blocked b~ previously routed connections, the computer automatically changes the sequence and tries again. The pattern shown
here was successfully routed on the third automatically sequenced
trial.
Computer System Design
Every effort is being made to modu1arize the computer system
design so that changes in integrated circuit technology and conversion
to an on-line system will result in min~um additional programming
effort.
As the technology of integrated circuit design changes, new
programs can be appended to the system and present programs modified

o
99

o

J.:

[;1

[;1
20

Figure 9.

YO

Final Arrangement
100

o

o
60

D

I~ ~ I
I [gJ1~ I

'+0

t-J

~

20

D~I~

I [gJ 1([gJ I
II[@J~ I
DO

~~D

"~II~ ~;]

o

Figure 10.

Final Detailed Layout - 2-Stage
Differential Amplifier

o

D
D

D
D

D
D
~

D
D

D
D

D

D

D
D

I-

o

o

1.0

C\J

Figure 11.

Emitter Mask
102

q

o

o

DD
D

u

0

n

0

D
D D
o

'0

D

D
QI

CD

o

103

Q

o

Q

o
104

--,

,
e·,·
,I

0

0

0

0

0
0

0
0
0

0

0
0

0
0

~

Ul

~

0

.p

0

()

~

.p

0

0

0

0

0

0

~

0
0

~

.

D

0
0
0

.:::t
r-i

-

0
0

0

CJ

CJ

0

0

0

.

.

0

0

.

0

.

CI
CD

o

.
CI
01

105

Q)

H

::s

bO
oM
Il:t

0
0

0
0

.

•

o

•

I

If!]

o

~

10 01

I-!JI

1c=::=J1

.

Lf\
rl
(1)

H .

::s

b.O
...;
~

0

•

'---

~.

I:

III

I

o=J

I

I

-

j] ITt 0

[!= C'JI~DI

[9
~

I---

~

o
106

o

without the expense of disturbing the logic of the operating system
or user program links not requiring modification. Conversion to an
on-line graphic system will be realized by simply expanding the processor function of I/O control.
All programs are written in FORTRAN to the maximum extent
feasible in order to make this system machine-independent. It will
be able to run on any computer system that has the necessary capacity,
graphical display terminals, and basic software. Changes in computer
technology can thus be readily accommodated, as well as changes in
integrated circuit technology.
status and Significance
The prototype computer-aided design system is now in final
development and initial experimental use. The design rules programmed
into this system have been thoroughly tested by manual application on
all integrated circuits designed by Norden in 1964. Manual operations
are gradually being replaced by computer operations as the programs
become available. Design layout time for a complex circuit has already
be~n reduced from several weeks to a few days.
With the planned on-line
computer-aided system, it will be reduced to hours or minutes. We believe that this system and especially the on-line version to follow it
represent a significant breakthrough in the design bottleneck.
Since this system is being developed under Air Force funding,
it is not considered proprietary to Norden. Computer programs and
instructions will be made available to the industry by the Air Force
when system development is completed. If you want additional information, or are interested in the possibility of using this system
in your own facility, you should contact our Air Force Project officer;
Mr. Max Bialer
Electronics Branch
Manufacturing Technology Division
Air Force Materials Laboratory
Wright Patterson Air Force Base, Ohio

o
107

.

..

------~ ---~

-.. ..

.." .... -.."-......---'""'-.........

"~

,-~,,,

''''

................

,."~'"'.~-

........-

.~-~---~----

c

o

D. C. AENEAS
(:Q.IRECT £URRENT AtITOMATIC ELECTRIC !lli.T~JORK ANALYSIS SYSTEM)

by
Hebert.o Pachon
Mathema.tical Analysis Sectior,
Research Laboratory
Automatic Electric LaboI'atories, Inc"
Northlake, Illinois

Presented at the
"1620 Users G,::,oup Meeting"
in Miami Beach on
May 10, 1965.

o

108

'

.. -----'-'-----'--------"- "-----:--~-,."."

.."...-------......................--~-~.--.-.....".....-....................-."".. .. ,................
"

D. C. AENEAS
Introduction
This is a linear graph theory application paper describing in
general terms a computer program developed for use on the IBM 1620
Ds.ta Processing System, and capable of performing automatic D. c.
analysis of electronic circuits.
The program carries the name of D. C. AENEAS which stands for
~irect £urrent ~utomatic !lectric ![twork ~nalysis ~stem, and it
incorporates the following features:
la

It reads and decodes the geometrical (topological)
configuration, the component characteristics, and the
component values of a D. C. network from easily coded
statements punched on tabulating cards.

lb

It generates the network equations and solves for nominal
branch currents, nominal node voltages, and nominal
power dissipations.

lc

It computes branch currents sensitivity factors, and
node voltages sensitivity factors.

Id

It computes node voltage standard deviations.

Ie

It computes minimum and maximum worst case analysis for
branch currents and node voltages.

If

It allows the user to modify the values of one or two
components in the network in order to generate tables
of branch currents or node voltages as functions of the
components being modified. These changes can be effected
without a complete recalculation of the problem from
at.art to fi-nish.
Features Ib - 1f are optional, and under user's control.

use this ~rograrn, the engineer draws an equivalent circuit
representing the circuit he wishes to analyze. He then numbers the
nodes and the elements of the circuit, and at the same time he
assigns arbitrary current and voltage references to the circuit
elements
A special input language, whose statements are in oneto-one correspondence with the circuit diagram so far developed, is
then used to describe to the program'the topological configuration, the
component characteristics, and the component values of the circuit.
The engineer also uses this input language in order to specify what
i,e to be calculated and what is to be punched as output.
To

0

log

C

o

All the information describing the network is punched on tabulating
cards, and these cards are used as an input to the D. c. AE~-AS program.
The program will go through all the calculations necessary, such as
generating the circuit equations and solving these equations, and will
prepare a report on punched cards. This report consists of a duplication
of the input cards followed by all numerical answers requested by the
engineer. These cards must be listed in order to obtain understandable
answers.
The program can operate on networks containing linear resistors,
constant voltage generators, constant current sources, and linearly
dependent current sources* only. Therefore, when the network for analysis
contains active devices (such as transistors, diodes and vacuum tubes)
equivalent circuits must be obtained befor,e the engineer can make use of
the D. C. AENEAS program. Fortunately, adequate equivalent circuits
exist for these types of devices; hence, most electronic networks can be
analyzed, D. C. wise, by means of this program.
2•

Sub er ograms

D. C. AENEAS consists of six programs which operate upon a co~~on
area within the computer memory called the Network Memory ~Uip, and which
are capable of performing features la - If mentioned under section I.
These programs are as follows:

2a

Input Program
All the necessary information pertaining to the network
under ,a.nalysi.2: is supplied by the user to the D.C. AENEAS
pr.ogrnm by ~eans of statements comprised in what is called
the ~r~~t language. These statements are punched on
tabulating cards which are read and decoded by the input
program
In the process of decoding, the input program
a.lso fills in the Network l1emorI ¥..ap and checks for
possible coding errors.
0

2b

Topological Program
The topological program makes use of part of the informatio:1
cont~.ined in the Network Memory Map; more exactly, it makes
use of the information describing the connectivity (topology)
of the network in order to generate a network tree, a network
co-tree and finally a network circuit matrix. The pr~gram

0*

B,y linearly dependent current source we mean a current source
whose value depends on the value of the current through one
resistor in the circuit; the dependence is ,linear.
110

also checks for errors and gives the user the option to
type the di.ffe:r:'ent connectivity matrices associated with thie
tree and co·-tree, as well as the final circuit matrix
0

2c

c

Cal:.cul"ator ProgJ.'8.m
The circuit matrix, together with the network component
values contained in the Network Memory Map, are used by
the calculator pt'ogram ..!!!. order .:tQ. generate the loop ~·g;\!atiQl1E
for the network, and thereafter 1.Q. so~ for all the r~etwot:k
nominal constraints requested by the usero

2d

Se.!!,sttivit,y:

ProJr:ra~

The s€:0.sitivity progI'am computes the partial derivatives of
a.11 ucknown variables (bt'anch currents and node voltages)
with respect to all of the network parameters~ and stores
information for further use in connection with the calculation
of worst cases or standard deviations.

The program computes partial derivatives by means of closed
fOl:'mulas)l a method which seems to be faster than the cal=
culation by approximation method
0

2e

Co~on~rogram

progt'am is basi,cally a duplicate of the calcalator
program; that Ls, its main function is to set-up loop
equations and solve for branch currents or node volta.geso
However ~ this program contains two subroutines that corr.·espond
to the processing of the worst case and modify control
The

COl!L'!!cn

st,f.lt.ement S

0

U~ink

the signe of partial derivatives obtained by the
sep..~itiv:tty program, the worst cas~ subroutine rea.:rranges
the values of the parameters wi.thin the Network Me!nory
tfl....a.p B:r:.id b:ra,nchei; to the generation and solution of equations
subrout:i,'t~e to determine the toleretlce extremes ,;)f br:anch
currents. and/or node voltageso
Using the data corresponding to the modify control statement,
the ~ subroutine modifies the value, or the values of
the corresponding parameters, md branches to the generation
and solution of equations subroutine to evaluate branch
currents or node voltages.
2£

~q~rd

Deviations Progra1l1

Using the values of the partial derivatives, the standard
III

c

o

devia'tio'n program computes the standard deviations 10£
all unknown node voltages.

.

Gener'at Connnents
The first' three programsmention~d in ~ection 2 accomplish the
true electrical analysis of the circuit problem.
The input langua.ge developed to communicate with the progr .am is
oriented towards the electrical engineer 9 s use and requires only a few
minutes to learn. Additional statements may be added to form an i,nput
language useful, not only toD. C. analysis pI"ograms, but to A. Co
analysis and transient analysis programs as well.
The method of obtaining the circuit matrix was obtained from the
work done by Professoxs M. B. Reed and S. Seshu (1), but we extended
their work in the generation of the loop system of equations when current
dependent sources are present.
The simulation of the electrical network by means of the equivalent
circuit on the digital computer is a very important achievement (2)
because, if such a simulation i3 possible, a great saving is effected
in cost and time when certain solutions to vast problems are desired.
In addition, such simulation transforms the digital computer (IBM 1620
in this case) into a large analog computer having great f1exibili.ty
and high degree of accuracy.
The last three programs mentioned in section 2 give the engineer
a way to predic.t pC :3sible troubles due to changes in the components
within the network under analysis. When properly u~ed, these programs
can also lead the engineer to the most reliable selection of network
l

component toleranceso

The closed fcrmul,as developed for the evaluation of partial
derivatives seem to be s, considerable improvement over existing approximation methods. We have made no attempt to determine exactly how
good our method is~ but we have estimated that it will improve the
speed of calculation by abo'lt a factor of 8.
Finally, we would like to point out that since the program is a
rather complicated combication of matrix operations, the use of the
PUC-R2 co:npiler (3) was extremely helpful and time-saving in obtaini.ng
the final symbolic language ;30urce deck for the program.

o
112

,

""0

Example

The attached example, found in the SPARe (4) repprt-illustrates
the use of the language developed for communication with the D. C.
AENEAS program,_ and it also demonstrates part oftnecalculations
that th~ program can perform.

~.Jij 4/~1/6r

{e~rt~hon

c'
113
- - - _...---_..__

._....-

.-'--- .._.-._.

__ . _ - - - - - -

. _. . . . . . .

-

........

o

PAGE 6
SP~~~.J?L"E
--_._--

F~C=e '-IN!!

I
•

"/~$T C05~ secTb/ll8~AK.

SLOPE'

I
I
I
I
I,

~
I
I
I

CROSS
.secTION

I

Note that cross-slopes are always specified starting with the side
closest to NC. Also, the sign convention for these slopes is as
follows:
up and away from NC is positive.
If no horizontal curve exists then set the PC and the PT at opposite
ends of the PGL. Set NC as some point on either side of PGL, not
on it, remembering that cross slopes are specified starting closest
to Ne. Set Rl = O. Set R2 equal to the distance from first crossslope break to PGL. Set R3 equal to the distance from first crossslope break to last cross-slope break. Note that Rl S
R2 ~ R3.
SPT must be greater than SPC.
DE F!VERT I CA L/CURVE
NPVI
SPVI
EPVI
VCURL
Gl
G2

NPVI SPVI EPVI VCURL Gl G2

ELEVATIONS

Point number of point of vertical intersection (PVI) o.f
vertical curve
Station of PVI
Elevation of PVI
Vertical curve length
Grade from PVC to PVI in ft per f~
Grade from PVI to PVT in ft per ft
~_ _- _ ~Ta.Tlo""

&PV'I
e.PV'I

e I..EVJ\T/ON

1,......
. . - - - - - - - VCUR.L - - - - - - - -....
~I

If there is no vertical curve, set the PVI as some point on the PGL
having station SPVI and elevation EPVI. Set VCURL = 0.0. Set Gl =
G2. Note that when this is done, an error message will be typed out
but answers will be correct. The error message indicates only that
VCURL = 0.0.

128

C

''''r''··'··''

19"

tlIm','

,.

'.

'f H H±t#tdw"' l,d'±"tIt,!tHt, **

ri*ij"j',wrIt'WH,W:Of 't'lif'Pte¥='tLtttltt

!!

II

*t'

'r')

t 'I'

trttrit,ttr'±tirtb'ttt;(' ,'"

:('''''Hi''i*'W\'·~"jt'lr¥i:''!i{,,·'f

uY;jIh)WWHHwN'Wlffi,fiijM:"',NMj'·,"","?M.-;Z""""!!'1!

'Y'.- •• _

PLUG DECK

o

Elevafions
DE F/SUPERE LEVATION

NBTl SBTl NETl SETl Sl S2 S3 S4 SEl SE2 SE3 SE4
NBT2 SBT2 NET2 SFl SF2 SF3 SF4

NBTI
SBTI
NETI
SETI
Sl,S2,S3, S4
SEl,SE2,SE3,SE4

Point number at
Station at NBTl
Point number at
Station at NETl
Cross slopes at
NC.
Cross slopes at

NBT2
SBT2
NET2
SET2
SFl, SF2,SF3,SF4

Point number at start of second transition
Station of NBT2.
Point number at end of second transition
Station of NET2.
Cross slopes at SET2, starting with side closest to

Ne.

start of first transition
end of first transition
SBT1, starting with side closest to
SETl, starting with side closest to

Ne.

Cross
NETt

S£rL
'-A..J£3T1.
5S7't

..J

~

I
... s~-~
I

SBT~

I

,-

58

,

:~

I~I

I

I

I

I
10

I

1../ C .......~----

I

I

I

~,

I

I

1.~_$1iiiiZ-!:':-:...;:4::;..-_-

+$'::!.---1~I~1

AT SET2

I

I
I

I

I~ the cross section is constant, then set points for beginning and
end of transition apart from each other and set SEI = SFI = Sl,
SE2 = SF2 = S2, etc.

o

=&*# !I' Ii

If there is a two-phase transition into superelevation, use 81, .•• ,S4
as starting slopes, SEl, .•. ,SE4 as slopes between transitions, and
SFl, ••• ,Sf4 as slopes of full superelevation. Set NETl = NBT2 and
SETl = SBT2.

129

$"

.

PLUG DECK

iN

POINT/ELEV
N

e.LeIl4T10tJS

Number of point for which elevation is·desired
Output:

KTH/P'r'/ELEV
K
I

J

,E tEVA'TI ON

S TA'T ION

N

I

J

t:'t..eVATIO!l/S

Numbe'r of intervals between Iahcl J
Initial point for which ·elevation is desired
Final point for which elev·ati'bn is desired

This command divides the line between
gives elevations at each point.
Output:

DISTl
I

DIST2
STA(I)

..

99

·J··

I

and J intok parts and

ELE~ (I)

.
"

STA(J)

ELEV(J)

OFFS.ET (I)

·

•··
OFFSET(cr)

Where DISTI is the distance between any two consecutive points and
DIST2 is the total distance f·rom I to J.
Note that the coordinates of' intermediate points are heither stored
nor printed. If point number 99 is defined before erite:ti~g the
routine, it will be destroyed by the routine.
STA

STA/OFFSET/ELEV
STA
OFF

OFF

,eLEVATIOAl5

STATION OF DESIRED POINT
OFFSET OF DESIRED POINT FR()M PGt

OUTPUT:
99

STA

ELEV

OFFSET

RESTORE/BASIC

This command initiates loading of a small deck of carcis which enable
one to use' the commands of Cogo Ba:s'ic again after using the elevations
routine. This should follow the last computation command used after
calling Elevations.
After this. command is issue'cl,. any of the plug decks' may be called.

130

C

he·!I"

'dINWWti"jj"IN' ,'tw.tWij'·rPtt!ft',I¥'e*I!g*tH'MI!"

..

I

PLUG

o

-

DECK
LOCATE

LOCATE/SAMEAZ

N

J

D

I

K A

From J locate N at a distance D along an Azimuth the same as
the Azimuth from I to K adjusted by an angle A.
+A is clockwise
Output:
Coord. of N.

D

/

J
1

LOCATE/DISTANCE

J

N

I

K

LOCATE

A

From J locate N along an Azimuth A at a distance equal to the
distance from I to K.
Output:
emm. of N.

yK
I

D=D(rl<)

J

.N

CARD DUMP
DUMP/ON/CARDS

I

J

Dump onto cards in format suitable for input, the point number
and coordinates of each non-cleared point starting with point
I and going up to point J
Output: STORE command for each point punched on cards

o
131

TWELvE DIGIT .COGO
In order to answer the desire of some of our clients for
more accuracy in geometry problems, we have written a program which is similar in input and output to Cogo, but which
carries 12 digits instead of 8, as Cogo does.
The commands available in

Twelve~Digit

Cogo are:

INTERSECTIONS
PLUG
STORE
PAUSE
LOCATE/AZIMUTH
INVERSE/AZIMUTH
LOCATE/SAMEAZ
LOCATE/DISTANCE
ARC/LINE/AZIMUTH
ARC/LINE/POINTS
ARC/ARC/INTERSECT
POINTS/INTERSECT
AZ/INTERSECT

YES
YES

YES
YES
YES
YES
YES
YES
NO
NO
NO
NO
NO
YES
YES
YES
YES
YES
YES
YES

NO

YES

YES

YES
YES
YES

YES
YES
YES
YES
YES
YES
YES

YES
YES

REDEFINE

DUMP/ON/CARDS
*DIVIDE/LlNE
GIRDER/LENGTHS
CLEAR
CALL
COUNT
ALIGNMENT

ALIGNMENT
PLUG

YES

YES
YES

*This command differs from the Divide/Line in Cogo in that it
references no stored curVe, and gives ho stationing or offsets.

The commands are written exactly as they would be for Cogo.
Note, however, that there are only two plug deCKS, with more
commands per plug deck, thus requiring fewer 'Q·a.J.l statements.
By means of the Dump/on/Cards- -command, the coordina te table
can be output in a fOrm acceptable to either regular or 12-digit
COgo. This allows for the use of elevations, part of regular
Cogo,with points established by 12-Digit Cago.

o
132

'=n

7

:

a$

.!T'

.

•

o

I
.

.
.

*"

:••_ t trt

_

.

NEW YORK STATE

.

DEPARTMENT OF PUBLIC WORKS

.
\ HAROLD M. GOTTHEIM
ASSOCIATE CIVIL ENGR.

(ELEC.)

BUREAU OF ELECTRONIC DATA PROCESSING
1220 WASHINGTON AVENUE
ALBANY, NEW YORK 12226

Single Box Culvert

GL 7·2458

Program Number 28]0
General
Given the clear span, clear height, height of fill,
the thickness of the walls and slabs and the type of live
loading, the program outputs the maximum moments and maximum
required areas of steel at all the critical points on the
culvert together with the distance from the point of zero
moment to the outside face of the wall for the top and bottom
slab. The location of the live load for each maximum condition,
namely the distance from the centerline of the wall to the
first wheel load, is also outputted together with miscellaneous
information such as the required perimeter of steel in the
top and bottom slab, the maximum soil pressure and the
volume of concrete per foot of box.
(~" is added to the top
of the bottom slab)
The program does a unit moment distribution by placing
a fixed end moment of 1 kip-ft. on the end of one member and
distributing the moments. This is done for each of the eight
member ends that can receive a fixed end moment. The 64
answers are saved for later use.
The impact coefficient, wheel loads and fixed end
moments are found.
The maximum soil pressure is computed by PiA ± MC/I.
A two.f~ot s~rcharge of soil is ad~edAfor all cases
conta1nl.ng 11 ve load.
for ~""4~ {tJ)'i/ri
If the fill is greater than 8' and is also greater
than the span, the live load is not considered. In all
other cases, the live load is considered and is applied
for the six cases as shown in the following diagram.
The wheel load is distributed over a.distance of 1 3/4
times the fill longitudinally. When the fill is less than
2', the wheel load is distributed 6" :' (this is used to
simplify computations) longitudinally. All wheel loads are
distributed 5' laterally.
Impact

0---------1'

o

l' 1"-----2'
2' ()1"-----2'11"
J'
11 _ _ _ _ _

1.3
1.2
1.1
1.0

133

..:.,.:..::.:....:.:.;.-=...:.:...-:..:...,., ..:.-."~." •• ,,.•.•••~.... ·.... _ _ ~ •.• _ _ _ _.__ .•M.~.

c

x (1)

::::

E

::::

E
X (1)

=

0, then 0.1 span, 0.2 span, 0.3 span, 0.4
span, 0.5 span
14.0' for HS20-63T loading
4.0' for military loading
200. ' for the case of no live load

Now that all fixed end moments are knoNn, the corner
moments are found by using the unit distribution, the unbalanced shear is corrected, reactions are found and shear
is checked. If shear exceeds the allowable, the slab
is incremented until the shear is below the allowable. The
slab moments and wall moments are computed for each tenth
point and the largest positive and negative moments are
saved. This is done for every live load case (if applicable)
and the case of no live load and for each load type.
Cover = 2" except for bottom of top slab which is
Bars of Itt diameter are assumed, therefor;

l~fI

d for design = thickness _2" for bottom of top slab
and top of bottom slab.
d for design = t:[lickness -2~" for all other reinforcement.
The moments labelled corner are the computed moments at
the intersections of the wall and the slab centerlines. This
corner moment is called M in the following paragraphs.
CRRM1, CRRM4, CRRM3, CRRM7 are moments which are found
by using the following formula: (diagram on next page).
Moment

= M - e'*SHEAR

The steel ·for these points is designed for combined
bending and axial stress using the following formula:

= Moment {from above) +e>:~Thrus~
fsjd

----

Thrust
fs

o
II!

1'34

I'

o

WIIIi'iE-----tt~

5" ~ a r

e'

•

M = Computed corner moments
e = Distanoe from the point of applioations of the
thrust to the centerline of the tensile steel
be1ng des1gned
e' = 1/3 the thickness of the adjo1n1ng member

•

l

•
~

t

TOP1P, BOT1P, WAL1P, WAL1N are moments computed at the
oenterl1ne of the member, (diagram on next page)

•

The steel for these po1nts 1s des1gned for comb1ned
bend1ng and ax1al stress us1ng the follow1ng formula:

~

As = Computed moment (TOP1P,BOTlp,etc)+e*Thrust - Thrust
fsjd
fs --

!
t

J

,
t

I

0'
135

o

I

1

•
~

~

.'[

.1

tl
The culverts are designed in accordance with the
procedures outlined in the A.A.S.H.O. Standard Specificat10ns
for H1ghway Br1dges, E1ghthEdlt1on, 1961 and mod~ried by
the Standard Pract1ces for Des1gn, Detail1ng and Notes,
State of New York, Department of Public Works, Dl~ision of
Construction, Bridge Subd1vision.
A FORTRAN listing of the program is attached to define
eng1neer1ng formulae, parameters, methods and Seqtience of
Operations.

136

fl.1

.1

~

0 ~

Description of Typical Design Output

o

Items F3, Fe, J, K, R, ERTH, etc. are constants of the
program. They are always the same unless the designer
chooses to have them changed. They can be changed for any
special run or runs by contacting the Bureau of Electronic
Data Processing or your EDP liason man.
The line starting with span, height, etc. are values
the designer furnished for this program.
The values labelled allowable moments in concrete are
the allowable moments at that section without exceeding the
allowable concrete compressive stress. (for a balanced beam)
The moments and areas of steel are shown as an outline
of the box. That is, the lines drawn on the typical output
sheet (next page) can be assumed to represent the box itself.
Values on the right half are moments and their mirror image
on the left half gives the corresponding areas of steel at
those points.
The controlling moments are printed out along with the
value of X(l) and the type of loading that cAused that
maximum moment.
NOLL means no live load
MIL. means military loading
HS20 means HS20 loading
The
required
walls is
addition
and soil

next line gives manimum soil pressure; volume and
perimeters of steel for bond. The weight of the
included in the maximum soil pressure. A 1/2"
to top of bottom slab is also figured in the volume
pressure.

Point of zero moment and maximum shear are shown
last and are self-explanatory.

o
137

INPUT IDENrrIF'ICATION

o

Constant Card (Last card in object deck)

Symbol
F'S

FC
CJ
CK
CR
EHTH

CONC
UTOP

Field

Allowable tension steel stress - P.S.I.
Allowable stress in concrete - P.S.I.

xxxxx.xx
xxxx..xx
xx.xxx
xx.xxx
xxx.x
xxx.xx
xxx. xx
xxx.x

F'PR

xxx.x
xx.x

SAM

x.x

SAlVl1

x.x

ALANE

x.x

BOTAD

x.x

V

Explanation

j
k
R or K

Weight of Earth - #/ft)
Weight of Concrete - D/ft)
Allowable bond stress in top
bars - P.S.I.
Allowable vertical shear - P.S.I.
Equivalent Fluid Earth Pressure
#/ft)
That part of wt. of walls to
be used in design (0.0 minimum
and 1.0 maximum)
That part of side load to be
used to reduce positive moment
in slabs (0.0 minimum and
1.0 maximum)
Number of lanes, (Either 1.0
or 2.0) 2.0 if lanes are to
overlap transversely.
The number of inches by which
the bottom slab exceeds the
top slab.

I

Program Card
. SPAN
HT

~tLL

TIPE

WALL

xxxxx .. xx

Clear span - ft.
Clear height - ft.
Top slab thickness - inches
Height of fill - ft.
Type of loading
Wall thickness - inches

xxxx.xx
xx.xxx
xx.xxx
xxx.x
xxx.xx

Card No.1, 2, 3, 4, 5 etc. are similar

One. program card for each design.

o
. 138

m*_

rnritint rt5*ttr#ttiZrir

o

Double Box Culvert
Program Number

28)1

General
Given the clear span, clear height, the thickness of
slabs and walls, the type of loading and the height of fill,
the program outputs the maximum moments and maximum required
areas of steel at all the critical points on the culvert
together with the distance from the point of zero moment to
the center of the wall for the top and bottom slab. The
location of the live load for each maximum condition, namely
the distance from the centerline of the wall to the first
wheel load, is also outputted together with miscellaneous
information such as the required perimeter of steel in the
top and bottom slab, the maximum soil pressure and the volume
of concrete per foot of box.
Typical Design Output

o
139

The program does a unit
a 1 kip-ft. fixed end moment
that can receive a fixed end
distribution for each case.
future use.

moment distribution by placing
on each of the 14 member-ends
moment, and doing a moment
The answers are stored for

The fixed end moments due to dead load, and side load
are computed and saved. (A 2 ft. live load surcharge is
added to the fill for the conditions which include live load).
The fixed end moments due to ,shrinkage, temperature fall
and temperature rise are computed and saved~ (These can be
made zero by changing the value of the shrinkage coefficient
to zero on the constant card. The corner moments caused by
temperature change, shrinkage and side load are computed
and saved.
The live load impact coefficient is
is, gr~ater than 8' and also greater than
spans, the live load is not considered.
the live load is applied as shown in the

found. If the fill
the sum of the two
In all other cases,
diagram below.

PCl)
......-------X(1)--p-(-~)---~
){(a)--~...

P(l1

¥(I) -~r---

A

140

o

o

For HS20-63T loading A = 14', P(l) and P(2) = 3200 x
(Impact coeff.), P(3) = 800 (Impact coeff.).
For Military loading A
(Impact coeff.), P(3) = O.

=

4', P(l) and P(2)

=

3200 x

X(l) = 0, then 0.1 span, 0.2 span •••••••••••• l.O span.
The last condition is always X(l) = 200 for the case of no
live load.
The wheel load is distributed over a distance of 1 3/4
time the fill longitu~inally. When the fill is less than
2', the wheel load is distributed 6" longitudinally. (This
is done for ease of computations). All wheel loads are
distributed 5' laterally.
By use of the unit distribution, the balanced corner
moments for the combined effect of live and dead load are
computed for each case of live load. Shear is checked in
both top and bottom slabs and the thicknesses of the slabs
are incremented as needed to satisfy shear. If either top
or bottom slab is incremented, the program returns to the
beginning and starts over with the corrected slab thicknesses.
If shear does not exceed the allowable stress, the program
continues.
The program now computes the moment at each 1/10 point
to find the critical points. As the program goes through
each loading condition, the biggest positive or negative
moment is saved (whichever is applicable). The effects of
temperature, shrinkage and side load are now added if they
increase the moments at the sections we are interested in.
The moments labelled corner are the computed moments a~
the intersections of the wall and the slab centerlines. This
corner moment is called M in the following paragraphs.
CRRMl, CRRM2, CRRM3, CRRM4, CRRM7, CRRMS are moments
which are found by using the following formula: (diagram on
next page)
Moment

= M - e'*SHEAR

The steel for these points is designed for combined
bending and axial stress using the following formula:
As

=

Moment (from above)+e*Thrust - Thrust
fsjd
fs

o
141

o
Thrvst

....----,t~ $"'" a r
e'

M = Comp.uted corner moment.B
e = Di·stanoe from the point of appll~a>tlonsof ,t'he
thrust to the c,enterl1ne of the tens11e,stEiel
being des1gned
e' = 1/.3 the th1ckness of the adj·o1nlngmember

'TOP'l'iP. BOT1P, WALtP, WAL1N are m,otDent.s, co,mp.~\~,Q"
,\oe·nter!L1Ge of the member ~ (.d.iagraInon,nextpag·e·):

~at;, the

Tbe steel t.or these po1,nts 1sd.s:~snedto;1!~mi.l)1n~·
'.l),endlllg and ax1al stres~ uS'ing thetoll.owlllgfor1il!l;~a:
As = Computed

motnent

(TOP'1P,B'OT,!'P,etcl-f.!!~,'fhrust

','

t sjd '. "

", ' , " < " " .

- Thrust

ts

o

o

Impact
0---------1'
l' 1"-----2'
2' 1------2'11"

3'

(1------

Cover

= 21-

1.3
1.2
1.1
1.0

exoept tor bottom ot top slab whioh 1s

d tor des1gn

=

lift.

th1ckness - (cover +1)

The culverts are des1gned 1n accordance w1th the
procedures out11ned 1n the A.A.S.B.O. Standard Speo1t1oat1ons
tor H1ghway Br1dges. E1ghth Ed1t1on, 1961 and mod1t1ed by
the Standard Praot1ces tor Des1gn, Detai11ng and Notes,
State ot New York, Department ot Public Works. Divis10n ot
Construct1on. Br1dge Subd1vision.
A FORTRAN l1st1ng ot ~he program 1s attaohed to detine
engineer1ng formulae, parameters. met~od8 and Sequenoe ot
Opera~~oDs.
143

INPUT IDENTIFICATION
Constant Card No.1
Symbol

FS
CR
UBOT"
UTOP
SAM
FPR
V

AN
CJ
ANCOF
ALANE

Field
xxxxx.x
xxxx.
xxx.x
xxx.x
xxx.x
xxx.x
xxx.x
xxx.x
.xxx
x.x
x.x

Explanation
Allowable steel stress - p.s.i.
R or K
Allowable bond stress in bottom bars - p.s.i.
Allowable bond stress in top bars - p.s.i.
That part 0 f wt. 'of walls to be used .in
design (0.0 minimum to 1.0 maximum)
Equivalent fluid earth pressure - p.s.i.
Allowable vertical shear - p.s.i.
n
j

1.0 if using (n-l), 2.0 if using (2n-l)
Number of lanes that can overlap
transversely (1.0 or 2.0)

Constant Card No. 2
F'SC
FC
ERTH
SHCOF

xxxxx.x
xxxx .•
xxx.x
xxx.x
xxx.x

BorrAD

xxx.x

TFALL
TRISE
ASCOF

xxx.x
xxx.x
.xxx
x.x

SAMI

x.x

CONC

OK

Allowable stress, compr. steel
p.s.i.
Allowable stress in concrete - p.s.i.
Weight of earth - U/ft. J
Weight of concrete - #/ft. 3
Shrinkage coefficient for concrete
In./In. x lOb
The number of inches by which the
bottom slab exceeds the top slab
Temperature fall - OF
Temperature rise - OF
k

That part of positive slab steel which
is carried over center support and is
to be used as compressive steel.
(0.0 minimum to 1.0 maximum).
That part of side load to be used to
reduce positive moment in slab.
(minimum is 0., maximum is 1.)

Program Card #1

OSPAN
TIPE
OTI
CEWAL
vJ,ALL
OHT

OFILL

xxxxx.x
. xxx x •
xxx,. x
xxx.x
xxx.x

xxx.x
xxx.x

Clear span in feet
Type of loading used
Top slab thickness in inches
Center wall thickness in inches
Outside wall thickness in inches
Clear Height in feet
Height of fill in feet

o
144

N.Y.S.D.P.W.

EDOS/6S)
MADE BY

. DATE _ _ __

CHECKED BY

DATE _ _ __

BACK CHECKED

DATE _ _ __

SQUAD NO.

JOB NO. _ _ _ _ _ _ _ __

DESIGN OF DOUBLE
CONCRETE BOX CULVERT
INPUT FORM

2831.02

SHEET

CALCULATION FOR _ _ _ _ _ _ _ __

SWITCH SElTINGS: PARITY & 1/0 - STOP._ ••• _ •• OVERFLOW

a

PROGRAM. ••••••••••• 1. 2. 3 & 4 - OFF

CONSTANT CARD NO. 1- NEXT TO LAST CARD IN OBJECT DECK - DO NOT PUNCH

7/8

FS

CR

12113

P. 5.1.

I

P.S.L

UBOT

17118

UTOP

22/23

SAM

27128

I

P.S.I.' O. to 1..

- 32133

FPR

V

I

P.C.F.

37138

I

P.S.1.

AN

Es/Ec

CONSTANT CARD NO.2- LAST CARD IN OBJECT DECK - DO NOT PUNCH

1

7/8

FSC
P.S.I.

Fe
P.S.I.

12/13

17118

ERTH
P.C.F.

I

22123

CONC
P.C.F.

27/28

SHCOF

1

32133

BOTA 0
1 INCHES

I

37138

T FALL
D F

OF.....______

FS

All. stress-tension steel

FSC

All. stress-compr. steel

eR

RorK

UBOT

Allowable bond stress in bottom bars

UTOP

Allowable bond stress in top bars

SAM

% of wt. of walls used in desi.,

FPR

Equiv. fluid earth pressure

V

Allowable shear

AN

n (ES/EC)

CJ

T RISE
D F

ANCOF
ALANE

f-I

1. if using n-1, 2 if using 2n-1
2. if lanes overlap transversely,
otherwise 1.

~

V1

7 8

1 OSPAN

32 33

o FILL

TIPE

CLEAR
SPAN

TYPE
OF
LOADING

FT

...

TOP

CENTER

ClEAR

HT

37

HEIGHT
OF

Allowable stress in concrete

ERTH
CONC

Wt. of earth
Wt. of concrete

SHCOF

Concrete shrinkage

coeff. * 10

6

(usua1ty O.-or 200.)

FILL
FT

FT.

FC

SAM1

% of side load to be used to reduce
positive moment in slab

BOTAD

The number of inches by which the

TFALL

Temperature Fall

bottom slab t exceeds the top slab t

FILL

••
Tl
_

. ,:'" _.....u...

.~

...i,:

k

ASCOF

% of positive steel carried over
center support.

OSPAN

....~ . . .~."!'.-~-. ~.-,-.-.-.-.-.-.-~..1

",

~

,.

01) . . .

SPAN

1 I~:

= skew span for

=

~

()D to 2()D skew•

right angle span for 2()D and

over.

~:.

Q'

.

Temperature Rise

CK

EARTH SURFACE

,......
:.__"'<"'~'
.• :,;,. '.; .... ,.,v,' . ,:-' .~.. ~ " " D' '.,
';' •
'"
•
• "
• • • 11".' . . . . _
• " • •. , '. ~.

.;..'

TRISE

0t1'6~'
I
,.' .. '.' ..... ,.
••

~~

••. ' . c'-' ......... ..; •.

.'#

~:
~:;"
~',~. :.tI .... ·, ... ~ ...... '!';

WALL

• TIPE= 1.
TIPE=2.

HS20-63T
HS2Q-63T or military loading. whichever is erea1er •

.. Minimum dimension desiled.

""""-~"--'-'(jE§lr;''J

9F,

DdqslE BoX'cULvERT ,',

"-'"-~<-"<.. '

-

'<7','~''''"''''~-"''-~-"~~"- , '~"""-------,
;.C:~'!-<.

-::t;

I

. i

ciJN§fANfs
._"

-.~ ,~-::~""",:

-20Gotho

.";- "'''}-~'~''{;~

lZtJ.O

litHl.9

i600dilG

,s

iao.o

300.0

'197 .• 8

.0

lSlhb

.

~'-

."

,

•. _

i.g
~.-_.~

"' . . .

.o,:,.~:~_.::;.

i.o

1,0

.~}i

.0

.0

.dJ

.875

io~o

90.0

38~b

d

i~

,I'

---"-

'l1'lt"Ul

.. iJSpAN
~ '2

- Ott!
1 i\

U

"

Otl - , - -tEHAl-

HAlt

~

1~':

'i , ,

1','

I, i

- t I-PE

II

o

GFltt"
3"";i'j

r.u

X(I)=
7'\.)r-.L

-2.04

1.42

-.96

- - ------

17.1
\..,"\1\,',,,-

R;),'Ii I

J.Io.~rL

,0

X(I)=

i2.2

~!"""'_!""t..,_k

___

I U

r

L

-28.~1

-'-23.51

ASN2

CRRi'i4

-.~~

-":::0" 10

f-'

~

/\\L'I~-

0\

ASP2

ASN3
.. 0

,,'1-,,"

.. vu

:::r--

lOz:.z:

1\\10/

i··!AlIN '

\'JAllP
.vv
L'. "

-L~.VJ

A~Nzt:

\;,KKT'l;)

--l. .09

~27.94

;«(1)=

MAX. SOIL PRESS.=
u

r::l-T'--I'KU1"!-~Li"T

1: h

AS ""3

ASiUTc'}

I uri.

~

U

.---z: C "u

". en

I •

18.0

XCI)=

2.4
I 1.1'"

t,KKI',1

36.48

-27.01

T'1~l"":l;lui-l

rL{~"lTlL:-l~

3.7 11\!.

12. 2 FT.

.1..l.

17.1
--.--.---

CUKI\lCK

-29.71

11"J.

Ol\'

.. L J .

I,A;'.

:t51 io-_L

CENTER \·iALL

SHeAR

4.3 IN.

67.6

LeI

-,f.Z

Ii·;.

"

blhb~SI(J:J~

Tl=

--nu

OUT ER \,;ALL

6.3 FT.

FT.

XCI)=

7.2'C.Y.

VOL,

CENT EK \·JA LL

3.9 FT.

TOP SLAb

17.1

A,Sr~5

OUT ER v;A L L

'-ocr~U13

7.3

;"':-'~~':"""f...i

l:,r\."n~----'---\;,-u",,~T'\

33.16

-46.20

Xtl~~

-. _ _ ~!.....

r

T2=

18.0

FIlL=

3.0

,-~a

MORE/LESS - CPM AND PERT FOR DISK AND PRINTER
Authors:

Melvin DeSpain and Alan D. Johnson

Nationa1 Aeronautics and Space Administration
Plum Brook Station
Sandusky, Ohio
Introduction
l
2
PERT and CPM , perhaps because of their origins and their first appl ications,
have generally been thought of as being limited to large, high-speed, computers;
although programs for smaller machines with lower through-put speeds have been
written. Core size 1 imitations have generally made these sma1l machine programs
less efficient than could be desired from the standpoints of the number of jobs
that can be handled for a given project and the number of data input and output
passes that must be made. The addition of random access disk files and the
medium-speed on-l ine printer now allow the formulation of better programs for
CPM and PERT, Throughout the following, PERT and CPM are used synonymously.
The two techniques, although similar in many ways, are not exactly the same.
The really basic differences are two in number; the first being that CPM provides as its major output the scheduled completion date for the project,
determined from the job input data, whereas PERT, with a fixed and arbitrarily
assigned project completion date, reports how far the project is ahead or behind
this date. The second major difference, now fast disappearing as various versions
of, PERT are formu1ated, reports the status of the nodes of the arrow diagram,
whereas CPM reports upon the individua1 jobs and activities. This type of report
is also available under many PERT systems and, in fact, in our organization is
the one finding greater use. Since the first steps of both phases of PERT and
CPM are essentially the same, with the differences occurring in the output
format, they are treated synonymously.
The work described in this paper was done to provide CPM capability for NASA
Plum Brook Station, using the 1620 system. The requirement here is to follow
sma11 to medium size construction and research equipment installation projects.
The very large projects are programmed for the high-speed computer installation
at our Cleveland headquarters.
The programs for this system have been written for the 1620 Hod. I with a 20K
core, a 1622 card-read punch, a 1311 disk file, and a 1443 printer. The Monitor
system is used, as well as the special features (indirect addressing, TNS, TNF,
etc.).
Note 1.
Note 2.

o

!roject !va)uation and J!eview .!echnique
~ri t i ca I fath ~ethod

147

C-'\"
I

,

.~

System Requirements
In order' to develop a useful system:~a review of the existing 1620, programs
was made. The.i r d i ff i cu 1 ties: and 1 i mi tati ons were. exami nE!!l in the 1 ,j ght of
the requi remen,tsg i yen be low. The first gene ra 1 requ i rement was' that any
system developed must place the least strain possible upon the eng,ine.ering
manager. This, in turn',means that minimum limitations must, be. placed upon'
the preparation of the origina.l arrow diagram.
It also requires that the
preparation of input material must be easy and straight-forward. Another
prime requirement is that the output shall be both current and easily
understood.
It has been adequately demonstrated by people working in the
field of PERT and CPM that failure to meet the above requitements reduces
the work performed to a mere exercise.

Other ·requir.ements perhaps pecul iar to our ope,n shop opera.t·ion are that the
program systems shall re.quire" only a minimum understanding of console· procedures,.
This involves ma.king the system as nearly self-protecting and fail-safe as~
possible within the other re.strictions imposed. Al so, because of the 'o,pen
shop ope rat i on, th rough- put become s i mpo rtant since it may' be eng i ne'e ring
personnel standing by during the running of the system rather th~n cJerica1.
!n addition, there are the obvious machine costs to be c,onsidered.
Lastly, the requirement for system flexibil ity was imposed. This meant the
abil ity to p,roduce either PE.RT or CP'M outputs, the abil ity to handle input
durations either in working days or actual caJendar dates, and' a wideselection of output formats as may be requi red by the.,job: being. run.
System Organization
Us.i ng the Dis k Ut i 1 i ty P rog ram of Mon i tor, the va r i ous· prog.rams tha:t . . make up

the system can be stored with program, names 1 isted in the Equiva.lence table.
Since therea.re a large number of programs involved, the u.se of this more-orless permanent storage may be 1 imited" and, for that reason, a. system of
negative DIM numbers cover:ng the program storage in the disk wor,king cylinders
was d·eveloped. The presence oJ a special 10.ader in core as the obje:ct programs
are loaded. by the card reader wi 11 cause. loading in the working cyl inders;
otherwise, normal -"'OLOAD action of the Monitor Disk U-ti~ ity Prog,ram takes
place.
Once the programs have been lo:aded on the dis k,a starting. p.rog ram' is run. that
builds a table of available progTams by executing a searchof'the:Equivalence
table and the special neg.ative DIM tables.
If a·· given pro.g,ram is: found in both
pJ aces" acho! ce as to wh i ch one to use i s alI owed. Th i's featu re allows

148

o

modified versions of ,a permanently loaded program to be used, which is
espec i all y vaJua.b le dur.i ng .prog ram deve 1opment phases. I n add i t i on to the
construction of the program table, subprograms and er.ror messages are placed
for easy availabil.ity and the company organization name entered. This
program exits to a record analyzer (RCANYL) routine that is the tie between
the va r i ous pr:og.r.ams of the system..
When a particular job is finished, a cleanup program is called to core to
clear the program prerequIsite table and prepare for the next job. If the
last job has been finished, this program will destroy any reference to the
programs in working storage and exit to Monitor I Supervisor.
System Programs
As mentioned above, the system concept has been used for this work. This
means that the pr.ogr.ams are called as required, by the use of a supervisor'
type routine. Each program when called checks a table to see whether the
required prerequisite program(s) have been run. Listed below, under the
assigned Eq.uLv.alence name, ar'e each of the programs developed thus far:
PHASEA - This program stores the project name and reads in the
job cards. In the process, it looks for blank fields, checks for
more than one start or finish event, and looks for arrow diagram
loops. To make use of the fol'lowing program, the input deck is
sorted so that all jobs having a common origin (I) are read in, one
after the other.
~n order to provide a semblance of order (not
required), they may be sub-ordered by the J number. With the input
cards so ordered and under switch option, a table of addresses is
bui It on the disk for use of follow-on programs. A J node frequency
table is also built and stored. The raw data from the job cards is
stored with one job per disk sector.
ORDRIJ - This is the key to rapid execution of the two programs
following. Assuming properly assembled data from PHASEA, a table
of job addresses in order of calculation for a single data pass is
built and stored on the disk. Under switch option, an ordered Jist
of jobs may be outputted on the printer and an ordered deck outputted
from the card punch. Use is made of the J node frequency table in
preparing the.ordered table,

149

o

,PHASEB'" Using the general methods developed by Sauer in his MISS-LESS
prog'ralll,a table of! values is built in core and upon completion i~
placed on the disk. This program, under option, uses the tabledevel':'
oped under :():RGR!,J, maki ng only one pass through the. data. ,W'j'thOut
this option, as many passes are made as ar'e req'uired to corrtpletethe
eva 1uati:dn ,as is don'e in the'Ml SS- LESS program.
It can be sH6wn fo'r
the worst case that, without otClering, the number o~passes thro:ug/1
the data is equal totlierl1tiJmberbf jobs plus one. Ora:erin9,thery,
becomes more important the larger the job to Be done and the more
random is the node number assignment.

(,f---""
I'

,

'--~I

PHASEC - Similar to PHASEB above, except that the J values are
calculated and stored each t6 a data sector. Agairi, th~ optioh to use
the tabl e deve loped by ORDR! J is aVa i 1ab 1e wi th the same time say i ngs.
In this case, the table of ordered addresses is run froM re'r to front.
CPCALC - Bringing in the! table produced under PHASEB jnd taking ~~ch
job in turn, this program calculatss earl iest and latest start, e~rliest
and latest finish, total float and free float and, in addition, marks
each job data sector as to whether the job is critical (total float
equal to zero) or hot.
CRTPAT - Up to th is po i nt, the ca 1cu 1ated da ta is not sign} t'icant ly .
different from that availabJe upon the completioh of AISS~LESS~tHai is,
i nd i v i dua 1 jobs have been ma rked a's' to whether they fall on some~ t r it! cal
p,ath. This program searches out the critical path or paths and builds
and stores address strings for each. As in option when ~ultiple paths
are di scove red, the du rat i on of tne second c r i tical eve'ht cah b~ reduced-by one unit and the program call made ,to' PHASES. Through the mult,ipJe,
pas ses, a sing 1e c r i t i ca 1 path cah be deve loped. The jobs wlth chang'ed~
durations are marked for future o~tp~t uses.
BI LDAY - Thi sis the fi rst of the dati ng programs. This o'ne bui lds a
ten year calendar, complete with holidays, on disk storage. Two ver~io~s
of this program have been developed. The first is self-2ohtained, in _
that the starting date and holidays are part of the source progra'm:, The'
second versi on, wi th' a call to th'e ca rd reade r for data, wi 11 bl. '; Jd' any
ten year ca lenda r with on I y the holidays requested' th1rough ca rd input.
A un i que Iio 1 i day occ:u rr i ng On ly once' can be entere-d if des ired.
BILDAT - Th is prog ram bu i 1ds a tab'l e of wbrki ng days i ncore', .start i 1,19
with the project starting date. Work week length' can be selecte:d and
the inclusion of holidays irithe work week,if desired, is provided for.
A- four digit date representation is used. This program can also provide
a six digit representation. A table of wbrking days for each month is
al so bu i It.

o

LSTEVN - This, the first of three output programs, will, under two
options, either list all jobs, making note of those that are critical,
or list only the critical jobs. Output, of course, is on the printer.
LSTPAT - Two output formats are provided by this program. One gives
a parallel presentation of the jobs that make up each critical path.
The second 1 ists the critical jobs with their data for each critical
path. Date or day presentation may be specified.
SEEPAT - This program represents the first attempt to visualize a
critical path on a real time basis. In addition to plotting the path
itself, the non-critical jobs leading to the successful attainment
of any event are also shown. The first ha1f of the printer sheet is
given over to the display of the critical path, with the abscissa
being a uniform time scale in working days. The second half of the
sheet I ists the data for those critical and non-critical events
referenced on the diagram above. There is little question that this
program will see many revisions resulting from feedback from the
field.
Tentative Specifications
The
the
The
for

input data card format is the same as that for MISS-LESS, except that
allowable job name cannot exceed twenty-six (26) alphameric characters.
only card output so far (ORDR!J) is the same as for data input except
a sequence number appearing in columns 76 through 80.

Nodes may be numbered I through 3000, inclusive, and may be in any order
relative to their appearance on the arrow diagram. The total number of
jobs, then, is one less, or 2999.
Job durations are loaded to four digits and, for use with the dating programs, must be in days. Projects are thereby 1imited to slightly over
27 years, if dating is not used. With dating, the table in core covers
1499 working days or approximately 4 to 6 years, depending upon the
I ength of the work week.
Honey is limited to five digits for each job and little use is made of this
data at the present time; however, some future programs now being planned
will make more extensive use of this data.

151

o

Status

C\
'h,

A11 the programs, spec if i ca 11 y ment i one;d in th is. paper have been wr i tten and
debugged, with the except.ion of SEEPAT which is seeing much' minor modification
to impr'ove u.ponthe output format. As· of the present writing, several sets
of input cards· have been· used, but the' largest project has involved little
over 200. Jobs.
In addition, the input data was cle.an. The"idlot 11 tests
are just starti.ng. Since' the system' is to be used on an' open shop:, bas:is by
non-computer-trained personnel, it must be assumecr that every poscsfbte t:hing
that can be done wrong will be done ~rong. The method of approach is for
experienced people to try all of the. mistakes they can th'ink of, mod'ifying
the. pro.gram so as to be fa'i l-safe for each mi stake. Next, the system. is,
released to the fie,ld, with untrained people doing the work. Expe,rie.nced
pe rsonne 1 wi 11 be ava i 1ab 1e to' mon i tor the operat i on and make not.e of any
othe r. p rog ram def i c i enc i es. Plans a re be i ng made to re 1ease the:, system to
a few interested users. so that the programs can be developed to be fully
operational at the earliest possible d.ate.
It is intended that the system
will be tendered to the Users Group Library if there is sufficient interest.

_

"

Futu re Pl ans
The system described provides for a total of 25 programs, leaving~: considerable,·
room for expansion. A number of programs suggest themselves in the area of'
r . . . _. . _ .
I
.
•

_ ,

v!sual

•

•

OUl:PUL

A

• I

_

_

_

MnOl:ner area

OT

Inl:eres(.

I

_

_

_ _.

•

IS JOD progress Inpuc \per cenl:

completion) to handle the si.tuation of very long jobs on the' critical path.
By far the most interesting is the problem of cost· versus t,ime., espec.ially
when dealing with construction p'rojects. The question to be answered in
thTs case is:. Where can I most effectjvely spend some extra:~ dolla:rs to
shorten the over-all project leng.th7 The limit of 30.0.0 event,s is strictly
one of core size and it is quite feasible to mod'ify the prog.ram fo.'r larger
projects.
It is also possible that certain of the outputs that. go to the
printer could be modified for the card punch~ making listing on a.407 or
other similar equipment possible. Naturally, it is not the intent'ion of the
authors to address themselves to the problems involving other machine configura~
ti ons.
Conclusion
By now, it is quite obvious that' this paper' is by nature a progress repor,t'
and that it is unl i ke 1y that th is system of prog rams wi 11 ever be fu 1 j.y comp 1ete
since new ideas, techn i ques, and requ i rements constantJ y appear. Work thus far
has, however, demonstrated that the addition of disk storage, and 1 ine printer
as' peripheral equipment to the 1620.. CPU makes possibl'e, and practical, CPM
and PERT programs for projects of medium: s i,ze.
I t has al so' been shown that
the estab~ishment of arr order for calculation very significantly reduces the
time necessa~ry for job time ca 1culat.ions.

o

c'

:MINUTES OF

~

CHENICAL ENGINEERING

Miami, Florida

l1ay

~

MEETING

10, 1965

The Chemical Engineering Team met with the following in
a.ttendance:

A. H. Best
H.
Gelsi
J. L. Jones
T.
Korelitz
B.
NacHullin
C. s. Schrodel
J. E. "Wages

There were no papers to be pres€nted, and so the meeting centered
about a group discussion of ap!)lications and problems • Topics of
interest were process design, process control, eqcipment design,
and optimization. The discussion of process control centered about
the need of an adequate process model and the difficulties of
obtaining such a model.
Respectfully submitted,

C. S. Schrodel,
CSS:bah

o

153

Chair~

c

o

FITTING STRAIGHT LINES TO X-Y DATA WHEN
BOTH VARIABLES ARE SUBJECT TO ERROR
L. D. Y. Onq and F. K. Durkan
Health arid Safety Laboratory
U. S. Atomic Energy Commission
New York, New York
Application of the least squares criterion for fitting
a straight line to X-Y data is common knowledge and one of
the most extensively-used statistical techniques.
However,
many analysts fail to fully appreciate the importance of an
assumption stipulated by the method - that the independent
variable, x, be either controlled or free from error.
It appears, surprisingly, that few analysts are familiar
with possible alternate methods that might be applied to cases
where both x and the dependent variable, y, are subject to
error.
This discussion attempts to acquaint the audience with
this little-known and controversial area of statistics. We
shall first discuss the general statistical problem and then
consider in detail three methods of solution that are available.
In considering the relation between two physical quantities,
it is usual to think of one variable as being the causal
variable and to describe it as the independent variable, the
other variable being dependent on it.
In the statistical
sense, there is no implication that the independent variable
is causal.
The values of the independent variable may have
been fixed or selected in any manner.
They need not be
randomly distributed. When sampling is random with respect
to both variables, either variable may be regarded as
independent for prediction purposes.
This leads us to distinguish between the linear regression
relation and the linear functional relation.
The regression
relation expresses the "expected" value of the dependent
variable in terms of the "observed" value of the independent
variable.
The functional relation describes the "expected"
value of the dependent variable in terms of the "expected··
value of the independent variable.
The essential distinction
between the two lines then, is that the regression line refers
to "observed·' values of the independent variable, the
functional line to "true" values.

o

154

The functional relation is required for the statement of
laws in the empirical sciences which would hold if no errors
existed. The functional relationship and the regression line
are the same if, and only if, the independent variable is not
in error. For example, the hypothesis of the existence o'f
density is that M = pV where p is the density and M and V
represent mass and volume respectively. By the functional
relationship we are solving for p. By the regression
relation we are predicting "true" masses from "observed"
volumes. This is possible since it is known that the mean of
the "true" masses is linearly related to the "observed"
volumes and the slope of this line is the regression
coefficient of mass on volume. Hence the regression relation
continues to have a meaning if both the variables are in
error: it describes the relationship between the mean value
of one variable and the other variable, and is thus a legitimate
technique to use in the problem of prediction. Using the
functional relation for purposes of prediction when both
variables are subject to error results in predicted values
that are biased.

c';
~~~

Thus, not only do linear functional relations differ
from regression relations in general, but they also have
different applications. A theory may specify some relation
among the "underlying" or "expected" values of certain
variables. The functional relation would be of interest then,
to determine whether the data support the specified f'orm of
relationship, as well as to estimate the parameters of the
relationship or to check the correspondence of given parametric values with the observations.
The regression relations are based on the variation in
both the "true" values and the random errors to which the
observations are subject, while the functional relation is
based on the variation in the "true values" alone. The
functional relation is, therefore, relevant only to a study
of how the "true" values of both variables are affected by
some extraneous variable or variables, i.e., the relationship
shows what elements of the system are invariant under changes
in conditions. For example, in calibration experiments we
are concerned with the "underlying" or linear functional
relation existing between the results given by two instruments,

155

o

o

persisting through changes in conditions and regardless of the
random errors to which the results may be subject.
Generally,
it is required that one instrument be capable of replacing
the other under a wide range of conditions. Clearly, the
greater the range of changes in conditions of the variables
to be measured, the less the relative contribution of
experimental error to the total variation of results, and
the more closely the two regression equations (x on y, and y
on x) will approach the functional relation.
When the independent variable is free of error, or
"controlled" by experimental technique the variable may be
dealt with as though it were errorless, since its
"observed" and "expected" values coincide.
For this case
then, the regression relation is the same as the functional
relation, and both may be estimated by the method of least
squares. However, when the independent variable is subject
to error or "uncontrolled", the coefficient of the regression
line obtained by least squares is useless for examining the
correspondence of data with a theoretical relationship
since its value is affected by the magnitude of the error
in the independent variable.
Thus its slope will, on the
average, be smaller than the true slope.
Consequently, if both variables are subject to errors,
the problem of finding the best values of the empirical
constants is more complicated. A common feature of most
solutions proposed is the requirement that certain Ita priori"
assumptions (independent of the observations) regarding the
standard deviations of the errors in X and in Y or at least,
the ratio of the two error variances, be known.
It is the
investigation of three possible techniques for determining the
functional relation when none of these three quantities are
known accurately, that occupies the latter part of this talk.
Scarborough, Wald, and Bartlett, all propose a solution
to the common case where the observations have equal weight,
i.e., where both variables are subject to uncorrelated errors
of the same order of magnitude.
Historically, the two regression lines (x on y and y on
x) obtained by least squares have been termed the elementary
regression lines.
These are taken by most investigators as

o

156

fixing limits between which the best line required must lie.
It is often maintained, further, that the best line is such
that the mean-square deviation of the observations, taken
perpendicularly to the line, is least.
This line, which
passes through the point o·f intersection of and lies in the
acute angle between the elementary regressions is variously
called the orthogonal regression line or the mutual
regression line.
Such a line is constructed by what we term
the "Scarborough method" because of his excellent presentation
of the method originated by Adcock, Pearson, and others.

C

The "Scarborough method" (1958) considers the line which
best fits the observed points as that which minimizes the sum
of the squares of the perpendicular distances from the points
to the line.
The derivation of the method is as follows:
of any straight line may be written in the form
ax + by + 1 = 0 .

The equation

(1 )

This symmetrical form being used because both x and yare
assumed equally subject to error.
The sum of the squares of
the perpendicular distances from the points (Xl' Yl), (x2' Y2)'
etc. to the line is therefore

F

(a,b) = d 2 =

-

1

a2 + b2

L(aXl + bYl + 1)2 + ( ax2 + bY2 + 1)2

(2)

and since this is to be a minimum, its partial derivatives with
respect to a and b must each be zero.
Taking the partial derivative of Equation (2) with respect
to a, multiplying by a, then taking the partial derivative of
Equation (2) with respect to b, multiplying by b, adding the
results and simplifying, yields

(3 )

o

* ...

But since
to

of
oa

o

=

a

~

=

and QE

ab

x + b

o

for a minimum, Equation (3) reduces

Y+ n

~

= 0

or

a ~x)

Cn~) +

+ b

1 = 0,

which shows that Equation (1) is satisfied by the values

x

= ~X) =

x, y

= ~-Y) = Y

In other words, the best representative line always passes
through the centroid of the given points.
The slope of the
line is given by (- ~) where

b

= _

(Lx) (a) + n
~y

~nd

a is found by substituting this value of b in the
following equation and solving:
a (a 2 - b2)~xy + (a 2 - b2)~y - 2ab ~x - a 2b (~x2 - Ly2) - bn = 0
The intercept of the line is given by (- ~).
The following objections have been raised against the
"Scarborough method":
first, there is no justification for
minimizing the sum of the squares of the perpendicular
deviations, and not the deviations in some other direction;
and second, a more serious objection, the straight line
obtained by this method is not invariant under change in the
units of either variable.

o
158

;;;;

tllll

The ether metheds fer determining the functional relatien
between twe variables, described by Wald (1940) and Bartl;ett
(1949), respectively, use greupings of the va.riable,s.
Tne
basis .of beth metheds is that, if the values can be separ~~ed
inte a.. few large dist'inct greups, the means .of the, var iables
within each greup will be little affected by randomvaJ:'iati.on,
and the differences am.ong the greup means will be due te
systematic variatien.
Reughly speaking, the method leads t.o
c.onsistent estimates if a gap in tl),e distributien. pattern .of
values .of .one .of the variables is sufficiently distinct in the
neighberheed .of the greup limits that a greuping bas~d, en
.observed values is equivalent te a greuping based en true
values.
Clearly, under these cenditi.ons, the differences
between greups may therefere be attributed to seme ex,trane·.ous
variates.
Wald's werk invelved the methed .of averages which assumes
that the best representative line is that fer which the
algebraic sum .of the residuals in each greup is zere and
censequently, the algebraic sum .of all the residuals will be'
zere.
It turns .out that when x and y ebservatiens have
weights in censtant ratie, the method .of averages is: unbiased,
and its statistical efficiency cempares well with the ~ethod
of least. squares, at a censiderable saving in laber.
Wa1d
accerding
and takes
greups as
estimated

divides the data inte tw.o greups .of equal siz.e
to the magnitude .of value,s .of .one .of the· var'ia'bles,
the line jeining the peints .of means of the tw.o
an estimate .of the functienal relatien.
Thus the
slepe (b) and intercept (a) are given by:

and

a=Y-bX

Bartlett's methedimpreves en Wald in most instances by
inc.orperating:a suggestien made by Nair and Shrivastava an,d
alse Nair and Benerjee (1942), viz. ,the use .of a slight,ly
m.odified methed which they called the "methed .of group
averages" te give mere efficient results than the'methed .of
averages.
The method .of greup averages assumes the best
representative line is that for which the algebraic sum of
the residuals in each extreme greup will be zero but the
algebraic sum .of all residuals will net be zere.
Fer fitting a

159

illlitfflt.·.'. •··_~"""'_IIIIII-.rIMtrt_Illllllllli

I

o

__

#tm
..
·· ..itt.t...._ _ _ _ _
'

_=__r_'.:I::I:II-.....____t _ _
t

=IiIIII'IIlIlllli"t'.'
t.·'IIIIIIIUn'IIiIUS.lt•t •_

IIIIII."nlilll"."'IIIIi·iilllil=IIII-IIiIIIM'PIliiOO_HY'IIiIYIIiIilIIIIin_lJlyrillll
__mlllllilwurrlll'IIIiIIEF'lIlIIIimPJI_lI'tliJili"".S'·MWiIIIII·
• 911111JE.'
.
___
'1' ','"

IF

li

w

straight line, Nair and Shrivastava, found that by plotting
the points of mean values of x and y for the first one-third
and the last one-third of the whole set of observations,
arranged in order of magnitude of x, and by joining these
mean points we get a better estimate of the straight line
than any other two group means.
By model sampling, Nair and Banerjee, collected evidence
that the method of group averages gives better estimates of
a and b for the line y = a + bx, than the method of averages
which Wald had put forward.
However, they used the two
extreme groups for both the location and slope of the
functional line.
Bartlett suggested using as one point the
mean coordinates of the observations, X and Y, just as in
the least-squares method for the location of the fitted
straight line and to use the two extreme groups to calculate
the slope.
Thus the slope (b) and the intercept (a) are
given by

and

a=Y-bX

Generally speaking, the subdivision of data into two
groups (Wald) or three groups (Bartlett) should be decided
on the basis of which system will result in less bias for your
particular set of observations.
Our Fortran Program is available upon request for
computation of the slope of a straight line by the methods
of Scarborough, Wald, and Bartlett. As numerical examples,
we have estimated the functional relation for two cases by
the three methods.
The methods are applied first to a
special case where the least-squares method is appropriate.
This numerical example is the same one that Bartlett used to
show the accuracy of his method.
The attached computer print-out sheet shows the resultant
equations for the straight lines computed and gives the
confidence intervals of the computed slopes, where appropriate.
The 95 per cent confidence interval for slope b of the least

o
160

'squares• line is given by the formula:

where

For the "Scarborough method", the slopes of the two
elementary regression lines limit the location of the true
line. The slope of the line for the first case i.e. where
the least squares is appropriate calculated by the
"Scarborough method" is identical to that calculated by the
least squares method because there are no deviations in the
x variable of the test case. The smaller the x deviations
relative to the y deviations, the nearer the line calculated
by the "Scarborough method" to the elementary regression
line of y on x, and in the converse case, the nearer the
calculated line will be to the elementary regression line of
x on y.
Wald's confidence interval method of assessing the
accuracy of the slope of his line is solving the following
formula for t3:
2

=

This

relat.i~n

t ~2, n-2 [S 2 _ 2PS
+ ~2s 2]
N-2
Y
xy
x

does not hold for a small number of observations.

Bartlett adapted Waldls confidence interval method to
assess the accuracy of the slope of his line which results
in an equation of the basic form:

to which a modification is made to handle a small number of
observations.
To sunnnarize: when presented with asc'atter of x - y
observations, the oft~n ignored least squares' specific

161

C"

'I

assumption that the independent variable, x, be either controlled
or free from error - limits the applicability of the inferences
drawn to predicting values of y for changing values of x.
The three methods described in this paper enable us to
derive more information from the x and y observations even
though both are masked by errors and the error variances of
both x and y variables and the ratio of these error variances
are all "unknowns".
These three methods enable us to find
a consistent estimate of the slope of the functional line
when the errors in x and yare random variables subject to
the following conditions: zero correlations with the true
values of x and Yi and the error in both observed variables
are mutually uncorrelated.
Thus the primary purpose of this paper has been to place
emphasis on the ideas and assumptions involved in estimating
a functional relationship; the aim being to promote understanding of
the available solutions to fitting a straight line to x and
y data when both variables are subject to error.

o
162

CASE-

:r

X

y

15.87
1.00
17.78
2.00
19.52
3.g0
21.35
4. 0
·23.13
5.00
24.77
6.00
LEAST SQUARES ELEMENTARY REGRESSION Y ON X
Y • . 14.165 + (
1.782) X
THE 95 PCT. 'CONFIDENCE INTERVAL FOR THE SLOPE:
1.782 +/- ( .049)
LINE CALCULATED BY SCARBOROUGH METHOD
Y • 14.163 + (
1.782) X

LEAST SQUARES ELEMENTARY REGRESSION X·ON Y
Y •
-1.943 + t
• 560) X
'THE 95 PCT. CONFIDENCE INTERVAL FOR THE SLOPE:
.560 +/- ( .015)

......

LINE CALCULATED BY WALD METHOD
Y = 14.150 + (
1.786) X
THE 95 PCT. CONFJOENCE - INTERVAL FOR THE SLOPE:
1.812 +/- ( .091)

~

LINE CALCULATED BY BARTLETT METHOD
1.781) X
Y • 14.168 + (
1.778 +/- ( .074)
THE 95 PCT. CONFIDENCE INTERVAL FOR THE SLOPE

()

~~

~-c

)

'tiN

USE OF ORTHOGONAL POLYNOMIALS FOR CURVE FITTING
By S. S. Kuo
Professor of Applied Mathematics and
Director of Computation Center
University of New Hampshire
INTRODUCTION
In a recent bookl, the author has described a method for fitting
orthogonal polynomials to a set of equally spaced data points.
shown that the problems of ill-conditioning are eliminated.

It was

111-

conditioning is usually associated with normal-equation approach when
the degree of polynomials to be fitted is large.
The purpose of the present paper is twofold.

In the first place,

we shall show how the application of orthogonal polynomials can be
extended to a set of unequally spaced data points.

In this paper the

orthogonal polynomials are represented by Chebyshev series.

We shall

then describe the flowchart and a tested FORTRAN program together with
detailed illustrative examples.

The sample input and output are

included.
NORMAL-EQUATION PROCEDURE
The principle of least square can be applied to the problem to fit
a given number of data by a polynomial in the form

(1)
Basically a minimum value of S is required where
n '
S = i~l(Yi - yi )2
and n is the total number of given data.

o

By setting the following m+l

first derivatives to zero:

as
as
aka = 0" aK
. 1 =0,

... ,

as _

a~- 0

164

(2)

11

we obtain a set of m+l simultaneous linear equations, or normal
equations:

(3)
where
n

LX.

Lx.2

l

l

LX.2 Lx.3
l

"

L..X.
l

l

m+ I "L..X. m+2
l

rko
kl

[k ] =
Lkm

r:

Yi
xiYi

(B J =
L

m

xi Yi

_ .. -4

The values of ko through k can then be obtained by solving Eq. (3).
m
Unfortunately, this normal equation approach fails where Eq. (3) is
ill-conditioned, often so when m is a large number.

':,"''
C
/

165

~----.'.---""-'---""---'-~~~

USE OF ORTHOGONAL POLYNOMIALS
To overcome the difficulty of ill-conditioning mentioned above, a
method designed for digital computers using orthogonal polynomials will
be discussed.
Essentially, this method 2,3fits the given data in the form:

(4)
Pm(x) is a polynomial of degree m having the following property:
n

E Pk(x.)Pn(x.)

i=l

l

Xv

l

=0

for k ~

Q,

(5)

The following recurrence relation is also useful:

(6)
where
So

=0

Sk

=

Ak i ~ 1 [pk (xi)] 2
Ak_l

i~l [pk-l (x)] 2

i21Xi [Pk(X i )]

2

i~l [Pk(x i )J2
and Ak are completely open to choice; thus no relationships exist
between them.

We chose Ak

= 2. If Po(x) = 0.5 is specified, all
= 0, 1, ..• , m.

Pk(x) are completely defined for k

We now apply the least-square principle so that the expression

o
166

$. ·.4,

4 4"QA, #.

M A

,4IU_

1M #M%\1%¥¥4,;8a 9, &qjfMWl#ii¥ "(,iWUMSfiiMI!i/fifMi ,# ,Ii 1lAJ,,;a;u,",;;;;;=.,====""'. .

is minimized.

The resulting system of m+1 simultaneous equations can

be written in the following matrix form:

rEP

o

02(x.1 )

0

r

EYiP O(Xi)l

Co

o

0

Cl

EYiP 1 (xi)

=

o

o

EP 2(x.)
m 1

l

Cm

EY. P (x.)
1 m 1

'-

(8)

n

where E implies 1=
.E .
l
Obviously there is no need to solve the simultaneous equations and

c.
J

(j

=

= 0,

1, ... , m)(9)

therefore, the problem of ill-conditioning is avoided.

CHEBYSHEV EXPANSION
Chebyshev polynomials of degree n in x are defined by
Tn (x) = cos(n cos -1 x)
The first five Chebyshev polynomials are as follows:
To(x) = 1
Tl (x) = x
T2(x) = 2x2_1
T 3(x) = 4x 3_3x
T4(X) = 8x 4-8x 2+1
Other Chebyshev polynomials can be readily obtained by using the

167

(10)

ttt_.rft±ttrtrit eN •

tttsrtt

following recurrence relation:
(11)

It is possible to represent a given function F(x) by the following
summation of Chebyshev series:

Clenshaw4 has shown that

(13)
where b o and b 2 are obtained by using the following relations:
bm+2

=0

bm+l

=0

and

(14)
(j

= m, m-l, ... ,

0)

REPRESENTATION OF P. (x) BY CHEBYSHEV EXPANSION
J

Equation (12) can now be used to represent the coefficients P.(x),
J

(j = 0, 1, ... , m) in Eq. (4), or,

PJ.(x)

= ~o(j) +

Pl(j)T1(x)

+ P2(j)T 2 (X) + ... + P~jl)T. lex) + T.(x)
J- JJ

(15)

where the coefficient of T.(x) term is arbitrarily set to one for the
J

sake of normalization of P.(x), and the superscript in parenthesis
J

o

denotes the degree of the polynomial to which the coefficient belongs.
Substituting Eq. (15) in Eq. (6), we have the following useful relations:
P ~k+ 1)
J

= p ~k)

J -1

+ p ~k) _
J -1

168

215,_

rK+1 j(k)
p

_ SkPJ~k-l)

(16)

_

.......

_------_..-_._._--_..__ ...-.--•..

--.-.--------~~

Finally the polynomials Y.(x) can be represented in the form of
J

Eq. ( 12), or,

Comparing the coefficients of T.(x) in the following equation:
J

(18)
we have
A. (k) = A. (k-1)
J

+, CkP . (k)

J

(19)

J

where C is expressed in Eq. (9).
k
It should be mentioned that when Eq. (9) is used in a straightforward manner, 4n storage locations are needed to store the following
four items, each of n locations:
1.

data x.

2.

data y.

3.

Pk(x i )

4.

Pk+1 (x i )

l
l

(1 = 1,2, •.. , n)
The representation of P.(x) by Chebyshev expansion can generally
J

save a substantial storage location in a digital computer.
CHANGE OF INTERVALS
In our discussion above, we have tactily assumed that the Xi values
(i

= 1,

2, ••• , n) all lie in the interval (-1, 1).

Inpractlce, data

are not necessarily so given, and a ,simple transformation will be needed.

169

c

C·. ~':
,/

If x denotes the data given in the interval (a,b), and

x denotes

the

corresponding data in the interval (-1, 1), we have

x

2x - (a + b)
= ----.::.----=b - a

(20)

A more involved task is transform all results from the interval

(-1, 1) back to (a,b).

This task requires a change of an entire

function
(21)
In the first phase, the right hand side of Eq. (21) can be transformed
to its power series equivalence without changing the interval:
m+l

= j~lDjX

y

j

(22)

by using Eq. (11), the coefficients Pk(j) in the identity
(23)

are found from the following equation:
p (j) = 2p
k

k-l

(j -1) _ P (j -2 )

(24)

k

and the coefficient for each xk term is formed by successively adding
In other words, the coefficients D. can be
J

evaluated as the double sum:
(25)
In the second and final phase, the power series expression in
Eq. (25) is transformed back to the original given interval (a,b).

o

This phase can be readily performed by setting
X-ll

X"= -

a

170

where
11

a+b
= -2-

b-a

and

0=2

In other words, the double swns in the following expressi.on must be
calculated:
(26)

The coefficients thus obtained are the final polynomial coefficients
for the power series in the interval (a,b).
"BEST" FIT CRITERION
The polynomial of so called ,best fit may be determined by an examination of the quantity
In general, the
then decreases.

~-value

~

= S/(n-j)

when each degree, j, is being tried.

will increase first(as j-value increases) and

It is proposed that the program accommodates the

~-value

to increase and then decrease only once.

~-value

will cause the program to stop.

A second increase of

FLOWCHART AND FORrRAN PROGRAM
'J1he procedure presented in the previous sections is well suitable
to electronic computation.

A flowchart is shown in Fig. 1.

The nwnbers

shown in brakets are the corresponding statement numbers for a tested
FORTRAN program which is listed in Fig. 2.
The input variables for the FORTRAN program are defined as follows:
IP

= Degree

of the polynomial Y desired. If no particular
degree is desired and a beWt fit is required, IP = 99.

= Number of original data points.
X(I)

= Value

of the' original data x .•
l

"1(1)= Value of the original data Y.•
l

JJ

= Program stopper, when

171

J J., 2.

c ..

rt1t

o

EXAMPLE

It is required to fit a two-term (IP

= 1)

polynomial to the following

four data points:

x 0
y

123
7 12 11 16

In the same run, it is also required to fit a polynomial six-degree
to the following 20 data points:
x 1 3 4 5 6 7 8 9 10 11 11.5 12
y 2 7 8 10 11 11 10 9 8 3 3
14
13.5
6

15 16 16.5
-4
3 20 -4

14

17.5
0

18

20
3 6

Applying the FORTRAN program to this specific example, the data would
be read in the format as shown in Fig. 3.
The output for the Chebyshev program gives the coeffcients A. for
J

the polynomial Y in terms of the power series:
Ym =

j~lAjxj

In addition, the given points farthest above and farthest below
the least squares curve are also printed out.

They are listed in Fig. 4.

BIBLIOGRAPHY

0"

1.

Kuo, S. S., NUMERICAL METHODS AND COMPUTERS, Addison-Wesley
Publishing Co., Reading, Massachusetts, 1965. Chapter 11.

2.

Lanczos, C., APPLIED ANALYSIS, Prentice-Hall Co., Englewood
Cliff, New Jersey.

3.

Clenshaw, C. W., "Curve Fitting With a Digital Computer,"
British Journal of Computer, January, 1960, pp. 170-173.

4.

Clenshaw, C. W., "A Note on the Summation of Chebyshev Series,"
fvIathematical Tables and Computations, Vol. 9, 1955, p. 118.

,I,

172

I

READ IN:
STARr

II

(1)
«2)
3)

(4)

_

.....

[59 0-50 8J

INDEX TO COMPUIE EXTREME DATA, OR Nar, OR STOP(OPrIONAL)
DEGREE DESIRED (OR 99 WILL STOP AUTOMATICALLY)
NUMBER OF DATA POINTS (M)
DA~A POINTS (Xi' Y ) i = I, m
i

l50 8-509)

[¥TI~IZ~ ~:r~: :~u~rillisJ

f509-510J

I

GO TO INTERVAL
..

R
E
A
D'

I

(-1, 1)
y

COMPUTE COEFFICIENrS

P ( i) FOR

[5 26 -51 0]

j

INTERMEDIATE POLYNOMIALS
G

o

f522-524]l

T
N
E
W

D
A
T
A
~-

o

ON
E
X
T

[5 2 4]

I

I

P.(x)

'l

QU~ITIES

~~

I
N

C

USING Pj(i) COMPUTE VARIOUS
w
USE THESE QUANTITIES TO COMPUTE

COEFFICIENTS A.J (i) OF FINAL' CHEBYSHEV
POLYNOMIAL
,"
,

0

----------~~+----~--~--------------

COMPUTE EXTREME DATA POINTS IF 'AS~"I

[524-539J

~

D

TEST FOR:
(1) BEST FIT
(2) DEGREE DESIRED REACHED
(3) DEGREE EXCEEDING NUMBER OF DATA POINTS

E
G
R
E

E

,
[551-599]

[599-5 83J

GO FROM CHEBYSHEV TO POWER SERIESl

I

GO BACK TO ORIGINAL INTERVAL

I

~.
£ . -_ _ _ _..-.[_58_3_-5...,..5-4]1Iooof

n
l.
PUNCH COEFFICIENTS OFi~O S(i)x

FLOWCHARr FOR LEAST SQUARES CURVE FI'ITING USING
ORTHOGONAL POLYNOMIALS + CHEBYSHEV SERIES

(Program Statement in Brackets)

173

o.

,',

•

eM tt

",m

'.1

t

!liZ!::!'

t

t.''',.

'msm·

...

"$""W

THE POINTS FARTHEST ABOVE ANO FARTHEST
BELOW THE LEAST SQUARES CURVE ARE
OEGREE
1

- _____

__________ e~..LOW ___ _

A~Q~r;:

(0.10000001E+Ol. O.12000000E+02)(

POLYNOMIAL COEFFICIENTS - DEGREE

1

A(

0)

•

O.20000000E+Ol. O.11000000E+02)

O.76000010E+Ol
.2!:i99999ae:+_Q. _

o

__ ~( JJ •

THE POINTS FARTHEST ABOVE AND FARTHEST
BELOW THE LEAST SQUARES CURVE ARE
DEGREE

1_

_BELOW _______________ _

ABOVE

1
2
3

(

4

(

!5
6

(

0.20000000E+02)(
O.20000000E+02)(
0.20000000E+02)(
O.20000000E+02)(
~ ._l_~qQO_C?O~t;±_(,--?_~q .. 2000 QPOO~+92)_(
0.15000000E+02. O.20000000E+02)(

0.15000000E+02.
O.15000000E+02.
0.15000000E+02.
0.15000000E+02.

POLYNOMIAL COEFFICIENTS - DEGREE

6

A(

0)

A(

1)

AJ

~)

A(
A(
A(
A(

3)
4)
5)
6)

=

0.16000000E+02.-0.40000000E+Ol)
O.16000000E+02.-0.40000000E+Ol)
O.16000000E+02.-0.40000000E+Ol)
O.16000000E+02.-0.40000000E+Ol)
o _~_1600()OQ_9~±_Q~_ ,_~O .40QOQQO_O...EtQJ1.
O.16000000E+02.-0.40000000E+Ol)

O.~_4671e20E+01.

= -O.73307400E+Ol

_ ~ ___ O_.._4a~_~61~.O~:t_QJ_____.._.________________ ._
•
a

=
=

-0.10214046E+Ol
O.97473200E-Ol
-O.43494959E-02
O.73559146E-04

---------------------- -------------- ----

174

----------------

Curve Fitting by Finite Sum of Exponentials
Richard Mishelof
Supervisor, Bio-Computing Section
Computing Center
State University of New York - Downstate Medical Center
Brooklyn, New York
Nallur Prasad
Computer Appl ications Inc.
Introduction
Data wh ich usuall y arises from tracer experiments, stress fatigue in metal s,
diffusion of gases, etc. and which is more often then not unequally spaced in time
(time considered the independent variable), is approximated by a function of the form:

N

=L

1'.
~

e-

t
C( "

f"'\

+ Loo

(1)

')'::.1

We will restrict our analysis for ~~ positive, real and that all the o(s are well
separatedj Ci's are real and Coo'is considered to be zero.

The order N, the number of

exponential components, in the summation, is usually dictated by the mathematical, model.
If no information is available on what the mathematical model shoul d be, then the model can be

(7)

evolved from the data.

This is the usual procedure in compartmental analysis.

Our approach is to get initial values for Ofs by a semi-graphical procedure known as
,lIpeel ing-off ll • These initial values are our starting point for an iterative scheme which we
hope will refine our in itial values.
Discussion of Methods (Fitting Techniques)
I.

Algebraic Method:
Prony's method can be applied.

(1,2)
The values of 2N+l points which are evenly

spaced in time t are input to a set of simultaneous I inear equations of rank N+l

175

wh ich yiel ds the Coo and the N+ 1 coefficients to a polynomial of order N. The .roots

o

of polynomial are e<~ which are used as input to develop a further set of simultaneous
linear equations which yield the Ci values.
It has been the authors· experience that the answers one gets are erroneous (Jim being
very mild to say the least>. The values for O{~ have been negative and complex. One
may interpolate to get evenly-spaced data, but the results are not worth the effort put
into it. This method is not recommended.
II.

Derivative Peel-Off Procedure

(2)
Th is method is described by Perl.

In essence it is very similar to the method I use,

and may be better for some app I ications to get the in itial starting po ints for iterative
procedure. We consider Coo=o; this can be done by having a previous knowledge of
Coo and subtracting it from g(tj) j= 1, •.. , M p :oints.
-~i

t

A portion of our curve can be represented by

(2)

if we take the derivative, we have

(3)

q 1 (t) = C1. e
•
- 0(1. t
-q 1 (t)= C1 0(1. e

•
(3)
We can then determine the slope q 1 (t) vs q l(t) which is calculated numerically under
the t considered. This gives us a value for ~1 and the ordinate - intercept gives C1. 0(1thus Ci.. We then subtract qj,. from q foral! tj j=l, •••• , M and repeat the procedure.
This procedure will give good estimates for Ci,

0(

i

i=!, •• , N, if our data warrants a .

derivative approximation calculation.
III.

The Author's Approach
A.

"Peeling-off" type of procedure (semi-graphical)
1.

Redefin iUonof prohl em:
We are given points t l ' tz., ••••• ,t ' not necessarily evenly spaced with
m
corre?ponding q(tD = q 1

,

q 2.

, • • • •

,qm·

We wish to approximate our data to a finite sum of exponentials. Our approach
is as follows:

176

2.

The natural Jog of the data points qi is taken and the result is pJaced into
~

an array di., Thus,

:,

I

~

di = In (qi)

i=l, ... ,M

(4)

3. We start with the Mlhvalue of rli and work backwards and approximate a
least square straight Ilne '

j=M, M-l, ..... ,l (5)

y= atj +b
~

where a and b are the sol utions to the set of normal ized equations.

-. .,

M-K

a..

-d..

L

-.,. .~

M-\<

+

.,j

J:::K,

)'-L,
J:\(\

~

-=

eli...

L

I
.,-

.

''''J

(6)

j -.:: V,,

~.~

M-K

l)...

'~.,- Y.. ,

t,

~J~

L
,

J ': '~,

+

I '-7.....

J:..'

~

..l : 1<',

~

M-

(K + K I - i 'J'

which means we are working on the k.l. to k interval of points of the M points
of our set of observations. We take the measure of our error to be expressed
in the form:
I

E. -::.

I

'I -

\. I

I, \ ' -

at

... I

j

(7)

which is a pseudo-least square residual. It should be noted that there are
many other error criteria which we could try to minimize for example:

\
L
\"'\

I

E =

-"

-

I

f

\

)'2.

d'~ I.. '( - d J
J'::\(, J

(8)

which had a tendency to produce a Jacobian of our iteration procedure which
, was of the order of 10-4 and hence a nearly ill-.conditioned system of equations.

c

177

.

------------------------------_.----

(9)

see reference Worsley for a comprehensive discussion of equation (9) as
well as a polynomial approximation to the data.
4.

This marching backward procedure terminates when we have: (1) and error,
as measured ~y equation (7), greater thana certain maximum error that we
arbitrarily chose, in our case, .05;

(2) run out of data points. It should

be noted that this arbitrary maximum allowable error is a function of M and
dj j=l, ••• , M and the trueo(~\Ci values.

5. We next form a new set of data dj j=l, ••• , M wh ich is

(10)

and our in itial e.t.imates for Ci c<. i are
0: i=-a

(11)

Ci=e b
increment
i+ 1-~ i
6.

The above procedure is run continuously until we:
(1)

run out of data pointsj (2) have gotten the number of exponentials we
expect: N

B.

We now go into our iteration procedure with our initial guesses c(~ )Ci and will
treat all the data po ints. In the prev ious section we treated data po ints where
we had a "sl owex

(minimum 0( of unknown set of O/'s). As stated above we

II

chose our error E to be of the form
M

o

E..

L

1

tf

r-~

. ·.ti.LL. c.. e.-a(:
I

0l

l::,

t·
J -

l2.
~i J

J=I

we '!N ish to minimize E (\I\\O<\.)··\~N) C"C"lo"C,,·)

178

'bj tj)=E

(12)

The critical po int p = (~') DC. '&. \"" ) ... N ) c.,\ c: 1. '

•

,CoN)

where the maximum or min imum of E

I ies is either in the boundary of D( 0( " C) or on the boundary, where

(1.3)

Appeal ing to the calculus} S)we know that the 2 N partial derivative of E with respect to ~ ~ and Ci

'dE
~o(,

i=I, ... ,N will give the local critical point if equated to zero.

-

= 21. :: .. '" --)£ -d4Xt\
~oil.

(14)

or the 2N system of simultaneous non-I inear algebraic equations.

= LM

0=

BR.

tj

?E

-::: -...... o(
C'

.t.

J =l

q.
\) ;
..

.

-«.l.tJ

e

t-I

LL
l='

I"

~

-o(,'\.j

e

',1

- 0CJ ..\

M

o=

(15)

B~ = ~ ~ ~ =[I
""""

(.3 1 6)

There are several Iteration techniques for solvmg a system as the above.

We

chose the Newton-Rapshon technique. Our experience with convergence patterns for
various sets of data showed the iniUal estimates need not be close to the solution for convergence. The continuity of the solution vector, implicit in the Newton-Rapshon method,
is a criterion for convergence. For instance, jf the first two or three data points do not
show sufficient drop, we found it impossible to make the iteration converge until the data
point which did not drop enough was deleted.
Conclusion
The algebraic method for finding the solution to equation (1) gives errl..\.ti~ results,
the. polynomial approxirriation for the set data points does not give a satisfactory result.

179

'MU','-_t"WWlRMW8111'PM'P'!!!I!,,!

,"'uw't'lIlIlrl

*

rtrir,.r#

• =or

Graphical. techniques as described above give fairly good initial estimates and an im- .
provement by a pseudo-least square procedure has proven successful in most cases
tried by the authors.
The data shoul d be extended out in time such that each c<~ is represented by the
orig inal curve or extrapolated curves. CI.;. that are· very close together may be lumped
together and still give a satisfactory error.
Gardner(7)has investigated the numerical inversion of the Laplace transform, which
appears to be a method for finding the true number of exponentials. This method has proven
relatively successful with evenly-spaced generated data.

There are a number of problems

to be overcome with experimental data.
The methods described in this paper wi( I not solve all problems. Some other approaches
might prove more successful. These other sol utions can be found in the references given if
only to look-up their references (indirect addressing).
We have had a certain amount of success with our problem and approaches and hope that
follow up work in fiel d will do much to jmprove what may be termed by some as an art:
svl't'\

The art of knowing how to approximate your data to finite~ of exponentials.

o
180

REFERENCES'

1.

Hildebrand, Introduction toNu~eric~1 Analysis, McGraw-Hili, page .378-.382.

2.

Perl, International.Jc;>urnal of Applied Radiation and Isobipes, 1960, Vol. 8
pages 211-222 .

.3.

Traub, Iterative Methods for the Solution of Equations, Prentice-Hall, pages 248-

257.
4.

B. Worsley andL. LQX, Selectionof NumerIcal Techniques for Analyzing Experimental Data of the Decay Type with Special Reference to the Use of Tracers in
Biological Systems, Biochimicaet Brophys ica Acta, Vol·. 59 I No. I, pages 1-24.

5.

Buck, Advanced Calculus, McGraw-Hili pages 285-298 .

6.

Wolfe, The Secant Method for Simultaneous Non-Linear Equations, Comm. ACM Vol.2,
pages 12-13.
.

7•

Gardner etal, Method for Analys is of Mul ticomponent Exponential Decay Curves, Journal
Chemistry and Physics Vol. 31, No.4, page 978.

181

APPENDIX

o

DERIVATION OF NORMALIZED EQUATION FOR ERROR
We chose our error E as defined by equation (7)

(I)

taking the partial derivative of E with respectto a and b, and equating to zero we get
M-K

-

")

2. (
'
,o."r..j

~ -.-'.

J:.- ~~c
J
I

",,0

1.\4·. = 0

I

u -- C J ) \. J
.

• (2)

-

dE.
~b

if we carry through with the summation, we get the normal ized form of equation (6)

(.3)

+
Newton-Rapshon Iteration Procedure and Appl ication to our System of Equations
We are given a system of equations

f i (Xi;

,Xf , ••.. , x*n) = 0

i=l,~

.. ,n

(I)

where ~ •• • X*n is the solution to our system.
We let

o

x~

,x ~

I ••••••• I

x~ be the initial estimate for our solution, such that

182

x~ = x,!)

+ fl

xI

=X ~

+6

xl..

X~

•

(2)

+ ~ xn

c)

X*n = xn

We approximate the system by a Taylor expansion and we get

o=f'1 (x*

Jo • • • • •

,x*n) = fl1 (x , x , ••• , xn)

~
+~

d~1.
J 1'. \ (t,X) + terms ( l> X) P
dO

0

""I '''1,··,

o=fn (x* , •••••• , x*n) = fn(x ,x , ••• ,x n)

~

+ L--.l :&~~X0
d ~~
\ ~ +. terms (

f

l. '; I

We assume that all (Ll X)p

-to

0

/)

)t'\~l·

..

~X)p

')(  ~
~ c\(.

~ c·~
)

-;'cX~

:; ri.2,.
j

-

.....,.. .....
'"" ...:.
~.

( 11)

(12)

o

If we borrow Kronecker's delta, then we can generalize the above results.

184

\.

(13)
.,

~

I

-:: j

o

(14)

.1. \ K":

1..,1.\ •• '\ N

Once again appeal ing to Kronecker delta we general ize

(15)

and

M

\

:,,'

e-~.£. ~j e~ ~ t J'

/

~j

L.---J

(16)

Our Jacobian Matrix is partitioned into four parts

:?.J~

b.R,.

"
-----------·---t
(;orQo;I(

[-:rl =

--

~6~
~c.1<.

i

(17)

!

I

B~

.... ''J
C.. u~
..

- --.....

"';; 0{ ~

O<~

I

)~~
'dC",

C"
185

0

'H,!I::_

t

_ _ t-

tr

PROGRAM OUTLINE

o

A program for the method discussed in this paper was written in 'FORTRAN II-D.
There was no attempt to econom i ze in core space I or in execution time. There are several
variables that could be made equivalent (i.e: EXPO'N I ALPHA)I (CO'EFF I C) )1 and a DO'
loop which coul dbe incorporated into a following set of DO' loops.
The program uses three subprograms one SUBR,e)UTINE and two FUNCTIO'N programs.

SUBR,0UTINE SgNYA (N I AI BI X, DET)
Is a program for solv ing a system of s imul taneous I inear equation AX=B by pivotal condensation method.

The technique is described by Faddeeva l Computational Methods in Linear

Algebra l a Dover publication, and was applied to a system of ill-conditioned simultaneous linear
equation in Wilkinson, Roundi.ng Errors in Algebraic

Processes l Prentice-Hall l page 118-120 1

with a high degree of accuracy.
The program is designed to solve a system of 20 x

20 1 but can be expanded or shortened

by chang ing the proper arrays in the 01 MENS 10' N statements. The terms are:

N is the rank of the coefficient matrix A, A is the coefficient matrix i B constant vector l X solution vector I DET is the determinant of matrix A.

FUNCTI,0N DEL TA

(~I J)

Is the K:Jr;ecker delta (see paper)
FUNCT10'N SlJM~X U\JEXP, TAU, C, ALPHA)
Is a program to evaluate the SL;m of exponentials

ti

)'

-~.-c

Ll Ge.l.

where NEXP is

\.= \

the number or exponential components.

TAU is dummy variabl e l C I ALP HA are respective coefficient and exponential mul tipl ieI'.

It shaul d be noted that:
e- 19 = 5.60279 64375 x 10-9

and is considered to be

zero l if

expanded accuracy is needed then the value 19 should be enlarged. This test prevents exponential underflow •
~

.

10
I~

•

The entire system of programs was deSigned to handle a maximum of 5 exponential
components, but this restriction can be altered by expanding the proper arrays of all the system
programs.

186

.

t if'. trtt tr

C\',

rt

**nrtr

I

-

TYGO - A load-and-go version of S.P.S.

R.O. Read and p.J. Jutsum

"

Programmers who use S.P.S. a lot on a papertape machine,
must frequently get impatient at the amount of time that is
consumed in punching and handling tape, using the standard
two-pass processor, before a program can be compiled. TYGO
(TYPE-and-GO symbolic programming system) has been devised
for the benefit of these programmers. It enables an S.P.S.
program to be typed in at the console and assembled directly
in storage without the punching and handling of any tape
being necessary apart from the loading of the processor tape.
However input of the source statements can be from tape if
desired t and an object tape can be produced (under operator
control) at any time after compiling, - before and/or after
running or debugging the program.
Thus in some ways TYGO is to S.P.S. as GOTRAN is to
FORTRAN; but ,whereas GOTRAN is a fairly restricted subset of
~OHTRAN, TYGO is effectively as powerful as S.P.S., except
for some restriction on the possible length of the program,
since the processor occupies about 9000 locations at the top
of storage durine compilation. The only other significant
restriction in TYGO is that multiplication is not admissible
in address arithmetic. All the standard B.P.S. subroutines
can be called, and also the floating part in:put/output
subroutines (Users Group Library No. 1.6.023).
Since in the source program symbols may be used before
they are defined, a more complicated symbol table is needed
than in regular S.P.S. Undefined symbols are stored together
with the addresses at which the equivalent (when it becomes
known) is to be put. During compilation a listing of the
p~ogram can be produced, in which undefined operands are left
blank; a listing of the symbol table can be produced when
compilation is finished.
The symbol table grows downwards from the beginning of
the processor (location 11000 or thereabouts). Impending
overlap with the program is signalled, and a new pseudoinstruction
DEL enables unwanted portions of the symbol table to be
removed to make room for more program. After compilation the
processor area can be used for subroutines and/or data areas.
Pro~rams of up to about 8000 locations will compile easily
and comril~tion is faster than with the usual S.P.S. processor
(SP-008) •

TYGO is written for the basic 20K tape 1620 with no
special features.

o

187

c

EI'

SPAS

G.G. Billin

~

SPAS is a modification of 1620/1710 SPS1 designed for
LOAD-and-GO operation. It is best used for debugging programs
or running programs that will not be used frequently. Because
of its usage, several additions and deletions have been made
to the basic SPS language. Some features of SPAS are:

*

No cards except source statements are punched. This
means a large savings in cards while the program is
being debugged.

-::

The object program is ready to be run at the end of
PASS II with no intermed ia te load inR" of an 0 bj ect deck.

{~-

The processor may be made one pass by tu rning on a
sense switch. The information on each card is stored
in upper memory during PASS I and is recalled as needed
during PASS IT. Thus, no time is lost while the reader
reads a card, and the cards are only read once.

*

The processing time, exclusive of the
has been reduced.

on~

pass feature,

The machine requirements for SPAS are indirect addressing
and a 40K or 60K card 1620 system. Of these requirements, only
the indirect addressing feature may be mOdified.
SPAS was written because of time and card limitations at
the computer center where the author worked. It was decided
first of all to eliminate all punched card output; next, the
speed of the processor was increased, new operations were added,
and other miscellaneous modifications were made.
Since the author used a card 1620 rather than a 1710 and
hecause macro-instructions were seldom used, the following mnemonic operation codes were deleted from the list of 1620/1710
operations:
All macro-instructions:

FA

FS
F~f

FD
DIV

FSQR
FCOS
FSIN
FATN

FEXT
FEX
FLOG
FLN

FSRS
FSLS
TFLS
BTF'S

All 1710 control operations:
SL1~

SA
SLCB

0

SAO
SA CO
SLTC

MK
SAOS
SLAD

UMK
SLTA
SLME

1 1620/1710 SPS, version 2, modification 15.

188

BO

BOLD
SLAR

1M_

t,

All paper tape operations:
R}'TPT

WNPT

DNPT

RAPT

WAPT

()

In addition, the followingSPS instructions were modified:
DNB

lengths may be.greaterthan 50 to a maximum of
1000.

TRA

assembles the instrbction:
49 02468 00000

.where 02468 is the address of the PASS II read
. instruction.
T'CD

loads the following record into10ca tion 00000:
NOP
,B

00000
00012

xxxxx

41 00000 00000
49 xxxxx

where xxxxx is the address specified by the TCD
instruction. Next, control is transferred to
10ca 1 ion 00000.
SE1'D halts the processor.

When START is pushed, pro-

cessing continues.
The following operations were added:
BRC
BNRC
BWC
BNWC
BEC
BNEC
BOC
BNOC

Branch
Branch
Branch
Branch
Branch
Branch,
Branch
Branch

if Read Check (06)
Read Check
if Wri te Check (07)
No Write Check
if Check in MBR-E (16)
No Check in MBR-E
if Check in MBR.;O (17)
No Check in MBI<-O

No

The following operations generate no output in the object
program.
MESS

Return carriage and type message starting in column

MESI

Same as MESS except on PASS I only.
Same as MESS except on PASS II only.
Type message starting in column 16 (no carriage
return) •
Same a.s TYPE eX'cept on PASS I only.
Same as TYPE except on PASS II only.
Perform carriage control (34 00000 OOlOX) operation with digit in column 16 replacing X instruction.
Simulates LOAD during PASS I only.
Simulates LOAD during PASS II only.

16.
MES2

TYPE

TYPI
TYP2
IOf

LODl
LOD2

189

c

c

These instructions were designed to be used as follows:
MESS, MESl, MES2, TYPE, TYPl, TYP2 - To type headings at the
beginning of each pass, to type special messaRes to the operator, or to provide an indication of how far a program has progressed.
SE"D - To stop so that switches may be changed.
LODl, LOD2 - To allow loading of changes to"the processor, the
program being assembled, or to transfer control directly to the
program.
An example of the use of the new instructions is as follows:
SOURCE PROGRAM
MES2SPAS
MES2DATED
TYP2 3/
rryp2l8
TYP2/65
MES2TURN SWITCH I ON
SEND

FOl~

LISTING, PLEASE

During PASS II the typewriter will type:
SPAS
DATED 3/18/65
TURN SWITCH 1 ON FOR LISTING, PLEASE
and the computer will stop.
will continue processing.

When START is pushed, the computer

MODIFICATIONS TO THE SPS PN.OCESSOR
The following modifications have been made to the SPS
processor to make it compatible to one pass and LOAD-and-GO
operation:
~
The initial address of the address counter is set at 20000
rather than at 00402. This was done on the assumption that the
first module of storage would be used for the processor and
symbol table. To change this address, make the first card of
the source program a DONG card. Be sure not to accidently DORG
over the processor. SPAS does not check for this--it is the
responsibility of the programmer.
All references to page and line number of statements have
been eliminated from the processor.

o

When listing a source program on the typewriter during
PASS II, the usual format included a carriage return ~nd a tab
between the source statement line and the assembled instruction.
With SPAS this carriage return is not performed unless the source
statement goes past column 56 on the card. This may be changed
190

back to the original way by putting a 0 (zero) at location
1787. To restore the feature later, put a 1 (one) at the same
location.
A subroutine to count the number of carriage returns and
to skip 5 lines at the top and bottom of each page has been
included. The proper initial setting of the typewriter carriage should leave a margin of 6 lines at the top of the page.

lih e n ass em h lin gin 0 n e pa s s, the a p p ro x i rna ten u mbe r 0 f
sonrce statements possible is about 800, assuming that locations
40000 to 59999 are used for storing records.
If one pass mode and typewriter input ha¥e been selected,
th ere wi 11 be no punched ou tput during PASS I. For two pass
mode, the punched output will be the same as· for SPS with the
exception of the deletion of page and line numbers as noted
a hove.
The actual running of a program in SPAS is approximate-ly
the same as for SPS. One exception is the use of switch 3.
If it is on, one pass mode has been selected. If it is off,
processing is two pass. After this interrogation at the
beginning of PASS I, the setting of the switch is disregarded.
The only difference is one additional error--number 15. This
error message is typed out like any other one to indicate that
the records put in upper memory have overflowed the area assigned
to them. No more processing can be done after this message has
been typed--the only thing to do is to retu rn to PASS I (by pushing START) or to change the size of the area where records are
stored.
In p/\SS II sevet'al changes have been made. Switch 3 is
not interrogated any more--all output is automatically put in
memory. If one pass mode has been selected the only action
nee e s sa ry is to Pll S h START.
Another modification can be found at the end of PASS II.
A listing of the symbol table can be made as usual if switch 4
is on, however, if switch 3 is on afte~ the halt after the
symbol table listing, control will go to location 00000 where
the record:
H

B

xxxxx

00000
00012

was placed at the end of PASS II.
fied by the DEND.

48 00000 00000
49 xxxxx 00000

xxxxx is the address speci-

DESCRIPTION OF SPAS

PI~OCESSOR

SPAS is a modification of the SPS processor, therefore
many of the changes are designed to cover up old instructions;
these changes will not be discussed. The new features of the
SPAS processor can be broken up into the following separate
routines: initialization for PASS I, one pass storage of re191

(1r~

~,~'

•

cords, return carriage subroutine, numerical blanks routine,
high and low positions used,· output routine, special operations
routine, and the end of PASS II routine·.
Initialization for PASS I
The first instruct ion executed res'ets the carriage return
subroutine for the correct margin for the newpage. Next switch
3 is checked. If it is an, one pass operalion has been selected
and the following record is put at 02468 in place of
02468 31 00796 59999 .
02480· 12 02479 00005

These two instructions will, cause the records stored in upper
memory during PASS I to be transmitted into the input area during PASS II. If switch 3 is off,operations will be two pass
and the original instruction to read a card and a NOP are put
at n24R8 and 02480 •
.:~

This address '59999 can be changed by the user if desired-it is usually as shown.
One Pass Storage of Records

After the symbol table ha~ been cleared at the beginning
of PASS I, the first· statement is r·ead from the card reader or
the typewriter depending on the setting of switch 1 and is saved
in the INI~T2 area. Next, control returns to the original SPS
program and the op code, label, constant and symbol lengths are
checked to see that they are ok. When the SPS processor is done,
control passes back to SPAS at location 02116. If two pass mode
has been selected, switch 1 is interrogated and if it is off the
caved source statement is' punChed. Next, control goes to the
read instruction. If one pass mode has been selected the card
is scanned for the third comma in it or a record mark. The comma
would indicate the end of information used by the processor--all
after it is comment. An exception is a DAC or DSA statement
which is not scanned for commas since any number of commas may
may be present.

Return Carriage Subroutine
A return carriagesu broutine ,ReTYPE, has been included
so that long listings on the 1620 typewriter can be done conveniently.
gntry to the subroutine is by branching and transmitting
the return address to the address of the subroutine minus one.
In this way entry can be done with a BTM or by a TFM and branch
if the return carriage occu~s while the processor is already
in a subroutine.
Numerical Blanks Routine
SPS assembles numeric blanks by punching them alphamerically
on a card. Since no cards are punched in SPAS, this function
is simulated by transmitting numeric blanks one by one to the
address given or assigned by the processor minus the number of
blanks defined, up to the specified address. The routine to
do this starts at location 06736. The length of the output
(at location 00704) is subtracted from the address assigned
(at location 01122). Then blanks are transmi tted until the
assigned address is reached.
High and Low Positions Used
Before each' object instruction or constant is stored in
memory, a routine ~hecks to see if its lowest and highest locations used are the lowest and highest used so far. As the object
program is stored, the routine keeps track of these addresses
and at the end of PASS II they are typed out. This is to let
the programmer know how long his program is and to inform him
whether he has gone below 20000 or into some other area.
Output Routine
The output routine works almost the same as the SPS loader,
except that it uses indirect addressing to save space. It is
located at location 06018 (PCHCRD). First the digit that will
over with a record mark is saved. Then the record is transmitted after finding out where in the INPUT2 area it starts, and
the saved digit is replaced.
Special Operations
The special operations routine replaces the macro-instructions routines. The processing for special operations starts
at location 09672. Each operation in SPS or SPAS is referred
to by an eleven digit field of which 8 digits represent the
alphanumeric coding of the mnemonic operation, 2 digits represent
the op code or indicator, and the last digit represents the
type. Special operations are type -7. The digit preceding the
type di,gi t defines the particular procedure while the second
digit represents whether it occurs during PASS I or PASS II in
the case of singular operations. The identifying digits are
as follows:

193

o
1

MESS

3
4

MESl,MES2
TYPE
TYPl, TYP2
LODl, LOD2

5

IOI

2

When a special operation is found, control goes to 09672.
There the type is determined and control passes to the proper
routine by means of a table look up using a DSA. A MESS operation causes the carriage to return and the operation:
WATY INPUT+20
to be executed. In a like manner, MESl or MES2 first checks
to see if it is the proper pass and then either executes the
MESS routine or bypasses it. A similar procedure is followed
for the TYPx routines except that the carriage return is not
done. LODl and LOD2 cause a simulated load during the corresponding pass and when KM is encountered, the digit at INPUT+20
(the units digit of the alphameric code) is transmitted to the
Q11 position of a control instruction which is then performed.
If the digit transmitted is other than a 1, 2, or 8, some combination of the functions will be performed.
End of PASS II Routine
At the end of PASS II, control is transferred to location
12060. There, the lowest and highest addresses used are transmitted to an available area (INPUT2), a record mark is put after
them, and they are written out. Next, the record that originally
went on the last card of the SPS loader is transmitted to location 00000. Control then passes to the SPS routines that write:
End of PASS II
and the symbol table is listed if switch 4 is on. At the end
of this the computer HALTS. When START is pushed, control passes
to either the start of PASS I or to location 00u00 depending on
the setting of switch 3.
As mentioned earlier, SPAS uses indirect addressing and
does not include macro-operations. Both of these problems may
be gotten around, the first by reprogramming, the second by a
special technique.
To reprogram SPAS for a machine not equipped with indirect
addressing, it would be necessary to change several instructions
in SPAS. SPS uses no indirect addressing. To make matters
easier space has been provided between locations 05440 and060l6
for any additional instructions. By changing SPAS for a nonindirect addressing machine, approximately 500 locations would
be used. Of cours~ new operations could be processed by routines
in this area-.
To use macro-instructions with SPAS the best thing to do
would be to assemble them at some high address or in the space

194

used by the SPAS symbol table. Then to enter a macro-instruction
it would be necessary to simulate the instructions generated by
the SPS processor when macros are used with it.

(e';

This is at most a sketchy report on SPAS. The program is to be submitted to the Users' Group in the near future
so that it will be easily available. For the moment, copies
of the decks and documentation are available ona trial basis
to groups who are willing to report to the author on the effectiveness of the program. The author's address is:
Mr. Geoffrey G. Hillin
Computer Center
Clarkson College
Potsdam, New York
13676

•
I

•
~
•

195

ABSTRACT FOR FN II WORKSHOP

Understanding Fortran II
(SPS Subroutines called from Fortran II)
by
L. Hoffman
Guggenheim Laboratories
Princeton University

To increase the unfullness of Fortran II for large, long problems, one must realize which aspects of FN II take the most time and storage.
A few examples are iterative procedures, subscripting, and special output
formats. Often, iterative procedures are done as subprograms, such as solution of differential equations. These subprograms can be written in SPS
to give an object subprogram which will usually occupy one-half of the
equivalent FN II subprogram and usually will take about one-half the execution time of the FN II version.
In order to present the technique of SPS subprograms, the standard linkage generated by FN II is described and a variation of the linkage
for many arguments is presented. A description of FN II non-relocatable
subroutines is given. A sample SPS printer-plot subprogram is given as an
example of linkage, communication, and relocatability of an SPS written
subroutine.

196

o

c

-_:.

:NON-LINEAR ESTlMATION

BY
MODIFIED GAUSS-NEWTON M]JffiOD

BY
JERRY KEMP

RALPH CHIFMAN
CHARLES BRYANT

Presented to the I1M 1620 USERS Group at Miami Beach, Florida. on
May 11, 1965

o

197

o
TABLE OF CONTENTS
I.

INTRODUCTION

II.

MATHEMATICAL DISCUSSION
A.

Discussion of Linear Estimation
1.
2.

III.

Simple
Multiple

B.

Discussion of Non-linear Estimation

C.

Non-Linear Iteration Technique

D.

Sample Problem & Solution

E.

Other Examples

COMPtrrER PROGRAM AND OPERATOR INSTRUCTIONS

A.

General

B.

Program Limitations

C.

Source Statement Changes
1.
2.

3.

4.
D.

Dimension State~ent
Read Statement
Procedure 1
Procedure 2

Ihput Data Preparation

E. Computer Operator Instruction
F. Example Problem
rY.

REFERENCES

198

o

'f"

"$

CI

APPENDIX
PART

A
B
C
D

o

General Flow Diagram
Fortran Source statements
Partial Printout
Complete Printout

199

th

tirttt

•

)f

r

j

NON-LINEAR ESTTh1ATION BY MODIFIED GAUSS-NEWTON METHOD
I.

INTRODUCTION

This paper presents the modified Gauss-Newton method for the fitting
of non-linear regression functions by least squares as described by Hartley
(1). In Section II, a mathematical discussionis presented and in Section
III the computer work is described.
Frequently, experimenters are faced with determining a functional
relation betw'een a response (dependent variable) and a nwnber of inputs
(independent variables) with the help of empirical data. Usually the
mathematical form is assumed to be known and the coefficients of the inputs
(unknown parameters) must be estimated.
II.

MATHEMATICAL DISCUSSION

Before discussing non-linear regression, it is appropriate to make
a few' comments on linear regression.
A.

Linear Regression

If the parameters in the mathematical model are linearly related,
the least squares estimates are obtained by direct solution of simultaneous
equations.
1.

Simple Linear Regression
An example is as follows:

(1 )

Yi = a + bXi + ei

Where Yf is the measured response to a measured input, Xi
a and b are parameters to be estimated
ei is the error or lack of fit
i is the observation number
!east squares estim~tes are defined such that }:ei2 is a minimum. Frem
here on, let Q =
1:ei
• To find the least squares estimates, set ~ = 0
and

~
.lb

=

0

This ~ds the following equations which are solved

•
simultaneously for a and b.

200

aa

••

7. _

OJ

m

r

-

ttt&trttn ztz

(2 )

Na + b EXi = LYi
a
+.,b»~i2 = LxtYi

L:xt .

Where N is the number of observations and
(Note linearity in a and b).

I to N.

2.

r 's

are summations fran

Multiple Linear Regression
An example is as follows

Yi = a + bXi + cXi 2 + ei
Where a, b, and c are parameters to be estimated
While this model is non-linear in Xi, it is still linear in the parameters (a, b, and c). Setting
Q _ 0
~ Q __ 0 and
a Q = 0,
~a - ,
ab
'
lJ c

a

yields the following set of simultaneous equations Which are linear in a,
b, and c.
(4 )

B.
When the parameters are not linearly related, we are faced with
non-linear estimation for which we have no direct solution. Hartley's
article uses the following model as an example.
.
RX
(5)
Y = f (x; L, B, K) = L + Be
Yi
Where Yi
observation

=L

+ B exp (~) +

ei

is the measured response to the input (Xi) for the i th

L, B, and K are parameters to be estimated
and e i is tne error or lack of fit for the i th observation
To illustrate the difficulty with this fUnction, set ~~ = 0 and
examine this result
(6)

o

Where y is the observed value, f is the function, and fl is the ~f
t)L

201

Substitute L + B' exp (KXf) for f,and 1 for fl in
(7)

21::[Yi

(L + Bexp (Kxi) )] [

(6).

This yields

-1 ] = 0

which may be rewritten as
NL -

B

r exp

(Kxi )

=

0

In
) exp (Kxi), K is "locked"inside of the summation and even the
usual tectniques for solution of simultaneous non-linear equations are not
applicable.
Since no direct solution is possible, we are forced to revert to the
approximation process which is described next.

c.

Non-Linear Iteration Technique

This non-linear estimation technique uses the Ne~on-Raphson
method (Reference 2, Page 463) for defining a correction to apply to the
parameter estimates from the previous iteration. The Newton-Raphson Method
use a Taylor Series approximation. Values for these corrections are solved
for in the Gaus& ·~~wton equations. Hartley's modification guarantees that
once the iterations begin to converge the process will not diverge at a
later time. For the process to converge, starting values for the parameters
must be "clo!.e If to the "true" values due to the Taylor Series approximation.
D.

sample Problem and Solution
1.

The Problem

FrOOl the data presented in the followin~ table determine
least squares estimates of L, B, and K in equation (5).
OBSERVATION
NtMBER

1
2
3

4
5
,6

x

~

-5
-3
-1
1

127

151
379

421
460
426

3

5

Trial values
La

=

580

Bo = -180
Ko = -.160

202

o

o

2.

The Solution

Values of corrections (Dl, :02, D3) to these trial values
are obtained by solution of the following simultaneous equations.
(8)

L(fl f 2 )0 + D3

Dl

I:(fl)~ + D2

~

I:(flf2)0 + ~ L(f2)~

Dl

L(flf 3 )0

+ D2

I:(flf 3 )0 =

1': (y-f)o

(fl)o

+ D3 r(f2 f 3)0 = L(y-f)o (f2 )0

L (f2 f 3)0

where

+ D3

r(f3)~

fl

=

af
aL

= 1

f2

=

of

=eK:x.

f3

=

.2..!..

= L(y-f)o

(f3)0

c3B
= Bxe Kx

oK

y-f = observed y minus predicted y
(

)0 refers to evaluation using L

B = Bo and

K

=

La

= Ko

L- Summation over all observations
Solve for v (min) in the following equation (parabolic fit)
(9) v (min) = 1/2 + 1/4 ( Q(O) - Q (1»

where
Q =

L (y_f)2

/

(Q (1) - 2Q (1/2) + Q (0) )

= [ei 2

Q (0) = Q with L = 10, B = Bo and K = Ko
Q (1/2) = Q with L = La + 1/2 Dl

Q (1) = Q with

o

B

= Bo + 1/2 D2

K

= Ko

+ 1/2 D3

L

= La

+ Dl

B

= Bo

+ D2

K

= Ko

+ D3

Then the inital values for the next iteration are

203

(10)

LJ.

=Lo + VDl

B:t

= Bo + vD2

0

Kl = Ko + vD3
If the process is converging, the value of Q using LJ. ~ and KJ, will
be less than the value of Q using La, Bo, and Ko. If not~ try v = 1/2 v(m1n.)
If the process still diverges, try new trial values of L,- B, and K. If the
process converges, the iterations are continued until
is less than
s orne small arbitrary value ( € )

l1Q

(11)

Where

D. Q = ..;;.IQk~~-oiQ.k~+~l_ _

(k denotes the iteration number)

Qk+l

e

If
is too small, then Dl D2 and D3 approach zero wbich might
cause divergence due to computer accnracy.
The computer print-out of the solution is shown in Parts C and D of the
Appendix. In this solution,
€ was set at .0001. The standard error (stder)
equals the square root of Q/(M-N).
The computer details are presented in the next section.
E. other Examples
The following two equations are examples of our work with this
technique.
Interior Ballistics (LeDuc equation)
v

.

where

= au(w+c)d
b+u

v

= Muzzle velocity

u

= barrel length

w

= propellant

charge weight

and a, b, c, and d are unknown parameters
to be estimated
Solid State Burning Rate Equation

'Where

u

= pll (a +b

u

= burning

P

= Pressure

In p)
c+d In P

rat e

n, a, b, c, and d are chemical and physical
parameters to be estimated.

c

204

\j
\1

••

III.

0 ',

$

itt

*a

,dee. )

n"

th" ..

fill'

no

DEFINTIION OF COMPUTER PROGRAM AND OPERATIONAL INSTRUCTIONS
A. General

I)

This is a one-pass program, written in PDQ Fortran with fixed format
subroutines. The program was compiled on an IBM 1620 (20K) computer with automatic divide. The input is on cards and the output is on the typewriter. The
general flow diagram, Fortran source statements, and sample printout are contained in the Appendix.
B. Program Limita.tions
1. The general form of the dimension statement is as follows:
Dimension A(N+2),(N+l)),PD(N),C(N),D(N),CNST(N),Q(5),Y(M),Tl(M),---TK(M)
Tne only limitation to this dimension statement is given by the equat'lon
N2 -f-

7N+ K(M-t-l)

< 473

where N • number of parameters
M • number of observations
K = number of independent variables and
N( M

C. Source Statement Changes: Once the problem is defined; make the following changes to the source statements when necessary:

1. Dimension .tatement:

The dimension statement must be

~hanged

to

reflect
(N) the number of parameters
(M) the number o! observations and
(K) the number of independent variables
88

dictated by the problem at hand.

2. Read statement: The changes made for reading the dependent and.
independent variables is 8 function of the number of independent variables. These
changes should be made 80 that Y(M) is the dependent variable and Tl{M)---Tk(M)
are 18beled a8 the independent variables.

For example: Read

S, TI{I), ------, TI(I), Y(l)

3. Procedure 1: The changes made here are used in solving for Q and
the partial deri'Y8tives in procedure 2. The last statement in procedure 1 should
be DIn' • Y(K) -U, where U is equal to Y(I) calculated. Make the changes so the
munber ot arithmetic operations are at a minimwn.

h. Procedure 2: This procedure evaluates the partial derivatiwe,
PD(l) through m(N) where R is the number of parameters.
D. Input Data Preparation

o

1.

Punch source statement changes

2.

Punch data as follows:
a.

Header Card (punched in Floating Point)

205

Identification
Number of observations
Number of parameters
€ (small arbitrary value) which
determines termination of iteration

b.

1 ... 10
11 ... 20

21:-30

Observations (punched with decimal)

Card 1 - M (where M is the nwnber of observations)' punch
the independent and dependent variables in colwnns 1-10, 11-'20, 21-)), etc.,
depending on the number of independent variables. Make sure the dependent
variables is punched so that it will be labeled as Y(I), and the, independent
variables are labeled as n(I), TK(I), etc. The order is defined in the Read
statement.

3.

Parameters

The parameters (starting values) are punched once per card. THey
can be in F format, Col. 1-10, with decimal, or in E format (~ .xxxxxxxXE:xx)
in cols. 1-14.
E.

Computer Operator Instruction
1.

Insert new source statements in program.

2.

Compile program using PDQ Fortran Processor.

3. To execute object program:
a•

Clea r ma chine

b.

Load program and PDQ Fortran Fixed format sub'rdutines

c.

When computer types Load data

d.

Set Switch 1 f.or printout desired
1 off .to print Q for each iteration
1 on to get full printout

f. When computer comes to manual light., pusb start key if error
check is desired, otherwise you're finished.

206

o

tt

o

F•

Example Problem

aU - PD(l) - 1

aCl

au ac2
au
aC 3

:z

PD(2) -

e

C)T

PD(3) :. C2TeC3T

1 dependent and 1 independent variable
DIMElf3ION STATEMENT:
DIMENSION A(5,4), PO(3), C(3}, D(3), CNST(3), Q(5), Y(6), T(6}
READ STATEMENT:

Read

5,

T(I), Y(I)

*

PROCEDURE 1:
Xl-C( 3)
T(K)
X2-EXP(Xl)
X3-C(1)+C{2)* X2
U m X3
PROCEDURE 2:
PD(l) - 1.
PD(2) - X2
PD(3) - C(2)*T(K)* X2

o

207

en

--

---------_._-_._._-_......._._.. _--_._-----_.

J:I.l.

REFERENCES

o.

trTechnometrics", Vol 3 No.2, page 2 69, May 1961

1.

Hartley, H.

2'.,

Scarborough, J. B. ''Numerical Mathematical Analysis", 3rd Ed.,
The Johns Hopkins Press, Baltimore, Md., 1955

208

o

Cr£NLRAL TLOW DIAG-RAM
APPENDIX - PART A
1

CH~NGE

CARDS

5

Ne.~

SOURCE DECK
7

COMPILE
. PRQc;RAM
IN P])Q

NEW

OBJECT ])ECK

o
209

9
oeJIC,.

l)t C l(
SU8ROUTINe$' (
'FllCE.D FORMAT)
~EAO!,~ CAR.D, 0 $£'lVATION.$
AND OruGIN"", ETIMAT~"

11

10
CALCULATE

M
!. Y.;.

1

M

J

1. t.I .21 .,""

LMW:: i

12
CALCULATE

Q ... MN(O} , '«"E~E LMN ~""e NO.

~----~

of

EVALUATE
PAR1'"IAL$

13
CALCULATE.

CAANG&S(j).z,~: ., ..
TOPR1VIOU$
IiSTIMATE

YES

1B
PRINT

210

ITERATIONS)

• . tt... t sttthtthtttr

rtitt±ri ris&t titzttrrirl

.

c
20
PR,'NT

22
CALCULATE
QlMH

ex.)

23
CALCULATE
QLMNa)

24

NOTE:

Q(O),Q(t),Q(l) should

be
subscripted as in boxes 12,
22 and 23.

CALCULA1'E

"-=)i ... ~ ~Q~)- Q(1)V(Q(1)-2(Q(~" Q(o)~
v~,

:..,: 1,1114

PRINT

o

CALCUL"TIf
qLMN(O)

USING-

CAt ...

",fih ...-'U1"""AT£S
1." AS ...'"

211

,

_ _,___,_ _ _ _ _ _ _.____"__ '_"' _ _-

• _____.__,.... ".......__.."." •.. ""',,'"'''' .,",.,.~.. ,.~.""".~~,=~.=~,=."".' __ "".',~"~,."".',.,"c==c~_"'.,.' .,

~,.~;~...::,;'"":

.... ~....:-'.~'
'~.~" ~ ...:.:.:--:::....:.-..-:-..-" ..

,

27
PRINT

'30
PRINT

31
STOP

32
PRINT

CALCULATE

AND PRJNT
'"~

(
, .1
I

STOP

212
_a"',",-_~""'"

.. _ ......

~----

.... -

_.

~

-

-.

"

o
BUCKNELL UNIVERSITY
LEWISBURG, PENNSYLVANIA

Freas -Rooke Computing Center

THE AUTOLOG-DIGIKLOK SYSTEM

by

Edward F. Staiallo
Director, Freas-Rooke Computing Center
Daniel E. Atkins
Senior Assistant
May 1. 1965

o
213

C)

o
ABSTRAC.T

An online digital clock,althoughavailable for most large ,computers,
has not been readily available for the IBM 1620. It is the belief of the
author s that a 1620 with extended memory and disk storage is lar ge enough
to justify the development and use of an onli:n"e digital clock in an automatic
logging and program timing s'Ystem.· This paper describes the AUTOLOGDIGIKLOK System currently in use at the Freas-Rooke Computing Center,
Bucknell University.
The paper is presented in two parts. The first deals with the design
and construction of the digital clock, the hardware of the system; while the
second describes the program modification to Monitor I, the software of the
system.
Part one reviews the possibilities considered by FRCC to obtain a
digital clock and the device eventually built at Bucknell. The two majqr
components of the clock, the timing section and the gating-interface section
are described at the block diagram level, together with a cursory description of their construe tion.
Part two of the paper describes the software modifications and additions to the Monitor I system. The main software modification incorporates
the clock into a system which generates a complete chronological record of
computer use. The revised software as well as the actual operating systems
are treated in detail.
The possibilities for using the AUTOLQG software without an online
clock are discussed.

214

c

o

I.

INTRODUCTION

A digital clock is a device that counts time in the form of trlumerical
digits rather than as positions of hands on a dial. When the se d~gits are
represented electronically, the clock can be connected to an ele4tronic digital computer as an online real time input device. A reading of the actual
time may then be obtained by the programmer by instructing the,machine to
interrogate the I/O channel to which the clock is connected. Th~s data may
then be used to accomplish such tasks as automatic logging of jops run on
I
the computer, generation of random numbers, computing the elapsed time
for program se grnents or entire programs, etc.
This paper is concerned with the development of a digital Glock and
the associated software for an IBM 1620 computer.
The body of the paper is divided into two sections. The first section
is primarily concerned with the design and construction of the digital clock.
It begins with a survey of commercially available clocks and continues with
a block diagram description of the design of a working device. The discussion centers around the logic design of the timing circuits and the gating
interface neces sary for connection to the 1620 computer.
The second section of the paper describes the Autolog software developed for use with the digital clock. The software is discussed from the
standpoint of the user and as a program modification to the Monittor I System.
No attempt has been made to discus s secondary program additions such as
a random number generator subroutine although they are available. These
are standard SPS subroutines written for addition to the Fortran II-D library.
Since many users will not have a digital clock available for use with
the Autolog program a section has been included that discussed the use of
the Autolog Program without a digital clock. A short discussion of compatability with FORGO-D is included for those persons using the FORGO-D
Monitor System.

o

215

II.

THE DIGITAL CLOCK

Introduction

The hardware portion of the Autolog-Digiklok System is an online
digital clock. This device, nicknamed the. Digiklok, will maintain real
tim'e, and upon instruction from the IBM 1620 will transfer a clock reading
through the 1620 110 channel to core memory. This section briefly describes action taken by the Freas-Rooke Computing Center (FRCC) in obtaining a clock and the general ope ration of the Digiklok which was eventually
designed and built at Bucknell University.

Obtaining the Clock
Several options for obtaining a digital clock were considered. IBM
was first contacted and responded with an estimated cost of $15, 000 for a
complete custom built unit. A formal logic design was then prepared at the
FRCC and submitted to several companies with requests for quotations on a
complete unit, logic hardware neces sary for construction of the clock at
Bucknell, or some combination of these two options. The responses to these
reque sts are presented in Table 1.
Although formal quotations were requested only for a s·olid state device,
the possibility of constructing the clock with electro-mechanical switches was
considered. It was decided, however, that the noise and maintenance demands
of the electro-nlechanical system coupled with the small price difference between switches and 100 Kcps solid- state logic justified the construction of a
completely solid- state device. For the purposes of logging and program timing, a resolution of O. I second and the averag~ accuracy of the power line
frequency were cons idered sufficient, and thus the AC line was selected as
a time base.
After considering the possibilities outlined in Table 1, the EECo, QSeries modules were selected with the idea of completing detailed de sign and
construction of the clock at Bucknell. The Q - Series hardware consists of
a universal circuit card (Figure I) and three different welded, encapsuled
digital modules (Figures 2, 3,4) which may be soldered to cards to implement
standard digital circuits such as gates, squaring amplifiers, multivibrators,
etc.

216

o

o

o
COMPANY

ITEMS INCLUDED IN QUOTATIONS

IBM

Complete Unit

Tech Serv, Inc.

Logic cards, card files,
1 spare each type card.
Without power supply.

Engineered Electronics,
Co.
(EECO)

5 options for the necessary logic
and card file s. Without spare s.
With power supply.

I\)
....,

-J

PRICE

ESTIMATED
TOTAL COST
$15,000

COMMENTS

$1700.00

$ 2, 200

Not NOR/NAND Logic
4 card file s required

T-Series
CT-Series
G-Series

$2991.70
$2534.55
$1817.75

$3200
$2750
$2050

100 kc logic
Fully cons tructed
cards

Q-Series Clamped
Q-Serie s Unclamped

$1363.30
$1295.10

$1600
$1400

100 kc or 25 kc
cards built from sub
modules

$2720.00

$3700

Estimated cost for
constructing gating at
Bucknell: $1000.

NAVCOR

No definite price offered.

C. E. Snow

No definite price offered.

PARA BAM

Constructed basic clock
without interface, gating, or
parity.

TABLE 1 - Results of Requests for Quotations

",':;"

•

o

!:-.,

rl b
i i,¥.

,M

14

"..

pc
•••••• ,

.

,....
,,....
..

2,18

........ 4 ................. '

-'-.'

'" t

fHbirlMrti'it&

rtttrthtt

3-input N AND,;N-OR
Q-41.1.
Pin
1
Z
3
4
5
6
7
8
9

I Q-414
I

*

I

I
I
I
I
I
I
I

f'=' ,

-.
llIIIUTS

[0

R2

..
3

10

5

t

6
7
8

9

-------------------------_ .... --GENERAL

0-411 and 0-414 are three input NAND INOR circuits~ based on resistor-transistor logic. 0-411 and 0-414 are identical circuits except 0-411 has a clamped
output to provide uniform output voltage "levels and 0-414 doe. not. There i. a
direct input provided in each unit for additional circuit ver.atiUty. The.e unit.
function as NAND or as NOR logic according to the alligned IOlic level voltale.:

=OV

For NAND:

"1" (true)

NAND output =

"0" (false)= -6V
ABC = A + ~ +-e

For NOR:

"1" (true) -6V
"0" (false)= OV

NOR output c

A + B + C a'A'!e"

'ELECTRICAL SPECIFICATIONS (NAND LOGIC)
Input:
Frequency
Rise Time
Fall Time
True Level
False Level
Input Load
Output:
Rise Time
Fall Time
True Level
False Level

Min.

0
0-411
0-414
0-411
0-414

0
-6.0

Z5.0
Z.O
Z.O
5.0
--l0.0
-0.5
-lZ.O
1.0
Z.O
Z.O
5.0

0-411
0-414*
0-411
Q-414*
Q-411
Q-414

Z.O
3.5
4.0
3.0
0.1
1.3

ma
rna
ma

-0.5
-6.5

-IZ.O

"*Yea.ured betweeD OVDC aad -6VDC

P1gure 2 - Three iD'DU' IWJD/BOB

219

Unitl
KC
.... sec
.... sec
.... "ec
.... Iec
volt.
volt ..
load unite
.... sec
.... sec
.... sec
..... ec
volte
volta
volt.
fleec
fl·ec
load unit.

10.0
0
-6.0
-6.0

True Level Delay
False Level Delay
Drive Capability
Power Requirement.,:
-lZV. :1:5"
+lZV. :1:5'"
(0-411 only)
-6V. :1:5"

0

Max.

t

"00"[

·.~.-"-.--- .......... ----~- - •...• -~'" .• ~"- .•. ~ ........" .".-.,~ •.• -. ,.. -

--,~ - -,..=--"-,~~;.,~.~,,:,,,"..:.....:...::.::..::...~:::....:..::.",.:.; ..: ..--:-; .• ~'':-

J.\d:ul ti Circu.i t

Q-4aa

..•.

~

I

100KO

-111

-~
I

-tN

1

PULse GAT[
lOGIC INPUT· II J-"""'".-......"""f'v--'

3
4
5
6
7
8

. r--

NAND ..
INPUT. ~

t. -~"\.!.,r---J

10
11

C2

lZ
BIAS

GNO

-------------------------------GENERAL

0-422 is a multi-purpose digital circuit used to produce flip-flops, one shot••
multivibrator, squaring circuits, pulse amplifiers, etc.
0-422 has a clamped output to provide uniform output voltage levels. When inputs to 0-422 come from ~nclamped circuits, care must be taken that the amplitude' of the pulse gate pulse does not exceed the false level of the pulse gate
logic input. For example, with a DC logic input of -8V, the pulse input must
not exceed 8 volts i,n amplitude.
ELECTRICAL SPECIFICATIONS· (NAND LOOIC)
Input:

Min.

Frequency:
NAND
Puis e Gate Logic
Pulse Gate Pulse
Rise Time:
NAND
Pulse Gate Pulse
F,all Time:
NAND
True Level
. NAND
Pulse Gate Logic
False Level:

o
o

o

NAND
Puis e Gate Logic
Amplitude, Pulse Gate Pulse
(Positive -going)
En~ble Time, Pulse Gate
Disable Time, Pulse Gate

Max.
100.0
50.0
100. a

Units
KC
KC
KC

0.5
0.5

JA.sec
JA.sec

1. 0

Il s ec

o

o

- O. 5
-0. 5

volta
volts

-6.0
-6.0

-12.0
-12.0

volts
volt.

5.5

12.0

volt.

0.5
0.5

4.0
4.0

".ec
"sec

Figure 3 .. Multlo1rou1t
,continued
221)

o

o

PO""9V"er Dri v-er
Q-413

--- - ---- ------ --- -.--- ---- --- -GENERAL
0-413 is used to increase the loading capabilities
can drive up to ZS NAND/NOR inputs.

ot the NAND/NOR Wlita. 0-413

ELECTRICAL SPECIFICATIONS
Input:
Frequency
True Level
False Level
Input Load

Min.

Max.

0
0
-6.0

Z5.0
-0.5
-IZ.0
I

Units
KC
volts
volts
load units

Output:
Drive Capability
DC Levels
Rise and Fall time

load units
Z5.0
e s sentiall y equal to input DC levels
essentially equal to input rise and fall
time

Power Requirements:

15.0

Figure 4 - Power Driver

o
221

ma

The major disadva.ntage of 'the .Q - Series is that it requires more
soldering, but it offers the advantages of design flexibility and low cost.

o

General Specifications
The general specifications of the Digiklok are as follows:
1.

The Digiklok shall keep real time to a digital reading accuracy
of o. 1+0.05 seconds and shall be capable of reading out tenths of
seconds (0-9), seconds (0-59) minutes (0-59), hours (0-23), and
day of the year (0 -365/ 6).

2.

The Digiklok shall be compatible with and shall communicate with
the 1620 through the 1622 Paper Tape Reader channels with minimum alterations to the 1620 system.

3.

The Digiklok shall not require high speed logic due to the fact that
it is based on a 60 cps time standard and that it will be read at
about a 7 kcps rate.

4.

The Digiklok shall offer a BCD display.

General Description

~

Illustrated in

~Diagram,

DKL-01

The general design and operation of the Digiklok is now explained with
reference to the FRCC Digiklok Block Diagram, DWG. No. DKL-OI. First
consideration will be given to the operation of the time counter s and second
to the reading of the clock by the 1620. The logic flow for the counting circuits is indicated by the heavy lines, and that for the reading control and
special functions by the lighter lines.
Time~.
Beginning with the functional block labeled 60 CPS LINE
in the lower right side of DKL-OI, pote that it serves as the time base for
the clock and that it drives the input of a Schmitt trigger which shapes the
sinusoidal AC into a square wave of the same frequency. Although the frequency of the line will vary, it will be nearly constant when averaged over a
day.

Binary Coded Decimals (BCD).
The ten digit time number is counted
and represented in the clock as a binary coded decimal in which each decimal
nurnber (0-9) is represented by its equivalent binary number as shown.

222

o

0-·

o

~

~----~-----4~--------~-------'----------~~----~-----------'----~~----~

I

I

L sc ~ sc ~ sc
-r,.D~
--r;ot. --r:;:OI
tf
t'"
'J
INO

t+

INO

• t ••

tt,t
BCO

BCD

O-q

0-2,
H2

seD

i>CD

O·q

C~

02

01

t

t

t

~r-

BCD

O-q

0-5

HI

M2

4~

MS

~WEQ

~ ~AILU~E ~

5UPPJ.Y

~"'SEQ

INO

aCD

0-'3

twill

~3

04r-

QeC

rl

O-q

...,..

82

S'

MS

M$

S£:CO~D \~) COU~"E~

\O-5q.~)

COUM'T~~

()C:'

'Ill t till!lt

=
=
tT)PUL.&~TO =

5EOUENCE

CONTO()..~ 7

<1ENERAI():; -

1

==

IN 0- VI5UAL INDICATOR

..--,./

BCD - BINARY CODE.D OCCIMAL COUNTER
M 5 - MANU"l ~ET INPUT

+••

~

/

.~ t\.~t(

SVlIC Cl1STft

aRQD

~'T~ IN

Ul,I\IOQV

II.
IlAUTO)

-t::J-

5\'-'UU.-mq---'"

::;:;:Q

~

(00

t--

cp:)
UNE

__
' __

-S~"'A\)£ "'9l~\CM, NOf-N~-~I.'~, ~n~~~OM,

---:1; ~~ ~\~It 'L

;o;...:.=-~---------.

~DIA quoot

FREAS-ROOKE COMPUTING CENTER
BUCKNELL UNIVERSITY

l::: ~

"-

J.....--_ _ _

~-T_

~14NA1..

&TTIN~
SCHMtTT
CONTQOLt4- ~

It BM •,~~o
~ W
I~

+~. CWTC.M CAfIt

-

<0
:5.
fY5

.-

~(NEQA"'OR

n..

I(MANU"':-)

~

~AMP~E.. =~T· ~

c\RC.urr~(~)- TC~-~

tAND'~TE'5)

O-q

MS

TO NS \NPUT,$

\ \ 1'Q~~

sc

~~~•. .,L~.....

,tt t

BCD
4t-

r.i

't,

MS

(C-sct)

3YNC

~c ~ SAMPLE CIRCUIT

INO

e,cD

INt)

DC
POW£R

'NO

O-q

M\NUT£ (M) CQU""TEQ

COUN'TEQ

(O-'2:~)

t

ftf'

1 t 111 J

,t

M~

HOUQ (H)

~O-~CO'5~))

VJ

BCD

4'

us

tttt

,;r-

C1ENEQA1r~

-l~.,

t t t

t, ,t t

, 1.' ,
~r-

•

,

BIT

sc .-L' ~ --.L. se

T.~-r-;-n

\NO

INO

1

1

sc _1- sc
TW, --r:;toAl
t t tt

IHO

IND

MS
M5
MS
DAY (D) COUN,ER
[\)
[\)

_1- sc ~ sc
--r:;Ht --=r;.,
tt 1 1

INO

O-~ 04-r--

1

CHECK

INPUT -OU"n'UT

~IQN
(I/O)

tE ~ ~

~ ~ +~.I

~. -5.0
-

OIC1lkLOK BLOCK O\A'-RAM
,
DESifiNER: DE. ~KINS 1 WAV 4--,- ....
rQCC
AV·

A

....&&.&

-....·L'

..

DlCL-oa

Decimal
number

BCD
equivalent

0
1
2
3
4
5
6
7

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

;r-''\
~y

8

9
Table 2.

Decimal to BCD Conversion

Each bit of the BCD is represented by the affirmative (1) output of a
bistable multivibrator, commonly called a flip-flop. The group of flipflops necessary to form one decimal number compose a BCD counter; a
count of the maximum decimal number 9 require s four flip-flops. In the
Digiklok, however, some counter maximums are less than 9, for example,
the ten seconds counter counts to a maximum of 5 and the ten hours counter
to a maximum of 2. These BCD counters therefore require only three and
two flip-flops, re spectively. In this report, unles s otherwise defined, the
term counter will refer to a BCD counter consisting of two, three, or four
flip -flops.
Counters. With these terms in mind, continue following the counting
logic on DKL-OI. When the clock is operating in the normal automatic mode,
the 60 pulse per second (pps) output of the Schmitt trigger drives through the
Manual Setting Control into the input of the first counter (So) which divides
the frequency of the signal by 6, i. e. the output triggers in the next counter
if and only if So has counted 6 input pulse s repre senting 60/6 or O. 1 seconds.
On the 6th pulse, So resets to zero and begins recounting.
The output of counter So drives the input of the tenth of second counter
(SI) which immediately upon reaching a count of 10, resets to zero and triggers a count in the 82 counter. Likewise when the S2 counter reaches 9+1,
it resets and triggers a count in the ten second counter which counts to 5
before resetting and triggering the one minute counter (MI) on the 5th pulse.
The S counters thus effectively divide the 60 pps time base into sixth, tenth,
unit and ten seconds.
Sim.ilarly the minute (M) counters count and register the output of the
S counters, reset to zero after reaching a decimal count of M2=5 and M=9,

( Jl""\
224

!II

and transfer a count to the hour (H) counters. These counters reset to zero
on the 24th pulse and transfer a count to the day (D) counter s which total a
maximum of 365 or 366 in a leap year.
Reading and Data Transfer. For the time to be read by the 1620, the
outputs of the BCD counter s must be gated into the computer input section.
Data is read from the clock through the paper tape reader channels and thus
the Digiklok operation must simulate that of the paper tape reader. Data
transfer is by serial digits, parallel bits and is accomplished as now described.
Beginning at the large functional block labeled IBM 1620 INPUT OUTPUT SECTION, note the line from it to the Scan Control. When the 1620 is
instructed to read the Digiklok and no transition is occurring as signaled by
the connection from the So counter to Scan Control, the Scan Control will be
enabled by a level change. It in turn will enable the Sequence Generator
which will produce a serie s of 11 transfer (T) pulse s on 11 different line s,
each connected to one of the Sample Circuits (SC) shown at the top of DKL-Ol.
The input to the SC function blocks consist of the transfer lines and
the outputs of one BCD counter through a lamp indicator and appropriate
driving circuits. When the T level is present on the input to a particular SC,
the output of its counter is transferred to the data line s (parallel 'line s at top
of drawing), through the Check Bit Generator, and into the 1620 Data Input
Register. The Check Bit Generator maintains odd parity which is used for
error detection, i. e., it produce s an extra bit on line 5 if the sum of the" 1"
bits on line 1 to 4 is an even number (O=odd).
The output of the BCD counter selected by the Sequence Generator is
now in the 1620 Data Input Register but the data is not transferred into core
memory until a sync pulse is generated by the Digiklok Sync Pulse Generator
and detected by the 1620. As indicated on the Block Diagram, the Sync
Generator is driven by the Sequence Generator. The sync pulse, however,
lags the T pulse time enough to insure that the inputs to the 1620 are stable
before being read. Upon detecting the sync pulse, the 1620 transfer s the
data to core memory within 20usec and is ready to read data from the next
SC enabled by the Sequence Generator.
Each time the 1620 is instructed to read the Digiklok, this reading
sequence will be initiated at the D3 counter and continue serially through the
End of Line signal (ElL). When the 1620 senses the ElL bit on line 8, it
will negate the "1" signal to the Scan Control, the Sequence Generator will
be inhibited, and data transfer will stop. The computer will proceed to
execute the next programmed instruction.

o

Other Function Blocks.
The Signal Simulator above the IBM function
block must supply S levels to various inputs of the paper tape channels to

225

· simulate control signals not used in the operation of the clock.
are IBM nomenclature and are defined as follows:

=

+S

=

-S

'itS" levels

-0.6v to -0. Iv
-12.48v to -6.87v

The power supply provides the proper levels and necessary current
for the operation of the logic modUles from a 115 VAC line. The Digiklok
includes a relay to detect power failures which turns an lndicator on, and
negate s the +5 Reader Ready level from the Signal Simulator.. The -S on
this line will cause the computer to pause and indicate "Reader No Feed"
on the console light display if the clock IS addressed before being reset.
The Reader Ready line is set to +S when the clock is manually set to the
correct time.

Cot1structio~

Detailed designs were prepared during the summer 6f 1904 and construction began in September, 1964. The clock was essentially completed
in February, 1965, and since then has been in continuous operation at the
FRCe with no major failures or design errors detetted.
The total cost for the project is summarized in Table

a.

ITEM
.. )

,

EECO Q-Series Logic including hardware to
construct 6 spare eards
Other hardware including that necessary for
-llVDC and -6VDC Supply

$

202.3d

-l2VDC Power Supply and Spare

$'

60. d()

Cabinet

$

29. (J7

Postage

f

l't. 06

Telephone Expenses

$~

Labor

$: .. 1.Q,Q..~,.~.Q'
TOTAL
TABLE 2 - Slimmary of Expenses,
Project Digiklok

226

c). 62

$2·j81.66

III.

THE AUTOLOG SOFTWARE

Introduction

In this section of the paper the Autolog System is described first from
a users standpoint, secondly as a program modification to the Monitor I
System, and lastly as a system for use with or without a digital clock. Program listings and the as sociated flow charts are included in the appendice s.
The step by step procedure for adding the Autolog Program to the Monitor I
System can be found in Appendix B.
Before commencing with a discus sion .of the details of the Autolog
System it might be appropriate to describe the entire system in general
terms.
The Autolog System is used to generate a chronological table of jobs
run under the Monitor I System. Each time a job is run a log record is
entered into a log table area that has been re served on the Monitor I disk
pack. As presently operating, the table can handle as many as 400 entries
before it must be dumped. The information in the table can be retrieved in
either of two ways. The normal mode of retrieval is to run an edit and
punch program that edits each log table entry, punches the edited entry on
a card, and reinitialize s the table so that it is ready to receive up to 400
new entries. An SPS listing of this edit and punch program is included as
Appendix C. The second mode of retrieval is one that is not normally used,
but rather is available so as to protect programs stored on disk by insuring
that only 400 entries are made in the table. This routine is part of the
Autolog program and with a minimum of operator attention will automatically
dump the table to cards and initialize the table for 400 new entries. The
system is designed in such a way as to prohibit running of a program if the
log table is full.

o
227

An example of the output from the edit and punch routine is shown in
Figure 5. The output from the edit and punch routine can now be used for
any type of analysis desired. Figure 6 shows the output from one analysis
program. This particular program condenses the output into a daily listing'
for each month.

Code No.

Machine Date

11176315
11177211
21109391
11177211
11177211
11111211
11177211
11171103
11111103
11177311
11174316
21109391
21109391
11177311
11176315
11112308
11174316
11177211
11171311
11117211
11177211
11107393
11101393
21109391
11177211
21176719
11177211
21109391
11177211
11174316
11176344
11107393
11177211
12177001
13117002
21109391
'21109391
1117,7311
11176344
11111211
1117'6313
1311-7002

1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A

03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03

31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
311

31
31
31
31

Time On

65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65

1350
1423
1425
1426
1427
1430
1431
1432
1434
1436
1437
1449
1451
1500
1501
1507
1513
1517
1519
1525
1528
1530
1533
1536
1537
1539
1540
1542
1543
1548
1552
1555
1558
1601
1605
1606
1609
1611
1616
1620
1630
1641

279
245
406
573
552
430
412
393
100
392
069
348
485
098
027
079
407
107
564
331
218
522
260
218
449
180
228
246
422
029
206
284
556
303
450
281
516
110
064
238
491
576

Time Off

1423
1425
1426
1427
1430
1431
1432
1433
1436
1436
1449·
1457
1459
1500
1506
1513
1516
1518
1525
1521
1530
1533
1535
1531
1539
1539
1542
1543
1546
1552
1555
1558
1559
1605
1606
1609
1610
1612
1619
1622
1635
1642

130
265
469
409
330
266
249
588
282
558
238
381
584
510
564
287
288
292
324
173
412
094
160
345
034
565
140
311
066
094
111
251
431
286
021
410
5·84
046
447
312
119
591

Net Time

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

32
02
01
00
02
00
00
01
02
00
12
08
02
00
05
06
02
01
05
01
02
02
01
01
01
00
01
01
02
04
02
02
00
03
00
03
01
00
03
02
04
01

451
020
063
436
378
436
437
195
182
166
169
033
099
412
537
208
481
185
360
442
134
172
500
067
185
385
512
065
244
065
565
513
475
583
111
129
068
536
383
014
228
015

Programmer

CONNER, T
DEFEO,BRENT
MORGAN
JANT
DEFEO,BRENT
HAUN
ZIMMERMAN
STOLL DAVID R.
STOLL DAVID R.
FRANTZ t L. I •
UHLER, ANDREW S
MORGAN
MORGAN
PRIESTER,PL
PANCZYSZYN,FRANK
RODNEY,P.F.
UHLER, ANDREW S
JANT
1FRANTZ t L. I •
WARNER
DEFEO,BRENT
DEFEO,BRENT
DEFEO.BRENT
MORGAN
JANT
WEBER G. L.
GELLER
MORGAN
CANTONI.JIM
UHLER, ANDREW S
STIDFOLE,R
DEFEO,BRENT
WARNER
GATSKI,R.L.
FRANTZ, L. I •
MORGAN
MORGAN
BERRIERJV 3-31-65
SMITH, DAVID F.
CANTONI,JIM
JOHN COX
FRANTZ, L. I •
(~~
~,~~.
.

Figure 5

. 228

t.

C

I'

we

I

AUTOLOG DAILY TIME REPORT
03 MONTH 1965

DAY
1
2
3
4
5
6
7
8

9
10
11
12
13
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
TOTAL

NO OF '
ENTRI'ES
110
28
105
107
64
38
45
105
142
142
206
227
152
198
68
24
216
166
120
127
233
204
151
204
149
65
27
124
122
95
3,764

FIGURE 6

o

229

TOTAL TIME
HRS MIN SEC

10

58
26
24
58
50
52
59
37
58
38
6
43
30

45
0
27
38
22
51
17
49
59
58
25
27
22
24
18
32
58
55
21
16
25
31
44
34
5
37
57
21
48
58

301

55

16

9

9

11
7
5
3
1

16
20
21
57
25
46

3

6
12
20
,16
17
4

12
12
6
12
14
7

11
16
9

11
13
12
6
1

8
9

37

7
37
42
30
59
56
39
41
37

Autolog from a Users Standpoint
~..../

In writing the Autolog modifications for the Monitor I System an effort
was made to minimize the changes in the 'op~rating proeedure of the Monitor
I System. It was assumed that fewer operating errors would result if the
deviation from normal Monitor operation was small. The ,only changetnade
in the operating procedure was one that will help avoid tonfusion when uSing_,
the multi-processing feature of Monitor. This change is not critical to the
operation of the Autolog and could be easily deleted from the System.
To affect the use of the Autolog the user must simply fill in certain
columns of the Monitor Job Card with the proper information.. The twenty ...
eight columns of the JOB card normally used for comments, have been taken

*'

,:f JOB

lll7700lE. F.STAIAN'O ..... TEST
Eight
Twenty Digit
Digit
Programmers
Nume ric Name Field
Job
Code

COLUMN:
31

40

60

SAMPLE JOB CARD
over by the Autolog routine. These twenty eight columns, are divided into
two fields. (See sample JOB card). The first of these fietds t which must
contain only numeric information, is eight digits long. These eight digits are
stored as part of the log record and can be used for charge ~ades, job elas sification, student numbers, etc. The second field, which is twenty digits long,
long, can contain either alphabetic or numeric information; although the first
character in the field must be alphabetic. This field should contain the programmer I s name plus any auxiliary information the prograMther wishe s to
record.
.

c

l+m;;711'::U''PF''W''lp,::rww,Wti.ffel,np,z.

*._x.

*.

at

[)

II

[

1" .

tile

Both of the two fields mentioned above must be filled in properly. If
either of these two fields is improperly coded or left blank the job is not
processed, the operator is informed of the error and the supervisor goes
into a JOB card search. The above information is all that is required for
the Autolog when used iIi. conjunction with the digital clock.
The change made in the operating procedure of the Monitor I System
is designed to solve the pr oblem of relating which answer s belong to which
program. Anyone who has used the multi-processing feature of the Monitor
System has probably experienced the above program-answer puzzle.
This problem is easily solved by punching a header card and a trailer
card for each program. As soon as the Monitor type s the JOB card, the
information that was punched in the programmer's name field is punched on
a card. After the job has been completed and before the END OF JOB me ssage is typed, two more cards are punched behind the output from the job.
The first of these two cards will cause a page skip when the cards are listed
on the IBM 407. The second card is a blank that makes it unnecessary to
use the non-process run out button to get all of the output from a program.
The above modification has greatly simplified the problem of multiprocessing with Monitor. The operator does not have to remove each job
as it is completed and is thus free to prepare jobs for stacking and to watch
for check stops caused by undefined variables in Fortran II programs.
Since the programmer's name appearing on the job card is typed by the
monitor system, the problem of associating error listings with the appropriate program is non-existant.

Incorporation of the Autolog Program into the Monitor I System
The Autolog Program is made up of three principal parts. The first
part of the program is executed through a set of interrupt instructions
placed in the JOB CARD PROCESSOR routine in the Monitor I Program. The
second part of the system is the log table dump routine which is automatically
called into action when the job table is full. The third part of the program is
executed through a set of interrupt instructions placed in the END OF JOB
PROCESSOR routine in the Monitor I program.

o

The entire Autolog program requires 32 sectors of storage on the
disk. Flow chart #1 in Appendix A shows the various sections of the Autolog
program and their locations in disk storage. The second block in the flow
chart indicates the location of the sector that contains the disk control field
for the current log table entry and the automatic table dump routine are
common program segments, i. e., they are in core with the JOB PROCESSOR
patch and the END OF JOB PROCESSOR patch.

231

The process of automatic logging is perhaps best explained by following through the processing of a Monitor Job.
As soon as a JOB card is sensed by the Monitor Control Record
Analyzer routine control is passed to the JOB CARD PROCESSOR routine
in Monitor. This routine analyzes the information contained on the JOB
CARD and types this information with the aid of the TYPE A MONITOR
CONTROL CARD routine. After the JOB card has been typed and before
control is transferred from the JOB CARD PROCESSOR routine a set of
patch instructions, inserted in tht's routine, reads in the Autolog program
from disk storage and branche s to the beginning of the program. This section of the Autolog routine fir st checks the appropriate Autolog fields read
from the JOB card and then depen,~iing upon the validity of these fields either
continues the logging operation or informs the operator of the presence of
an error in the field or fields. Should either or both of the fields be improperly coded the Autolog routine sends the Monitor into a JOB card search.
The program containing the improper card is not processed.
Assuming that the JOB card is properly filled out, the Autolog next
decides whether or not the previous job processed ended through the END
OF 'JOB routine. This checking feature was necessary to account for the
cases when Monitor is destroyed in core and a cold start is required. Each
time a program ends in this diba'str.QuS fashion an identifying record is
placed in the table.
Using the information punched on the JOB card in columns 33 thru 60,
the Autolog program reads the digital clock and stores on disk a JOB begun
entry. This entry is made in the sector specified by the current log table
entry disk control field. Upon completion of this task the Autolog executes
the replaced Monitor instructions and transfers control back to the JOB
PROCESSOR routine in Monitor.
No further interrupts are encountered until the job has been completed and Monitor branches to the END OF JOB PROCESSOR. At this
point the second interrupt occurs and the second section of the Autolog program is read into core. After checking several indicators, the log record
that was started back in the JOB PROCESSOR routine is read back into core.
At this point the clock is interrogated again and the reading is placed in the
log record which is in turn written back into the log,. table. . The current log
table entry disk control field sector address is then incremented by one and
tested for size. If the table is full, control is transferred to the table dump
routine. If the table is not full the replaced Monitor instructions are executed
and control is returned to Monitor.
The automatic table dump routine does not edit the log table entries
as they are punched on cards. This routine dumps the table 'exactly as it is
stored on the disk. A separate program must be used to edit this output.

232

C

Mdt

c:
----.....--,

%NT616Itu_r

ENr6~

7711

7"011 "'4; UN
A',eo~1J ,AI

r"l

F;""'IN

~IF'

~OC

EAlr~Y'

Fo~

TN'S .roB

EJ(I't:.vrL

R"~ACIP

"',,"',rD 1ft

rAJ.,r~UC1IDiJ

Figure 7

o

233

rAI~".

._" .r1

m?

Should the above job have ended abnormally, the log reto:td would
have been co:mpleted by the JOB PROCESSOR interru.pt plrogr.am.
For further details of the Autolog program the reader is referred to
Appendix A which contains flow charts and BPS listings of theprograrn.

Special Features of the Autolog System
Operation without the digital clock.
The Autolog Program can b'e used
without a digital clock in either of two ways. The first way requires that the
three Read Numeric Paper Tape instructions, used for reading the clock, be
changed to Read Numeric Typewriter. This would require the operator to
enter the time from the typewriter at the beginning and end of each job. This
has the obvious disadvantage of slowing down the processing of programs
while it has the advantage of forcing each user to log on and off the machine;,
A second way to utilize the Autolog Program without a digital clock is
to NOP the Read Numeric Paper Tape instructions and log only the programmer's name and the job code. This would provide a record of who used
the machine and for what job but would not give any information concerning the
amount of time used. This change would not increase the time necessary for
logging and in addition would not require any operator intervention.
\

Compatability.
The Autolog Program. is compatible with FORGO-D.
Certain features of FORGO-D are undesirable for automatic logging, however,
and a further modification has been made to Monitor and FORGO which elirninates these disadvantages. These changes put FORGO on the same level as
Fortran II, SPS II and the DUP routines. The double comment card has been
eliminated in favor of a :f: f FORG control card. This card can be processed
by existing Monitor Subroutines and results in a far simpler modification than
FORGO-D. All halts have been removed from FORGO to allow for multiprocessing without operator intervention. This modification fbI' FORGO can
be used with or without the Autolog program.

234

me

.tt

rirt'trtrrn±'

PPAD

523 c

Rev. 2/65
Rev. 4/65

o
FORTRAN II INCR.EMEN'.ML PLO'l'l'ER SUBROUTINE
(DFIPS)

Pablo Larrea

Princeton-Pennsylvania Accelerator
Princeton University, Princeton, New Jersey

July 6, 1964

AEC Contract No. AT(30-1 )-21 37

o
235

---------------..--_..

_------

PPAD 523 C
Rev. 2/65
Rev. 4/65
FORTRAN II INCREMENTAL PLOTTER SUBROUTINE

(DFIPS)
Introduction
DFIPS

is a general purpose routine for use in FORTRAN II pro-

grams for an IBM 1620 disk system with a Calcomp 565 Plotter.

Its main

function is to provide with a single routine and as few FORTRAN statements as possible a complete drawing.
Functions of Subroutine
The DFIPS subroutine will accept one pair of arrays at a time
several of which can be included in one drawing.

The first set of arrays--

for a drawing will have scaling performed on it, or it will give the
scaling information; also the axes will be labelled as well as the drawing title will be drawn. Other sets of arrays will be superimposed on
the same axes allowing 1/2" over the edges.
Subroutine Calls
There are 3 general types of calls to DFIPS, each of them accomplishes a specific task.

The first type starts a new drawing with,

its labeling and scaling and draws the first points or curve.

The

second type superimposes on the axes drawn by the first call additignal
points or curves.

The third type is for any additional labeling

beyond what is normally obtained by call type 1.

nece~sary

Calls type 1 and 3

have at several places optional arguments which should be included only
if they are necessary, since not all arguments have to be present at all
times.
General Call (Type 1)
CALL DFIPS (X,Y,N j M,SX,XMIN,DELTX,YMIN,DELTY,Rl,R2,R3)-is the
general call which starts a new drawing.

The first two-arguments are

the names of floating point FORTRAN arrays.

The successive

el~ments

of

which contain the abscissas and ordinates respectively of the data points

( '\\,.1
,

236

"!!II,.,n,,!:'! t ,..,:E""'?,.1 I

s ..

St7

$

PPAD

523 c

Rev. 2/65
Rev. 4/65
The third argument (N) is a FORTRAN integ~r or integer

to be plotted.

variable which specifies the number of points to be plotted.

The fourth

argument (M) is a FORTRAN integer or integer variable whose 2 low order
digits take the following meaning:
low order digit (units)
if -1 draw line connecting points without drawing
markers at the points

o

draw line connecting points and also mark the points

1 only draw marks without connecting the points
If the units position had an 0 orl then the tens position
will be interrogated to determine which marker is to be used for the
point according to the following:

o=

dot

I = octagon
2 = plus sign

3 = triangle
4 = upside down triangle
5 = square
6 = diamond
7 = asterisk
8 = four pointed star
9 = star
The high order digit (

thousands position) will take a

meaning if the line is to be drawn (low order digit 0 or -1) and it will
be.:

if 1 draw dashed lines connecting thepointsj if any other number

draw full line.
Examples
If M = 30 the points will have triangles around them and be

o

connected by a solid line.

237

PPAD 523 c
Rev. 2/65
Rev. 4/65
If M =

-lOOl~

the points will be connected by a dashed line

and no marker drawn.
If M = 1001- the points will be marked by a dot and no line
will connect them.

(NOTE:

When a number is made negative the - sign

goes with the low order digit.)
The next argument (SX) refers to the length of the X axis in
inches.

The Y axis is always fixed at 9 inches; and the X axis at

whatever length is indicated by this argument which must be in floating
point form ahd cannot exceed 99. inches.

If it is not an integer

number. of inches its value will be chopped to integer.

If it is desired

to pre-select the scale, the next 4 arguments are entered; otherwise they
are not included.

The first of them (XMIN) represents the lowest value

that will be printed on the X axis; the next is (DELTX) the number of
units per inch along the X axis; the others are Y axis equivalents of
them.
200.

(NOTE:

If XMIN is some odd number such as 5121.3562 and DELTX

The values on the scale will represent 5121.3, 5321.3, etc., so

care must be taken in selecting values of XMIN and YMIN, and not just
the lowest values in the arrays.)
The last 3 sets of arguments (Rl, R2 and R3) provide the
drawing title, X axis and Y axis labels respectively.
Each of them can haVe from 1 to 11 arguments.

They constitute

essentially what would be found normally after a PRINT statement; that
is a reference to

a: 'FORMAT statement number followed by a' list of elements

(if necessa.ry) each of which is separated by a connna..

In order to iden-

tify the FORMAT statement number it must be preceeded by a $ (dollar sign);
so the indicator character ($) can be thought of as representing an
imaginary WRrTE ON PLOTTER type statement.

238

rr:

tr

tt

_ r • zmr

PPAD

523

Rev. 2/65
Rev. 4/65

There are some important restrictions imposed by the compiler
on this part
a)

Maximum length of 80 characters of output.

b)

FORMAT statement must have preceeded in the program its
use.

c)

No DO loops implied or otherwise allowed; but if (A(I),
1=1,5) is desired it can be written as A(l), A(2), A(3),
A(4), A(5) without any problem.

d)

No carriage returns(/) can be given in the FORMAT statement; but the slash can be valid in a Hollerith string.

Note also that as written the program can handle only up to 11
arguments (a FORMAT statement number and 10 items on the list).
On writing a line all leading and trailing blanks are eliminated
for speed.

TYPE 2 CALL
CALL DFIPS (X, Y, N, M)
This call is used when it is desired to fit other sets of data
points in the same drawing.

No scaling will be performed for these; they

will ohly be fit on the same set of axes . . A general call must have preceded this statement.

If a point falls more than 1/2

inch outside of

the limits of the drawing, a card will be punched containing the identification for the point, its coordinates and the message "out of range".
In this call the X and Y have the same meaning as on the previous case;
the N will contain the number of points; and M has the same meaning as
before.

TYPE 3.CALL
CALL DFIPS (X, Y, N, HI)

o

This call is used when it is desired to add another line of
writing at a specific point.

It must be preceded by a general call.

239

'ftr

C

I

"~.

I

PPAD 523 c
Rev. 2/65
Rev. 4/65
The. X and Yare floating point representation of the location where this
title is to appear.

o

If they are not given the data will be written where

the pen is (at the end of a line to identify it).

This line of data

will normally be written in letters .18 inch high (size 3 since all sizes
are multiples of .06) and oriented parallel to the X axis.
N if present can modify both of these.

The element

Its value will indicate size

number (if 1 letters will be .06 inches high, if 5 then .3 inches etc.),
and its sign orientation; positive
parallel to Y axis.

Note:

=

parallel to X axis, negative =

Only the last digit of size number will be

used so maximum size possible is .54 inches.
being the data to be written.

The last set of arguments

For an explanation see Rl, R2 and R3 ex-

planation in the general call.
RESULTS

The results will be a drawing which will have the axes drawn
with tick marks of .1 inches in length every inch in each of the axes.
At each tick mark will be the value on the scale at that point.

If the

values are between 1.0000 and 999.9999 no factoring will be performed on
them; but otherwise they will have a multiplication factor ~ssociated
with them. The numbers will consist of up to 4 decimal places with the
trailing zeroes deleted for speed and neatness.

These numbers indicating

scale will be .06 inches in height and .04 inches in width with .02 inch
separation between numbers.

The units per inch used on the scale will

be an integer or an integer times an appropriate power of ten (only 1,
2,4,5, & 8 are used, example .02 unitS/inch or 5000 units/inch) such
that all the points in the first, array are included in the drawing or as
given by XMIN, DELTX, YMIN, DELTY.

In the scaling process both for the

X and Y axes their respective maximum and minimum values are obtained.
Because only 4 places are output after the decimal point on the scales,
the points should differ by at least 1 in their fourth most significant
place.

(Example:

if X max

= .00324658

X min should be ~ .00324558 so

that the scales show correct values.) The labels for the axes are with
letters .18 inches high .12 inches wide with a space .06 inches wide

240

o

523 c
Rev. 2/65
Rev. 4/65
PPAD

o

between letters.
axes.

They start .6 inches away from the intersection of the

The drawing title will be below the X axis label in letters .24

inches high .16 inches wide and .08 inches apart.

These dimensions are

important to know the number of characters that fit in a particular size
axis (always I" allowance should be made in case scaling is performed so
the scaling factor has space to go).
ERROR MESSAGES
Non Fatal:
If a point falls outside the normal drawing area (allowing 1/2
inch overlap) a card will.bepunched containing all information on the
point
Fatal:
These are typed as ERROR DFIPS I meaning
I

=0

scaling is to be performed on a type 1 call and number
of points on array (N) is less than 2

I = 1 scaling is to be performed on a type 1 call and on one
of the axes its maximum and minimum values are equal
I

=2

line to be drawn with zero points on it

I

3 wrong number of parameters in a call

I

4 on call type 1 the length specified for X axis is > 99
inch~s

or < 1. inch

On all of these

w.ill halt and if start is pressed

progr~

it will return to main program.
I=5 on call type 3 the size of character to be drawn has been
specified as O.
title or

b)

Options available:

a)

Pressing start will neglect the

Press insert, type 42 R-S will draw it size 3 with

orientation parallel to X axis.

o
241

!'PAD

523 c

Rev.

4/65

Rev. 2/65

c

GENfRAL PLOT PROGRAM

(

C

DIMENSION XCIOO),Y(lOC),TITLE(lOt.XL(lO).VLIIOt
FOR~AT
tE14.7.rI4.7,Il,Il.IS,
. 1 0 FOR rv1 A T (1 O~.4 )
11 FORMAT C4f.14.7)
i f\'=~
2 REAn 9,Xp.YP.ICALL.JOP,~
ICALL=JCALL+l
GO TO (3,4.5,6,7),rCALL
9

3

~\

( N+ 1 ) =XP

YCN+] )=YP
N=N+l
GO TO 2
4 READ 11,SX

READ 10,TITLE.XL,YL
IF (lOP) 41.42,41
41 READ 11,XMI~tDELTX,YMIN.DELTV
CALL DFIPS(XtY,N,~,SX.XMIN,DELTX,Y~IN,DF.LTY,SlO,TITLE(l).TITLE(2),
ITITLE(3),TrTLE(4),TITLE(5),TJTLEC6),TITLF(7).TITLE(8),TITLE(9),
2TITL[(ln),$10.XL(I).XL(2),XL(3),XL(4"XL(5),XL'6).XL(7).XLCS),
: XL ( q ) ,X L ( 10 ) ,$10, YL ( 1 ) ,YL ( 2 ) , YL ( 3 ) , YL ( 4) • YL ( 5 ) ,y L ( 6 ) • YL ( 1 ) , YL ( 8 )
4.YLCQ) ,YL( 10»
GO TO 1
42 CALL DFIPS(X,V,N,M,SX,
510,TJTLE(1),TITLE(2),
:TTTLr(3),TITLE(4),TITLE(5',TITLEC6).TITLEC7),TtTLE(8).TITL(C9),
2TiTLECIO),$10.XL(1),XL(2).XL(3),XL(4).XL(S"XL(6),XL(1),XL(8).
3X L ( 9 ) ,XL ( 1 a) ,$1 (,), YL ( 1 ) ,YL ( 2 ) ,y L ( 3) • YL (4) • YL ( 5 , ,y L ( 6 ) ,YL ( 1 ) ,YL ( 8 )
4,YLCQ) ,YL( 1"»
GO TO 1
5 CALL DFIPS(X,V,N.M)
(,0 TO !

RFAO 10.XL
IF (YaP) 61,62,61
61 PEAD 11.XP,YP
CALL DFIPS(XP,Vp,M,s]n,XL(1),XL(2).XL(3).XL(4).XLCS),XlC6).XL(1),
1XLCS) ,XLCQ) .XL( 11"»
6

GO TO 1

62

C~LL DFIPS(
M,$10,XLCl),XL(2),XL(3),XLC4),XLCS).XLC6),XLC1),
lXL(8) ,Xl(9) .Xl(lO»

GO TO 1

... CALL EXIT
END
0.ncnn0~0E-q~

r.anr~0nnE-99

2.0nC0nnn~-n~

1.9866Q32E-Ol

4.o0ronOOE-n~

3.8941834E-Ol

6.nnoonn~E-~1

5.6464247F-Ol

q.C~00n00E~01

7.17356nQE-Ol

1.r.nnn~C0E+00 8.4141n98E-Cl
1.2C00000E+C n Q.32039nSE-Ol
1.4nronOOF+O~ 9.8544Q73f-Ol
1.6noconnE+no 9.99S7360E-Ol

111
211
311

411
511
611

111
811

91r"

1.8~00000E+on

9.13~4763E-Cl

10lY

2.0nOO~COE+CO

9.092Q742E-Ol
8.084Q64"E-Ol

1 111

2.4~~n0n~F+n" 6.7546~lAF-Ol

]311
1411

2.2000nnrF+~~
2.6~n~nnnE+~n

~.1550137F-Ol

2.n00~n~0F+OO
3.~~.orO~E+n~·

3.34Q8815F-Ol
1.41120nlE-Ol

1211
1511
1611

,""i"'jIl",n!!!IN"

7

r

t t r

"yt

trS'

#.t

1'"

ttnr:t

_

h

t

'

•

Ii

PPAD 523 c
Rev. 2/65
Rev. 4/65

o

3.2~~n~~r~+0n~5.837414nE-02

1 711

3.4('~0~~~~+r~-2.55~4110E-~1

1B1 1

+ r. 0 - 4. ,42 C; 2044 E- () 1

1011

3.u0~~r~~E+0~-6.1185789E-Ol

4.,2,:; C~'~' ~ r. f. + t: n - 8. 71 ') 7 5 77 r - 01

20'11
2111
2211

4.4~l0~0~E+~n-Q.516~2n7E-01

2311

4.6:"~0~~nF+~~-q.q~691rrE-rl

2411
2511
2611
2711
2A11
?Q11
3011

3•

f... (),

C} r~ ,

:" E

4.~O'00nO~+0~-7.568024QE-Ol

4. 8 ,~ r f'. (': ~ f'\ ~ + n r" -

q • q

6 1646" F. -

~

1

~.~n~~~nnF+0~-q.5892427~-Ol
5.2n0~~nnF+n~-~.834~46~E-Ol

5.4nrn~~n~+~n-7.727644RF-Ol

,.., • 6 f"\

(" ~

r ') 1'\ F + f' n - () • : 1 ? 6 6 6 "'J, r. - (') 1

~.R0~~~nnF+~n-4.64An2'7f-01

10-1001
7. ("
nr~

,\ '!.II NC

NO. 1

X
F(

n • '" \ r, ('If"

x,
0 Q

1. r) n("1 0 I" (" f + () 0

112

2.r0nn~n0r-01

Q.80nA6~7E-nl

212

4.C0r100rF-01
6.n n oo n onF-Ol

o.21r60qQf-~1

9.~0n0~nnF-1"1

6.q67n671F-01

I.6~00000F+~n-2.91qQ52nF-n2

312
412
512
612
712
812
Q12

1.8000~OOF+~n-?2720?~nE-Ol

1012

J

0. (' E -

8.25~3561F-Ol

1.C0°8nOnF+~~

5.4a3n23r~-rl

1.2nn0nrn~+n0

3.62'577~f-Ol

1.4100~on~+n~

1.6906714[-0]

2.0"~0~0rr+nn-4.1614~83E-Ol

1 11?

2.20r~~~0F+0n-5.RA5C]11F-Ol

1212

~.4~0~rnnF+r~-7.~7~Q~71F-n1

1312

i.6n(onOnr+0n-8.~6PAR75E-Ol

]412
1512
1612
171?

2.n~n0nn~r+0n-G.42~2?'4[-Ol
3.rnnn~n0~+~~-q.890c24oF-nl

3.2Jl"nnn~~+0n-9.q82~477F-~1
~ I. {) n

n !" F + 0 ~ -

• 6 (? 7 ,., R 1 ~ F - (" I

IP.12

3.600~~n!"r+0n-8.~675A41~-~1

lqI2

3.er~n~O~F+on-7.Q~?6771E-n1

201?

4.nO~0nn~f+~~-6.53A4362f-nl

2112
2212
2312
2412
2512
2612
2712

3• 4

~

4 .... ~ (" ~ n n "F + ~ ~ - 4 • q n 2 6 ') ~ 2 E-

n1

4.40~nnOOr+nn~'.073~287E-Ol
4.600n~n"'F+~n-l.121~252E-nl

4.8 n (Cl"nCF+nn A.74Q8geoF-r2
5.nn0~1"~~F+l'\r

4.68~1667F.-Ol

5.4~~nnonF~"~

&.346Q2A7F-Ol
7.7556587E-rl
8.8551951E-Cl

5.6f'\rnnnnf+"~
5.8~~n0nrF+0n

~ 0
!

2.B3~6218F-(')1

~.2n~~nO~f+~~

2R];?

2CJ12
301?
20 lOOr)
30

-1

C0S1NE
n.~LrOOO~F-9Q

o.o~nO~~CE-~~

~ • t" ('\ ~", !"H' ~ ~ - ~'. "

1 • 72 n ~ 2 ~~ F- " 2

4.~~rrrnnF-~~

4.~164~76F-n2

6.D~~I"H~~r,=-~1.

6.126C)t)42F.-~2

A.~~~"non~-n~-'6.0n?4~R~E-~Z
1.~~~~~~~F+~~ 6.38412~5E-nz

116
216

316
41 (:
516

616

~-'>

}' c

\. .

?,

_

'",",=.-~-~.-~"

'

,

'

i

t

'

·

,

,

~

___ .,_•. ______

"

"

.

_

.

_

~

.

__

~

.

_

.

~

_

__ ., •••.

-----

--~.~--

.. ---

"-"

..-.--..

--~,---.-

..

~~.

WAD 523 c

.<~

Rev. 2/65
Rev • 4/65

'"
.

-....

'.

1.2 (')oonOCE +00· 4.C)81395C)E-02
1 •.4 0. (' () " () () f + " (') 2.6712890E-02

716
816 1'\
916 V

i~6bnOOOOF+OO-5.2156232E-03
1~~0ncnnCF+0n-4.6118163E-02

1016

2.(')')OonOOF+00-9. 6133 782E-02
2.2nnn n nnF+OO-l.545041AF-01

1116
1216
1316
1416
1516
1616
1716
1816
1916

?4~~~~nOF+OO-2.1757?76F-nl

2 ~6lj C('I (' () (' F + n '" -

2 • 7 4 2 1 6 7 7 F- () 1

2.e~0n~n~F+~n-2.9535.5q8f-Ol

3 .• 0" 0 0" n" F + (" 0 - 2 • n 9 A7 711 Q E- 01
3,.,2 JO()" nr.r- +00 1.12Rl171E-C)1.
3.4': (. Cr':') n ~ + ':" ~ 3.?q~4'5C;>f-nl
3.600rrOCF+('r,. 3.A915125F-Ol
3.9C0nnr.f"r+00 3.71g5877E-Ol
4 • ~ 0 C(I (' (') r c + 01'1 3.16'32622E-Ol
4 ..... r.()Cn()()F+~" 2. 40ql.. 434f-O 1
4. 4tl")f""~~F+0n 1.537C")238F.-0.1
4.6f'\r:'0.~r,rE+"() 5.77?8242F-()2
4.80(Or00.F+00-4.6950622f-02

2016

2116
2216
2316
2416
2516
2616
2716
2816
2916
3016

5.0~t0"n"~+~n-l.6aA5775r-Ol

5.2rn00nOF+0f"-2.83Q4344f-Ol
5.400000rF+00.-4.1301108F-Ol
5.6~Oar.00~+~~-5.36564q7r-r.l

5.800n00nf+00-6.2423665E-Ol
20

91

10

1

?2619715F-C3 1.C)392431F-02
...,

30<)9

i •

NO

DRA'hTNG

X

F(X)
0.br.tH")~('H~E-C")'"

7.8519816E-rq
6.'J528399E-Ol
6.2384?33E-01
5.686 0 125f-'''1
5.?72Q5C)QE-O]
4.C)74R714F-rll
9.32()3<)08E'-~1 4.7761872F.-Ol
~ • 0 5 4 I .. Q 7 ~ E- 0 1 4.6657470E-Ol
9'.995736 r. [' - '.'1 4.6373290E-01
O.7384763F-01 4.6893333E-OJ
9.0929742 F-O 1 4.8246883E-01
.8·.G84Q64(,F-C 1 5.0510184E-Ol
6. 7'5463 1 8 F- 0 1 5.3810003F.-01
5, .:,1 ,55013 7E -01 5.8;26687E-Ol
~.:.34.Q8e 1 C;E-O 1 6.4290585F-01
i •. 4 1,12 " OlE - f1 I 7.1958391E-01
-5.8374140r::-~~ 7.5704642F-Ol
-2. 555411 CE-:~l 6.7258438E..!01
-4.,4252n44F-OJ 6.0616860F.:-01
-6.l1C~7A(')E-nl 5.55:28613E-01
-7.5680249E-Ol 5.1747657f-01
-8.7'57577F-Ol '4.9Q71672E-01
1.9866932E-'11
'3.8 l)4 18'34 F- 0.1
5. (,46424 7F-01
7.173560<1F-Ol
8 • [.147" 9 RF -" 1.

-9.~16()207F-Ol

! . ~ ,;
.... i

i "

4.73~1797E-Ol

- 9.'j 36~ 1 0 C'F. -n 1 4.64C)1260E'-Ol
- c .n.) 16 '.6 r. F - (''1 4.6441587E-Ol
- 9.~'i,8 C") 242 7F -" 1 4.719Qo.AOE'-Ol

-8,.8, 3/.,5465F-O 1 4.880 0 1 C;8F-C''l
-7.7276448F-f'1 'S.13C;97n4E-Ol
-6.'126663F.-Ol :.499~848E-Ol

f'

~. .17"

~,. <'~'"~'244

'.

1?4
224
324
424
524
624
724
824
924
1024
1124
1224
1324
1424
1524
1624
'1724
1824
1924
2024
2124
2224
2324
2424
2524
2624
2724
28·24'
2924

Cj
Ij
~I

Jil'WIM!

'",,'g" "Mr:

o

h . ..,

=

_.

PPAD 523 c
Rev. 2/65
Rev. 4/65
3024

-4. 6,,60217E-(') 1 5.99(')7470E"-01
10

31

7.2458
:;r·~

AW I N(, NO.

2

X

Fex)
". n\J('f')"('H'''[-()O 1. ~()("00'H"F+00
1.q86no32F"-~1 R.'3425R45F.-Ol
'?.RC,4:;'R14F-01 7.1c)7?C;~5F-(,1l
:,.6464247F-01 6. 3912367 E' -(')1
7.1731)6 n oE-01 5.822 0 n45E-r:l
d • It 1 4 7 n q BF- 0 1 5.4~()4415F-Ol
Q.3203 Q(,)BF-()1 5.] 7587RClE-()1
0.r544q7~r-0]

5.n36642~r-rn

o.oc)57J60E-01
9.7384763F-01
C).('Ic2Q742F-nl
8.(,,849640F-Ol
f..,.754631AE-Ol
~ • 1 5 :J" 1 3 7 ~ - (" 1
:' • ?4 C') 8 R 1 c:; E- (" 1

5 • 0 n 1 (). 6 6 2 F. - C1
:,.(,)662'.. 72E-01
:·.237')787E-01
5.5294552[-01
5.Q6Q4990f-01

123
223
323
423
523
623
723
823
923
1023
1123
1223
1323
1423
1523
1623
1 723
1823
1923
2023
2123
2223
2323
2423
2523
2623
2123
2823
2923
3023

6.5(H~4766F-Ol

7.4Q()7C34E-Ol
8.76332(12E-01
-5.8J74140E-r,2 Q.!.48454()f-Ol
- 2 • 5 5 ~-4 1 ] r E- f) 1 7.q64Ar.')~4E-01
-4.4252044F-"1 6.C)32310 Q F.-01
-6.1~8578Qf-01 6.204n217E-Ol
-7.r;68(l24qF-OJ :,.6921C\98F-Ol
- 8 •./ 1 57577 F - 01 5.34'30913E-Ol
-q.5l60207::-,"1 5.1239955E-Ol
-9.036910nF-'jl 5.0158224f-01
-9.Q6:6460E-Ol. 5.0096~69E-01
-9.5A Q2427F.-"'1 5.1048427E'-Ol
-8.834546C;F-r.'1 5.3093026[-01
-7.7?76448F-nl 5.64r.907r;F-01
-6.3126663F-Ol 6.130205AE-01
-4.646C'217F-("!1 6.8.?77Q30F-Ol
1.4112n01E-~1

20
1.nOC00nnE-QQ
1.C)866932E-01
3 • 8 f) 4 1 8 3 4 E- C1
? • 64642 4 7 E- 0 '.
7.I73560QE-C!.
8 • 4 1 4 7 0 9 8 F- r:': '.
9. 32()3Q(18~-O'.
q.8r;44t:)7~F-'n_

q •

9 ,) 5 1 '3 6 () F - C' 1

9.138476~F-a1

9.("IQ2lJ742E-0.1
8.r.84Q64nF~n1

f->.
t

1

•

1

':.
~

I

•

:'1·

.
I

1

,

:1

~:I'

I ~',I

'I

7546'~18E-01

:>.1550137F-n1
3.3498815F.-nl
OI.4112('1!'11r-r.l
5.8374140F-Q2
-2.5354110E-Ol
- t ... l. 2 5 2 (' 44 E- a 1
-6.] 1857eQ=-'~1
.., .568024 0 E-'11

-

-d.71~7517F-"'1
-9.5160207E-~1

8.8622692F-01
7.616()186E-Ol
6.7007113E-Ol
6.0287978E-01
5.54111'36E-01
5.1916675E'-01
4.9120183E-01
4.8416481E'-Ol
4.8151646E-Ol
4.8141'+82E-Ol
5.0268120E-C1
5.284A253E-Ol
5.66714J6E"-01
6.2031671E-Ol
6.9396081E-01
1.940 o q75E-01
8.4574Q30E-Ol
7.3191039E-Ol
6.4823C)S5E-Ol
5.86Q418.1E-Ol
5.4273(')f'7E-t)1
5.12()4923E-Ol
4.t)257526F-Ol

91.0
125
225
325

245

425
525
625
125
825
()25
1025
1125
1225
1325
1425
1525
1625
117.5
1825
1925
2025
2125
2225
2325

c .

PPAD 523

Rev. 2/65
Rev. 4/65
-9.~369100E-01

-9.9616460E-Ol
-9.5892427E-01
- 8 • 8 31., 5 4 6 5 E- 0 1.
-7.7276448[-01
-6.3126663E-Ol
-~.6460217E-Ol

4.8289947E-Ol
4.8234229E-Ol
4.9086502E-Ol
5. 0 9 06 48 0 E- 0 1
5.3825210E-Ol
5.8062345E-Ol
6.3955906E-Ol

2425

2n
iU
2725
2825
2925
3025
20
20

71
1

,.nnn,rnOF+02 2.6179Q38E-03
~.0002n62F+02 2.3645834E-03
3.00C5997F+02 2.2572434E-03
3.0C09586E+02 2.296074~E-03
3.0011682E+O~ 2.52182n3E-03
3.nOI1756E+n~ 3.0679880E-03
3.0009624E+O~ 4.3922117E-03
3.0n05303F+0: 9.1486751E-03

188
288
,388
488
588
688
788
888
988
1088
1188
1288
1388
1488
1588
1688
1788
1888
1988
2088
2188
2288
2388
2488
2588
2688
2788
2888
2988
3088

2.9998958F+~2-5.29402~4E-02
2.9~qn897E+02-6.8819154E-O~

2. Q 981646E+02-1.866Q3AIE-03
2.0Q72n58F+02-2.R6~6181f-C3

2.9963547E+n2-2.4354C03E-03
?.9958443E+n2-2.2720aOlE-03
2.9Q60571E+O?-2.2174240E-03
2.Q976051F+n2-2.4247Q55E-03
3.0011939E+n2-2.5267930E-03
3.0041350E+02-2.3157491E-03
3.0056135E+02-2.2489761E-03
3.005Q938E+02-2.3354468E-03
3.cn55572F.+02-2.634054CF.-03
1.r0450q4F.+~?,-'.331425;E-03

3.00S0n14E+n?-5.1306444E-03
3.0011509E+O~-1.381256AE-02
2.~q9062aF+02

1.7697768E-02

2.o'6849rF+n~

~.5523~31F-03

3.4788n35E-03
2.Q926783E+02 2.7039513E-03
2.q~12456E+02 2.3705185E-03
2.0~08575F.+02 2.2619715E-03
2.99~6521E+02

11

320

-7.2587

DRAWING NO.

::3

X

F (X)

.2'5

EXTRA 'LABEL UP HERE
8.5
1.

.01

-.06
31

2

31

-3

Irs TIGHT IN HERE
6.6
3.0C(:t(,OOOE+02
,. (H''''2 n62F'+O ~
,? • n() 05 q 9 7 E+ 0 ~

1•
r.oCf')t')orH'E-99

6.6662084E-04
1.3330668E-03
3.0C09586E+()~ 1.9993611£-03
3.0011682E+0"'! 2.66562A6E-03
~.0011756F.+')2 3.3320276E-03
1.nu0C)624E+02 "3.9987172E-03
3.0('()5~03F'+02

4.66S841"F'-O~

2.n990~58F+(\2

;.333518SE-03

1,;;82-,

2

38

246

489
599
689
789
889
989

I.~

41

~

I,

r

1-

PPAD 523 c
Rev. 2/65
Rev. 4/65

losq

o

1189

128q
1389
1489
1589
16SQ

178q
1899

lQ8°
20P-(')
218 0
22A9
238CJ
2489
2589
268 Q

278q
2889
2989
3089
4()

o

155
255
355
455
555
655
755
855
(')55
10t;5
1155
1255
1355
1455
1555
1655
1755
1855
lQ55
2055
2155
2255
2355
2455
255';
2655
2755
2855
2 A ','I I ~,~ G

~10.

14-

X

F

(X)
:.rn000nOF-~q

~.~000~~nF-9q

1.QJ66932F-Ol

1.72n3253E-~2

3.8041834F-~1

4.~164576F-C?

5.646~247E-Cl
7.173560 0 [-01

6.126~q42F-C2
0.80.2458 0 [-02

9.4147rQA~-~'

~.?R41?5~F-n?

0.~2°J0r8E-nl

4.nR130~oE-02

0.r?44Q7~r-nl

?671~p0nF-~2

126
226
326
426
526
626
726
826
926
1()26
1126
1226
1326
1426
1526
1626
1726
1826
1926
2026
2126
2226
2326
2426
2526
2626
2726
2826
2926
3026

Q.Q95736 n E-01-S.2156212F-01
q.738476?F-01-4.61]816?E-~2

(:> •

rt 9 2 q 7 4 ? I=" -

0

1 - r. • 6 1 ~ 3 7 P 2 E- C 2

8.re40640F-01-1.5450408E-Cl
6.7546318F-Ol-2.1757276E-Ol
~.1?~n137[-Ol-2.7421677E-01
~.34~8815E-01-2.953550RE-Ol
:.4112COIF-01-2.09P77Q Q E-81

-5.837414CE-02 1.128117]F-01
-2.5j54110F.-01 ~.29~4"0E-01
-4.42~2044E-01

~.89151?5E-Ol

-6.1]8578°F-01 3.7]85B77E-Ol
-7.5t8n24n~-nl :.1632622E-O]
-8.fl~7577F-~1 2.40Q4434E-01
-9.J16C207E-Cl 1.5379238E- n l
-0.9J691r.nF-01 S.7728242E-02
_o.9616460F-01-4.69~0622E-02

-9.S8~2427E-nl-l.608577SE-Ol

-8.8345465E-01-2.8394344E-Ol
-7.7276448E-Ol-4.13r:l]nSE-Ol
-0.?126663E-Ol-5.36664Q7E-Ol
-4.6460217E-01-6.2423665E-Ol
20
'.00~nrOOF+r0

·}.8 n r6657E-01
~.2106090E-nl

8.2~3~561E-bl

6.9670671F-C'
~.403n230E-01

o

3.b235775E-Ol
1.6996714E-O~

-2.919952()E-'12
-~.2~20289F-nl

61

8.86226Q2E-Ol
7.6160786E-Ol
6.7007113E-01
6.0287978E-01
5.5411136[-01
5.1976675E-01
4.9720183E-01
4.8476487E-Ol
4.8157646E-Ol
4.8741482E-01

-4.16]4683F-rl 5.026~720E-Ol
-5.B850111E-Cl 5.2848253E-Ol
-7.17,0371:-01 5.6671416E-Ol
-q.5688875E-~1 6.2037671E-Ol
-~.4222234f-n1 6.9396087E-Ol

249

135
235
335
435
535
635
735
835
q35
1035
1135
1235
1335
1435
1535

PPAD 523 c
Rev. 2/65
Rev. 4/65
-0.8C09240~-~1

1635

~.q409Q75E-Ol

Q;

8 :. q t. 7 7 E - () ~ r~., . .. 7 '+ q 3 () F. - C 1
-S.667 0 81 0 E-01 7.'19103QE-01
-8. o 675841E-Ol 6.4823QA5E-Ol
-7.9J96771E-Ol 5.8694181E-01
-6~53G~362E-Ol 5.42730n7E-Ol
-4.9n26r82E-Cl ~.1204q23E-Ol
-3.0~33287E-0.1 4.9257526F-Ol
-1.'21~252E-al 4.828Q047F-Ol
a.~498980E-02 4.8234220E-01
2.8J66218[-01 4.9086502E-C1
4.6851667F-01 5.0906480E-01
6.34(9287F-nl 5.3825210E-01
7.7556587E-~1 5.8062345E-01
- '-) • q

8.8~51Q51E-Ol

1935
2035
2135
2235
2335
2435
2535
2635
2735
2835

2935
3035

6.3q550~6E-nl

20

80

1.CC:CCCGOE+Or 1.00('0",)00E+OO
9.8006657F-01 8.3425845(-01
~.2105C99E-01 7.1972565E-Ol

133
233
333

~.?533561E-~1

6.~91?367r-Ol

433

b.q67n571F-~1

5.822°~45E-Ol

5.lt(3n23~~-~ll

5.4301..41~t-~1

~.62~577~F-~~

5.17~A78qE-Ol

533
633
733
833

1.AQ06714r-0~

1 q () ') 2 r :~ -

5.0~6542?E-Cl

';. 0 '" 1 ~ 6 (, 2 ~ -

,.. 1

033

-2.272020qE-r~

5.J662472[-01

-4.161468?~-'1

~.237~287E-Ol

1033
1133
1233
1333
1433
1533
1633
1733
1833
1933

- 2•

~)

~ ~

-S.8~50111r-~1

5.5204552E-Cl
-7.3739371E-n1 5.Q6P.4QQOE-01
-8.568J875[-01 6.5~84766E-Ol
-9.4222234f-~1 7.4907034E-Ol
-~.899924qf-01

8.76'32~2E-01

-~.Q82~477F-01

G.448454°E-Ol
7.9646 0 34(-01
6.93?3]nqF-Ol
6.2040212E-Ol
5.692159AE-Ol
5.3430913E-Ol
?1239955E-Ol
5.0158224E-Ol
5.0096069E-01
5.1048427E-Ol
5.30Q,026E-Ol
5.6409075E-01

-9.667981QE-~1

-8.G675841F-01
-7. 0 096771[-01
-6.5364362E-~1

-4.0026082E-01
-3.0733287E-01
-~.1215252E-Cl
d.74~898CE-0.2

2.8366218E-81
4.6851667E-01
6.3469287r-C1
7.75~6587E-01

6.13~20~8E-nl

8.8551951E-~1

6.8277Q30E-01

'

2033
213'3

2233
2333
2433
2533
2633
2733
2833
2C)33
303'3
20
40

50
00

RESULTS
DRA\A.IIf ,G

DRA'tJING
DRA\v I NG
f)q ,1\ "'\' I NG
DR"".'; I NG
DR!!.''': I "JG

2 LINE
2 LINE
2 LINE
2 LINE
2 LINE
2 LINE

2 POINT
2 POINT
2 POINT
2 POINT
3 POINT
3 P'OI NT

1 X= 0.OOOCOOOE-9 0
2 X= 1.9866932E-Ol
16 X. 1.4112001E-Ol'
17 Xa-5.8374140E-02
1 Xa·O.Oo~~onOE-9q
17 X=-5.8374140E-O?

y=
y=

1.ooonOonE+OO OUT OF

RANO

8.3425845E-Ol OUT OF RAN

y= 8.7633202E-Ol
y= 9.4484549E-01
y.= 8 ., e6 2 2 692 r - 01
y= 8.4574930E-Ol

OUT
OUT
OUT
OUT

OF RANGE
OF RANGE
OF RANGE
OF RANGE

'

I

\1

il

\,1:

2'0

!~

PPAD

523 c

Rev. 2/65
Rev. 4/65

o

*:J:JOB
*:J:DUP
*DELETDFIPS
END OF JOB
**JOB
**SPS
*ASSEMBLE RELOCATABLE
*STORE RELOADABLE
*NAME OFIPS
END OF ASSEMBLY.
08460 CORE POSITIONS REQUIRED PLUS RELOCATION INCREMENT
00784 STATEMENTS PROCESSED
OK LOADED DFIPS

0171 105200T129999900000*

:f;:j:FORX

MAIN T4000" 04~60 LOADED
DFIPS T8060 ~8458 LOADED
ERROR DFIPS 5
42R'S

o

ERROR OF IPS
ERROR DFIPS
ERROR DF IPS
ERROR DFIPS
ERROR DFIPS
END OF JOB

0
2

4
4

1
251

PPAD

523 c

Rev. 2/65
Rev. 4/65

/

I
~•

-i

\

I

\

'~

/

I

,

-JC ~
~

~

\

l'
\

j

~

-)c

f

-lc

\

\.
it

•

I

/

f

I~

f

~

I

I

\

*

f

\

~

/

\

/

.

-)c

r--"'.

.X
LL :I

-----.----,----.--.. -_ . - r--' -.

-c-'--'--'r-

.-+----_r__-

c.e

1.0

3.0

><

DRAW I NC; NO ~

1

1
252

't.0

5.0

6.0

C-,
7.0

PPAD

n
<1J

•

•

523

C

Rev. 2/65
Rev. 4/65

0'
O&l

•

I

¥

--I

,'-

II

ctJ!
r~

;r

.c

-J

I
j
0

'D

-1I

I
I

i

I

I

i

(y
l!')

~

i

I

!

N
Ifj

.-------.
....-4

1,
I

I

Ii

0
~

X

i

1'0
.T"

'--'
~

I

~

I
!

I

X

H fo

..

~

~

it

\

A

-.......J

0

:r-

-~---r---

;j-

-1.2

-.8

-.'t

.'t

0.0

-- ----- --- r
.1

1. Z

><

DRAWING

NO~

2

253'
i..

V;U

¥

Fa,

\.,II.,t"-'

WAD:' 523~ C
Rev-. 2/flj
Rev.· 4165,

EXTRA - LABEL UP H:ERE

C)

j
I

I·

_~~~r-~---:---

~....i
!

---_,...----

_. -r· -299.5 .

aDO. 0

x

DRAWING

NO~

3

254

.....

or
lOC.S

PPAD

.T

523 C

Rev. 2/65
Rev. 4/65

.:'~

0
u
C"t

.......:

~

.-

.

('I

...

'

•
~

I

.~

CI)

:

o-w-----_-----r------,...-----.- ... --

- l -_ _ _ _

.'t

0.0

x
DRAW I NG

NO,~

y.

255

••

o

""!
Mrs. Joyce Fodor
Engineering Camp Lab
University of Wisconsin
Madison, Wisconsin

o
Planning and Running a Short-Term Workshop
on Computer Orientation and Program.ming

Many groups find themselves wishing to conduct Short-Term Computer Institutes
or Workshops of from 2 to 5 days, to satisfy the needs of a variety of different audiences. Typical situations are:
a) a College or University Computing Center running a special program for
interested faculty,
b) an industrial program running an in-house training program for engineers
and/or management,
c) sponsoring an advertised institute for outsiders, frequently with fees charged
for attendance.
Based on the experience gained from several such undert~ings, this paper will
discuss the problems of determining the goal to be aimed at, the depth of penetration that can be reasonably achieved in a given number of days, how to plan
the daily schedule, a typical graded set of problems, staffing considerations,
and above all the importance of hands -on experience by the participants.
There are many questions to consider before planning a workshop. First one
must consider what group the workshop is to be aimed at, and therefore wnat-goals
should be reached. If the group is composed of prospective programmers the
institute should provide a start at programming competence~ 'SuperVIsory personnel, on the other hand, though they may not become active programm:ers,
need to achieve a sufficient knowledge of FORTRAN to understand a complex
program written by a programmer, and also need to acquire an understanding
of situations where computers can be profitably used. Management people need
to know how and for what computers can be used in general comjl"any"·operations.
The program should also be aimed at either scientific or business oriented people.
The previous knowledge of the participants is an important consideration. If the
group has little or no background (no actual programming experience) they will
need a complete presentation of FORTRAN. If, however, they have written a
few programs they need only a review of the language. Size is also an important
consideration and is dependent upon the facilities available. With a 1620 Model
I
..... ..
and a 1620 Model IT with 1 diskdrive, a 407, and ~~.~el.1?unchea we have found ~§.
",.
is the maximum size that can be handled •. The 1J<}!tl~~c:k is usually the keypunChes.C
,-,--~~-..,.~

o

;.

~'~~

The duration of the workshop is of course a balance of many factors! the
amount of time the facilities and the instructional staff are available, the time
the participants can afford to spend, the time needed to achieve the competence
level established as the goal ,for the attending group_

256

Ii

f'i

For the purpose of this paper a specific group, size, duration, and situation
will be assumed. Comments will be made where appropriate indicating how the
planning discussed here should be modified if certain other factors existed. It
will be assumed here that the group for which this workshop will be run consists
of supervis?ry personnel with,ascienti~~c or~ngineering background. They are
mainly from"ouiC'o'ftown, and~ ha:;; ;;;Y' iit1i~p~evlous lmowiedgeofFORTRAN.
The facilities can be made available, and the group can make themselves available
for three days.
Now that the group has been selected, the content of the workshop will need
to be developed. Since the group knows little or no FORTRAN they will need to
have lectures on the following topics:
,___.. _ "_ _
, _ _. _ ._ _

~_~-rt'~""":'~""""'"'~--"

1. Introduction, general concepts, intelligence of a computer, flow chart

formulation of a problem,
2. Vocabulary of FORTRAN (excluding FORMAT and SUBROUTINE)
3. Examples of simple programs written in FORTRAN,
4. FORMAT,
5. Subroutines and Monitor operation.
Some lectures should also be devoted to theory. Since iteration underlies
almost every useful computer application, a formal presentation of iterative
techniques has been found very valuable. Its application in selected areas of
mathematics and engineering would follow and should be connected to one or
more problems. For the supervisory personnel a talk about some of the wider
areas of applications and the future of computers is very desirable.
The most valuable contribution of a workshop of this type is the experience
the participants get as they actua1lywrite and run their own programs. A group
such as this can be expected to finish probably three problems during the three
day period. The problems should be chosen so that the first is very simple and
can be successfully run die fir'at afternoon. Our experience has shown that this
gives the participants a needed push onward. The next problems should be carefully selected so they increase in difficulty with no large jumps. One of the most
common mistakes in planning an operation of this type is to 'make these problems
too complex. The first problem in fact should be of such extreme simplicity,
that there is no question, what should be done, only how to say it to the computer.
A set of problems suitable for this workshop i8 shown at the end. Each has
several parts, with optional parts starred, to allow the partiCipants to progress
at individual speeds.

257

o

Developing the schedul~ is the next step to be taken ..... The first items to flll
in are standard and include lunch at 12 each day and regular coffee breaks.
Since this group is from out of town there should be a social hou~,__~!1!tdlnner,
early in the session. This helps the group know each other and produces a
closer knit group. If the participants were local and knew each other, at least
a little, this social hour and dinner could well be later in the session so they
have more knowledge and background and the guest speaker can pitch his remarks at a somewhat higher level.
Monday morning opens with registration, followed by an official welcome
to get things started. The rest of the morning should be devoted to the first
three topics in FORTRAN. This is in preparation for getting their first
problem running the first afternoon. Due to the use of FORGO (a FORTRAN
allowing free format and having very powerful diagnostic comments both at
compile time and run time) the lecture' on FORMAT can be postponed until
a later day. The participants have enough to assimilate
in the first day
so if FORGO cannot be used it would be best to give the participants some
standard FORMAT statements to use so the discussion of FORMAT can still
be postponed. The schedule is shown allowing 11/2 hours for the introduction
and vocabulary of FORTRAN before the break and about the same amount of
time for examples and answering any questions.
The first afternoon the partiCipants will need a demonstration of the use of
the keypunches,lIslerand computers. If the facUitleSfendlllemselves to
open-shop operation, there is much advantage to letting the participants do
their own card handling and button pushing (under careful supervision) for
at least the first problem, so that they get a clear picture ofal! the steps
involved in the process. We prefer to maintain open-shop operation throughout the workshop, but some installations like to substitute in-out service later
on. Careful attention to procedural details during this demonstration can
anticipate and eliminate many questions that might arise when they start
using the facilities.
The remainder of the af~~~gon is devoted to their solution of problem 1.
Adjournriienf1s"I1"fiitele"fo""nave 5 assistants and
2:.3 lecturers constantly available for questions and assistance."T1ie powerful diagnostics that FORGO supplies at run time as' well as compile time allows
the participants to find many of their own errors. If it is not possible to use
FORGO the number of lab assistants should be doubled. The time allowed for
the completion of problems should also be increased.
AdV'~;g,p."';t.d.1eJribution "()f texts and notes to all registered participants is very
desirable. It allows the participants to do some advance preparation, and makes
clear the level of background and experience expected.

One thing we have learned from previous workshops is that it is important
to keep the m~~m.!tics level from b~coming too high so the participants do
not have to worry about ~derstaidf.ng··the"tlieory but can instead concentrate
on FORTRAN. In a recent workshop we tried a problem in Differential Equations
and found some of the participants were more confused by the mathematics than
the programming.

o

The workshop that has been planned in this paper has been aimed at a particular
group. If the workshop were being planned fo~ business oriented personnel, an
alternate list of possible problems is shown at the end. The topics of the theory
leotures would also of course be ohanged. Since business oriented personnel
are not as accustomed to analytical thinking as engineers, the problems should
progress at a slower pace. SiID:u1a~ion of a traffic problem is a very good topic
for a guest speaker and demon8t~ati~~N"on··tlie""'iii.chIne-·'6ut a'''Irttle deep for programming.

260

t

WW'~'

/""

if the workshop is planned as an in-house training program it is many times
desirable to use only part of each day as the lecture" or workshop session as
more time' is available between sessions for additional thinking and study.

-

'~,

"'""_/'

Actually I have said nothing about running the workshop. If it is carefully
planned the workshop will run itself.

,

•

261

o

c

SCHEDULE
l~

MONDAY Mornin«

FORTRAN Workshop

'IDESDAY Morning

WEDNESDAY Morning

8:00 Registration

8:00 Discussion of Problem

8:00 Discussion ot Problem 2

8:30 WelcCDe

8:25 Questions and Answers

8:25 Questions and Answers

8:4S

8: 45 Further FORTRAN: F01f1AT

8:45

10:lS
10:3,
12:00

FORTRAN

10:10

Break

Break

10:30 Iterative Techniques
11:30 Problem 2 Presentation

FORTRAN

Lunch

12:00

lunch

Value of Documentation

9:30 Workshop Problem J
11 :00 Fllrther FORTRAN: SUBROUTINES
12:00

lunch
--Guest Speaker--

N

m

N

MONDAY Afternoon

!OEDAY Afternoon

1 :30 Demonstration of use
ot the facilities

1 :30 Workshop Problem 2

2:00 Workshop Problem 1

4:00 Problem 3 Presentation

4:30 Adjourn

4:30 Adjourn

MONDAY Evening

TUESDAY Evening (optional)

6:00 Social Hour

7:00

7:00 Workshop finish Problem
2 or start Problem 3

Dinner
--Ques t

Speaker--

MOTE: Coftee served during workshop ses sions

WEDNESDAY Afternoon
1 :4, Workshop Problem 4
a preceding problem
modified to use subroutines
3:1$ Discussion of Problem 3
3:4S Summar.r ¢ Recapitulation
4:1S Presentation of certificates

A TEN YEAR BUDGET PROJECTION
( A Role for the Computer in Long-Range
Planning for Educational Institutions)

o

John A. Ferling
Preface
Since its founding in 1947, Claremont Men's College, an independent
four-year liberal arts college, has prepared several long-range plans for
its future. These plans, as well as recent applications for grants to the
Ford Foundation, have included ten-year budget projections. The computations necessary for the budget projections were carried out on a desk calculator.
The author of this paper has prepared a program for the IBM 1620
which carries out these computations in minutes rather than days. This
program has enabled the college to study the budgetary effects of changes
in items ranging from the expected inflation to percentage of tuition incomes for scholarships. With the help of the computer Claremont Men's College has explored the feasibility of several plans. Special consideration
was given to the question of optimal size. The program discussed in this
paper has been written for a specific college and hence changes will be
necessary before it can be used by another institution. S. Tickton1 has
discussed projections of this kind in great detail without using computers.
~chine

Requirements

The program is written in UTa Fortran for 8 20K 1620 and uses card
input and typewriter output. Special features are not required.
Information Required and Discussion of Program
(

The information to be supplied by the administration includes:
A.

Per year for the next ten years
1.
2.
3.
4.
5.
6.
7.

B.
9.
10.
11.
12.
13.

o

Number of students
Tuition charge
Allocations for scholarships as percentage of tuition income
Student-Faculty ratio
Percentage increase in administrative salaries
Percentage increase in average faculty salary
Total percentage increase in development office salaries
Total percentage increase plant maintenance salaries
Total percentage incre8se in business office and stUdent
welfare expenditures
Total percentage increase in library expenditures
Expected inflation
Expected gifts to college
Rate of return on endowment

1 Sidney G. Tickton, Long-Range Planning: ! ~ StUdY, pp.13B-16l, in
Financing Higher Education 1960-70, McGraw Hill, New York, 1959

263

B.

For first or present year

o

Salary total and non-salary total for
14.
15.
16.
17.
18.
19.
20.

Administration
Admission
Registrar
Instructional (excl. faculty salaries)
Dean of Students
Deve lopment
Plant Maintenance

and
21.
22.
23.
24.
25.
26.
27.
28.

Average Faculty Salary
Physical Education non-salaries
Miscellaneous
Certain Fringe Benefits (called "Insurance Fudge" in program)
Library (Total)
Business Office (Total)
Student Welfare (Total)
Initial Endowment

In addition to this information, estimates of the marginal cost per
additional student for certain salary and non-salary expenditures are needed.
These estimates are denoted by was (weight on growth salary) and WGNS (weight
on growth non-salary), respectively, and are expressed in percent. The weight
on growth for salary items in the sample projection given below is 50 percent.
The salary total for the admissions office for 8 student body of 1000 is
$30,000.00, i.e.,$30.00 per student. The addition of 50 students for the
second year would then increase the salary totll by $750.00 (50% of 50 times
$30.00). However, this amount is not allocated to the admissions office
since one would not employ a fraction of an admissions officer. These $750.00
are allocated to a fund called "General Administrative Growth Allowance". The
salary total of the admissions office is only increased by the percentage
increase in administrative salaries which is assumed to be 5% in this projection. This yields the $31,500.00 entry for the second year. Several
other salary items (Registrar, Instr. Non-Fac., Stud. Dean) are treated in
the same fashion. The resulting amount in "General Administrative Growth
Allowance" is also increased by 5 percent (percentage increase in administrative salaries) and is equal to $4,077.22 in the second year. The item
"Administration Salaries" (president and assistlnts) is assumed not to be
effected by a larger student body, whereas "Administration Non-Salaries"
is. The weight on growth, WGNS, for several non-salary items in this sample
is 75 percent. M8ny of these are also subject to the I-percent inflation

264

o

o

increase. MOst of these computations are carried out by means of a "Procedure" containing a multiplier which makes it possible to increase, decrease
or remove the effect of the growth factors and inflation to suit the assumptions of the planner. A study of the source program, which will be supplied
by the author upon request, will indicate which changes effect the individual
entries.
Auxiliary enterprises such 8S dining hall, dormitories, and bookstore
are assumed to be essentially self-balancing items. A more intensive use
of existing classroom facilities will make the addition of extra buildings
not absolutely necessary. However, since it is relatively easy to find 8
donor for a building which would be named after him, it is expected that a
classroom building will eventually be added.
The program computes per year for the next ten (or nine in certain cases)
years the following:
Tuition income, scholarship allocations and number of faculty; salary and
non-salary expenditures for administration, admission, registrar, faculty,
dean of students, development and plant maintenance; expenditures for physical
equcation, business office, library, student welfare, fringe benefits and
miscellaneous; gifts to ·current operations used to balance the budget and
endowment at end of year.
Since the output is under control of 8 sense switch, the effects of
various changes in input data can be studied without having to wait for a
complete typeout. A complete output is given below. The data used are
fictitious.

o
264-A

I'

IIII

o

TEN-YEAR BUDGET PROJECTION FOR A COLLEGE
INPUT AND OUTPUT
(INPUT DATA ARE UNDERLINED AND APPEAR AGAIN I N OUTPUT)
(FICTITIOUS DATA)

0
WGS

WGNS

S0.00

NO. OF STUDENTS
1000.
1150'.
TUITION
~!

1050.
J]~5J-!

1075.
____
-~0

1100.
r2"~..!

1125.
1'-25'0:

1_~

tl.Z5.t
TUITION INCOME
1500000.
1983750.
P.C.FOR SCHSH.

~

1600.
1.1&

lm:

1~JL.

1627500.
2012500.

1720000.
2130000.

1815000.
2160000.

1912500.
2250000.

1}HI
.

14.00

14.00
1.7.00

18.00
....

J5.00

--

}H
J.~

227850.00
332062.50

240800.00
362100.00

272250.00
388800.00

296437.50
416250.00

12.20
12.90

12.40
.13.50

li:~1

1~
J3.5

86.06
89.14

86.69
88.88

87.30
88.88

89.28
92.59

SCHOLARSH~

195000.00
317400.00
STUD.-FAC. RATIO
12.00
12.90
NO. OF FACUL TY
83.33
89.. 14
P. C. INCR., ADM.
~

16.50

~

lZH.:

SALAR I ES
5.0~

4.0@

,5.00

,~

t~1

4.00

6«;100.00
80734.58

68355.00
84771 .31

71772.75
89009.87

74643.66
93460.36

31500.00
39065.12

33075.00
41018.37

34728.75
43069.29

36117.90
45222.75

1Z0~0.00

17850.00
22136.90

18742.50
23243.74

19679.62
24405.93

20466.81
25626.22

2S2~~.0~

26460.00
32814.70

27783.00
34455.43

29172.15
36178.20

30339.03
37987 . 11

22179.15
27505.74

23288.10
28881 .03

24452.51
30325.08

25430.61
31841.34

~

ADM I NI STRAT ION
62000.00
77629.40
ADMISSION
30000.00
37562. 61
REGISTRAR

212 5.48
INSTR. NON-FAC.
31552.59
STUD. DEAN
Z!lZ3·S~
2 447. 3

o

75.00

265

5':00

ADM.SAL.GR.ALLOW •
. O0
14585.84
P.C. INCR.,DEV.

4077 . 22
15169.27

6421 .63
21236.98

8990.28
22298.83

11 687 · 37
29267.22

'"~~
4~

.20·11

~!"'~.,-

.tII

t.I

~

822i~·00

98682.00
123558.44

103616.10
128500.77

108796.90
133640.80

114236. 74
140322.84

dI

5.00

6.00

lLl

4~~H

5._

,~,.~.,,-

67310.O0
88245.36

74714.1O
92657.62

77702.66
97290.50

80810.77
102155.03

DEVELOPMENT

11 B8 .20
p • C. I NCR. P•M•
4.
PLANT MAINftRANCE
m3.20
00
P• C. INCR. FA C•
. O0

-~

t.-H
4.~

£B

'$-:01

~

Z·II

,.~

HI

~:II

1155S!'~~
2 .1
FACULTY-TOTAL
1041 666.
1533707.

13375.00
18064.4O

14311.25
18967.62

15313.03
19916.OO

16384.94
21110.96

1151127.
1610392.

1240693.
1686011 .

1336852.
1770311.

1462941 .
1954719.

L...3J
L..St

1::;1
J. ,

10100.00
10710.07

L.3i
.I..:n
10231 .30
10817 . 17

10364.30
10979.42

10499.04
11144.11

11526.62
13165.68

11895.40
13795.99

12275.98
14002.93

12668.73
14745.96

2247.69
2567.30

2319.60
2690.21

2393 .81
2730.57

2470.40
2875.46

48331 • 13
55203.74

49877.43
57846.62

51473.19
58714.32

53120.01
61829.85

324~.00

384 .42

3400.35
3883.87

3509.14
4069.81

3621 .41
4130.86

3737.27
4350.06

31123.00
36881 .71

32613.01
37250.52

33656.42
39033.89

34733.21
39619.40

35844.46
41721.70

iHH:"

43554.23
46185.04

44120.43
46646.89

44693.99
47346.60

45275.'2
48056.79

FACULTY-AVERAGE

P.c. INFLATION
--aJJ.
1 .00

ADMINISTRATION

]~!~~.~~

10 04.03
ADMISSION
lJ ilm~. ~~
13035.33
REGISTRAR
21 4S·00
2541 .89
INSTR. NON-FAC.
~6~~31~'
54 57.17
STUD. DEAN

P.E.
MISC.

7.00

0

NON-SALARIES

WI

LH

•

C'I
266

W'j'

0

1

PLANT MAINTENANCE
49500.00

52489.96

49995.00
53014.86

50644.93
53545.01

51383.31
54348.18

51978.26
55163.48

44~n'·""
.34

43430.00
46053.31

43994.59
46513.84

44566.51
47211.55

45145.88
47919.72

17739.75
19230.52

18896.48
19518.98

18748.28
28637.26

4.08

£JI

4.20

£11

~:il

56243.28
70424.41

58605.41
73241 .39

61242.65
76171.04

65175.05
81608.35

67912.40
84872.69

70968.46
88267.59

HI
l.:.!fJ

7·SI
7.

~:II

~II

92020.00
129062.79
ENDOWMENT

98461.40
138097.18

185353.69
147763.98

112728.44
158107.45

~

HI

tIl

900010.01

9i'S"·00

~IIIII:SS

DEVELOPMENT

INSURANCE FUDGE
16666.66
17385.24
18906.41
19095.47
P.C.INCR.B.O.-ST.WELF •
. 00
4.00
gJ
£]I
BUS. OFFICE
54080.00
67263.05
STUDENT WELFARE
62668.32
77944.94
P.C. INCR.,LIBRARY

~t'R':~S
~!nf:"

rlI

LIBRARY
86000.00
120619.43

RA TE OF RETURN
5.00
GIFTS

.rr.

t"

INIT~41IRR'IIT

..

150 "".""

til
HI
aISSI:U UIIIIS:g

800.8.0.

ENDOW. INC.
465279.
4225"8.
733184.
6684"'.
GIFTS TO CUR. OPe
694"8.26
98787.3'
187481.'4
154332.71
ENDOWMENT AT END OF YEAR
9689884.
883'591.
15226289.
13913691.

o
·;tt4A#l .. :.\ ..

1$.

589494.
798814.

579489.
868395.

634333.
942824.

95862.79
158381.32

953'2.19
211415.2'

13'697.38
315817.1'

"594121 •
165679'8.

11598719 •
17956493.

12668.22.
19441476.

-

-

267

%.4. ;;:;;:,WWIi ,,$i,••iihiifi\N.......@ _ 0 . . • %$1_

4.Ph

4A#.AJA#MmU.ii1i_\t¥MNf&\;,~IU;;iMU;;&aCU

;;;AAtiUm:=L2li2&

llllZL

()

lit

JUNIOR COLLEGE INSTRUCTIONAL TESTING PROGRAM

o

:0

Prepared by the Computer Center Staff
Miami-Dade Junior College
With computers installed or on order for the vast majority of colleges
and universities, educators must decide on the us.... of this power,ful
instructional and administrative.aid. The cost of a computer installation
represents a large item in the institution's budget,and in moat junior
colleges sufficient funds are not available for two computer installations;
one for administrative work, and one to support the instructional _program.
By developing a computer concept of providing a computer center with
the responsibility of processing administrative work and scheduling classes
for instruction, a more extensive and modern computer can be made ·available.
The Miami-Dade Junior 'CoIregena's aevelopea this centralized computer concept
and the results have been most encouraging.
As is indicated on the organizational chart, all instruction in the center
is the responsibility of the coordinator of computer science, which includes
a business and scientific option two-year occupational program. Administrative
service is the responsibility of the manager of data processing. Some
seventy-four administrative programs provide a wide variety of services for
the college, and one that has made the greatest impact on the faculty as a
whole has been the program of .test writing and test scoring.
The responsibility for workin; withthevar:Lous departments within the
college is assigned to the systems analyst. He works withtheper,sonnel
within the departments to establish procedures that may be handled in the
computer center. After the precise input and output have been determined,
flollwfCharts are developed and the writing of the programs is assigned to the
programmers.
Miami-Dade Junior College began test scoring on the IBM 1620 in the
Winter Term of 1962. Professor Joseph Duerstock under.to,ok a rewriting of
the program to overcome several operational diffic.ultiesand bas developed
five versions of the test scoring program now in use. Our college enrolled
over 13,000 students this past fall,and over 40,000 tests were scored and
analyzed using our system.
An automated test scoring system provides a partial solution to the
ever-increasing demand on instructional staff by transferring test scoring
and test analysis to machines.
The application of modern computer systems to test scoring provides a
rapid method of grading large numbers of tests while accumulating statistical
data that heretofore could only be gathered through tedious error-prone
manual calculations. Not only will computers provide this information as
part of the normal processing, but mathematical formulas which were infrequently used because of their complexity nowprov.ide valuable data for use
in the analysis of tests. Thus, it is possible to reduce the work load of
the faculty and, at the same time, produce data that can be used to improve
the tests.
Miami-Dade Junior College's test scoring system had been designed t.O
accollDllodate true-false or multiple choice answer tests. The main restriction
in the construction ofehe"tes't' is that,there~vcan-.,be-,.only one correct answer
to each test question. Thus, most objective test questions can be readily
adapted to the system while those with more than one answer can be rewritten.

268

1M iI#I Ii .'. $$(JtM«C:UX: $$ 14 . . . .

\ (

,¢E.

*" Pi

#

AM

.us::;:. Ii =::':::W".=_=IMI£..."

n'l

MIAMI-DADE JUNIOR COLL.EGE
11.380 N.W. 27th AVENUE

•

MIAMI, FLORIDA 33161

•

PHONE 688-3541

ORGANJZATIONAL CHART
PRESIDENT

SYSTEMS 8& PROCEDURES
ADVISORY COMMITTEE

.

-----

INSTRUCTION

PRODUCTION STAFF
OPERATORS & KEY PUNCH
PERSONNEL

COMPUTER CENTER COMPLEX
******************

INSTRUCTION

RESEARCH

HUMANITIES
NATURAL SCI ENCE
SOCIAL 'SCI ENCE
TECHNICAL
BUSINESS
SPECIAL PROJECTS
COMMUNITY SERVICES
TESTING

ADMINISTRATIVE
STUDENT PERSONNEL
GUIDANCE
TESTING'
REGIST RATION
SPECIAL ·PROJECTS

A DMINISTRATIVE SERVICE·
REGISTRATION<
FINANCE
_
.CAMPUS SERVICES
PLANNING
PAYROLL & PERSONNEL
INVENTORY
ALUMNI
MAINTENANCE

()

269
TAK:DS

Jul, 1. 1964

!It:

~=,.'=

c:;

:;;''!It

$

n

"""m.

*

"me"

$

nrr,

sTEm

tl

r. . .

(See sample test question formats.)
Equipment requirements necessary to implement this test scoring system
are as follows:
1. IBM 1620 Computer Complex
2. IBM 407 Accounting Machine or IBM 1443 Printer
3. IBM 519 Document Originating Machine
4. IBM 026 Card Punch'
5 • IBM 082 Sorter
Because of the different machine capacities and features of the
1620 complex, several versions of the test scoring system were developed.
The test scoring system is comprised of two totally independent, wholly
compatible, units which are called (1) the test writing p:rogramand ...-C2-) ....the
test scoring prQgram.
. ", .
The former'programwas designed to use the data processing equipment to
relieve th"e~"''fyping work 'of the secretary. The benefits of this procedure
became evident during the ever-occurring semester-end rush to prepare the
final examinations prior to the deadline of the duplicating department.
Once the questions to be used were dete~ined, the entire job of machine
proceSSing and preparation of the mats for duplicating was completed easily
within thirty minutes. This processing often included tests that contained
several hundred questions--a difficult task for any secretary or secretary
pool to perform on short notice.
An additional advantage of the system is accuracy. Once correctly typed,
the test questions are duplicated with no typing errors and the computer plans
all spacing to insure that no question would be split across pages. The
computer also causes every sheet to be identified by a heading and a page
number.
The test questions are converted into the proper card format for
processing, using an 026 card punch. This file is then reprocessed on the
IBM 1620 computer to create a master proceSSing file that contains all
questions, each one of which has a unique question number. The instructor
selects the desired questions by number and records this information on a
sheet of paper. The operator enters the numbers into the computer, and the
computer compares each card to find the corresponding questions. The data
from the processing file is transferred in slightly altered form with all
of the identification deleted to another card. These output cards are
consecutively numbered to facilitate sorting in the event the cards get out
of order.
ThefinaJ,"~,~~P.!§. ,~h~, ~J;_~.~~.~er.c:)f the test from the output cards to
some form for duplicating. The IBM 407 accounting machine or the IBM 1443
printer is used to produce the final printed test on continuous form offset
duplicating mats. Ditto mats may also be used if fewer copies are desired.
If necessary the regular 8ingle form mimeograph masters may be used in the
same manner as they are used on a typewriter. The ribbon must be removed
from the machine.
'lBE TEST SCORIRG PROGlWI

0 ,: ,'
I,

This portion of the system provides the method through which the tests
are graded and the analysis generated. Since one of the priJaary reasons for
the use of cmaputers for scoring is speed, considerable progr8llllling effort
was devoted to reducing the processing time per test: card. The following

270

scoring speeds were obtained using version five of the test scoring system,
·with an IBM 1443 printer for direct output.
1 card test
50 questions
236 students per minute
2 card test
100 questions
128 students per minute
3 card test
150 questions
88 students per minute
4 card test
200 questions
62 students per minute
5 card test
250 questions
54 students per minute
Perhaps the most interesting thing that this chart shows is the
relationship between the maximum speed of the computer inpu..t(250 cards
per minute) and the output (240 lines per minute) to the number of cards
per student • It can be seen that the process is outputboun.~ for one card
test and in2ut bound for all ot~~'!d£~e,Jes. Therefore'~' additional improvement
in processing-speedWou1cr~require faster input/output devices rather than
improved programming.
(
The most C!,!,~J~~,!p~rt of the test scoring program is the marking :.of
cards by students; however, experience has shown that the students readily
adapt the required techniques when properly instructed.
Though the principle of the mark sense card is the same as that of the
well-known 8% by 11 inch scoring sheet', there are two significant differences:
1. A student cannot mark two responses to the same question without
discovery. This is handled by either of two methods, depending
upon the equipment available for use:
a. If a fully equipped 519 document originating machine is
used, only one of the marks is accepted for scoring and
the second causes the punching of a digit in card
column 9 of the answer card. This digit is later used
by the computer to generate an error message as·sociated
with the student's grade.
b. 'If the 519 does not have this feature, both marks will
be punched into the card. Double punching may form an
invalid character which will cause the computer to
stop during the processing of that card. Thoughthis
process will catch the error, it also causes~he
computer to become inoperable to the extent that the
program must be reloaded and processing restarted from
the beginning. This is the most convincing reason for
using the full capacity 519.
2. The cards must be carefully handled so that they are not bent or
frayed.when processed.

MARK SENSE PUNCHING
Mark sense punching, though not a new innovation, provides a highly
accurate method of recording and scoring student answers and, at the same
time, provides two records of the student t S respons·e--theorlgina1 pencil
mark and the punched hole generated from that mark. .Thissystem insures
that no student can change an answer (the mark) on the card and confront
the instructor with an error in his score because the computer failed to
function properly. The hole cannot be changed by·the student.
The reliability of mark sense punching is excellent if the £acuIty and
students are properly introduced.to the correct manner of:marking the cards.
Mark sensing is being used successfully in colleges., hlghschoo1s, junior
high schools, and even in the lower grades. FavQrab1e results can be achieved

tf~
~.

271

rlttsrth

o

by insuring that:
1. Only special Electrographic pencils are used to mark the mark sense
positions.
2. All marks are dark and completely filled, but do not extend beyond,
the position outline.
J. Ink is used to write any other information on the card that is
required.
4. Only one response is marked for anyone question.

INSTRUCTOR HEADER CARD

MONTH

MIAMI-DADE JUNIOR COLLEGE

z

0

i=

c
:;
w

I:

••c
w

•
I:
;)

COMPUTER CENTER
COMPUTER TEST SCORING SYSTEM

·0
0

• 7 • • 1011 1213141511

DAY

YEAR

cO::>cO::>cO::>cO::>

cO::>cO

0::> cO

cO::>

cO::> cO::> cO:'"

c l::>cl::>cl:::>cl:::>

cl::>cl

l:::>cl

cl:::>

cl ::>cl ::>cl::>

c2::>c2::>c2::>c2::>

c2

2:::>c2

c2::>

c2:::>c2::>c2::>

c3::>c3::>c3:::>c3::>

c3

3::>c3

c3:::>

c3::>c3::>

c4::>c4::>c4::>c4::>

c4::>

c4

c4::>

c4::>c4::>

cS::>cS::>cS::>c5::>

cS::>

cS

cS::>

cS::>cS:::>

c6::>c6::>c6::>c6::>

c6::>

c6

6::>c6::>

c6::>c6::>

c 7::>c 7::>c 7::>c 7::>

c7::>

c7

7:::>c7::>

c7::>c7::>

c8::> c 8::>c 8::>c 8::>

c8::>

c8

8::>c8::>

c8::>c8::>

c:9::>c9::>c9::>c9::>

c9::>

c9

9::>c9::>

c9::>c9::>

~a~~~~~».~~~~~.~

•• ~~~DM • • ~~ • • ~uaM •• ~ •• ~Hn~=~M~nn •

The Jnstructor fills in one of these cards for each class tested. The
sequence number, date, and the total number of questions are recorded by the
instructor in the appropriate mark sense positions. The total number of
questions is the total of those questions to be scored, not the numerical
value of the highest question number. It -is used to check that the marks on
the key card(s) punch properly. For example: If a thirty question test were
given and it was desired to delete question number ten, the instructor would
s~ply not give number. ten an answer on the key card and then enter the number
twenty-nine on the instructor header card for the total number of questions.
This feature does not insure that the proper responses have been marked. but
rather that there is a mark for each question to be scored. Having to reprocess
• test because the instructor failed to use the Electrographic pencil properly
is prevented by this checking procedure. The use of the instructor header card
is not mandatory. but if used. total number of questions must be entered in
first instructor header card following the key card(s).

o
272

STUDENT ANSWER CARD
(Front Side)
USING SPECIAL. PENCIL, MARK
APPROPRIATE BUBBLES TO INDICATE
w ; STUDENT NO. USE ONE COLUMN
00:: FOR EACH DIGIT OF THE NUMBER.

~ ~ cO::>cO::>cO::>cO='cO::>cO:::>cO::>

::>1
(J::>

SruDENT ANSWER CARD

5 5 5 5 5 5 5 S ~. 555:5::555555555

SEQUENCE
NUMBER

cO::>cO::>cO::>cO::>
3 3 3 3 3 3 3 3 3 ~ 3 3. 3, 3 J 3 3 3 3 3 3 3 3 3 3

~ Z C l::>c l::>c l::>c 1='cl::>c l::>c 1::>

2222222222222222222222222
PUNCH ANSWERS 26 -50

1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ill 1 1 1

MIAMI-DADE JUNIOR COLLEGE

The student enters his last name, first name, middle initial, student
number, ana sequence number on the appropriate lines preferably using a pen •.
.. The special pencil could be used if the student is careful not to allow:a stray
mark to cross into the area of mark sense positions where the student n~e~
. is recorded.
Using the special pencil, the student then marks his student. numb.er and
class sequence number into the designated area making one mark in eachof·the
appropriate vertical positions. All zeros, including leading ones, must be
entered. The program checks each position of the student number for a mark and,
if any of the seven positions are blank, an invalid student number is generated
and the processing of the card is terminated. Consequently, th~ student will
have miss ing answer cards if the tes t uses more than one answer card,. ·Thi.s
proc'edure is necessary to prevent the accumulation of an incorrectt,ot$J - ~~or~
if two consecutive students completely omit their student numbers.
.
, .
,

273

....

o

f\)

-J'
~

n n n n n
U U U U U 4-4-=-M=U~ST-B-E-M-AR-K-E-D-tl'~\itilfij
rtt1o.::3
::r
.... 11
Ib..o
< O'rt"tS ....
rt rt c:
tD CD tD 11::3
::r
tD
OllbUl
ortOl
f1)l-tIrtnrt
c:::rrt
nl1CDrtl1
()QtD ....
O Q - .... c:
::r
0
11 a n n
CD ::s
....
Ibrt
....·rtCD
::sSbtxJ .... O
rtC:
()Q .... '<
t1
0. Ib
....
Ib
.... tD ::s
rt
a::s~
fJ):So.
o tD Ib 0. ~.
rt
X t1
rt
::3 en Sb
1-tI~~c:::r
0
Sba .... Ol
rtC:rt
n ol ::s tD rt
CD tD
....
OQI-tI::r
::stDOl
.... n
C:tD
tD
rt
....·lblb ....
nrt
rt::3
tD::r
Sb
CD tD
"' 0'"
fI)
tD tD
Sb
11

~

'<

10 20 30 40 50
10 20 30 40 50 ~
3. 10 20 30 40 50 ~
4. 10 20 30 40 50 ~
5. 10 20 30 40 50
6. 10 20 30 40 50 a
10 20 30 40 50 ~ 3~
8. 10 20 30 40 50 ~
10 20 30 40 50 ~
I~ 10 20 30 40 50 ~
10 20 30 40 50, ~
12. 10 20 30 40 50 o
10 20 30 40 50 ~
14. 10 20 30 40 50 ~
15. ,0 20 30 40 50 m
16. 10 20 30 40 50 ~
10 20 30 40 50 ~
18. 10 20 30 40 50 Z
19. 10 20 30 40 50 J
10 20 30 40 50 ~
21. 10 20 30 40 50 ~
10 20 30 40 50 ~
23. 10 20 30 40 50 ~
24. 10 20 30 40 50 ~
l~..'10 20 30 4-0 50 r so.
I.

26.

2.

27.
28.

29.

f'1
~

30.

31.

7.

33.

34.

9.

35.

36.

II.

:0

37.

13.

38.
39.

40.
41.

17.

42.

43.

44.

20.

4S.

46.

22.

47.

48.
49.

AD- GPI

DADE

10 20 30 40 sO
,0 20 30 40 50
,0 20 30 40 50
10 20 30 ,40 50
10 20 30 40 50
10 20 30 40 50
,0 20 30 40 50
10 20 30 40 50
10 20 30 40 50
'0 20 30 40 50
10 20 30 40 50
10 20 30 40 50

10 0 30 40 sO
2

10 20 30 40 50
10 20 30 40' 50
10 20 30 40 50
10 20 30 40 sO
10 20 30 40 sO
10 20 30 40 sO
10 20 30 40 50
10 20 30 40 50
10 20 30 40 50
10 20 30 40 sO
10 20 30 40 sO
10 20 30 40

COUNTY P'UBLIC SCHOOLS

o

r;;

t<

§
~~
tD t:='
<
tD en

~§

tzJ

enz

.... t-3
0.

~~
Cil

~

:;itI

§

Iii

~ I

ICEY CARD

(Front Side)

A...... E, ITUDE .. T .. UIIIER A.. D SEOUE .. CE NU .. I'" ARE TO I I WRITTE .. I ..
INK IN THE OUIINATEO .,ACES ON THE ANSWEII CARD .
... THE INDIVIDUAL', STUOE .. T NUMIEII .. UST BIt MAIIKED I.. THE IIESPECTIVE
IUIILE POIITION' UIING THE SPECIAL IIARKI ... PENCIL. INSUIIE THAT
ONE AND ONLY ONE IUIILE IN EACH VEIITICAL 1I0W "MAIIKEO. IN
PAIITICULAIt, IUIILES AT THE ZEIIO POSITIO .. MUST IE MAIIKEO- NOT
LUT ILA •••

2.

I NSTRUCTOR HEADER CARD
A. . . AIIK THE SEOUE .. CE NUIIIIEII AND DATE ON THE CAIID.
I. ANY .. U.. IER 0' SEOUENCES .. AY IE SCOIIED USING THE SAME KEY CARDISI.
C. IIIAIIK, IN THE APPROPRIATE PLACE, THE TOTAL NUMBER OF QUESTIONS
WHICH ARE TO IE SCORED.

c5:::>c5:::>c5:::>c5:::>

!:
c.

FRO~T5

a~

•••• a~M~.~~.~~~w •••

91anl213I4~161'718"202In2S~"MIAMI-DADE

c:::::::> R-I/4W
JUNIOR COLLEGE

ts 5 555 555 555 5 5 555 5 5 5 5 5 5" 5

THE SIDE WHICH CONTAINS THE .. AlliE 0 .. THE CARD. THE CAllOS ARE
PIIOPULY 'TACUD I .. THE CORNU CUT II TO THE UPPER U;'n ~~
:O~~O..~:: I o~!.:it"_EA ~~~: 01' THE CARD. THE CARDS MUST BE IN THE

~~~::RN~~S~ill

1111111111111111111111111

•

113" 5 $ 1 S
THE DUIRED CORRECTlO .. 'ORMULA

RIGHT-WRONG

2222222222222~222222222Z2
PUIfCH AHSWE~-fleIl2W

c2:::>c2:::>c2:::>c2:::>

~""SEU::I~~:! !::R~:::::~~:~~ ~~~TO~~CIT~IOON.. I!~~:~~~·OT TO IE
OF TEST CARDS ________ THE

c::::::::>

cl:::>cl:::>cl:::>cl:::>

'COUD .. U'TIlLEFTILAN.,
~~LII:::. CA.DI MUST HAVE
ARRANGEMENT

RIGHT ONLY

3333333333333333333333333

::

4.

c::::::::>

c 0:::> c 0:::> cO:::> cO:::>

D.

0 .. THE CARD.

444.4"4~4444.4444444444444

NUMBER

c3:::>c3:::>c3:::>c3:::>
PUt~CH ANSWERS 1-25
c4:::>c4:::>c4:::>c4:::>

3· A• KIIIEAYRKC:H~DCORRl:CT A .. SWEIIS

FORMULA

SEQUENCE

c6:::>c6:::>c6:::>c6:::>

,

4 4. 4 4 4 4 4 4 4 4 4 4 4 4 4 4 44 4 4 4
C 7:::> C 7:::> C 7:::> C 7;:J

2 2 : 3 2 3:.1 1 2; :: ;; 3 3 3 3 3 3 3 j 3 3 3 3 3
c8:::>c8:::>c8:::>c8:::>
2 2 2 2 2 2 2 2 2:' 2 2 2 2 2 1 2 2 2 2 2 2 2 2
c9:::>c9:::>c9:::>c9:::>
11 1 j 1 11: 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1

CUD AHUD 0' EACH CLASS.
STUDEnT A ..Iwn CUD 'OLLOW' ... THE APPIIOPRIATE CLASS HEADER
CUD.

CO".UTEtt CENTER
COMPUTER TEST SCORING SYSTEM
D~Ba~aa.~~D~zS~ ••• ~ua~e.~ ••• ~RUM •• U••• ~UDM •• W•• ~nnnua~ n~~.

The!!!8tru~!.~r marks the desired correction formula .2!! ...~h~.key card by
filling in the appropriate mark sense position. If no foumula i8 marked, the
computer a88\DOeS "right only." If the instructor wi8he8 to U8e one of the
remaining formulas, all of the key cards should be marked as the computer
processes thi8 mark only from the fir8t key card entered for the test group.
All figures are calculated to give the benefit of the doubt to the 8tudent,
that ia, percentage8 are half-adju8ted upward; or, when a correction formula
i8 used, the fractional portion of the subtrahend. u.ed to correct for gue8aing
are dropped.

OUTPUT LISTING
Page one of the output listing showa ODe line of print for each student.
The student number, number right, number wrcmg, and the number of queations
with no answer are listed. The last column listed is the percentage and ia
calculated by dividing the number right by the total number of questiona. If
a correction formula is used, the percentage column is changed to reflect the
adjuated score. Statistics are based on the number right if no correction
formula i8 specified, or the adju8ted number right when a correction fo~la
ia uaed.
ERROR STA'rEMEBTS
ER 4

Student ia mi•• ing ODe or more answer cards. All 8tatistics for
the student are ignored and no grade is aasigaed.
ER 3 - The student has marked more than one answer on one or more

G
275

111 WI

questions. The instructor should examine the student's card
to try to determine if the double marks were intentional or
a legit~ate mistake.
ER 2 - The student has two or more answer cards with the same test
section number. ER 4 will normally be listed along with this
error.
Student Number Invalid - This statement appears with an asterisk to
the left of the student number if the student fails to fill
in one or more of the student number mark sense columns. The
computer will automatically substitute a zero for any digit
missing from the student number.
Student Number XXXXXXX has improperly marked test section number on
answer card - The student number of the person who made the error is
inserted in the X'd space by the program. It is possible for
the statement to be blank or to appear with a partially filled
number if the student number is also improperly marked. The
card is not scored.
The item analysis provides a tabulation for the responses to each item
of the· test. An asterisk marks the correct response and is determined by
the answers provided by the key card(s). The mean, median, standard
deviation, sum, and sum of the squares, as well as the number of test questions
and teats graded, are given at the bottom of the last item analysis sheet.
Individual scores which were deleted because of errors are not included in
the statistical analysiS.
The last column (R) is a point biserial correlation between the respon.e
to .ach item and the score·made on the test. It is not the purpose of this
paper to debate the significance of R for various testing situations; however,
a number of interesting properties of R are immediately evident.
If a significantly high value of R is found for an item, it follows that
the studenta who anawered the item correctly had the better scores on the test.
However. this is no assurance that the question measured that which was intended.
A zero value from one of the following conditions:
1. All students anawered the item correctly.
2. All students missed the i,tem completely.
3. The correlation was equal to zero or so near zero
that the only significant digit. were values less
than three decimal places.
The distribution is presented in two forma. A numerical listing ia liven
showing the frequency for each score. omitting all scores with a zero frequency
value. The last column contains the cumulative frequency for the convenience
of thoae who assign grades based upon class standing.
A histogram i8 generated to provide a graphic illuatration of the
diatribution. The horizontal axis represents the score aDd the vertical
axis the number of atudents. The computer adjusts the scale of either
axea in the event that more than SO questiona are used, or in the event
there are more than SO people that score a particular grade. Thua the
hiatOlr. . , like the other portions of the output, alwaya fit a an 8% z 11
inch p&le.
AVAILABLE TEST SCORDG PROGIAII VlUlmfS

o

Vera ion I

- For 40X . .chine. Bas it. . analyaia, _an, median,
ataDdard.deviatiOD, total uu.ber of queatioaa aDd
t~at8·graded. Distribution baa both frequency aDd

276

I"~

Version II

-

Version III

-

Version IV

-

Version V

-

cumulative (equal to or greater than) frequency
distribution by score and a biserial coefficient of
correl~tion is calculated for each ite. of the
analysis. Program can be reinitialized by recalling
from the 1311 disk drives or by reloading from cards
following the grading of each test group.
Similar to Version I except a histogram plot is
generated for visually representing tbe di,stribution.
Part of the program is overlaid automatically fran
disk or manually from cards. The program is ~n two
parts--scoring and analysis.
For 60K machine without disk drive. Similar to
Version II except total program is contained in core,.
For 20K machine with disk drive. Program is limited
to three cards (150 questions) and scoring speed is
somewhat reduced for tests that h$vemorethan one
card. Program is overlaid from disk to produce the
same analysis as Version II.
For use with the 1443 printer to permit direct
printing of output, and the '1311 disk drives to
permit automatic overlay of the analysis routi,ne and
reinitialization. In other respects, the system i.
~imilar to Version II.

DETAILED MACHINE FEATURES REQUIRED FOR TEST SCORING PROGRAM
1620 Central Processing Unit with following special features:
1. Automatic divide
2. Transmit numeric fill (TNF)
3. Transmit numeric strip (TNS)
4. Indirect addressing
5. Move flag (MF)
1622 Card Read-Punch (either Model 1 or Model 2)
519 Document Originating Machine with:
1. Mark sensing -- 27 positions
2. Double punch-blank column detection device
3. The following features provide additional checking capabilities
and ease of operation. Xbey are strongly recommended, but are
not absolutely required. If onl, one of the twoc,an be secure4,
the selectors are preferable:.
a. Four selectors -- allow the panel to be wired to eliminate
the possibility of punching a double-maJ;'ked response.
b. Punch emitter -- provides ease in operating the machine
and in wiring the control panel for the punching of the
mark sense cards.
1443 Printer or 407 Accounting Machine -- If the accounting ,machine 'is
used, only an 80-80 list board with a carriage skip to ,channel 1
from column 80 first read is needed.
'026 Card Punch --'No special features required.
082 Sorter -- No special features requi~ed.

277

o

ACCEPTABLE TEST QUESTION FORMS
1.

Multiple Choice:
How many characters comprise the alphabet.
1.
9
2.
- 3.
4.
5.

2.

3.

10
26
39
47

True-False
Florida is known as the Sunshine State.
- 1. True
2. False
Multiple-Multiple Choice
Testing procedures should include
A. Test writing
B. Grading
C. Evaluating
D. Giving A Grades to all students
1. A and D
2. B, C, and D
3. B only
4. A, B, and C
5. All of the above
TEST WRITING PROGRAM STEPS

o

This is a detailed description of the steps used in the test writing
system, starting with the questions already written.
1. Each test question is transcribed to IBM cards uSing the following
card format.
1-10 blank in all cards
Format for question cards:
11-80 contain the question. If it is necessary to have two or more
lines for the question, the succeeding lines also start in
column 11.
Format for response cards:
16-17 contain the response number and a period.
20-80 contain the response. Additional lines for responses start
in column 20.
An 11 (-) punch is placed in column 11 of the card that contains the
correct answer. This mark is later printed on the instructor's copy
of the test and greatly facilitates the marking of the key card. Of
course, the mark does not appear on the student's copy. The punching
of the cards can be done either by a card punch machine or by a Friden
flexowriter which produces a paper tape that can later be converted into
card form.
2. A card that contains an 11 punch in column 7 is placed between each
test question to signal to the computer the end of that question
group.
3. The cards from step 2 are then processed by the computer using option
zero (0) of the test writing program. This process creates a new file
of cards and, in addition to copying columns 11-80 of the input carda,

278

._ . . . . . . . . . ,. . . . . . , . . , .

n

•

••. , .. , . . . ' _ •.. _ . _ •. _ _ _ ••.. _ _ _ " ••••.••. -. _ _ _ _ _ •• __ •.•

--

---.,)

4.

consecutively numbers the cards of each test question while punching
a unique number for each question. During this same processing, a
two digit code is punched into all cards. which is used to identify
the subject of the test questions. The end of the question card
(11 punch in 7) is deleted at this time and the identification punch
is transferred to column 1 of the last card of each questi,on group.
The output from step 3 forms the master processing file and is now
used to do the actual test prepatation. A listing of this output, is
prepared showing both the unique number for each question and the
subject code. The question and subject code for each desired question
is recorded by the instructor and turned oVer to the machine operator.
After loading the program, and selecting the correct program option (3),
the operator merely enters the desired question numbers into the
computer by the typewriter and the computer then produces the selected
questions sequentially numbered and in a form which can be listed
easily on the IBM 1443 printer or IBM 407 accounting machine. The test
questions can be selected in different sequences in order to produce
multiple forms of the same test if the classes are large enough to
require this method of control.
THE TEST WRITING PROGRAM PROVIDES THE FOLLOWING OPTIONS

OPTION 0 (Zero) -- Construction of the Original File
This option converts the cards from the format as outlined in part 1
of the preceding section into the form for use in processing step 3.
OPTION 1 -- Update the File Produced by Option 0
Questions may be deleted or added to the processing file. Any questions
to be added must be in the same card format as the processing file.
OPTION 2 -- Convert File to Paper Tape
Option 2 allows the processing file to be punched on paper tape to
provide a duplicate record of the test question file as a protection
against loss or destruction.
OPTION 3 -- Test Writing Program
The computer selects from the processing file those questions that the
operator enters from the typewriter. This is the option that prepares
the test for use in the classroom.
OPTION 4 -- Goof Switch
Console switch 4 is used to allow the operator to correct any erroneous
information entered into the computer program through the typewriter.
TEST WRITING PROGRAM -- CARD FORMAT OF PROCESSING DECK
1-3
4-5
6-7
8
9

Question number
Subject code
Sequence number within question
Department code
This digit identifies all cards that belong to one part of the questiDn.
All cards that comprise the question contain a zero. Those belonging
to response ,I contain a 1 punch, etc.
11-80 Contain an exact duplication of the input cards for Option O.

o
279

o
MDJCTD 3/27/64
DAPI0IJAD

MIAMI-DADE JUNIOR COLLEGE
COMPUTER LABORATORY
TECHNICAL DIVISION

PAGE

1-1.

WHICH OF THE FOLLOWING IS NOT A FUNCTION OF TOP MANAGEMENT IN A DATA
PROCESSING UNDERTAKING.
1. APPROVAL
2. DIRECTION
3. CO-ORDINATION
4. OPERATION

2-1.

THE DATA PROCESSING MANAGER OF A LARGE EDP INSTALLATION WOULD MOST
LIKELY HAVE AS A JOB TITLE
1. TAB SUPERVISOR
2. TAB OPERATOR
3. CO-ORDINATOR
4. TAPE JOCKEY

3-1.

ANALYSIS OF SYSTEMS, PROGRAMMING, LIAISON, PROCEDURES AND
DOCUMENTATION, AND CONVERSION REPRESENT
1. PLANNING AND DEVELOPMENT FUNCTIONS
2. OPERATIONAL FUNCTIONS

ANY COMMENT CAN BE ENTERED AFTER A GIVEN QUESTION THRU THE TYPEWRITER
4-1.

WHICH OF THE FOLLOWING GROUPS SHOULD RECEIVE NO TRAINING OR INDOCTRINATION PRIOR TO THE INSTALLATION OF AN EDP SYSTEM.
1. MANAGEMENT
2. PROGRAMMERS AND SYSTEMS ANALYSTS
3. OTHER EMPLOYEES
4. NONE OF THE ABOVE

5-1~

THE COMPANY INSTALLING AN EDP SYSTEM WOULD PROBABLY NOT KEEP
1. A GENERAL PRE-INSTALLATION SCHEDULE
2. AN APPLICATIONS DEVELOPMENT SCHEDULE
3. A COMPUTER MANUFACTURING PROGRESS SCHEDULE
4. A PROGRAM DEVELOPMENT SCHEDULE

6-1.

AN ASPECT OF PREPARATION FOR AN EDP SYSTEM WHICH IS MOST FREQUENTLY
OR EASILY SLIGHTED IS
1. PROGRAMMING
2. CONVERSION
3. TESTING
4. DOCUMENTATION

7-1.

THE PUNCHED CARD METHOD OF ACCOUNTING WAS DEVELOPED ABOUT

o

1.
2.
3.
4.

1886
1765

1916
1936

280

1

-

~--.---

WHi CH OF THE F0 LLOW I NGIS NOT A FUNC T ION 0 F TOP MAN AGE MEN TIN A DAO·.T
~. "

PROCESSING UNDERTAKING.
1. APPROVAL
2. DIRECTION
3. CO-ORDINATION
4. OPERATION

TH.E DATA PROCESSING MANAGER OF A LARGE EDP INSTALLATION WOULD MOST
LIKELY HAVE AS A JOB TITLE
1. TAB SUP ER VI S OR
2. TAB OPERATOR
- i
3. CO-OR 01 NATOR
4. TAPE JOCKEY
ANALYSIS OF SYSTEMS, PROGRAMMING, LIAISON, PROC~DURE5 AND
DO~UMENTATION, AND CONVERSION REPRESENT
1. PLANNING AND DEVELOPMENT FUNCTIONS
2. OPERATIONAL FUNCTIONS
WHICH OF THE FOLLOWING GROUPS SHOULD RECEIVE NO TRAINING OR INDOCTRINATION PRIOR TO THE INSTALLATION OF AN fOP SYSTEM.
1. MANAGEMENT
2. PROGRAMMERS AND SYSTEMS ANALYSTS
3. OTHER EMPLOYEES
4. NONE OF THE ABOVE
THE COMPANY INSTALLING AN EDP SYSTEM WOULD PROBABLY NOT KEEP
1. A GENERAL PRE-INSTALLATION SCHEDULE
2. AN APPLICATIONS DEVELOPMENT SCHEDULE
3. A COMPUTER MANUFACTURING PROGRESS SCHEDULE
4. A PROGRAM DEVELOPMENT SCHEDULE
AN ASPECT OF PREPARATION FOR AN EDP SYSTEM WHICH IS
OR EASILY SLIGHTED IS
1. PROGRAMMI NG
2. CONVERSION
3. TESTING
4.
DOCUMENTATION

~OST

FREQUENTLY

THE PUNCHED CARD METHOD OF ACCOUNTING WAS DEVELOPED ABOUT
1.
2.
3.
4.

1886
1765
1916
1936

THE FIRST PUNCHED CARD APPLICATION WAS
1. PAYROLL
2. STATISTICS
3.
INVENTORY
4. A0 DR ESSING

o
281

-------,--------------_.

~~-~--~--~-~---"-------.,.----

- - - - - - - - - , - - ,~--------

o

0019901XO WHICH OF THE FOLLOWING IS NOT A FUNCTION OF TOP MANAGEMENT IN A DATA
0019902XO PROCESSING UNDERTAKING.
0019903Xl
1. APPROVAL
0019904X2
2. DIRECTION
0019905X3
3. CO-ORDINATION
-019906X4 4. OPERATION

0029901XO THE DATA PROCESSING MANAGER OF A LARGE EDP INSTALLATION WOULD MOST
0029902XO LIKELY HAVE AS A JOB TITLE
0029903Xl
1. TAB SUPERVISOR
0029904X2
2. TAB OPERATOR
0029905X3 3. CO-ORDINATOR
-029906X4
4. TAPE JOCKEY
0039901XO ANALYSIS OF SYSTEMS, PROGRAMMING, LIAISON, PROCEDURES AND
0039902XO DOCUMENTATION, AND CONVERSION REPRESENT
0039903Xl 1. PLANNING AND DEVELOPMENT FUNCTIONS
-039904X2
2. OPERATIONAL FUNCTIONS
0049901XO WHICH OF THE FOLLOWING GROUPS SHOULD RECEIVE NO TRAINING OR INDOC0049902XO TRINATION PRIOR TO THE INSTALLATION OF AN EDP SYSTEM.
0049903Xl
1. MANAGEMENT
0049904X2
2.
PROGRAMMERS AND SYSTEMS ANALYSTS
0049905X3
3. OTHER EMPLOYEES
-049906X4 4. NONE OF THE ABOVE
0059901XO THE COMPANY INSTALLING AN EDP SYSTEM WOULD PROBABLY NOT KEEP
0059902Xl
1. A GENERAL PRE-INSTALLATION SCHEDULE
0059903X2
2. AN APPLICATIONS DEVELOPMENT SCHEDULE
0059904X3 3. A COMPUTER MANUFACTURING PROGRESS SCHEDULE
-059905X4
4.
A PROGRAM DEVELOPMENT SCHEDULE
0069901XO AN ASPECT OF PREPARATION
FOR AN EDP SYSTEM WHICH IS MOST FREQUENTLY
0069902XO OR EASILY SLIGHTED IS
0069903Xl
1. PROGRAMMING
0069904X2
2. CONVERSION
0069905X3
3. TES TI NG
-069906X4 4. DOCUMENTATION
0079901XO THE PUNCHED CARD METHOD OF ACCOUNTING WAS DEVELOPED ABOUT
0079902Xl 1. 1886
0079903X2
2. 1765
0079904X3
3. 1916
-079905X4
4. 1936
0089901XO THE FIRST PUNCHED CARD APPLICATION WAS
0089902Xl
1. PAYROLL
0089903X2 2. STATISTICS
0089904X3
3. INVENTORY
0089905X4
4. ADDRESSING

282
&ihWA

I
1,1

--

-------- - - - -

------------------Ii

--'---------

-:--:---------::-:-::--:-:-:-:::---::::---:-:::-=--~~=-~=:---:-~:-=------------

DATE 04/16/64
SEQ
4172

~"~-'-.--.---~""-'''''~

---_

...

_--.._-

.-~

......

MIAMI-DADE JUNIOR COLLEGE
COMPUTER LABORATORY
--,'--

,.--_.

STUDENT

'-'--------------N UM BER

NUMBER NUMBER NO
RIGHT WRONG ANS

STUDENT NAME

~----------------

0298325
0760714
1019448
1605231
------_.- .
1647911
1800106
----,,--- --"------"---- 2 3438362417329
2618043
2695433
2721826
3242714
3296833
3646443
3711731
3715941
3726436
3728531
4105026
4184543
4573521
4756026
------------------ ._.--5002821
---- -- - - - - -....

--.-~

.. - - -

_

-----------

216~121

----.~

2730223
2763631
2783706
3051010
3053426
3278106
3407846
3578216
3604023
3TI1711
3791611
43~O211

4383133
4834426
4856606
5103131
...-.. ---

-~-

.--- -

-~-

._- -

.

-.--."---~---.--.-.

48
56
49
67
61
34
23
36
58
48
32
43
21
44

0
19
3
4
0
1
0
1
2
1
0
0

52
25
48
29
39
65
77
63
40
51
68
53
79
56

71

28

46
34
57
44
54
37
40
67

52
62
42
55
45
62
60
31

1
2
4
1
1
1
1
0
2

46
34
57
44
54
37
40
67

53
51
58
33
58
37
43
15
58
65
43
50
55
37
45
59
53
44
75
61
45
73
64
71
53
10

45
48
40
66
42
60
56
22
40
35
55
46
44
54
55
37
45
56
23
33
55
26
35
26
42

..

0047206
0288421
0602041
1024806
1416711
15 3l~4.l___________________ '_
1760831
1822026
2104443

--- -_.---_ .. __ ..._.. ---

PERCENT

52
25
48
29
39
65
77 ,
63
40
51
68
53
79
56

29

4

0

2
1
2
1
0
3
1
3
2
0
2
4
1
9
.0

4
2
0
2
0
0
1
1
3
5
1

-.

--

Q

71

53
51
58
33
58
37
43
15
58
65
43
50
55
37
..5
59
53
44
75
67
45
13
64
11
53
10

C-,

283
------.---.--.~------~-.---

.. -...

~-

..---

-.---.-.. -.. ---.----..-.--.--........_-_ . _ - - _ . _ - - - - - - - - - - 1
-_. . . . . _-.- .. __._---_.. _..

DATE 04/16/64
SEQ
4177 - .... _.. ---

~------

_----_._

....

__.-_._. - _ . _ - . _ - - - - - - - - - - - - - - - - - - - - - -

MIAMI-DADE JUNIOR COLLEGE
COMPUTER LABORATORY

-

.. -~.--.~---~---.-~--~~-~~~~~~~~~

STUDENT
-. -NUt~fB 'fR --.. -.. ---sf'UD'E~it

NUMBER NUMBER

4 *0042407 S tTfoENT NUMB ER I NVAL I D
4 *0042407 STUDENT NUMBER INVALID

ER
ER

---·--·---··---·~IT~·----------·--·--

0265938

0719341
1021817
1112831
4"'1142226'
1210041

4

-"'~'

1

62
53
68

01

69
28
3
69
65
35
0
65
37_-_._ .._.----.:-==--_----=:..=--_--=-::.--_------1
45
18
37
.... - - . - - - - - - .... -.--_.......
55
45
0
55
68
32
0
68
47
52
1
47
000
0
·----5·4.. ·
45
1
54
.._ .... _....._.______. ___ ._.~_~ _______..!~__. 0
_._64~_ _ _ _ _

. . _-- ------.--.-----

'-"~'

37
47
31

~.-

-,_._,

51"34935'

0
0

----~~--3~8~~~0~~~6~2~~~~~~

62
53
-... -.-.-.- . -........ . ---..- - - - - 68

3708436
.. - ._.-', -3·S991·3i-·_·
. ·.. · ·

ER 2

0
0

60
39
1
60
- - - - _ .. _.... _._----::--._----=------,--------,--------1

3'365 i16"-- .------

.

0
0

43
2
55
29-··----·---7-- -.. --··...,6,..-,;19...----------1
66
32
2
66
. - .. ·. ·----.. . .·. ---'-·-..·-..···-·-·0-···--..· . "'-0-- . 0
0

3328636

4037106
-- ..
-,,_.,. -4267931
4429911
4538431
5054811

0
0

55
.. 09

. 2748816-

ER

PER-

71
29
0
71
....--..... --- -----------r-6P""""S----...3>7",4-----.1..----r6S---------..,....j

"0-If.lJ 833"1+- . ··- -.

ER

NO

NA ME-------. --'-lfI GHT ---W"R-O'-N'-G-'"-A--N-S--C-E-N-T-------t

-..

5156246

-~--~~-~--~--------t

__II

. -.. ------~--------.---------------

. .-.-. - - .

.- .-'-"" . -".-. . . ... _.-. . _-_._---_. __ . _-_._--------------------------1
,..-. -.. -- . . --. --.. ---------.. --.--.-.. - - - . - - - - - - - - - - - - - - - - - - - - - - 1 1

-_._---_._ _----._------_ _ . _ - - - - - - - - - - -.......
...

-.. -.. ----- ....._. . . -.- . -----..
.......

----.---~-

..

------.- -------------4

_---------_._-_._-

-..-- ...--- -.----...-. ....-- .-.-.-.. ----...--.-.--------..--- - - - - - - - - - - - - - - - - - - 1 1

--------_

--_._ .... __

.....

...

-.....,----_._---_._-------------------------- _._---------._-_._._.-

..

-----_.

_._--_...._.

-"'_."

...... _.----_ .......

-_.

_

....

_----------------------.

_._._---_.... _._._ .. _ ... _...... _---------------.

__._-_ _._ -_._------------------------------------....

-

..

....-

o

..

..

'

....

-

"

... " .._.... -"- .

.- _._...._-_._-_ .. _---- ..
...

._- -' .. -

_

.. -... _..-.-

-_ ....

-----_....
. "".

-_

._

... __ ......

'--''''''-''

__....... _

" - " - - - ...

_._-----_ _ ..

.... " .. - .... _.. -._ ......... _.......... -........

-_._-----

_---_....._---------

_---_ _.• _----------------------

--_._._._---

..

---_._.__ ._.-

284

-

-

.. _....

_-_ __
.•.

...

- ..----.-.- ......

~----.-

. "..

~

.....-...............................

~----.--

................ - . . . - . . - _ . _ •.• __ .•••• _ _ • _ _ _ .••• ,-'0--'--,•.. __

",,,~

_ _ .. c.,

.,.~_.

__
-,~

-._"

.~---.----.---------

II

:,'l
il

---_.

-._-

I

~ ... ;~·I:A'"lH6AO~;~!.'dtm·IOR,·\ COl LEG E •
4tlXX
;. tOMPUl'E.R ... L'8dRATO~Y
J~.Q~~!~eo_.~.~,~QUENC ES.
DATE 04/16/64

N/A

ITEM _. __

4
1
6

1.
2.
3.
4.
5.
6.
1.
._---,-------------8.
9.
10.
11.

9

1
5

0
5

3

3

1

2

3

123
474*
542
458*
342
332
993*
191
338*
92
140
57
31
655
117
.508*
184
114

692*
359
549*
212
102
152
286
44
940
1049*
29
68
13
418*
205
225
641*
292
249
814*

16
305
56
130
281
26
28
1
30
140
27
86
40
10
68
212
55
861*
130
64
lQ3
222
93
411
21
810*

3
5
13.
2
1
14.
15.
1
16.
10
____ 1 7 •__~ __._. , ___1_.
18.
2
________ .__ .~~'l~ ______.____.__2..___ .... _.... __. ~9.~_*
20.
3
120
~~-~---r2.

-.-~.- ..""....~~~..

-.~

-

..

22.
23.
24.
25.
26.
21.
28.

..

14~

~

~3!t*

565

5

--.---~

29~

66
3
3~
-.---.----. 1Q
6
79
2!!
311
88
8
10
91
------~.
90
30.
5
_ ___ 3 1 •___ ._ ..... _. .___..ll
89Z*
32.
3
211
33.
181
4
34.
3
291*
91
22
_~_. ____ . ___.~ 5_~_._. ___ .
36.
2
210
8
1030*
_'-- __..__ __"-_c ~J~ ' __ ._-_ __ ._---_.
38.
380
180
39.
29
334
-------._--_.-'---40.
15
115
41.
23
92
10
42.
136
11
583
------_._.... 43.
.. _----------_.-.- _- - , , - - _ . 44.
12
22
118
45.
115
46.
26
445·
41.
11
261
---- .
48.
1
191
1
18
..
_.
__
4
~~
.
_
-.-------50.
6
413
...

~

.... ---.~-

--'

-

...

I

,

I
I

.-_._.
,

__ _._-

174
91
520*
~a

341

316

~SO*

60

411

~5

~~

42
161
570*
314
27
32
251
11
181
305
91
18
134
43
289
14
51
98
567
961.
29

155
40
269
91
51
1102*
57
153
316
452*
391
1043*
101
41
343
394
101
690*
51
22
154

",('"

4-

'"

451
217
132
322
162
841*
25
10 .
21
48
1141*
21
1010*
73
885* '
113
20
18
17
88

lZ

315*
113*
98
120
51
lOt..
697*
10Bl*
1023*
24S
39
698*
611
21
598*
26
254*
160
116*
30
640
342
148
644.
380

137
547.
43
683·

5

R

U

,

14

0.155
0.209
0.j30
235
O. 30
466* 0.245
0.346
10
34
0.410
1103* 0.218
28
0.159
34.
0.341
26
0.316
1129* 0.331
210
0.255
'0.219
83
84
0.260
238
0.216
465
0.266
13
0.311
13
0.314
217
0.315
'lg~
Q.Z22
85
0.135
1Q2
0.282
0.154
262
1133* 0.22~
13
0.250
O.22!t
33
42
0.162
83
0.198
51
0.229
0.339
11
208
0.233
0.290
12
0.333
311
92
0.241
182
0.403
78
0.424
49
0.011
86
0.421
578
0.051
100
0.269
345* 0.330
340* 0.349
492* 0.379
0.105
21
363
0.221
163
0.221
4'
81;,

9

O~318

315
81

0.203
0.315

0

..

I

I
I

I
I
,

285

. ';;r.
.

~~--~~--~-----~

. ..

-~---

--~-----~--~---

.

'----.. '·'-D-ATE'-;;;:O:-;-It--./-.:-l-=-6-.1-=-64~------=M~IA-=-M;-:-cI=----::D=-:A~D::-::E~J~U=-:-:N:-=I-=O=-R-C=-O=-:L:--:L--:E=-::G::-::E:-----------

COMBINED SEQUENCES 41XX

4:)

.,--

ITEM
_._-_

.....

COMPUTER LABORATORY

2'--.
_ - -N/A
- - - - - - - -1- - - - - - -

3

4

- - - - -5- - - -R

51.
2
51
41
1202*
'63
1
0.188
52.
2
82
1094*
13
41
68
0.355
53.
4
776
135
253*
104
94
0.239
54.
10
258
401*
235
61
395
0.245
55.
4
68
119
162
765*
188
0.406
56.
2
100
79
209
184*
192
0.317
57.
2
229
136
117
196
686* 0.413
58.
3
354
10
88
109
742* 0.410
59.
11
176
338*
632
147
62
0.132
60.
8
202
276
166
663*
51
0.304
61.
7
395
133
709*
21
101
0.293
62.
4
61
56
548
585*
112
0.017
63.
5
234
171
737*
112
101
0.376
64.
1
409
250
61
628*
11
0.238
65.
7
864*
237
143
108
7
0.401
66.
1
11
35
1074*41
198
0.281
67.
3
154
97
75
924*
113
0.319
68.
5
182
913*
176
88
2
0.267
69.
8
156*
158
206
92
146
0.196
10.
6
252
103
14
218*
113
0.071
71.
5
429
455*
113
24
340
0.329
------72. 1
89
118
953*
160
45
0.363
13.
4
29
150
844*
256
83
0.426
14.
4
141
173
29
10
1009* 0.259
75.
11
319*
114
311
551
60
0.352
--------------------------------------------------76.
7
194
1001*
15
25
124
0.369
17 •
30
504*
260
75
91
400
0 • 11 7
78.
11
200
702*
179
228
46
0.166
79.
11
588*
94
268
135
270
0.373
80.
5
14
556*
108
136
541
0.321
81.
21
187
832*
118
169
39
0.221
82.
5
347*
58
463
311
116
0.250
83.
5
66
1090*
45
81
19
0.264
84.
3
438
128
643*
134
20
0.266
85.
13
881*
35
323
,58
56
0.353
86.
4
163
663
144
215
171* 0.018
81.
12
426*
393
233
295
1
0.232
88.
405
251*
143
184
211
166
0.309
89.
24
591*
432
28
251
40
0.301
90.
15
111
368
366
392*
54
0.166
91.
29
63
395
699*
158
22
0.339
92. -----··11--------111--·
770*
110
310
54
0.275
93.
10
51
17
203
1034*
51
0.184
-. cj4.-~---- 41 --------·918*--·
63
9465
185
0.290
95.
128
27
159
998*
37
11
0.304
96.
34
491*
121
305
180
223
0.198
97.
5
294*
250
186
299
332
0.261
98.
4
179
163
865*
102
53
0.214

o

.

ib~:

-.-

!

---~-~-j----.---=-2-~-0---I-~;c...;;~0--~-*----1...;:..~-:-----2-~-~-*--~-:-~-~-~--

------ ----

MEAN50.982
MEDIAN51
NUMBER OF QUESTIONS =
100
'.. STANDARD DEVIATION12.544
NUMBER OF TESTS GRADED = 1366
SUM
69642
SUM OF SQUARES
3765338
---------------------------------286

:;i UitiDPIi

II.@

44'" QJi . ii¥ht:;:m ,Iii fA,

.DkMU

.k

P

$

n

4M . P?44AlJi dist Ut_=!M£MS:,su _ _a

MIAMf-DADE JUNIOR COLLEGE

DATE 04/16/64

COMBINED SEQUENCES 41XX

COMPUTER
LABORATORY
... .
.. ......
....
~

-

DISTRIBUTION
SCORE

FREQ

CUM FR:EQ

84.
82.
81.
80.

1
!
3

79.

3
3

78.

7

77.
76.

7
9
9
12

75.
74.

.. , _J~.~ _...

,.

72.
71.
70.

5
8
11
14
..._... _.' . 1.7.
24
31
40
49 ,
61
86

17

_lP3

18

121

69.

19

_140..

68.
61.
66.
65.
64.

17
19
19

63 •

17

62.

33

._ .......... - .. -.-.---..

-.-~.---~-------~.---

- - - - .. _.__._--------._...... _ - - - -

SCORE

FREQ

CUM FREQ

34.

.. ·· . 18

126lt·· ..·

1280
1301

33.

16

157
116
195

21
12
12
9

28

?23

1325
1334

14

237

28.

9

134~

60.
59.
58.
51.

28

56.

.

27.
5
26.
2
25.
6
24.
3
23.
"'2'2 ." ................._......, 2... .

? ~ .~_ . . .

281

.. _~ 0L .....

3~

336

35

371
406

2~

4~O

40
41
46
40
35

470
- .. -

511

-'--""-.-- ,-_ ..---

557
597
632

51.

53

685

50.
49.
48.
47.
46.
45.
44.
43.
_. - ------ 42.
41.
40.
39.
38.
37.

40

725

35.

.........__

32.
31.
30.
29.

. (?_t!. _ ......................~J__ ._ . _.

55.
54.
53.
52.

_-_

I~ ........

_J_~

10

36.

....

·····4 . .....- -'.'.."'""4"--'"

.8 5 •

1313

1348

1350
1356

1:3'"59
1361
1362
.... - .....

21.
1
20.i

1364

19.
17.

1365
1366

1
1

1363

_}7 ................. I~?__

~

..• _,

-.

48
810
29
~~9
44
883
33
916
32
948
49 ---.- .. 997 "--'''-- ..
__._-----_.
38
1035
32
10~7
34
1101
39
1140
24
1164
26
1t9Q_
27
1217
29
1246
---~-".---

._------

-

- -.- . .-.----.- -----C~
287

---

--,,---.~.-~.-----"-""-----'------~-"~~~--

---

..-.---.- ..------- .. - .. -

... - - - - - ....

.. ---~..-

- - - - ...

- - _.. -

.

o

99- 100
97- 98
95- 96
93- 94
91- 92
89- . 9'0 .....

F

R
E
Q
U

_____.__ . . __.. __ . .f.
N
.J~

Y

8785838179-

88
86
84
82
80

'71~'

78

75737169676563615957-

76
74
72
70
68
66
64
62
60
58
56
54

.5~-

5351494745-

52
50
48
46

_.43- __ 4!t_
41-

J93735333129=272523211917'15131197-

'S:"

3-

-0---

.-------_.- -_
..

DATE 04/16/64
MIAMI-DADE JUNIOR COLLEGE
COMBINED SEQU~NCES 41XX
COMPUTER LABORATORY

1-

42
40
38
36
34
32
30--28
26
24
22
20
18
16
14
12
10
8
6
4
2

.'--

"'-'

-- ...

-.-- ... -.

--

"---'---'''--''''-'--'-''-

•.

.....

...... _.

- .. -

---"'-'

--

_.. -

.•..

_

...

..

-._--

-..-- •..... '-'- ...
.,

__ _---..

_-_._------------

--"-- ----_.._..-... --.-.--------~

*
**
**
***

*
****'-'--'" .- .-.-.-..-.------.----..- - -----I
. . ._-***** *"*
*******
..-.. ----....
-.-.-.--..-.- . . -----. .-----.- - - - - - - - - - - - - - - - - - 1
* *******
******* . ---.---..- - - - - - - - - - - - - - - - - t
.._***-*******-----.
*********
.........................
*********
********* *
********* *
.. --- ..-.. -...- -.. - . - - - - - - - - - - - - - - - - - - 1
***********
***********
...
. -.. ._._ . -.-. -.- . . . . _... -_. .__.-. . _.._-_._.__..... _-------1
* -.***********
* ************
.. . -~-~~~~~~*~.~~** - - - . - - - - - - . - - - - - - - - - - - - - - - 1
**************
.-.-.-.---.--.-.--.----.--..
--..- -*
- -.... - -_._-_._------------,--11
**************
************** *
..---.. .----..-...**************
".....__ . _----_..._---_ . . __ ._------------_._--------11
*
************** *
..**************
"-.- .... ---- ---'-' _. _-.---_.. _..._. __
*.._ - - - - - - - - - - - - - - - - - - - - 1
************** * *
__ _._._----....
************** *** ._-------_. __
**************** ***
********************
. :ii********-*·***-*-:--,-*~*-,..*-.,.*....,*-*,.--------------..
**********************
_._------_._---------------_._-------11
**********************
**********************
-- _ . _ - - - - - - - - - - - - - .
***********************
************************
'*'* **'* *~*'*.*~*~*'*~** *-*"*.** -*'*'**~ --- .-.._' .--..~--.----- .
************************
**************************
************************** __._--_._._-_. __._------...
**************************
***************************
******'****-**-***'*********-*--*-*-*-*-*--------------****************************** *- - - - - - - - - . _ - ***********************************
-

'

-

.

.-.--.- ..-.

.-.

"'--'

-...

---_._---_.

.-

.....-.-.. - ..

.

----..

---_.

_.--"

.._. . . . -. . . .

_._-_ . .

-"- ....

-'

-------

...

1 ------._----_.- ..
_._---_._. __. _ - - - 000001111122222333334444455555666667777788888999990
o2 ~~ 8q? 4680 2 4~{L9 ?~.~!!.O 2!+6 El.Q_f_~l?"8 9_? ~Q 8 0 2.46 89 24680 24680 _.___~_ _..
-..

SCORE

288

-. - --._._----- _.'

.

- ._._---_..

_--

..

()

SUGGESTIONS FOR SPeAKERS

o

1.

BE WELL PREPARED - Your entire paper should h~ve been completed
well in advance of the meeting. This will allow sufficient time
for having the manuscript completely typed to be turned in to the
Program Qlairman at the meeting. In addition, all supporting materials such as slides mld transparencies should be prepared
and checked before your presentation. Examples, if used, should
be chosen to best illustrate the points which you wish to make.

2.

BE AS CONCISE AS POSSIBLE - Your purpose in presenting the talk
is to convey information to your listeners. Anything extra is
probably unnecessary. Your criterion should be"'h~ther or not
the added material will cOlltribute to this transfer of infonnation.
In particular, long stories involving personal experiences and
long jokes should be kept for bull sessions.

3. SPEAK CLEARLY AND DISTINCTLY - In order to be understood, you must
be heard! To be heard, you must face the audience and speak
directly to them. Good eye contact is necessary. Your presentation
should be at a rate slow enough to be clearly understood, and
with sufficient volume to be heard throughout the room. If a
microphone is available, use it and speak directly into the mike.
Try to keep the distance between you and the ~ike constrult.
Varying this distance will cause a variation in the volume as heard
by the listener.
4. USE THE BLACKBOARV AS LITTLE AS POSSIBLE - The blackboard is
generally unsatisfactory for conveying information to the listener.
If the blackboard is used at all, several pitfalls should be
avoided. The speaker should take care not to talk while facing
the blackboard. He should also take care to ,
Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2014:03:09 11:06:46-08:00
Modify Date                     : 2014:03:09 12:03:19-08:00
Metadata Date                   : 2014:03:09 12:03:19-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:4f86fb25-8ae6-d348-8579-eaf75d2ed92b
Instance ID                     : uuid:5413367e-9348-ec40-a50a-ea1544cccfe6
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 320
EXIF Metadata provided by EXIF.tools

Navigation menu