Proceedings_of_COMMON_Joint_Eastern_Midwestern_Region_196510 Proceedings Of COMMON Joint Eastern Midwestern Region 196510

Proceedings_of_COMMON_Joint_Eastern_Midwestern_Region_196510 Proceedings_of_COMMON_Joint_Eastern_Midwestern_Region_196510

User Manual: Proceedings_of_COMMON_Joint_Eastern_Midwestern_Region_196510

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

DownloadProceedings_of_COMMON_Joint_Eastern_Midwestern_Region_196510 Proceedings Of COMMON Joint Eastern Midwestern Region 196510
Open PDF In BrowserView PDF
PROCEEDINGS OF
COMMON JOINT EASTERN
MIDWESTERN REGION
OCTOBER 6, 7, 8, 1965
AT AMERICANA HOTEL, NEW YORK,

NORMAN GOLDMAN

REGIONAL SECRETARY

N~~

YORK

;d't'!l-!Il l''irI!l'?f!!'1

'·'1

'II'

fPn\ttcMhffltt"I'.'p I'"

·1

'1

""IiiirM' I tit

't!fllr" -

I'll

] .']1 I

TABLE

0

ttt

h'IW'

OF

t

bh

t

dttt,

-

FE, riit

w

CONTENTS

PAGES
1

NOTES FROM ADVANCED MONITOR WORKSHOP

7 ELECTRIC UTILITIES PROGRAMS TEAM
12

EDUCATIONAL APPLICATIONS OF MARK SENSING

37 FORT 5 -

A MONITOR CONTROL RECORD

41

PREPARATION

51

THE STATISTICAL VALIDITY OF APPLYING NUMERICAL SURFACE
TECHNI;~UES AND CONTOUR MAP PLOTTING TO CORRELATION PROBLEMS.

66

1620 WORST-CASE CIRCUIT DESIGN PROBLEM

AND

SCORING OF FORTRAN PROGRAMS BY COMPUTERS

84- THE SOLUTION OF LAPLACE'S EQUATION IN TWO DIMENSIONS
92

0

STRUCTURAL ANALYSIS USING THE 1620 COMPUTER

108

SIMULATION OF UPTAKE AN.o DISTRIBUTION OF ANESTHETIC AGENTS

114

A SELECTIVE
LITERATURE

DISS~{INATION

136 HISTORY OF THE

DEVEL~R(ENT

OF INFORMATION SYSTEM FOR MEDICAL
OF PART

1.42 A STUDENT SCHEDULING SYSTEM
15-5 TEST GENERATION PROGRAM
165

PORT-A- PUI'lCH FORTRAN SOURCE AND DATA CARDS

172

Nill{ERI-CAL INTEGRATION USING GAUSgt:g

QUADRATURE FORMULA

183_ SERIES- AND- THB 1620

•

£9>

A COi4PYTER SURVEY OF PROFESSTQNAL SALARIES

213

INTERACTION IN 2-WAY ANALYSIS OF VARIANCE WITH SINGLE
REPLICATION

217

DECTRAN - A DECISION TABLE LANGUAGE TRANSLATOR

250

AN OPEN SHOP FOR ENGINEERS

TABLE

OF

CONTENTS

CONTINUED

o

PAGES
253

SrvIOLDS - SYRACUSE HANAGERIAL ON-LINE DArrA SYSTEH

266

SORTING ALGORITHI1S AND I1HEIR USE \'lIrrH A 1620 WITH rrwo
DISK DRIVES

272

PDQ FORTRAN

275

GENERAL PURPOSE USE OF SORT/MERGE, 1620-SM-047

287

HONITOR I SYSTEI1 PROGRAlvI PACKER

295

THE RI'f PRE-COHPILER

301

AN OPERATING SYSTEl-1 FOR THE 1620/1443 CONFIGURATION

303

FORTRAN LABEL INDEXER

306

PLorr SUBROUTINE FOB

311

EDIT LIBRARY SUBROUTINE FOR SPS II-D

320

MODIFIED SP-035

324

SHORT CUT HETHODS IN PROGRAMMING USING SPS

328

PROGRAMMED INrrERRUPT USING 1J.1 HE 1311

364

READF - A FREE FOR!1AT READ SUBROUTINE FO~\ FORTRAN II-D

374

HOTOR AND FLYWHEEL REQUIREl'1ENTS FROM COHPUI1ER ANALYSIS OF
MACHINE DYNAMICS

385

ACTIVE NETWORK ANALYSIS

391

SII1ULATION OF A RADIO-DISPATCHED 'llHUCK FLEErr

395

SIIvIULATION OF AUTOHOBILE TRAFFIC

405

DATA l:'ROCESSING AT INDIANA STATE UNIVERSITY

472

THE NORTH CAROLINA SUI'1MER TEACHERS DA'fA PROCESSING INSTITUTE

480

A CONFUTER-AIDED r·IECHANICAL LINKAGE DESIGN ANALYSIS SYSTEM

481

GRAPHIC DATA PROCESSING

COMPIL~AND
~.~

P:O:~

GO SYSTEM

FORTRAN

o

o

TABLE

o

OF

CONTENTS

.CONTINUED
PAGES

490

GAIflv1AYI~RIC

503

CO/STATS-COI~PUTER ORIENTED STATISTICAL TEACHING AND

CODING

rrESTING SERIES

()

•

519

BATCH LOAD AND GO STEPWISE J:vlULTIPLE LINEAR REGRESSION PROGRAM

533

A NEW APPROACH

535

A RELOCATA.t3L~ SPS SUBROUTINE F OR EDITING AND ROUNDING OUTPUT
DATA BOR SCIENTIFIC TABLES AND SIN:ILAR APPLICATIONS

541
.554

CLEARTRAN
AN APPROACH

rro

INVESTHE~T

ANALYSIS

Iro TIME SERIES ANALYSIS

~~~

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ IioJ... _ _ _

"",""""'(II'_ _ _ _ _

...

-=.-.==="=.-.. ;. .•,;,,;;'..."""'-. -=
..... --=
..

"""'''=·""",,"··~-···="'-=.-.-~"

.:.=...

"~~~=~

o

tu 't"!'!U Itt"'"

U

'""l¥l flHLW"fiillUiiM'W

b t

t"ft."."" "HtizrH

" " -"" lli"'Wii5'itPMI

l'JOTES FROH ADVANCED HONITOH \'10RKSHOP

o

DIM &

EQ.UIVALANCE

Dim always starts at sector 4800.

Equi immediately after.

Dim entry 20 positions
Disk address
sector count
loading address
entry address
record mark or group mark

=

Load add
99999-7non-core image, flag on units
by subroutine supervisor.

position-~loaded

Last position may be rlagged to indicate file protection and perm.
as signrnent.
SEQUENTIAL PROGRAN LIS'r

Cylinder 99, indicates availability of disk storage. Must correspond with Dim table~
System table editor may be used to check
correspondance.

c

WORK AREA
1)

Used for assemblies and compilations

2)

Used for FORTRAN disk I/O logical record 1 starts at sector 219.

3)

Sectors 0-199 used to store F I/O and arith for overlays.

4)

Sectors 200-218 used to store DK I/O.

5)

Going back from end of work area--local tables and locals for
mainline if necessary.
GENERAL USE OF DUP

•

1)

Whenever disk sector address required drive code must be
specified.
(1, 3, 5, or 7)

2)

First job card after multi-drive definition must contain
module change codes.

3)

All packs used by system must have splist-dlabl--beware of
4800 in Dim entry 3.
FORTRAN

Linkage
BTH
DSA

SUBPROG.RAI~1S

IN SPS

Name,~-+ll

A,B, •••

/

Page 2
Indicator Record

S

DC

DAC

DVLC

o

,·;H-IOl

DS

6,98789d,5-s
6, NAHEbb, 7-S
22-S,5LAST,2,ff
2, kk, S, EN'f.i:1Y-6,

5,0,30,0
DSC

3-100

DC

5,0

.•

•

ENTRY

LAST

17,0,0

DORG

•
•
•
DC

l,@

(even)

DETEH1'1INATION OP DISK LOAD

ADDB~SSES

1)

Check for break in address assignment.

2)

Look for series of constants to define disk control field.

3)

Look for rrRA--rrCD

E.G~

#1

E.G. #2

o

Page 7 super-iort mani tor I
DSC
DSA
DC

1,1

DC

6,402@

DSA04
3,20

Page 9 FII phase l-A
WN

PHADDA,701
PHADDA,702

TRA
TeD

LDPHA

K

SEGMENTS OF FORTillUf
Phase I-A

1)

Move blocks of I-B to work area for fast access.

2)

Calculate memory size.

3)

Initialize symbol table starting at 16000 with *****00000.

4)

Store subroutine names in symbol table.

S}

Initialize input area.

o

gl,tprj···

-

"!"w . ···

Page

o

6)

Read control records and set indicators.

7)

Read communications sector.

8)

Initialize POnTRAN communication area.

3

Phase I-B
1)

Read statement into chi.

2)

Place record mark at end of statement.

3)

Create symbol and name tables.

4)

Create strings and store in work area.

Ptlase 1-0
Storage Allocation

o

1)

Store constants in work area (cyl zero) in system. output format.

2)

Replace pointer with address of constant.

3)

Bring statement numbers into sym table.

4)

Place * at end of entry as storage is allocated.

.5)

Check for undefined sta tement nU.mbers.

6)

Allocate non-constant storage.

Phase II
Gener~tion

of object code

1)

In core (2218-10000),. strin,5 & symbol, manipulation routines,
housekeeping, statement number routine.

2)

Secondary blocks (100000-14100), aritbmetic translator, goto,
if, I/O, function intialization.

3)

rrertiary blocks (14100-16000), variable subscripting, li teral
subscripting, do.
EXA.IvIPLE

A =
1)

o

-.t31~H"C123

Symbol table initialization
16000
16010

*****00000
*****00000
•

19990

*****00000

3

Page

4

Symbol table entries start at 19999 and are 10 digi ts. .f:lirst
are address of variable in name table. Last 5 are codes
indicating "tihat is in name table.

5

0

Name table entries start at 16000 and are variable in length.
2)

Create symbol and name table entries and genera.te strin:s.

16000
16010

41 L+? '/1 43 71
72 73 00 00 00

•

16 01 32 00 00
16 00 52 00 00
16 00 12 00 00

19970
19980
19990

C123 Entry
Bl
Entry
A

Entry

1999 0133 0129 1998 0115 1997 0132
0133 =
0129 unary 0115 ~H~
0132 ;

3)

Storage allocation

16000 41 42 71 43 71
16010 72 73 00 00 00

o

•

19970 0002920000
19980 0001920000
19990 0000920000

4)

;}enerate object code through forcing table
oper

LV

=

60
5

unary

,.

~~~}

-

RV
59

a
4

5

60

0

19990133 0129 1998 0115 1997 0132
Scan
1
2

3

LV of
1999
0133
0115

RV of'

Ul.29
1998
. 0132

RV1LV~ Generate and collapse string

LV of 0115

=2

RV of 0132

u-enerate
BTiJl
B'TjYI

11 0PAC, 19
£iILEXP, 29

= 60

o

*1HiSriB

ooo_" -

)

UOO"

r-"'o

["""J(

.",-j

---

t

Page

5

Collapse

o

A= -FAC

1999 0133 0129 0101 0132
LV of 0129

=5

RV of 0132

= 60

Generate
HSGN, 0

BTH

Collapse

= FAC
0133 = 60
A

LV of

RV of 0132

= 60

Generate
B11"I-

B'RFAC,

9
FORlrRAN LOADER
Six Blocks

o

1)

Initialization, read local cards, and build local tables in
",jork area.

2)

Save COlllluon ( to 21 sec tors) and load mainline.
Load incore subroutines.
Load library routines and flipper if necessary.
Load locals if necessary.
Restore cornmon, check Nl & N2, move r/o and arith into work
area if necessary, and call in arith and I/O.
SEGHEN'llATION OF

r/o

T-1oni tor I

9 overlays
1 arith 18

r/o

Vlonitor II
Variable length same as monitor I.
1 arith, 1 read, 1 write

•

SUPERVISOR

1)

Handles all reading of supervisor phases sets up read, write,
or control function and executes it. Checks for error before
operation is executed.

-

2)

Error routine 0 brought in,
If indicator 19 on.
counters on disk.
In core with error routines.

3)

Error routine 0 plus determines if error is dlSk or non-disk
error.

4)

Error routine I disk error or cylinder overflow.
If cylinder
overflow, DDA adjusted. Up to 9 retries if disk error.

5)

Er~ror routine 2 determines other I/O errors and gi ves retry

Updat~s

error

if possible (card punch).

**

6)

Error routine 4 trap to here if read caused input of
card. Transfer made to monitor.

7)

ciring in SPS supervisor or checks for loader.

8)

Brings in reloc loader.

9)

Brought in by loader and examined for return-indicates what
source brought loader in.

control

10)

Check if loader called by dup or monitor reread caller if
necessary.

11)

dandles reading and prolessing of all monitor control records.

12)

Relocating loader.

o

o

. "iH6wH'!i'7f

'l'I"~'I,\/J!Zl"') "1" ,.... 1'.

"P'''U'''Y "',, Il"ff "Ut'I'''''&f''r'W'1J¥II,sPWWftl!', t' ,ttbtrttrrl'Zrt 1"0

H

t" '" 'dirt.__'• • i'

'U'

."

i'j

r@1'!

'.»'t"

f"Mritttt

-- j"'-'YlfZ'WttiriiflI'f"![j"¥'W'j'j

Eleotric Utilities Programs Team
or
aOMMON
(nee IBM 1620 Users Group)

o
, Newsletter #26

The following were present at our October
in New York Clty.

o

t rth

October 20, 196;

7 meeting at the Americana Hotel

Larry J. Dupre, Central Louisiana Electric Company
Barry J. De1iduka, Central Varmont Public Service Corporatiol'
L. E. Cox, Jr., Memphis Light, Gas and Water Division
Thomas H. Farrow, Jr., Tampa Electric Company
Paul D. Folse, Tampa Electric Company
RichardW. Page, New York State Electric and Gas Corporation
Alvin L. Lipson, Virginia Electric and Power
George S. Haralampu, New Erigland Electric System
Jene Y. Louis, Long Island Lighting Company
Stanley A. Clark, Public Service Company or New Hampshire
LeRoy Sluder, Jr., Long Island Lighting Compan7
Phillip R. Shire, Commonwealth AssOCiates, Inc.
David C., Hopper, East Kentucky BECC
Robert F. Steinhart, IBM, New York
W. H. Morrow, Jr., IBM, New- York
Carol Ziegler, Orange and Rockland Ut.ilities, Inc.
R. A. Smails, Stone and Webster Service Corporation
O. B. Anderson, Jr., SOuthern Services, Inc.
J. E~ Hernandez Betancourt, Puerto Rico Water Resources Authority
Herb Blaicher, Jersey Central Power and Light
LutzP • Mueller, Jersey Central Power and L=i;ght
D. D. Williams,Baltimore Gas and Electric Company
Frank J. Wells, Long Island Lighting Company
Henry Mahlmann, Long Island Lighting Company
E. J. Orth, Jr., Southern Services, Inc.
Frank Wells, our Chairman, opened the meeting with a short business session.
The FIRST ITEM OF BUSINESS discussed was organization or the Team. The 1620
Users Group now goes under the name or COMMON and includes users of the 1130,
1800, and System/360 Models 30 and 40. Those interested in utility applications
who have this hardware on order are automatically included in the membership of

our Team.

Atter considerable discussion, the group decided the best course would be
to keep one Team, and not rragment ourselves into groups interested in one
particu:l.ar cOtnplter. The main rea~on for this decision is that our Team is a
problem oriented group. Just as the wide range of 1620 models (from Bikini to
late Victorian) has not interfered with discussion of our various problems, so
also should the various computers not interrere with our information exchange.

•

The small computers will always be around. While many or our m~mbers will
have access to a large computer in the accounting department, a small machine
such as the 1130 will be most usefUl to give immediate answers on small to
medium size jobs, and on jobs which require an immediate answer. There are

cases where a smaller computer such as the lSOO would be used as a terminal
for a larger centralized on-line computer.
Dick Page of New York State Electric and Gas Corporation raised the question·, "What does belonging to COMMON do for us? ft • That is, why meet when
COMMON meets? Al Lipson of Virginia Electric and Power Company explained the
value of the hardware sessions at the general meetings. Other advantages of
the general meetings are the sessions on operations research and statistical
techniques, and the in-depth discussions of software.

o

We might mention at this point as an item of interest for newer members that
the Utilities Team will not always meet in conjunction with the East~rn Region
of COMMON. There have been instances where we did not meet with the Users Group
at all. For instance, it has been our practice to meet at the biennial PICA
Conference and skip that Users Group meetingo Since our membership is nationwide, we try to hold meetings away from the Eastern Region on a regular basis
so that more folks from the West might attendo We meet twice a year.
While we are on the subject, our NEXT TEAM MEETING will be held at the MidWestern Region meeting in st Louis, February 9, 10, 11 at the Chase Park Plaza.
A quick consensus of our members gave a thumbs down on meeting in Toronto at
the joint Canadian-Eastern meeting on March 20 We hear via the grapevine that
tutorial sessions on the 1130 and lSOO are to be held at the Sto Louis meeting.
0

0

As a SECOND ITEM OF BUSINESS, Frank Wells informed the Team that due to
changing responsibilities he has left the sphere of computer applications and
is resigning Chainnanship of the Teamo Frank appointed Ed Orth to act as
interim Chairman. Ed Cox volunteered to act as interim. Secretary.
Frank appointed a three-man nominating committee consisting of Don Williams,
George Haralampu, and Al Lipson.

o

After the intermission, the nominating committee reported the nomination of
the temporary Chairman and Secretary as candidates for permanent Chairman and
Secretary. For your purposes, a ballot is attached to this Newslettero Please
mark your choice, fold it as indicated, add a stamp, and drop it in the mail by
November 5.
Bob Steinhart of IBM distributed the LIST OF MODIFICATIONS TO THE 1620
ELECTRIC LOAD 'FLOWo A copy of this list is attached for those who did not
attend the New York meetingo Bob also commented on the Electric Load Flow for
the 1130. This program is under test at the present time, and will be available
during the first or second quarter of 1966 Minimum configuration is BK core
with disk, card, and typewritero
0

C'oncerning his modifications for the 1620 load flow, Ed Cox of the Memphis
Light, Gas and Water Division would like to emphasize that they will prevent
erroneous generator table overflows only when the number of generators in the
~stem plus the number of generator changes made on one case do not exceed the
table limits.
In order to clear up some rampant confusion on expected speed of the m,Q.
LOAD FLOW, Bill Morrow of IBM contacted Arno Glimn for us
Arno estimates that
the program will operate at 60 buses per second per iterationo That will make
0

~

~

2 'I

,,',I

.I

j(TT --

o

"

. IT

· J · · ! · ..

·[""·'ij"·wr···-w ·-W

-'--1"'"75

. . - '7'T"

'---[Jr

2""

it roughly thirty tiEs faster than the 1620 Model I load f1owo Please note
that this isstriet1y a.n index of the solution time. Output medium (oard,
typewriter, printer) should be taken into consideration in arriving at a final
ratio.

In answer to a request from George Haralampu of New England Eleotric Service
on IBM eOMMlTTMENTS FCR THE 1130, Bob Steinhart sends us the following information.
''With respeot to the ll30, the following are being prepared: MATHPAK,
CO GO , NuJnt,rioal. Surfaoe Techniques and Contour Map Plotting, and Statistical
Syst~m.
MA'l'HPAK is a set of FORTRAN subprograms for function evaluation,
matrix maniPllation, etc 0 COGO is announced for availability during the
Third Quarter of' 1966, the others during the Second Quarter. We are aware
of the need for an 1130 oritical path scheduling program, but can say
nothing more on'this subject at presento Both the 1130 and 1800 are
supported with FeRTRAN, an assembly language, a monitor system for the diskoriented oonfigurations, etc
The 1800, in addition, is supported with the
Time Sharing Executive Systemo
0

o

tlSystem/360 now consists of Models 20, 30, 40, 44, 50, 65, 67, and 750
All except Model 20 are exceptionally well suited for engineering and are
fully supported with FORTRAN and other programming systems 0 Announced
application program support includes the Scientific Subroutine Package
(like MATHPAK for the 1130, but more extensive) which will be available
this year, Project Management System (includes PERT), Mathematical Programming System (includes linear programming), and General Purpose Simulation SyStem. The availability dates for the last three items have not yet
been announoed."
Concerning the 1000 LOAD FLOW, we hear that the 1130 source deck may be
assembled on the 1800 The 1130 load flow under test is also apparently identical to the 360 load flowo Specifications o;f the 1130 load now were summarized in Newsletter 123, dated June IS, 19650
0

Bill Morrow had some interesting comments to make concerning mM's EDUCATION
EFFORTS FOR THE 1130 AND lSOOo He indicated that a I1t~a.cher~s teacher" course
has been designed and distributed so that competence should now exist at the
District level for 1130 and 1000 courses
Concerning this matter of courses,
please carefully check background material assumed by the courseo If the course
is not as promised, or if you have suggestions r or improving the course of
material, please contact Bill Morrowo His full address follows:
Wo Ho Morrow, Jro
Program Administrator
Public Utilities-Engineering and Operations
112 East Post Road
White Plains, New York 10601
Bill will sinc erely appreciate your comments. It is only through our feedback
that IBM can design the best possible course for their customerso
0

•

Quite a bit of conflicting information has been going around concerning
COOE REQUIREMENTS FOR THE ENGINEER.ING OPERATING SYS'IEM. The latest 1«>rd is
that the EOS requires the full operating systemo Without communications capability, minimum core requirements are 12SK. With cODlIIDlnications, core

<=>

3 ...

requirements are 256K. Bill Morrow is sending us some material concerning the
EOS. We will forward it to the membership when it comes in. You also may wish
to check back Newsletters.
Phil Shire of Commonwealth Associates discussed some experimentation they
have done to hasten CONVERGENCE OF THE 1620 LOAD FLOW. He has not had much
success with a technique for random choice of acceleration factor. However,
much better results were obtained by increasing alpha by 0.2 on the two buses
with the highest mismatch. Phil discussed three programs Which he hopes to
get in the Library before too long. They are: 1) A steam distribution program
for steam networks, programmed in FORTRAN and SPS; 2) A column design program
using the AlSC formulas, programmed in UTO FORTRAN; 3) A program for circuit
routing in power plants using dynamic programming techniques, coded in SPS.

o

Don Williams of Baltimore Gas and Electric Company gave a very interesting
discussion on MANAGEMENT INFORMATION SYSTEMS, telling us about the system being
worked up at his company. Of particular interest is their transformer load
management system. Don stressed the need for looking at the 'Whole picture
ahead of time. He who jumps in and starts work without considering how all the
details fit together runs a great risk of going in all directions at once.
Don mentioned that Detroit Edison has mechanized the ordering of materials
and feeder design. That is, input data of so many miles of such and such construction causes output of a complete bill of materials including costs.
There is a ver.y definite need for critical path techniques in a management
information system. When CPM plus the proper reporting techniques are built
in, management can tell almost on a day to day basis exactly what has been
done, what remains to be done, the items holding up the works, and money spent.
That is, management will not have to wait for this information to filter down
through the various channels. In its final form, such an infornation system
will place an inquiry station at the finger tips of top management.

0

Many believe that engineers are best suited to design such a total information system due to their experience with the electrical system, and due to
the nature of their education. However, as Herb Blaicher of Jersey Central
emphasized, "Such a system assumes a high degree of sophistication at top
management. It is up to us to sell them through a proper education program".

Thus, our meeting.
With the changes wrought by COMMON, our Team is now the largest and most
active in our industry. The fement generated by the various new generation
computers will produce many new ideas and methdds. We are fortunate in our
industr,y that competitive interests do not hinder information and program
exchange. If our past success in the limited area of the 1620 is to be magnified in our new and larger scope, we must continue in our efforts to comnunicate
with one another.
This is our last Newsletter. Ed Cox will be taking over the Newsletter
along with the other duties of Team Secretary. We have enjoyed serving you all.
Let us all continue in our support of the Newsletter through our new Secretary.

.., 4-

11J

o

_,,!

j

itiirhft bl"irt5f9b

o

§

h# @*dhttdt#

ibt±" hriitS

m

-""]"""-,.

In his moving from our ranks to fields of even greater achievement, Frank
Wells leaves us with a well-1mit organization.. The magnitude of his contribution
to our Team can be seen in the new applications we have discussed, attacked, and
conquered, and in the continuing cohesive spirit of the Team. Frank was one of
the original members of the Team, and has seen it grow from afiedgling group to
the present membership of 55 under his guidance
We wish Frank continued succe'ss
in his new responsibilities ..
0

Sincerely,

f1)()~J. \L
Ed Orth

Team Secretary
Southern Services, Inc.
PO Box 2641
Birmingham, Alabama 35202

o

o
/1

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

. .'... -..-=
..._. . . . . . _. . . ,. ..

. • •=
.....
."
" ..~
........~.===

-~~

o

o

o

f 'b'tChrift '$ ()

if ri·P··f·.

#

"ft'\ t '

Utt

'ji")

+# .

'j".

its ...

ittttriHH

m.ri9"Hi

o

EDUCATIONAL APPLICATIONS OF MARK SENSING
by

o

o

RICHARD D. ROSS AND TONY A. ROSS
UNIVERSITY OF MISSISSIPPI
COMPUTER CENTER

- -gp" ._._...

. . .=.... =....=......=.. =..... =._._=....._=......

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

.......... __ ........

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

Page 2

EDUCATIONAL APPLICATIONS OF MARK SENSING

o

by Richard D. Ross and Tony A. Ross
University of Mississippi
Computer Center
The mark sense attachment to the IBM 519 Reproducer
has rapidly changed many aspects of the function of the
Computer Center at the University of Mississippi. This
attachment allows data to be mark sensed on IBM cards with
a special graphite pencil and then in turn punched into the
cards via the 519 Reproducer mark sense attachment.
Presently the University of Mississippi uses mark
sense cards for:
(1)
(2)
(3)
(4)
(5)

Scoring of objective exams
Scoring all Student Counseling test given to incoming
freshmen
Used for completely automating test scoring and final
grade output for Army R.O.T.e.
Used for student attendance record keeping
Used for Athletic Association ticket information

The first two items listed above will be discussed
in detail in this paper and a brief mention of the last
three will be given.
.

o

University of Mississippi Test Scoring Program
The University of Mississippi Computer Center began
scoring objective tests on the computer in 1963. The test
scoring program that has been used was written by Robert M.
O'Brien of Northeastern University, Massachusetts.
Mr.
O'Brien's program has been used extensively for the past
three years although it was found that his program has
certain limitations. These limitations are:
(1)
(2)
(3)
(4)

Only 150 questions per test could be graded
Only one correct answer per question was accepted
Weighting of questions was not permissable
Batch test grading was not permissable

All of these restrictions have been removed from the
University of Mississippi Test Scoring Program (UMTS), and
some additional features have been added.
Given here is the University of Mississippi's Test
Scoring Program abstract as it will be sent to the 1620
Program Library in the immediate future.

o
/3

I,oll"· L

j

t

It 11

h

ht

itM#ti ·*rlri.zHtW.C······.. "] ....

-m·

+aftt,i!"_··'i'iS-r"""![X-·-**&t!r·· r--

W""[· -

n'""· YT"F "[MWtl

Page 3
PROGRAM ABSTRACT

4C)

TITLE:
AUTHOR:

University of Mississippi Test Scoring Program (UMTS)
Richard D. Ross

DIRECT INQUIRIES TO:

Richard D. Ross, Director
Computer Center, Carrier 103
University of Mississippi
University, Mississippi
phone:/ ,area code 601-232-8368

DESCRIPTION: UMTS is a flexible means of scoring objective
exams taken on mark sense cards.
It features a card output
patterned after the Northeastern University Test Scoring
Program by Robert M. O'Brien, Northeastern University, Mass.
A numerical grade for each student is published along with
a grade distribution (with mean and standard deviation)
and an exam analysis--indicating how many choices per
question were made and the percentage of correct answers
per question. UMTS has a maximum range of 500 5-choice
questions (10 cards) per exam with multiplicity of correct
answers permitted.
In addition, each question may be
weighted with a weight value from 1 to 5.

o

UMTS allows for identification to be punched in columns
76-80 of each students grade card. This identification
is t~ken from columns 14-18 of the control card. One of the
most important features of UMTS is the speed of grading each
students exam. Given below is speed of grading different tests:
No. of Tests
100
100
100
100
100
100:
100

No. of Questions
50
100
150
200
300

400
500

Time in Seconds
93
120
155
190
260
330
400-

As you can see from the table, to grade 150- ques-tions-- takes
approximately 1 1/2 seconds.
RESTRICTIONS/RANGE:
No special instructions are required,
although TNF and/or Direct Divide can be used on computers
that have these capabilities. The maximum number of questions that may be graded is 150 questions for 20K computers.
and 500 questions for 40K computers.

o
11

Page 4

o

INPUT

1.

Program Deck.

2.

Co'ntrol Card.
Card Columns

Data

1-2

Number of test cards per student

3-5

Number of questions on the exam.

6-8

Number of questions not to be
graded (this includes only those
questions properly left blank).

9

"1" if the grade distribution and
exam analysis by section is desired.
Otherwise, a "()'T or blank.

10

"1" if the grade
exam analysis by
totaled together
Otherwise, a "0"

11

"1" if grade distribution is
desired on last card indicator.
Otherwise, a-rrQ"--orblank.

12

"1" if name is to be omitted from
output, otherwise a "0" or blank.

14-18

Any data in columns 14-18 of header
card will be punched in columns
76~80 of each student's output
card. This could be used to give
the percent of the final grade
that this test will be and the test
:Qumber or any other identification
that is needed..
Anotherposs ible
use for this output is to put the
instructor's initials or in some
four-letter cases, their last name.
If left blank, nothing will be
punched.

distribution and
all sections
is desired.
or blank.

o

o
/.5

.'

ht'

¥#triftrt.,ttt

$

* -tH"riit

""j

tt"tH htt

m'"TZfRtTf

Page 5

o

o

3.

Keys For The Exam.

The key cards for the exam are the same as the student
answer cards. They are of three types: major keys, secondary
keys, and weight cards.
A.

MAJOR KEYS - Required
Contain the instructor's first choice of correct
answers.
It must contain an answer for each question
to be graded.~estions not to be graded must be
left blank.
Columns 1-5 have a 99999.

B.

SECONDARY KEYS - Optional
Contain alternate answers to those given on the
major keys.
If a question on a secondary key card
is left blank, no altern~te answer is assumed.
There can be 4 or less secondary key cards for
each major key.
Columns 1-5 have a 99998 for first alternate key,
99997 for second, 99996 for third, and 99995 for
the fourth alternate key.

C.

WEIGHT KEYS - Optional
If used, the weight key Y:ill have a weight for each
question answered on the aA!ior key. An answer A
on the weight key assigns that question a weight
of 1; a B, a weight of 2; a C, a weight of 3; a
D, a weight of 4; an E, a weight of 5.
If a
question is left blank, the weight is assumed to be 1.
Columns 1-5 contain 99994.

Column
1,
2,
3,

30
if
if
if

of ALL the key cards contains:
the card pertains to the first 50 questions
the card pertains to the second 50 questions
the card pertains to the third 50 questions
and so on, until
9, if the card pertains to the ninth 50 questions
0, if the card pertains to the tenth 50 questions

Only one answer per question is allowed, but by using
the alternate key cards, if the student answers anyone of
the correct answers he will get credit for that question.
Let it be stressed that one and only one answer is to be
marked per question~
--- --- ---- ---- -- -If any of the alternate key cards or weight cards
are not marked, they do not have to be read in, but if
they are read in they are ignored.

•

The order by which the key cards are read in after
the control card is of no consequence .

Ib

Page 6

4.

Student Answer Cards.
Card Columns

Data

1-5

Student number

6-23

Student name

24-25

Section number

26-29

Course number

30

Card number

31-80

Student's answers

c)

The student's answer cards do not have to be in any
particular order. The only requirement is that all cards
for one student by read in together.
OUTPUT
1.

Student s grade card
Card Column

Data

2-3

Section number

6-9

Course number

15-32

Student's name

39-43

Student number

49-51

Number of correct answers

57-59

Number of incorrect
answers

65-67

Number of questions
omitted

72-74

Score

76-80

Any data in columns
14~18 of the control
card

o

o

Page 7

2.

0

Grade distribution cards.

3.

2-3

Section number

6-9

Course number

35-37

Score

48-50

Frequency

61-63

Cumulative frequency

74-76

Percentile

Exam Analysis Cards.
Card Columns

0

Data

Card Columns

Data

2-3

Section number

6-9

Course number

14-16

Question number

23-26

Number of A answers

32-35

Number of B answers

41-44

Number of C answers

50-53

Number of D answers

59-62

Number of E answers

68-71

Number of omissions

78-80

Percent of correct
answers to this question

o
/,p

Page 8
STUDENT COUNSELING CENTER TEST GRADING
The Student Counseling Center has converted all of
their test grading to mark sense IBM cards. This has
saved them much time and effort in giving pre-college
entrance tests and getting the results as soon as possible
after the last test is given. There were three programs
written for the Student Counseling Center to produce the
desired results. These programs are named:
(1)
(2)
(3)

ACT AND MASTER CARD PROGRAM
TEST CARD PREPARATION PROGRAM
TEST SCORING STUDENT COUNSELING PROGRAM

The Student Counseling Center gives a battery of tests
and they are:
(1)
(2)
(3)
(4)
(5)
(6)

Diagnostic Reading Test, form A, F, or H.
Nelson-Denny Reading Test
Abstract Reasoning
Edwards
Math Test
Strong Entrance Test

The above tests range from 50 question tests to 225 question
tests for the Edwards and to 400 question tests for the
Strong Entrance Test.

o

Given here is the outline of the procedure for preparing the tests to be given and a s~mple of the results.
Step 1.
A master card should be made for every student
using the following format:
Col.
Col.
Col.
Col.
Col.
Col.
Col.
Col.
Col.

01-05
06-23
26
31-32
34-35
38-50
52-64
66-78
80

Alpha Number
Name
Sex
Age
Classification
Street Address
Home Town
State
Asterisk

o

Page 9

o

o

The two digit classification in Cols. 34-35 will be
as follows:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19

Pre-College
Freshman
Sophmore
Junior
Senior
Transfer (Year 1)
Transfer (Year 2)
Transfer (Year 3)
Transfer (Year 4)
Graduate (Year 1)
Graduate (Year 2)
Graduate (Year 3)
Graduate (Year 4)
Liberal Arts
Business and Government
Engineering
Pre-Medicine
Pre-Pharmacy
Education

If an ACT card is available for the students, a computer program labeled ACT AND MASTER CARD PROGRAM is available to prepare the master card and the ACT card that will
be used in the test grading program later. The master card
will have all of the information in the correct Cols. with
the exception of age which is in Cols. 31-32 and this will
have to be punched in by hand.
The classification is assumed
to be 01 for pre-college students. After the master cards
and the ACT cards are prepared from the original ACT cards,
the output is then sorted on Col. 80. The ACT cards will
fall in the first pocket of the sorter and the master cards
will fall in pocket eight of the sorter.
Step 2.
After the master csrd has been prepared either
by the computer program or manually, the program labeled
TEST CARD PREPARATION is now loaded into the computer to
prepare the mark-sense cards for the DRT, Nelson-Denny,
Abstract, Edwards, and the Math Test. After the program
has been loaded into the computer, it will type the message
"READ IN MASTER CARDS" and at this time, read in the master
cards that have been prepared in Step 1. After the master
cards have been read in, the computer will then type out
the message "ENTER NO. 01 CARDS" and at this time you will
place in the punch hopper of the 1622 No. 1 mark-sense
cards. Press start on the 1620 Console and punch start
on the 1622. After it has punched all of the No. 01 cards
necessary, it will then type out· the message "ENTER NO. 02
CARDS" and at this time you will clear the punch hopper
and continue this procedure until you have completed punch1ng

Page 10
the No. 05 mark-sense cards.
If an error occurs and you
want to begin again, press RESET-INSERT-RELEASE and START
on the 1620 and the computer will type "ENTER NO. 01 CARDS."

o

If an error occurs while punching a particular set
of cards and you only want to begin on this set again,
turn switch-4 on and press RESET-INSERT-RELEASE- and START,
then turn switch-4 off.
Step 3.
preter.

These cards are now interpreted on the 548 Inter-

Step 4.
After all cards have been interpreted, they are
sorted on the Alpha Number, Cols. 5, 4, 3, 2, 1, and the
test number which is in Col. 25.
In summary, you will sort
on Cols. 5, 4, 3, 2, 1, and 25.
Step 5.
The cards are now in order according to the tests
that are given and the number of the test will be interpreted
on the mark-sense card and will appear in the block labeled
Section Number. For the DRT test, there will be an alphabetic
letter A, F, or H for the form of test given. Be sure that
this letter agrees with the form of test that is being given.
Step 6.
After all tests have been given, they will now
be mark sensed using the 519 Reproducer.
After the cards
have been mark-sensed, take all of the DRT tests on which
the student should have marked the line number that he was
on during the reading part of the DRT test.
This number
will now be punched manually as a three digit number in Cols.
27, 28, and 29 of the No.1 and No.2 cards of each person.
The same number should appear on both cards, if not, an
error message will be typed later.
Some number has to appear
in these Cols. even if it is 0; hence, if the student did
not give the line number, then you should enter 000 in Cols.
27, 28, and 29.

o

Step 7.
After the cards have been mark-sensed, the master
cards followed by the ACT cards that were previously punched
are placed in front of all of the tests that have been given.
All of these cards are now sorted on Cols. 30, 25, 5, 4, 3,
2, and 1. These cards are now ready for grading.
Step 8. Load in the program labeled TEST SCORING STUDENT
COUNSELING CENTER followed by all description~headers, key
cards, and weight decks. After all of these have been read
in, the message "READY TO GRADE TESTS" will be typed on the

o
02/

'*

Page 11
typewriter. Place the sorted deck in the read hopper and
read in the tests and in turn, the correct answers will
be punched.
If a check stop occurs, this may indicate
that a card has invalid characters punched on it or it
may mean that sorting was incorrect.
If any error messages
are typed out, this will indicate that some of the test
cards were prepared incorrectly.
Step 9.
The answers punched are now printed on the 407
using the standard board with switch-Ion. This board is
wired to skip to a new page if there is a nine (9) in
column "1" of a card providing switch-l is on. Two copies
of everything will be printed--one for the student and
one for the Student Counseling Center.

o

Step 10.
The format for all cards is given on the supplimentary page.
If there is a student who appeared at the
test late and there are no master cards or test cards
made for this student, the student will be given the correct
card numbers for each of his tests, and he will sign his
name across the top of the card under the line marked
signature. These cards will then have to have the correct
information punched in them according to the format on
the supplimentary sheet. Thts information is punched in
the card before the cards are mark-sensed. Also a master
card will have to be punched for each of these and an Alpha
Number given to them.
This number can not be the same as
any other Alpha Number given for this test. The same
Alpha Number has to appear on the person's master card,
his ACT card, and all tests that he has taken.
To be able to grade all of these tests on the computer,
a set of answer cards and percentile cards have to be
read in for each test.
In case of the Diagnostic Reading
Test asswer cards and percentile cards have to be read in
for the three different forms-A, H, and F.
For some of
the tests the men and women have different percentiles
and these also have to be read in as tables. Shown on
the next five pages are the description headers, key cards,
weight cards, and percentile cards that are read in as
part of the input data to the TEST SCORING STUDENT COUNSELING
PROGRAM. This data is now followed by the student's answer
cards and the results are produced.
Shown also is a sample input for the Strong Entrance
Test and a sample output .

•

r
I

I

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
-19
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

DESCRIPTIONS HEADERS - MASTER KEY CARDS - PERCENTILES
PRE-COLLEGE
FRESHMAN
SOPHMORE
JUNIOR
SENIOR
TRANSFER {YEAR 1 }
TRANSFER (YEAR 2 )
TRANSFER (YEAR 3 )
TRANSFER (YEAR 4)
GRADUATE (YEAR 1 )
GRADUATE (YEAR 2 )
GRADUATE (YEAR 3 )
GRADUATE (YEAR 4 )
LIBERAL ARTS
BUSINESS AND GOVERNMENT
ENGINEERING
PRE-MEDICINE
PRE-PHARMACY
EDUCATION
ACT
NORMS
ENGLISH
U.S.
MATHEMATICS
COLLEGE
SOCIAL STUDIES
BOUND
NATURAL SCIENCE
COMPOSITE
R P
S R
DRT
UNIV OF
RATE
MISS
1959-1962 VOCABULARY
COrv1PREHENS ION
FORM ( )

Page 12

C

0

NATL 1960 NELSON-DENNY
VOCABULARY
FRESHMAN
U.S. 12TH OAT

GRADE
M-F
M-F

ABSTRACT R.

EDWARDS
1
2
3
4
5
6
7
8
9
10
11
12
13
14

~3

0

It

0

()

o

38
39
40
41
42
43
44
45
46
47
48
49
-50
0135 0237
1146 1246
2149 2250
3'154 3253
4156 4256
5158 5258
6160 6260
7163 7263
8167 8267
9171 9271
01 01 02
01 02 03
01 03 04
01 04 05
01 05 06
02 01 10
02 02 11
02 03 12
03 01 15
04 01 19
05 01 24
05 02 25
05 03 26
05 04 27
05 05 28
05 06 29
05 07 30
05 08 31
05 09 32
05 10 33
05 11 34
05 12 35
05 13 36
05 14 37
05: 15 38
05 16 39
-06 01 42

DESCRIPTIONS HEADERS -.MASTER KEY CARDS 15
16
1959

ww..w'

PERCENTILES

' 1 2 " ...

'8'

'ty"tl'lIl¥Uffl

¥'"N'

11"11 it'

dt

t

Page 13

UNIV. OF MISS.
MATH TEST

u.S. 12TH DAT
GRADE M-F SPACE RELATIONS
UNIV OF
MISS
1959-1962
FORM ( )
0339 0440
1346 1447
2350 .2451
3354 3454
4356 4456
5358 5458
6361 6461
7363 7464
8367 8468
9373 9474

DRT
RATE
VOCABULARY
COMPREHENSION
0541 0642 0743
1547 1648 1748
2551 2652 2752
3554 3654 3755
4556 4656 4757
5559 5659 5759
6561 6661 6761
7564 7665 7765
8568 8668 8769
9574 9675 9777

0844
1848
2852
3855
4857
5859
6861
7866
8869
9879

0944
1949
2953
3955
4957
596u
6962
7966
8970
9980

1045
2049
3(;53
4055
5 u57
6u6U
7062
8066
9070
Ou35

PERCENTILES
P E f.( CENTIL E S
PEi:';:CENT I LES
PEt---__ I .._ _-+-__---l

A
56 A
44 B+

59

57 A

*****--_-I---... ------~--A
***!---.~------··A

*** "*---B+
****** ------ ------ -A

_~IA~.l~1~S~IT_r~3~9~B~--~--_+___+--___l_--r__+--*~*~*--~,B~__+_--~--~__+_--~

MUSIC

MUSIC PERFORMER
,MUSLC tEACHER

29 C+
27 C+

MISCELl

PRODUCTIONJ.1ANAGER 25C+
IARMY OFF leER
26 C+
IPR£S I DENT MFG _CO
32 BII NTERES T MATUR I TY '50 A

c+
c+

*CI-*****
******---- .+

o

,"

r

ttWlr"mer"'

-- -- Wy

'lIt

Page 23
ARMY ROTC RECORD KEEPING

o

The Army R.O.T.C. is now keeping all class records
such as merits, demerits, absences, excused absences,
and essay scores on mark-sense cards. They also have a
unit card on which information about each person is mark
sensed. They have four mark sense cards and are labeled:
(1)
(2)
(3)
(4)

Unit Card (U-Card)
Essay Card (E-Card)
Absentee Card (A-Card)
Merit and Demerit Card (M-Card)

Shown on the preceeding page is a picture of the four cards
that are used.
Careful examination of these cards will
show that one is able to keep all significant data on these
IBM cards and at the end of each semester these cards are
used to determine the final grade of each student. For
the four different levels of Military Science-I, 2, 3, and
4- the approximate time to furnish final grades is approximately one hour.
Student Attendance Record Keeping And
Athletic Association Ticket Information
Also shown on the following page is a picture of the
attendance record keeping mark-sense card and the athletic
association ticket information card that is used at the
University of Mississippi for attendance record keeping
for high schools and for mailing ticket information to
football ticket buyers for the coming year.
Due to the
lenght of the paper already and the time allotted for giving
the paper, these two items can not be discussed.
Further
information about these topics will have to be directed
to the author.

o

c

a;:

=>--<~UJ~-------------------------+----------~~--4-------~~--~--~--------~

:IE

=>--

REBEL GUIDE

@ S

PER COPY

X - LIMIT OF FOUR UNTIL JULY 1

POSTAGE.4ND INSURANCE

TOTAL AMOUNT ENCLOSED

ISEXI INSTR.

I

SCHOOL CIII1l SlaTE

o

""fU

-r"

"lRT'-TJ

-" "R"TTT'W-

:::>
ii:

Q

!!:

II:

e

f/)
f/)

C

u

...

iii
f/)

...z2

i

....
0

~

~

...iii>...>

e

II:

~

0
II:

Z

::I

:::>

TEST GRADE
GRADE

'*

I

co::>co::>c0=t:o::>co
I

cl:Jcl:Jcl::Jac:l:Jcl
I

cPcPC2::>k:Pc2
I

cPc3:Jc3:J/cPc3
I

cPcPc4:::>k:Pc4
I

CPC5:JC5*5:JC5

cPcPc6~PC6
I

cPcPc7:::>k:7:Jc7
I

cPcPcs:::>k:pcs

w

I

cPcPC9==>'!C;PC9

!

o

CARD CODE

«
0:
a.

iii
iii
(f)

(f)

:E
l!...

0

...
...

III

Z

III
f/)

m
>to- e

0

iii
0::

I.&J

>

Z

::>

Page 17

SAMPLE INPUT FOR
01
02
03
04
05
06

ACT TEST
DRT TEST (FORM-F)
NELSON-DENNY READING TEST
ABSTRACT REASONING
EDWARDS TEST
MATH TEST

00001ROSS
OOOOlROSS
00001ROSS
00001ROSS
00001ROSS
00001ROSS
OOOOlROSS
00001ROSS
00001ROSS
00001ROSS
00001ROSS
00001ROSS
OOOOlROSS
00001ROSS

RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD
RICHARD

M
UNIVERSITY
MISSISSIPPI
*
OlM
117 27 27 85 17 28 17 27 20 46
F2M077196869897866789889677897793231424133241424211243314
F2M077266879879996897769879668794421331244113332441312144
03M
19668796568596775659877 984021434201133013422030423
03M
296758856787957799865566894124120344443022133300243
04M
157697876787959987968766852333001314411343011343234
05M
188989998888998989989999884443333434433443434443334
05M
289989998888998989998989894333434443343434443433343
05M
388989998899889988899999984444334343434343434333334
05M
489898989889899898899988883334344434333334434344433
05M
58899899888999988998999898
06M
18867589966787675998599877323 22 34 1103234433S1 34
06M
29887657899

00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS
00002ROSS

TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY
TONY

M
UNIVERSITY
MISSISSIPPI
*
OIM
114 13 19 46 16 22 16 22 16 19
F2M089198666977697876987896867693214123241214323342213341
F2M089299768968768796997768977861124341341242143423143421
03M
1777975688699598696877689500244202433223002334 1304
03M
2697568=9756788655989778694213112321412200224233012
04M
166786599978856897 86895751144221024444223121310044
05M
188899989899989989898998894344434433434443443333434
05M
289998889899998999899999893334334443444333334433334
05M
388998898989988989989898983344343434444433434333443
05M
488899999889989898898989894444444344344434434333434
05M
58989988899989898889989889
06M
18766788 659957756699898863122334444343221101123334
06M
29999786796

o

o

~

It·

'rr- rrr ... iiititRitHHttW .. ··

zrtt

brtF± thtiitf'#rttrb£'''-

. iHrtirttHi

L**rtiFri' +.it±f

... --r'"

y·r··§""·§····('[j"-tT·_· j

· .. -

-,,"'j

Page 20

SAMPLE STRONG ENTRANCE TEST INPUT

() ,'
-

..
'

o

00001ROSS RICHARD D
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00002ROSS TONY A
00002
00002
00002
00002
000(;2
00002
00002
00002
00002
00002

BATESVILLE
MISSISSIPPI
*
M
26 10
788888b977879977~998
11332232111323213113
01870
89779788879b7b~87898
21112131311311333121
01871
8897799b887~77977789
33322323221133231133
01872
8877979897898779~998
22133313111233322322
01873
89898877779799cl88889
23323333133211232321
01874
97899899879987899797
13131133123123231113
01875
79988887997977897987
21231111111122222213
01876
89989787877798889897
21331322121133123222
01877
77797977997977799799
3312331113111112Z~21
01878
97999999999999997997
13313333212122223223
01879
KAPPA ALPHA H MISSISSIPPI
*
M
20
98797799978979878777
12112333133122112113
01900
97799899779977779777
13111111311322132221
01901
77787997877997778777
11121121331232333331
01902
77798999979778779998
23132313332122233333
01903
87998787799987898989
23232131213312332331
01904
98999999899799799777
33122333321133332133
01905
79989988997989788997
22222311213231132123
01906
78788798999897889877
11221333223221121233
01907
79988997777798787998
32311311132123132211
01908
87999798899778997977
21233333113332223223
01909

FOR T 5

A Monitor Control Record

o

In response to the need for a method to handle a large volume of
FORTRAN programs from students with a limited number of key punches
available, a system was developed whereby the students could use MARK
SENSE cards to write their FORTRAN programs. This eliminated the need
of the key punch for a FORTRAN program. The developed program was made
available to 1620 USERS earlier this year through the library as the
FORTRAN DECODER PROGRAM. This program, written by H. B. Kerr was designed
for a 20K 1620, later being made adaptable to the 1311 MOll IT OR SYSTm4
FORTRAN COMPILER, so the additional statements available in Monitor
could be used with the MARK SENSE system.
The program, as designed, accepted as input the MARK S~~SE PROGRAM
and translated that coded program to regual FORTRAN SOURCE STATEMENTS
and gave an output of each statement on a card, allowing, as I said earlier,
The elimination of the key punch completely. These coded MARK SEl~SE
programs could be batch-processed through the translator, thus saving a
little more time in the processing of student programs.
Upon installation of the 1311 MONITOR SYSTEM at our computer. center,
it was felt that some means was needed to speed up this process and reduce
the work load of the operator. I felt that if the TRANSLATOR program
could be stored on disk and called when needed to translate a program, the
process could be partially accelerated. Upon consideration of this
idea, the thought that the incorporation of the translator with the
FORTRAN COMPILER, so as to eliminate the need ot forming a translated
source deck, would accomplish our purpose even more.
Two basic methods of doing this were considered. The idea of
translating the statements, and storing them on disk and then calling them
back one by one to be compiled by the FORTRAN COMPILER was first in mind.
This process however brought about complications in modifying the monitor
system, such as: reserving disk storage area for the translated statements,
not knowing what maxium size to save for programs. Then the compiler
would have to accept its input statements from disk rather than card. And
lastly, no means by which to bring in the FORTRAN COMPILER after the translation and storage had been completed--still allowing stacked input processing~was available.
After weighing these complications, the preceding idea was abandoned
and the present method was developed. The Control Record Analyzer of the
Monitor System was studied along with the Supervisor and the FORTRAN C01!PILER?
.~other decision now had to be made: whether to expand the analyzer, or to
eliminate something already present and use the area made available.
Looking over available control records, it was found that the TYPE AND
PAUS statements were not used enough to be considered necessary, so work
was started with the area that checks for these control records.

o

(2)

o

By elimination of the TIPE and PAUS control records, an area about
100 digits in size was made available for any modification that was
necessary. First, the PAUS statement was changed t~ FORT allowing the
use of the +~FORT CONTROL RECORD.
Considerable effort was made to call the translator from disk and
have it, in turn, call the FORTRAN COMPILER, but that idea did not work
originally because of lack of knowledge of the overlay routine of the
MONITOR. other methods were considered by trial and error but none worked
satisfactorily.
Then it was back to tne idea of calling the translator first. To be
able to do this and eliminate an overlay, it was necessary first to change the
bottom limit of the symbol table area from 15999, as defined in the l10NITOR
SYST~f, to 25999 allowing an area for the translator to reside in core at
the same time the compiler was there. This was easily accomplished by
simply changing the compare position of the symbol table overlay routine.
For this reason alone, the program operates on a 40K or 60K system because
of the symbol table.
.
Once this was done, work was begun on the instructions necessary to
call both the translator an~ the compiler into memory at the same time.
The only way to pennanently place the translator on disk was to store it
with a DIH Number and file-protect it. When this was done the 100 digits
of the TYPE and PAUS area were used to compare on the FORT control record
card and to seek and read the translator from disk into core at location
17000, which is the lowest area not used by FORTRAN IID. This worked and
things were going fine, but now the linkaE;e between the translator and the
compiler had to be worked out.
The non-disk I/O section had to be modified to eliminate the compiler
read statement. This could not be a permanent change because of the constant
use of this statement. But since both the translator and the compiler were
in memory, I felt that I could, by programing in the translator, chan~e the
instructions in the I/O causing a branch to the translator rather than the
reading of a card, then use the input area of the translator to bring in the
card. This created problems in the translator and a drastic modification of the
translator was begun. The origional translator used the BRANCH AND TRANSHIT
i.nstruction frequently which could no longer be used because of the HONITOR
SYSTEM'S use of it. Also the output of the t~anslator had been on card and
now' the information in the 011tput area of the translator had to be moved
to the in9ut area of the monitor system. The systemts input area has flags
in all even positions which were not affected by the normal Alpha reading
of a card. When transmitting fl10m the translator to the monitor input area
I w'as destroying these flags 'which are necessary to the operation of the
compiler. A routine for clearing and setting flags in the translator output
area had to be added so it would be compatible with the monitor. As these
changes were made new problems were created; These were worked out as they w'ere
encountered.

•

I then found it was necessary to bring in the translator and branch
to it, doing the necessary modifications to the I/O in the SUPERVISOR then
transferring control to the point in the Monitor where the FORTRAN COEPILER
is normally called from disk and the proper indicators are set •

( 3)

This gave me the necessary set of instructions to fill the 100 digit
area reserved and I proceeded to give a trial run. 'rhe first statement
w'as translated and compiled with no problem, but the system then chec kstopped. Back to work, where more checking revealed that ,the card i,'naGe
area in the NONITOR SYST&'1 changes to different locations when compiling
a program; I had to work this change into my translator so that the
output record would be placed at the correct location each time.
These corrections made, I once again made a run. It worked on the
simple program that I had provided for a test. I then tried a more
complicated program, with continuation cards in it, and developed
additional problems.
These changes were continued until the program worked for all
possible types of statements and then a sense switch setting was added
to allow for the normal source statement typing, as called for by
turning on switch 1 when compiling, or for punching of the source
statement when switch 1 was off. The output could then be listed on the
407 for return to the programmer. The card-output option is normally
used because of the speed increase realized.
After the completion of all programming, the system was loaded to
disk and an extensive test began, using this method to process our daily
work load of about 50 programs.
By using the control records for FORT, FOR, FORI, SPS, SPSX, we
could stack input, mixing the MARK SENSE programs with others as desired.
Our purpose was accomplished. We had cut drastically the time needed to
process student programs, eliminating the heavy work load of the operator
and by option, saving on the number of cards used in a normal program
output.
The largest factor was the saving of time. When the programs were being
translated, compiled, and executed as seperate steps using the standard
FORTY-lAN COI1PlIER, we spent an average of 20 minutes on each program.
After the disk method was perfected, the average program time was reduced
to about 4 minutes - without the necessity of an operators presence
constantly.
As I said, the program was given extensive tests by using daily for
about 8 months. No additional bugs have developed in the overall system
since it was placed in operation.
After I had submitted the abstract for this talk, I beGan work on
my ideas and started reviewing my previous work. I was no longer satisfied
with the system and the way the program worked and immediately started
modification, only this time with more ease becanse the basic work
had been completed.
The thought that when someone might wish to translate and compile
a program without execution, it would be difficult under the system. I
created another control record, this one being called FONT, for nonexecution purposes. I was limited for space in which to make changes, so
found in the SUPERVISOR in lower memory, an overlay read routine which
I could use to call the translator from disk.

o

j'e.

t t

mitEr

h t

e

t*

'# 'Hdsht& t

0j'Ow dhtttrt#

(4)

()

Using the additional space made available by this change, the
instructions for both FORT and FONT were incorporated. Since I was
now allowing for a non-execution run which could be used for program
checking, I felt that a sense switch setting to allow for a non-output
option would be convenient. Switch 4 was my choice since it is only used
when typing in source statements for a FORTRAN program.
All these changes were made and the system again tested. It is now
working, and up until now we have had no problems with it.
This complete program and procedure is being readied for the
Library now and will be submitted soon. The system will be easy to
incorporate by using the 5 change cards that will be provided and by
placing the systems output deck of the translator that will be furnished
at the back of the monitor system before initally loading.

o

•

0'

I

0

o

1

""'

PREPARATION AND SCORING OF
FORTRAN PROGRAMS BY COMPUTERS

o

By James H. Hayes, Jr. - Computer Center Director
Siena College - Loudonville, New York
INTRODUCTION
As a College of Liberal Arts, Siena is primarily committed to the
intellectual advancement of the student by the training of his mind through
the arts of critical thought and correct expression.

While it provides

pre-professional training in many fields, its ideal is not to foster an
extreme, premature specialization, but rather to provide that liberal education which is the comprehensive, cultural background necessary for the professions.

In fulfilLment of this aim, every student who enters the College

is required to follow a prescribed program of core courses in the Liberal

()

Arts.

This requirement is composed of training in Languages and Literature,

History and Social Science, Mathematics and Natural Science, and Philosophy
and Theology, and includes an opportunity for concentrated study in special
areas of interest in the Arts, Science, or Business.
THE COMPUTER AND EDUCATION
The Computer Laboratory is used for teaching and faculty and student
research, as well as an administrative arm and part of the Office of the
Registrar.

In line with the basic philosophy of computer operations, programs

are intergrated into the curriculum of different courses.

These range from

course classes which come to the computer laboratory for class sessions in
addition, introductory courses in programing and systems analysis are taught
in conjunction with the laboratory.

.~

Started about two years ago, the

laboratory contains an IBM 1620 computer with a 1622 card reader/punch, 026 card
(1)

If/

punch, 514 reproducer, 085 collator, 082 sorter, and a 407 accounting printer.

o

OBJECTIVES
At Siena we visualize the student using the computer in the same manner
as they would use the library.

It should be a tool that is available for

their use in solving assigned class problems, with no delay or waiting time.
In this manner, several hundred students instead of only a selected few could
learn to use the computer as a management tool.
PROBLEM
The one unsolved problem we had in handling a large number of student
programs in an efficient manner was the time that it took to keypunch the
written instructions into cards for processing.

This becomes more of a

problem as you attempt to serve more students.

We solved this problem of

keypunching student programs by scoring of Fortran programs by the computer.
This now allows us to process many student programs in a short period of

t~e

o

and eliminate this intermediate step.

MARK-SENSE CARD DESIGN
Computer scoring of Fortran programs involves the use of "mark-sense"
cards, specially designed punched cards on which students indicate their
program logic, by writing in the provided spaces with special pencils (Exhibit 1).
CARD PREPARATION
After the student has completed writing his program, the cards are
returned to the computer center where they are fed through a 514 mark-sense
reproducer and the marks that the student has made are read and put into the
cards as punched holes.

(2)

o

o

PROGRAM IANGUAGE
This program is written in the IBM Symbolic Progranming System.

It is

designed to be compatible with the l620-SP-020 version.
MACHINE CONFIGURATION
The published version of the program is dimensioned to fit into a basic
1620 with 20K memory with card input and output.
OPERATING PROCEDURES
1.

Clear computer •••• press RESET, RELEASE and INSERT.
and press RELEASE-StART key.

Next press

INS~T

Type 16 00010 00000

STOP and RESET.

2.

Fill punch hopper of 1622 wi.th blank Fortran cards.

3.

Set object deck into read hopper of 1622 and press LOAD key.

4.

After the object program has been loaded" set data cards in read hopper
of the 1622.

4C)

Press

S~T

on the console; program identification will now

be typed out.
5.

When READER NO FEED light on the console goes on, press READER

S~T

key

on the 1622.
6.

When PUNCH NO FEED light on the console goes on, press PUNCH START key on
the 1622.

7.

When the output is completely punched, press READER

S~T

on the 1622 to

complete processing •

•

(3)

'-13

FLOW CHAR1Jr

o
student

Mark-Sense
Card

Fortran
Prognm.

Cbmputer
Center

Mark-Sense
Cards

Punched
Mark-Sense
Cards

o

Input
Punched MarkSense Cards

Output
Punched Fortran
Program Cards

St,udent

o
(4)

. r······ -- ...

f9i

. - ... +±riWI"T"j""·T - - .

t

.

ill"""1#tI!f9T - -[ -_ ..._...... - .. ··· .. ·_g-Ef_... _-

-- . ¥ ..

('1:xhbit 1)
MAR~-SENSE

o

FORTRAN PROGRAM CARD

INPUT
C::J
STl TEIU: IH

NUll BE R

o

PUNt"
I'---'l'--=....J

~CCEPT

TEST
NTiNUE

*
**~l'

=

~2 5

(

CLT

)

0 My

3::J C 3=>ICS."c 3"~~c4

5::Jc 5:::>ICSjc~c 5N"
•

cO

6::Jc6~==*=~.F~W~~4~_

7::J C 7::JjC::5~:::::S
8::J C 8::>IC:::::,jc:::::::::>
9::::>c9=*=~::::::'

(Exhbit 2»

FOR1l'RAN PROORAM CARD PUNCHED

OUTPUT

.fOR......T (F6.2,14,3HAMT)
C+-~"T ~ ~
TAUM'NT

~

"WalK

~

It

1

- - ~ --- ---- - FORTRAN

o 0000080 0

t

JPI2 2

111

Ifr..,..,tCATloN

ODD OB aOOG 0 8000008080000000 0000000000000000000000000000008080

3 4 $ & 1 • • 11 1t 12 13 14 ,~ \I

1'.,1

STATEMENT

nil 1111 It 22 23 24 25 2UJ 21 21313\ 32 33 J4 35 3& 31 311 3S • 41 42 a 44 ~ • 41 41 • • 51 52 53 54 55 !is 57 51 511 60 11 1213 14 10 • 11 61 • 10 71 12 13 'H lIi 1177 1t 1t •

11111"

Z2222222~'

tf3333333333 3333 \

111111

11 t 1111111111111111111111111111111111111111111111111111

22~222222222222222222222222222222222222222222222222222 22222~l£'

33

333 33333333333333333333333333333333333333333333333333333

4144444444 444 444444 4444 4 4444444444444444444444444444444444444444444444444444
~1'555555555555555555'S555555555555555555555555555555555555555555555555555555555

~::::tl::::::ll::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
J888888888888 88 • 88 888. aal88888888888888888888888888888888888888888r8888888
I

91t'l I 9 '999999999 9999999999999999999919999999999999999999999999999999 1999999
III I 4 • • , • • • II 12 13 14 15 \I 11 It 11 21 21 22 23 24 25 21 21 a 2t 30 31 32 33 34 30 3131 31 311 CD 41 42 a 44 ~ • 41 • • " 51 12 II M • 5161 51 59 II II 12 II 14 • • ., • • II 71 1t U' J5 '/I

."M?)

•

(5)

n 11 ItiO

(Exhibit 3)

MARK-SENSE S. P. S. SOURCE PROGRAM 1620

1050SETFlGSF INPUT-1,,2
1060
AM *-6,2
1n70
eM *-18,INPUT+157
InRO
AN? *-16
1010START RrTY
10?O
WATyME5S'
1 O~O

H

1089BEGIN
1040
1090
1100
5001
5002GOBI
5102
5202
5003GO
50n4

RACDyNpUT
TFM KONT1,OUTPUT
TF nUTPUT+6,INPUT
TF OUTPUT+A,INPUT~2
TFM KONT2,INPUT"TO US~ INDIRECT AnDRFSSING
TFM KONT3,70,10
CM KONT2,O,610
B7 G03
C
KONT2,~ONT3,6

5n16

t

~ONr2,KnNT~,6

50'~
~005GOI

AN

~O~
KONT~,l,10

5006
5008
5007
5009G02
5010
5011G03
5012

CM

ReTY
WATYMES14
AM KONT2,2,lO
CM KONT2,INPUT+4

501~

AN7 GOAl

1110
3001

AM
eM

B7
AM
B7

B

~002

At

3003
3004
3005
3006
3007
3008
3009
3010
3011

CM

301~

1013
3014
3015
3016

3017
3018
3019
3020
3021

Bz
CM
Bz
eM
Bz
CM
R7.
CM
87
eM
B7
eM
Bl
CM

Bt
CM
B~

CM

()

GO~

KONT1,AO,lO
G02
GO

KONT1""q,COUNTFR ~TART~ AT "
INPUT+4,O.10,NO PUNCH
GOGOl
TNPUT+4,10.10,PlOT
MES02+9
INPUT+4,20,10,PUNCH
MES03+11
INPUT+4.70.10,ACCF.PT
MESOl+13
INPUT+4,71,lO,TEST
MES04+9
!NPUT+4,72,10,CONTTNUF
ME~05+'7
INPUT+4,73,10,~AUSF

MES06+11
INPUT+4,74,lO,FORMAT
ME~07+1~

tNPUT+4,75,lo,READ
MES08+9
INPUT+4,76,10,PRINT
MES09+11
INPUT+4,77,10,DIMFNSTON

o
(6)

... ··""[ ... ·T··..

0

0

3022
3023
3024
3025
3024

CM

INPUT+4,79,10,~Nn

CM

B7
eM
RNZ
~n27
4031MEsol DA(
TP
403~
AM
40~~
B
4()34
4036MES02 DAC
TR
40~7
AM
403A
A
4039
4041MESO; DAC
TR
4n4?
AM
4n43
B
4044
4046MES04 DAC
TR
4,.,47
AM
4048
B
4049
4051MESOC; DAC
TR
4052
AM
4053
R
4054
4065MFS06 DAC
TR
4"fi7
AM
405A
40C;q
8
4onlMFsn7 DAC
TR
4002
AM
4003
B
4004
4006MES08 DAC
TR
4007
~O26

4008

4009
4011MESOq
4012
4013

..

BZ

MESIO+19
yNPUT+4.78.10.STOP
MESll .... q

8Z

4()14
4n16MFslO
4017
4nlA
401q
4021MESll
4022
4023
4024
4026ME512

...

········E·y ..· ·F· "'.'.']

MES12+7
tNPUT+4.n.1O.ERR 1
MFC;l~+l'

7.AC(F'PTt
KONT1.MF'SOl-1,6
KONT1,14.9
GOlOOP
C;.PLOTt
KONT1,MFS02-1,6
KONTl,10.9
GOlOOP
6,PUNCH'
KONT"MF'C;O~-1,6

I(ONT1.1?,Q
GOlOOP
C;.TE5T·
KONT1,MF'S04-1,6
KONT1.10,9
GOLOOP
q.CONTYNUEt
KONT1,MES05-1,6
KONTl.1A.9
r,OLOOP
6.PAtJSFt
KONT1.M-=-S06-1.6
KONT1.1;?9
GOlOOP
7,FOQMATt
KONTl.MF'S07-1.6
KONT1,14.q
GOlOOP
5,REAOt
KONTl.MES08-1,6
AM
KONTl.lO.9
r,OLOOP
B
DAC 6,PRTNT*
TR KONTltM~S09"'1,6
AM KONT1.l?,9
8
GOlOOP
OAC 10,DTMF~'SIOf\"
TR KONTl,Mf:'SlO-1,6
KONT1,2n,9
AM
GOlOOP
B
DAC C;,STOPt
TR KONT1.MF'S11-1,6
AM KONT1.IO.9
A
GOlOOP
DAC 4.END·

(7)

'/7

IT··

I·
I
!

4027
4028
4029
4030
4060MES'~

TR KONTl,MES12-1.6
AM KONTl,R.9
TFM KONTl.O.69
f:ND
R
DAC 6,ERR l'

4061
4062
4065

RCTY

406~

WATYMESl~

T~

I(ONT"M,:'sl~-1,6

AM

KONTl.12,9

B
4064
2120MESSl DAC
2130MESS2 DAC
2l40lNPUT DAS
21500UTPUTDAS
2170KONTl DC
2l71CLEAR DAS
2172RCMK DAC
2113KONT2 DC
217~KONT3 DC
21AOKONT4 DC
2114MES14 DAC
2177MES1C; DAC
2178MESl6 DAC
2179MESl'7 DAC
55555GOlOOPTFM
5444GOGOl AM
5445
TF'M
5446c.;OG02 AM
699QGOG03 CM
7000
BZ
CM
7001
7002
aN7

(~.
'I
oA

,~

GOlOOP
37,ENTER MARK SENSE PROGRAM, PUSH START'
20,PROCESSING COMPLETE'
80
82
5,0
Al
1, •

~,O

2,0
2,0
6.ERR 2'
6,GO TO3.IF·
3,00'

KONTl,O.69
KONTl.l.10
KONT4.0.10
I(ONT2.2,lO
KONT2.0.610
GO·{;04
KO"T2.1n,610.PLU~

STr,N

*+48
KONT1.2.10
TFM KONTl.10,610
AM KONTl.2.10
eM KONT2.20.610.MINUS SIGN

AM

7003
7004
7005
7006
7007
7""A
70(')8
7010
7011
7012
7()13
70147'l15

7016

8NZ

*... 48

AM KONT1,2.10
TF'M KONTl.20.610
AM 'k O~ T1 .2. 1 0
eM KONT2.70.610.MULTTPLY
eNt *+24
TF'M t(OftTl.14.610
eM KONT2.11.610.SQUAR~
ANZ *+48
TFM KONTl.14.610
AM KO'N T1 • 2 • 1 0
TrM K.ON T1 ,14,610
eM KONT2.72.610.EQUAL SIGN
BNZ *+48
AM KONTl.2.10

(8)

0

f{tttWrrTIF,.----uf-llIlr--· .. r-

7017

()

7018
7()lq

70?O
7021
7022
7023
7024
7025
7026
7027
7028
1029
7030
7031
7032
1n3~

7(')34
7035
7036
7(')37
7038
7039

0

7040
1041

-it·Mbt! ....

-_.

-TTl

qpyw

.

TFM KONTI,33,610
KONTI,Z.lO
A~
CM KONT2,73.610,OPEN PARENTHESIS
RNZ *+24
TFM KONTl,24,610
CM KONT2,74,610.CLOSE PARENTHEsIS
BN7 *+24
TFM KONTl,4,610
KONT2,75,6l0,COMMA
C~
BHZ *+24
TFM KONTl,23,610
CM KONT2,76,610.PERIOD
BNZ *+24
TFM KONTl,3,610
CM KONT2.77,610,GO TO
SNZ *+72
SM KONTl.l,IO
TR KONTI.MFSl5-l,6.GO TO
AM KONT',ll.lO
lFM KONTl,O,6l0.CLFAR RFCORD MARK
SM KONTI.2.10
CM KONT2.78,6l0.IF
BHZ *+72
5M KONTl.I,lO
TR KONTI.MESI6-1.6,IF
KONTI,S,IO
A~
TFM KONTI,O,610.CLEAR RF'CORf) MARK
SM KONTl.2,10
eM KONT2,79,610.DO
BNZ *+72
SM KONTI.l,IO

7042
7043
7044

TR

7052

AZ

KOHTl.~FSI7-1.6,DO

KONTI.5,10
TFM KONTl.O,610,CLEAR RECORD MARK
SM KONTI,2,l0
AM KOHTI,2,lO
7045
7050GOG04 AM KONT2.2,IO
eM KOHTI.OUTPUT+143
Bl WACD
CM KONT1.OUTPUT+l43
BP WACO
KONT!.O,610
C~
7()51
AM

t;OG05

TF'

KONTI.KONT2,611
KONTI.2.l0
KONT4,l.l0
KONTl,OUTPUT+143
BZ WACO
CM KONTl.0UTPUT+143
BP WACO
CM KONT4,12,IO
BHZ GOG02

7053
AM
7053
7054GOG05 AM
CM

•

7055
7056

(9)

~9

1040WACD
1041
1042END

WACDOUTPUT
TR OUTPUT,CLEAR

B

104~

ReTY

1044
1045
1046
1047
1048

WATY~ESS2

1000

o

BEGIN

WA~OOUTPUT

TR OUTPUT.CLEAR
BNLCBEGIN
H

B
START
DENDSETFLG

o

o
(10)

o

THE STATISTICAL VALIDITY OF APPLYING NUMERICAL
SURFACE TECHNIQUES AND CONTOUR MAP PLO'M'ING TO
CORRELATION PROBLEMS

L. D. Y. Ong

o

Health and Safety Laboratory
U. S. Atomic Energy Commission
New York, New York

Presentation at 1620 Users Group Meeting
in New York, New York, October 7, 1965

•

INTRODUCTION
Correlation and regression analysis is concerned with
the study of relationships between variables.

When three or

more variables are involved., it is standard practice to
initially try to apply the linear relationship y - a + b l Xl +
b 2 x2 to describe the data, usually using logarithmic or other
transformations to deal with nonlinear cases.

If the descrlp-

tion of a multidimensional curvilinear regression surface
cannot be reduced to this multiple linear regression form,
the applied statistician is faced with the formidable task of
determining joint causation quantitatively with the model
y - f (xl' x2).

Those who have had this experience can fully

appreciate the difficulty that arises in selecting not only a
regression equation that fits the data within tolerance but

()

also one whose terms may be deduced logically.
This talk attempts to make the audience aware of a Simple
alternate method of analysis: plot the variables as threedimensional coordinate values and infer their regression
surface graphically in the form of a contour map.

This visual

inference of the surface can be used as a model of the process,
and can also greatly simplify choosing an appropriate equation
for approximating the expected relation algebraically.

If

very high correlation exists between the surface variablesj)
the analyst, given a sufficient number of points distributed
rather uniformly over the ranges of interest and using his

- 2 -

o

fundamental knowledge of the Subject, could probably freehanddraw contour lines approximating the "true't surface reasonably
well.

However, besides the fact that these optimum conditions

are seldom met, so-called "eyeball" curve fits introduce an
individual bias that, of course, will vary from analyst to
analyst.
Given data with not-so-high correlation, a marginally
sufficient sample size 9 and a far-from-uniform distribution of
pOints with large gaps representing unobserved

areas~

the

uniqueness of the contours and consequently the validity of
their statistical inferences might be significantly affected
and therefore, the true pattern obscured.
In order to minimize this individual bias, a more exact
and standardized calculation procedure, perhaps necessitating
the use of a computer, for providing the first approximations
of the contour lines is desirable.

This more formidable

statistical approach would provide the best detailed picture
of the sample distribution, including values interpolated
between the collected observationse

It is the speaker 9 s opinion

that the best estimate of the "true" or rather population
distribution would be a final smoothing of the calculated
sample surface.

These "ultimate" contour lines, based on

the calculated sample surface, should be freehand-drawn by the

analyst utilizing his important logical intuition acquired
from extensive experience with the subject field.

His contri-

bution would be especially valuable in areas sparsely sampled)!
such as the perimeters of the sampling areas •

•

- 3 -

I',

i

~

COMPUTER CONTOURING METHODS
•

~~x.:

-..

•

'__

~

.

.;r~

o

A convenient calculation scheme would be the application
of IBM 1620/1311 Numerical Surface Techniques and Contour Map
Plotting (1620-CS-05X)$ which is a set of programs that primari1y processes three-dimensional coordinate values into a
surface which may be expressed graphically in the form of a
contour map.

This program package recently made availa.b1e and

now coming into general use for providing a visual description
of two-parameter distributions, was written by the IBM Corporation in 1620 SPS

II-D~

is stored on disk and is executed under

the control of IBM 1620 Monitor I or II with maps drawn by the
Calcomp 560 series (or IBM 1627) plotter.

Its l19-page applica-

tion program reference manual[l] competently describes the two
general surface fitting techniques employed by the package:
1.

Numerical approximation over a uniform grid with
or without smoothing.

2.

Orthogonal polynomial curve-fitting.

Besides providing a standard

j

general computational

method, this computer approach eliminates the tedium of calculation and facilitates the handling of unwieldy amounts of datao
COMPARISON OF COMPUTER METHODS
From our

experience~

the orthogonal polynomial approach

is recommended over the uniform grid technique for solving
multiple correlation problems where we are trying to predict
the value of a dependent variable y for any given values of

o

- 4 -

Sf
',1

i,
'I
\

"1'

two or more independent variables x jO

This is because the

polynomial method for fitting a surface emphasizes the
determination of general trends without possibly misleading
localized patterns.

In addition, the resulting contours are

relatively unique since their computation is sensitive to
only two easy-to-converge-on assumptions:

the order of the

polynomial and the number of significant terms in the equation.
The fit is always smoothed with the automatic elimination of
insignificant peaks and valleys.

Results appear to be fairly

insenstive to a third required assumption - the grid interval
setting.
An example of such a fit is the isopleth diagram shown
in Figure 1[2] which relates strontium-gO/calcium ratios
(measured from samples of human vertebrae collected in New

o

York City) with age and time of deatoh.

Here the dependent

variable in .this three-dimensional time series is highly
correlated to two independent variables and general trends
are made obvious. Very high correlation between the dependent
variable and age was evident with the contours forming a
definite family of curves.
In contrast, the uniform grid approach is recommended
primarily for engineering-type contouring where it is reasonable to assume that the local peaks and valleys have significant meaning, e.g. in the construction of elevation contour
maps.

Here the analyst is trying to create a more detailed

picture of his sample and is essentially concerned with interpolatingvalues between the observed pOints rather than
trend determination •

•

- 5 -

However~

the technique can be useful to the correlation

analyst who is trying to gain a better insight as to how the
true surface is influenced by variables besides those represented by the graph's ordinate and abscissa scales.

An

example of this is the isopleth diagram shown in Figure 2[3J
where strontium-90 fallout deposition is related to latitude
and time.

It is evident that other variables in addition to

latitude and time are affecting the dependent variable.

The

contour lines were actually sketched freehand with uniform
grid computer results employed as a guiding first approximation.

MANUAL CONTOURING METHODS
The disadvantage of the uniform grid method is that the
calculated surface contours are prone to
highly sensitive to three

assumptions~

variation~

being

grid interval setting 9

number of points for smoothing and smoothing technique used.

o

The effect of the sensitive settings is underlined by
observing the results from processing

data~

with both the

machine techniques discussed and the manual contouring methods
developed by Dr. Mordecai Ezekiel[4] in 1926 9 long before the
advent of the high-speed digital computer.

These now-classical

correlation techniques were further developed in his book on
methods of correlation analysis first published in 1930(5),
including an extension by Dro Frederick Vo waugh[6]g

By

first subgrouping his data,9 manually averaging the observations in each subclassifieation 9 and then two-way smoothing
the averages by employing four successive sets of freehand·fitted approximation curves p Dr. Ezekiel was able to determine
- 6 -

o

the contoured regression surface representing the joint func-

O!

tional relation between th~cee variables.

The specific example

in his book related expected individual haystack volume with

basal diameter and height.

Application of the uniform grid

method to the haystack data with a grid interval setting of
8 and without smoothing resulted in Figure 3.

Even with this

grid interval optimization, a great deal of statistical
ftnoise n was evident in the form of jagged curvesjl and scattered
peaks and valleys -- results far different from those inferred
by Drs. Ezekiel and Waugh.

Only after improvising with the

smoothing routine were we able to converge to agreement with
the freehand-drawn contours. [7]
curves, shown in Figure

The resulting family of

4, are practically the same

as Ezekiel's,

where the standard deviation of the surface residuals is 0.03,

4C)

significantly lower than its one-dimensional standard deviation
of 0013.
Application of the orthogonal polynomial computational
method using a grid interval of Ii a 4th order equation and 12
coefficient terms resulted in Figure 5, practically identical
to Ezekiel's inferences and those of Figure 4.
SUMMARY

Experience has thus indicated that the basic approaches
employed by the IBM contouring package provide the analyst
with an automatically calculated, more complete picture of his
sample data.

•

All machine methods are based on the least squares

criterion and consider the data

- 7 -

point by

point~

instead of

~

1.
I

first averaging the observations as manual .ethods do.
Especially in regard to the uniform grid technique, these
"statistically sophisticated" approaches are probably most
useful in interpolating between observed

points~

o

e.g. a

civil engineering surveyor preparing a topographic map with
particular interest in local features.
However, in general correlation problems, where we are
more concerned with predicting the value of one variable
from specified values of two others, the orthogonal polynomial
approach is more valid because of its emphasis on general
rather than possibly misleading localized trends and because
its resulting contour lines are more unique, i.e. less prone
to variation caused by required model assumptions.

Besides

exercising caution in the use of computer generated contour
surfaces because of their se'nsltivity to required assumptions,
the correlation analyst, unlike the topographer drawing a

o

detailed elevation map.? must be even more cautious that he
is not "overcalculating" the solution to his problem.

He

should regard his machine fits primarily as conveniently
calculated. standardized, interpolated sample data tables
from which to infer joint functional relations, whose final
form may be improved with his logical ingenuity gained from
past experience .ith the processo

- 8 -

o

REFERENCES
(1)

~

IBM 1620 Numerical Surface Techniques and Contour Map
Plotting (1620-CX-05X) User's Manual, H20-0192-0.

(2)

Rivera, J. and Harley, J., "The HASL Bone Program 1961-1964"
USAEC Report HASL-163, August 1965.

(3)

Volchok, H. L., "World Wide Deposition of SR-90 through
1964" USAEC Report HASL-16l, July 1965.

(4)

Ezekiel, Mordecai, "The Determination of Curvilinear
Regression Surfaces in the Presence of Other Variables",
Jour. Amer.Stat. Assoco,? Vol. XXI, pp. 310-320, Sept.
1926.

(5)

Ezekiel, M. , Methods of Correlation Ana1lsis, John Wiley
and Sons, 1930.

0

(6)

Waugh, F. V. , "The Use of Isotropic Lines in Determining
Regression Surfaces, Jour. Amer. Stat. Assoc., p. 144,
June, 1929.

(7) David Mo Schalk's assistance in machine-plotting the
contour maps is gratefully acknowledged.

Whereas the

IBM application program's method of single smoothing,
based on a least

squares-fitt~d

surface, proved unsuitable

in our ftxamples, a continuous smoothing procedure based
on simple weighted arithemtic mean was developed by
Stephen Lo Samson and was utilized. Particularly appreciated were Dr. Ezekiel ll s personal interest and advice con-

•

cerning the general applicability of computer-generated
surface contours o

- 9 -

o

1i

Data Points

Surface
Representation

Contour
Mop

o
y

t

y -

a + b1xl + b 2 x 2
f(x 1 ,x 2 )

Numerical Surface Techniques and Contour Map Plotting

o
66

I

i''''WtVtiMf'H''ttrWH'

!

i ##WB -N'" "IX

IT'

5-

Age at Dr-.:ath

-

C)

N

en

II

...J

Ul
'"1

r-i
"'"1

(j

::1

1-11

Lv

()

r+ <+

1:_1.

~J.

(j

f~

i:j

~::

o 'y
t-Il (_)
',.>

C)

.rlq [2
([)

.--'

(I)

(()

:~:1

~:i
el-

,-1-

(.J.

1-)

t

J

~J

•

o

I-'J

•.._-)

0
'-"J

<;
(])
I-~

(-I(fJ

r)'

rG .-::

,-,) rli

;1- 0)

f::;J ,,-""

'T;
o

o
FIGURE

:L

MAtta bl$£$,

,au. ie

AA P. 4-

....

-:~---

Monthly Sr-90 Deposition as a Function of Time and Latitude
(Isopleths are mCi/mi 2 of Sr-90 per month)
N"

Ly
Q
:'}

F
&;$I

I

~~{-:

r!(

40
50 r
0

0

___ 0.2
I --....l-M

F
~

~

I

'A

LM

1

J

9

..J

6

A

S

0

N

DI..J

F

M

A

M

1

3
FIGURE

c
--~"*-

~

o

J

9

..J

6

A

SON

4

~

o

D

.,.; .. t

se

l'¢t

I

'''W'

t j

t ttt

...

'tr

9DC

o

- # . ··8··..

_____

EZEKIEL HAYSTACK DATA, INDIV.
OBS., Gl 8, UNSMOOTHED

2')0
75C

200

150

o

)$0 _ _ _ _ _--

......_ -_ _ UiC.

--~

1 0-0

50

o

o

o

50

i

J 00

FIGURE

3

I~,

0

200

wRWr- ·V"i*i5i¥7±"._

EZEKIEL HAYS'rACK DATA,

o

INDIV.

OBS., OJ 8, 10 SMOOTHINGS

~,

,

..

,.,. ,

zoo
't',',:

o
lOG

~

~~o

i

r .........

50 ~
;~1
f:l

o
o

50

1 0 []

FIGURE

20(:

o

"W Mormer #Wtt'j't tt ttftt t 'ttwt#ht $

o

...... - roo..... rW?··'U

EZEKIEL HAYSTACK DATA, INDIV.
OBS., ORTHOG. POLYS., 4 tb
ORDER, 12 COEF.

2'50

roc
'5S0

200

~oc

100

.)(J(,

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

~~-----------------I)

---:~~(i:':,,:------------------

0

1,., ....

'. . ,.

-

o
o

o

!'i 0

JOO

FIGURE

j

1.;

(J

:~I)::;

o

Utt'MFtttiWWi 'lh@"t'j\bWt"'

141

f!"'en

$

$ $

H

rt

zig" .... §. 60t d"tid titri t#

.

"r - - .""'

-W·

nT

-

T - . - '-f"""

R"' ... -

... "5"5D

o

1620 Worst-Case Circuit Design Problem

by
S. S. Husson and H. C. Yang
International Business Machines Corporation
Systems Development Division, Poughkeepsie, New York

o

•

INTRODUCTION
In this paper, we present a computer method for solving the d-c circuit design
problem.

All circuits are· designed by considering Kirchhoff's circuit law

together with the design constraints.

Kirchhoff l s circuit equations are usually an

underdetermined system; there are more variables than equations.
We define a solution region as indicated in Fig. 1.

The additional considerations

of the design constraints will form a feasible solution region.
region is a successful circuit.

Any solution in this

In eingineering practice, no attempt is being made to

solve this general design problem; instead, many assumptions are made to obtain a
design.

The intention of these assumptions is to reduce the computational difficulty,

and the significance to the design problem is to consider more constraints than
are necessary.

In other words, the feasible solution region will be narrowed

down further such that no design may be achieved at all.

The method described

in this paper is originated from a realization of the basic design problem, and the

o

method is formulated in such a way that the circuit design can be obtained through
the computer without the unnecessary assumptions.
FORMULA TION OF THE D-C DESIGN PROBLEM
Using Kirchhofft s circu ir--law and considering the design requirements, we
I,',

formulate the d-c circuit design problem as follows:
N

=
=
=

e

number of elements in the circuit
number of nodes in the circuit
number of voltage and current sources in the circuit

There are precisely Ne - NN + 1 independent linear loop voltage equations,
consisting of N

e

voltage variables, in the circuit.

o
-1-

67

•

o
x

y

sX~X

MIN

MAX

s y s y

y
MIN

,0

MAX
Z

YMAX

J(.=y

I

I
I

I

I

--I - -

I
----,-

~eas-ible
YMIN

I - - - - - - - -: -I

I

N
I

"""

Solution 4egion

I

I

I

I XMIN

I
I

I
I

·X

I XMAX
Solution Region

/
Figure 1. Graphical Interpretation of the Design Problem.

\S"

'~-

i

f.

=0

(V)

1

, i

= 1, •.•• N e

- N

N

+1

;; = (V 1 ' • • • , V N e)
There are NN - 1 independent linear node current equations, consisting of Ne

0"1
"

current variables, in the circuit.
~

f. (I)
1

=0

1=

(II' •••• I

Ne

)

I

, j

= 1, ••• , NN .. 1

There are N e - NYl independent terminal equations, intaroducing N e - NVl
resistant variables, in the circuit.
k

= 1, ••• , N e

- NYl

The terminal equations for the source variables are simply V
source and I

=I

=V for voltage

for current source; therefore, it is not necessary that they

appear in the terminal equations.
The general mathematical model for d-c circuit is as follows:
i

1

f. {I~ :: 0
J

V k =~~

-".J
Y

o

= 1, • • • , N e - NN + 1
j = 1, ••• ,NN- 1

f. (Y) = 0

k= 1, •.• ,N e - NVl

=(V l' • • • , V Ne)

Total number of variables
Total number of equations

= Ne + Ne + Ne - NVI =3 Ne =N e - N N
+1 +N - 1 +N Ne

NYl
N

YI

=2 N

== .. ~ :". e

- N

VI

Consequently, this model is an underdete rmined system of equations.
Any circuit is designed to meet certain requirements, hence a set of
inequalities can be obtained as follows:

Y
I

.

mln

~V~V

max

o

. ~I~l
mln
max

R

.
mln

~R~R

max

.. 3-

UBitftft"TMib"ti t "t"" f" # it» "fhyn "'

- PT"·puM

-

Now the d-c design problem can be defined as finding the value s of V, I, and R
such that the required inequalities and Kirchhoffts equations are all satisfied.

o

METHODS USED TO SOLVE THE DESIGN PROBLEM
The Limited Case
By applying engineering judgment, an undertermined system can be
transformed to a determined system by assigning values to certain variables.
Hence, this circuit design problem is reduced to a problem of solving a
nonlinear system of equations.

One method of solving this problem is the

successive-approximation procedure of Newton-Raphson.

Essentially, this

procedure considers the first two terms of the Taylor's series expansion
of each equation at an assigned starting point and increments the values of
each variable :accordingly.

The convergence of this procedure depends upon

the behavior of the function in the neighborhood of the solution and the near-

o

ne s s of the starting point to the solution.
The Newton-Raphson method is essentially a successive approximation
procedure.

Mathematically, the system of nonlinear equations
i=l, ••• ,N

I

can be expanded in a Taylor's series at an assigned point as

~. :: f. (x0 )
f. (x)
1
1

N -ofi
+ ~

j=l oXj

O
0 (x . - x.)
+.
hlgher order term:: 0
J
xj
J

Suppose xO is sufficiently close to the solution of this system; the higher
order term may be neglected.
of equations:
f. (;0)

~j OXj
ali

+

1

where

•

(0
j

= xj

Then we have the following linear system

I

0

-0
£

xj

_ xO
j

-4-

j

~o

i=l, ••• ,N

······~F'

Let
;; 1

f~bethe

=xo + '(

solution of the above system of linear equations.

Then

o
will be an approximate solutiol'l. to the system of the nonlinear

equations.

--:+1

In general, let xl

=

point for the next iteration.

-:--i

'+1

Xl

1

+ ( ;then x

will be used as the assigned

The convergence of this technique is very

much dependent upon the behavior of the function f. in the neighborhood of
1

the solution and the nearness of the first assigned value x

0

to the solution.

The idea of this technique will be most easily understood by considering
the following one-dimensional example.
Let

f (x)

2::

o +

f (x )

-I
df
dx

x

0
0 (x - x )

+

x

o 2 +... :;. a
o ex - x)

Suppose xO is sufficiently close to the solution; then we have the following
linear approximation:

o

f (x )

where

E

+

df
dx

o = x - x0.

x

o

o

Thus,

(

o

2::

x

o
xI

The approximate solution to the nonlinear eq~tion is

=x 0 _

f(x O~

di
dx

Assume f (x) as indicated in Figure 2.
the solution of f (x) = O.

In general, let x

successive iterations could generate x

i

As we can see, x
i

+1

+1

=x i

+

f

i

;

1

x

o

is closer to

then the

that are even closer to the

solution.
This method has been very successfully applied to the system of four
nonlinear equations in one circuit"

Unfortunately this method shows no

sign of convergence for the thirteen nonlinear equations of other circuitse
-5.,.

o

x

o

II

o

o

~--

'"

~

C z
0 0
:Coo
I-~

We:(
~Cf

-o

Z

zo
t!)1o

\&I

_3:

(J) W

w~

c'"

-......~------r-....
)(

•

--

--

o~

~

'4-4

'4-4

-6-

Consequently, this method can serve as a convergence test of the possible
convergence of other iterative methods.
The General Case

=0
1

Let f.
G

=1:;£.2.
1

o

represent Kirchhoff's circuit equations and define

Hence, the circuit design problem is solved by finding the

component parameter values within their boundary conditions such that the
equation G

= 0 is

satisfied.

The search techniques were used for this method.

The G function is minimized by these techniques along a path determined by
exploring the relations between the G function and all the circuit parameter
variables.

Thi.s method is well adapted to the computer because of the

simplicity in programming.

It also eliminates the unnecessary assumption in

the limited case method in order to obtain a determined system.
Two search techniques are employed in the program, direct search and
orthogonal search.

In the method of direct search, the G function is first

reduced by exploring each individual variable in the function.
is established after exploring all the variables.

o

A direction

The G function is then

reduced by moving along this direction until it fails to reduce any further.

The

proces s is then repeated by exploring each individual variable again in order
to find a new direction.

This method is well adapted to consideration of

limits of each variable, and it is simple for computer programming.

The

method will fail if the contour of the residual function has the form shown in
Figure 3, which shows that no direction can be found by exploring each individual
variable in order to reduce the G function.
The method of orthogonal search is based on the same principle as the
method of direct search.

The only difference is that the search does not proceed

along directions parallel to each individual coordinate.

The search is along all

0
i

the orthonormal coordinates defined by a feasible direction.
-7-

The feasible

;7.5

Ij
I

""w'!"n"" #11'1 WI

o

. 't'#

....... tuft

y

)
/
()

I

.----------

-I + - - -

- - -7>

search direction
along x-axis

I

I

I
!

-----------------x
search direction
along y-axis

, I

o
Figure 3.

-8-

au

AU: ::lUU 1,;'11,. .;;

--

II
I

direction can be obtained by the method of direct search or it can be arbitrarily
defined.

The ortnonormal coordinates will be obtained by the Gram-Schmidt

orthogonalization process as follows.
Let Al represent the feasible direction:

The other N -1 vectors can be defined as follows:

~

= (0, ••• , 0, aN)

= Al

Let B I

and E' I

= B I! lB 1 J

Then the orthonormal coordinate e E'

= A.

B.
1

1

~/.

1

1.

can be obtained by

i-I
- :E (A.. E' J E' •
j=I
1
J J

= B.1 I IB.11

o

This process can be easily understood by considering the following
two-dimensional example.
Let Al

= (DX, DY)

A2

= (0, DY)

BI

= Al
= B I I IB II

E' I

See Figure 4.

Then

=A2 - (A 2•
2 = B2/lB 21

B2

(

E' I) E' 1

Therefore,

~E'

1

and 'IE'

2

are the new orthonormal coordinates.

-9-

o

•

y

o

x

!

,

o

Figure 4.

-10-

The advantage of this method over the direct search method is that the
problem of interaction between variables is reduced.

This means that all

variables are being changed simultaneously instead of one at a time during
the process of reducing the G function.

The disadvantages are:

how to

o

select suitable step sizes in exploring along the orthonormal directions and
how to handle the limits for the variables.
COMPUTER PROGRAM
The flow chart of this program is shown in

~igure

5.

The available memory

size of computers b.. tdiff.er:entlt To avoid the difficulty of overflowing the machine,
the flow chart above the dotted line can be carried out by hand.
Example
A voltage mode switching circuit consists of four resistors, two power
supplies, one transistor, one diode, and two operating states.
diagram is shown in Figure 6.

The circuit

The design requirements are as follows:

1.

The input impedance of this circuit has to be larger than a specified value.

z.

The input voltage and its noise level are designed to satisfy a given
rang e

3.

01

o

va ria tion.

The output voltage, current, and voltage noise level are designed to
satisfy a given range of variation.

4.

Resistors are designed to meet the given tolerances.

5.

The power supplies are designed to satisfy a given tolerance and range
of variation.

6.

The power dissipation of the circuit is designed to be less than a specified
value.

7.

The circuit uses the specified transistor and diode.

-11-

o
jl-7

I
I'
I
I

I-

•

o

o
PROGRAM FLOW

CHART

INPUT

K-

EQUATIONS

G-FUNCTION
IN ITIALIZATION
.....

N

---

---------~-

•

NO

F~gure

~
~

5.

-------

~,,~?a;-=~

-

T
V

1NUP

+

POWER SUPPLY

R}

RIL

IN
~

VJ

R3

R4

I--

VOUTOP

VOUTDOWN

POWER SUPPLY

Figure 6.

'.)
~

~~

o

o

o

OffBN

it

: tr t

t

tIIit

·!!'ir**±Yitstf'±#ti* tffl#iftitrl

¢iift·f ...···) . ·.... ·..-.. pr T ._._m

---g'-

. VI·m ._.. -

"$[---

The linear piecewise approximation of the characteristics of diode and transistor
was used in this program as shown in Figure 7.

o

Th e system of Ki rchhoff! s equation s consi sts of twenty-two va ria ble sand
fourteen equations.

The result obtained by this method was successful.

The size

of the system can be reduced by considering either the independent loop or node
equations with additional constraints.

The result of using independent loop

equations, which consist of sixteen variables and nine equations, is also obtained
by this method. Because of the dimension of this design problem, it is difficult to
give a graphical interpretation.

However, if we consider the solution region

defined by input impedance, input noise level, and output noise level, then the
feasible solution region is the interception of the solution region defined by other
design constraints.

The feasible design is obtained by locating a point in the

feasible solution region as indicated in Figure 8.

The trade-off relations can be

demonstrated by repeatedly applying this method with the variation of the design
()

constraints.

CONCLUSION
This method has been successfully applied to the current mode circuit as
well as the voltage mode circuit.
feasible design of a circuit.

The scope of this method is not limited to the

The continuous application of this method will lead

to an optimum design by simply modifying the G function as follows:
G = W k fk

2

+ fM

wher.e fk is the system of the Kirchhofft s equations;
w

k

is the weight factor used to keep the solution in the feasible

design region;
fM is the desired function, under optimization.
•

In view of the optimum design, the importance of the elimination of the unnecessary
assumptions is even more significant.
-14-

>

o

U

-f-

,CI)

-

let:
W
,I,U

!«
10::
«

:c

o

IU
I

w

'0

o

H.

o
-15-

•

o

o
~SOLUTION

REGION DEFINED BY OTHER
DESIGN CONSTRAINTS

INPUT

t--

J

~

~
•

,

{ ,

I

)

~

SOLUTION REGION
DEFINED BY INPUT
IMPEDANCE AND
NOISE

~ INPUT

NOISE LEVEL

A FEASIBLE
DESIGN

.----.
---

OUTPUT
NOISE LEVEL
CO'

Y

Figure 8

FEASIBLE SOLUTION REGION

ACKNOW LEDGMENT
The authors would like to acknowledge Mr. A. Brown and Mr. R. Silveri
for their many helpful suggestions.

o

BIBLIOGRAPHY
1,

Rosenbrock, H., (1960) "An Automatic Method for Finding the Greatest or.
Least Value of a Function,lJ The Computer Journal, Vol. 3, p. 175.

2.

Wilde, D., (1964) "Optimum Seeking Method, II Prentice Hall, Inc.

o

c,

I:

-17-

The solution of Laplace's Equation in Two Dimensions
by
Oscar N. Garcia, Old Dominion College

o.

Introduction: Partial differential equations of the second
order and first degree of the type:

;J"'V
;,aoV J
dV ~v
A d-Ja.V
+8 ~ +- C -=r-;.= C~YJ ~ ~) "5U)
X~
d)(tJ'!/
!I
~)(
d

;I

are said to be of the type called elliptic if B2 - 4AC.( 0
parabolic if B2 - 4AC = 0
hyperbolic if B2 - 4AC ~ O.
The equation that occupies our attention here is of the first
type (Poisson's equation):

where

LX
+
d)!
So

f



~

(6)

SolvinQ for

dl.VI.

-

'J

"s.

~o,,!lo

.lV/ =~f V(~t-A,9.)rV(~.-~Y·)_Vf~JY)

J,.'&. ~o..!lo tl

(7)

_..L!...4(i!fL
+£Y I
4

2

)

2. 4!
dX ~JY. d%4 SlY.
where evidently the first two terms give the difference between the
values of V at two points symmetrical with respect to Po (Xo, Yo)' and
the value of V at Po.
Simplifying (7) we obtain one of the two approximations for the
two dimensional case:
4

I
=
.Jx~

.i·v

x,0,l!ltJ

-A~~o) -2 V(~.~~o) + .r;f~::'l +
~ I.
V
4.
~,,-

V(-,tot-J,y,.) I- V(Jc.•

Similarly an expression for

.,fltlJI I
,,\2.

~

¥

~.~!Jo

could be found:

:;;l~l'.) (

o

8)

~5

ItInrrbMfl"! t I l '

J

n

t

*hf' ' . ' "¥Rhitf

r""

"-')"fl'Urs"'W""-""

V'j]"

o
2

Neglecting the ~ terms in (8) and (9) and adding to obtain
Laplace's equation w&~find that:

V(%.+l~ y.) + V(1tD-J-IY_) + V(K.. •.Iy.+It)-I V(~o.ly.J,)
- 4- V(,tO.l'Jo) == 0

(10)

difference equation to be used.

Which is the

Using the symbolism of
Figure 1, equation (10)
may be written as:

Figure 1.
More generally for a point not on the boundary of the k x
in Figure 2, we have:

£

grid

(11)
which is called the 5 point approximation.

~

....

V,

~I!

"
\121 \111,. \1',.)
VJI

. . . . . . . . . . ~~
"

il2.L

"., ,.

tJ,l,.

~,

Figure 2.
If we try to solve for all internal points on the rectangular
grid of Figure 2, we have a system of linear equations for each i =2,
3, ••• , (k - 1) when j = 2, 3, ... (t - 1). As an example Figure 3
shows the coefficients for the different values of Vi j corresponding
to k = 5,
= 5. If the values of Vi,j are specified at the
(rectangular) boundary, as they usually are, the terms whose
coefficients are circled in Figure 3 may be added to form a constant
and the matrix of coefficients of the system of equations now looks
like Figure 4. It sheuld be noticed that this is a symmetrical
matrix. If the four points about V(xo,Yo) were not at a distance
h from it, the symmetry of the matrix is not a s s u r e d . J > b

e

•

-4fJ

2 3

,

"

I

,

~

'I

3 Z

4 2-

2,2

2 3

2 2.

-4

I

·2 3

I

-4

I

I

- 4

3 4
4 2.
4- 3

4 4-

0

-

0

0

-0
-0

0)

0 -- 0

I -4 I
I -4 OJ

(j) - 0

(Circles Indicate Boundary Points)

i j

2 I 4-

3,2

3,3

3~4

4~Z.

4.,3

~4

I

I

-

I

I

I

, ,

-0

@-4 /

44

3 3

I

I

I

4- 3

3 2-

[

/

2 4

..,

-a

I -4 (j)

I

4

I

~,'

I

I -4

I

Fig. 3

,

I

@-4 I

I

3 3

~

I

I -4 @

@

~

/

I -4 I

OJ

2 4

3

~

(i) -4 I

0

2 2

, ,

~

I

/
I

-4

I

/

-4

I

I

-4

I

I

/
I

/
Fig. 4

I

-

1<1

-

K2

-

K3

-=

K04

-

ks

(

- K,
Kr
Kg

-4

I

/

-4

I

-

/

-4

-

Ks

o

-5-

o

solution of the System of Equations. The system of equations
set in Figure 4 may be solved by any of a number of methods. A
survey of the literature shows a wide variety of approaches with
their relative merits and drawbacks.
Figure 5 is a chart that demonstrates the diversity of approaches.
One of the most important features of any method, however, is its
simplicity and the availability of a good body of theory behind it
validating the approach.
Gauss-Seidell (successive displacement)
Jacobi (simultaneous displacements)
Successive Overrelaxation (Liebmann's
when applied to Laplace's equation)
Richardson's Method
Sheldon's Method

Point
Iterative

Methods of

Solution
for the
Systems of

Equations

o

Line
Iterative

{

Alternating- {
direction
Implicit
Block
Iteration

{

Successive Row Iteration
Simultaneous Row Iteration
Successive Line Overrelaxation
Peaceman-Rachford Method
Douglas-Rachford Method
Simultaneous Block Iteration
Successive Block Iteration
Figure 5.

•

A very simple method of the relaxation type ("Introduction to
Engineering Analysis", IBM F20-8077-l, page 96) in a modified version,
has been used to solve Laplace's equation when the boundary conditions
are numerically specified at a number of regular points in a closed
polygonal perimeter. This modified program is shown in Appendix A.
A method which has the desired characteristics described above
is the Gauss-Seidel method. At the same time, convergence of the
iteration process used in this method is assured if the sum of the
absolute magnitude of the coefficients of the non-diagonal elements
is equal to, or less than, the magnitude of the corresponding
diagonal elements, with the ine~ality holding for at least one equation. We see that this is the case in Figure 4). Furthermore, since
it is not necessary to store the "residuals" R(I,J), more storage is
now available for the solution of a larger :net. A net of somewhat
more than 400 points may be solved in the basic 1620. A program
using this approach has been written and is given in Appendix B. It
has been found that for the same net of 72 points this program runs
in better than two thirds of the time taken by the program in

-6-

Appendix A for the same accuracy. Higher gains are expected for
larger nets.
(In the block relaxation program of Appendix A,
twenty iterations were necessary whil'e the Gauss-Seidel program
required only sixteen) •
Conclusions",., It has been shown that Laplace s equation may be
approximately by finite differences leaving an error term of the
order c::>f h 2 • Furthermore this set of approximate difference
equations are usually solved using iterative techniques. TWo of
such tlechniques, chosen primarily because of their simplicity,
were Qonsidered. The estimation of how well the fini'te difference
equations approximate the Taylor series, is a complex one. On one
hand, although a maximum error bound maybe found, this involves an
estimate of the fourth order derivatives of the function which complicates the computations. The alternate possibility, on the other
hand, is to decrease the size ~f h by a factor (k] < 1 resulting in
the increment by a factor of rk~2 in the number of points of the
grid, and therefore, more usage of mach,ine time for the solution of
the larger systemo There seems to be some preference given to the
latter solution. This may be partially due, perhaps, to the scarcity
of literature in English and of examples of studies using the former
approach

o

I

0

APENDIX

(

o

A

DIMENSION V(30,8),R(30,8),IX(30,2)
2 1 REA D1 ,"'1 , DEL
D03 I =1 ,tvl
K tAU 2 , V ( I , 1 ) ,v ( I ,2.) , V ( I ,:3 ) , v ( I ,4) , V ( I ,5 ) , V ( I , b ) , V ( 1 , '/ ) , V ( 1 , b ) , J ,
IX(I,1)=J
3IX(I,2)=K
DO 20 I=1,M
DO 20 J=1,8
20 R(I,J)=O.
L=t"1-1
D013 I=2,L
L1=IX(I,1)+1
L2=IX(I,2)-1
DO 13 J=L1,L2
13 R ( I ,J ) =V ( 1 -1 , J ) +V ( 1+1 ,J J +V ( I , J-1 ) +V ( I ,J+ 1 ) -4. -*V ( I ,J )
. I T(T=O
4 IT(T=IT(T+1
K=2
DO 9 1=2, L
L1=IX(I,1)+1
L2=IX(I,2)-1
DO 9
J=Ll"L2
RAB=R(I,J)
( OVER )

K

0

I,~

:1

III'
"

I,

f#%ttt

t

a"

I

tt

I

rittitf

"j

rttiibfttt*«

W···

r--'

.

(

-

m

",.

-

r-

-Vir - R

.. - --'w

r"

-

-7-

o

IF (RAB) 10,7,7
10 RAB=-R(I,J)
7 IF(RAB-DEL)9,9,8
8 K=l
RDEL=0.25*R(I,J)
V( I,J}=V(I,J)+RDEL
R(I,J)=O.
R(I-l,J)=R(I-l,J}+ROEL
R(I+l,J)=R(I+1,J)+RDEL
R(I,J-1)=R(I,J-l}+RDEL
R(I,J+l}=R{I,J+l)+RDEL
9 CONTINUE
GO TO{4,11) ,K
11 PUNCH 1,ITCT
DO 5 1=1, M
5 PUNCH2, V( 1 ,1) , V( I ,2)
GO TO 21
1 FORMAT(I5,F10.0}
2 FORMAT(BF8.4,212}
END

,v ( I ,3)

,V ( I ,4) ,V ( I ,? ) ,V ( I

,b )

,V ( 1 ,7) ,V ( I ,8 )

SAMPLE DATA

0

9

0.01

•

•
•
•

•
•
•

•
•
•
•

•
•

4.
4.

3.

•
•
•

•
•
•
•
•
•

4.

4.

4.
4.

•

•
•

•
•

•
•

•

•
•

•
•

•
•
•
•

4.

4.
4.

•
•
•

•
•

3.72

3 .4~

2.84

3.16

•

•
•
•

2.56

2.28

2.
2.
2.
2.
2.
2.
2.
2.
2.

RESULTS
20
.0000
.0000
.0000
.0000
.0000
.0000
.0000
4.0000
4.0000

•

.OUOO
.0000
.0000
.0000
.0000
.0000
4.0000
3.8203
3.7200

.OUOO
.0000
.0000
.0000
4.0000
4.0000
3.7460
3.5683
3.4400

.0uOO
.0000
.0000
4.0000
3.7475
3.5997
3.4250
3.2765
3.1600

.0000
.0000
4.0000
3.6425
3.3970
3.2302
3.0852
2..9:;93

2.8400

4.0000
4.0000
3.4820
3.1759
2.9777
2.8390
2.7303
2.6402
2.560.0

3.0000
2.9363
2.7549
2.6074
2.5024
2.4248
2.3664
2.3197
2.2800

2.000U
2.0000
2.000U
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000

6 8
6 8

5 8
4 8
3 8
.3 8
2 8.
1 8
1 8

-9-

21

3
14

10
7
6
9
17
11
5
15
1
2

APENDIX B
DIMENSIONV(50,8),IX(SO,2)
READ I,M,DEL,ITEND
D03I=I,M
REA D2 , V ( I , 1 ) , V ( I , 2) , V( I , 3 ) , V ( I ,4) ,v ( I , 5 ) , V ( I ,6 ) , V ( I , 7 ) , V ( I ,8 ) , J , K
IX(I,I)=J
rX(I,2)=K
L=M-l
ITCT=O
K=O
DO 9 I=2,L
Ll=IX(I,I)+l
L2=IX(I,2)-1
DO 9 J=Ll,L2
Z=0.25*(V(I+l,J)+V( I-l,J)+V(I,J+l)+V(I,J-1»
DISC=Z-V(I,..J)
V ( I , J ) =l
IF(DISC) 10,7,7
DISC=-DISC
IF(DISC-DEL) 9,6,6
K=K+l
CONTINUE
ITCT=ITCT+l
IF(ITCT-ITEND) 17,17,11
IF(K)lS,11,14
PUNCH 1,ITCT
D05I=1,M
PUNCH2, V(l,l) ,V(I,2),V(I,3) ,V(I,4),V(I,5),V(I,6) ,V(I,7),V(I,8>
GO TO 21
STOP
FORMAT(I5,FIO.0,I5)
FORMAT(SF8.4,212)
END

0

0

SAMPLE DATA
9

•
•
•
•
•
•
•

0.01

1000

•

•
•
•
•

•
•
•
•

•

4.

4.
4.

•

3.72
16
.0000
.0000
.0000
.0000
.0000
.0000
.0000
4.0000
4.0000

.0000
.0000
.0000
.0000
.0000
.0000
4.0000
3.8221
3.7200

•

•

•
•
•
•

•
•

•

3.44
.0000
.0000
.0000
.0000
4.0000
4.0000
3.7461
3.5705
3.4400

•

3.

4.

•
•
•
•
•
•

•

4.

4.

4.
4.

4.

•
•
•

•
•
•

3.16

•
•

•
•

2.84
RESULTS

.0000
.0000
.0000
4.0000
3.7414
3.5923
3.4216
3.2770
3.1600

.0000
.0000
4.0000
3.6359
3.3879
3.2203
3.0807
2.9595
2.8400

•

2.56
4.0000
4.0000
3.4791
3.1697
2.9698
2.8340
2.7303
2.6428
2.5600

•

2.28
3.0000
2.9381
2.7547
2.6048
2.4<)89
2.4248
2.3692
2.3230
2.2800

2.
2.
2.
2.
2.
2.
2.
2.
2.

6
6
S
4

8
8
8

8

3 8

8
2 8
1 8
1 8

3

2.0000
2.000U
2.0000
2.0000
2.0000
2.0000
2.0000
2.0000
2.000U

l'
~:

0

1~

ill

JI

f/

h~

"'::m

STRUCTURAL ANALYSIS USING THE 1620 COMPUTER
Tony A. Ross
University of Mississippi
University, Mississippi
INTRODUCTION
Structural analysis, a familiar phrase to all civil
engineers, is often a dull and repetitious undertaking, and
much of this so-called analysis is simply "turning the crank."
With the assistance of an automatic computer, the engineer
is now able to devote more time to actual analysis, while
the computer, with the proper instructions turns the crank.
The purpose of this paper is to develop a program to
analyze various structures using the 'IBM 1620 computer.

The

program developed can be used on any computer capable of com-

0'

piling a Fortran program, and the method presented will
analyze most of the common structures encountered by the
present-day civil engineer.

Example problems have been

worked to illustrate the versatility of the program, and a
generalized step by step procedure is presented in order to
simplify the preparation of the input data.
The slope deflection method
program presented in this paper.

•

o~

analysis is used in the

C. K. Wang (1) presents

a

matrix formulation of the slope deflection equations, and

1.

Wang, C. K. Matrix Formul~tions of Slope Deflection
Equations . ASCE Transactions, 1958, Vol. 84, p. 1819.

2

from his presentation, the following matrices need to be
completed:
Matrix

o

Description
The relative I of each member
The length of each member
A matrix whose elements are
the coefficients by which
the distributed end moments*
are multiplied to obtain the
balancing joint moments and
sidesway forces

[FEMJ -

A matrix expressing the fixed
end moments acting on each
member

[pJ -

A matrix expressing the
balancing sidesway forces
acting at each joint or on
each member

It now becomes our task to define each of these matrices.

o

The following section contains a step by step procedure,
and if followed closely, this will minimize the errors
likely to be encountered in preparing the input data.

*Distributed end moments are the balancing moments distributed
to the ends of the member such that the structure is held in
static equilibrium under the action of the unbalanced end
moments and sidesway forces.

o
II·,'
I

i,

-- r-

-r"

"TW"· ...

General Solution

o

This section contains a brief description of how to prepare the input data for the general bent shown below.

This

step by step procedure, if followed closely, will minimize the
input errors that are likely to occur.

10k

PY?

~
C

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

2

o

2

I.

Draw a sketch of the structure to be analyzed.

On this

sketch, (1) number the members (1 through m), and determine the number of unknown joint rotations (j) and unknown
sidesway displacements (s).

(2) Draw the P forces and

name them consecutively from 1 to n

o

= (j+s).

4

o

D

o
II.

Draw a second sketch and on this sketch draw the distributed end moments and Humber them from 1: "to ,2m.
These moments do not include any fixed end moments due
to loads or settlements.

o
14

:~
I

Y'l"W@

5

o

III.

Formulate the [A] matrix expressing the P forces in
terms of the distributed moments

0

This matrix is

formed by observing the freebody diagrams of steps
I and II.

\Y

DM

1

•
=

law_ iii M AU $

$(

tJ... .

II

6

I

I

o
DMI + DM2 + VBA (d)
- H_
(h )
1
--BA 1

In similar manner,
HCB

=

DMS
2

DM6

- h + h_

d2

- -h

-"2

2

GI

=

0

0

-L
BC

d2
(DM 3 ) - -h
2

o
Now the [A] matrix becomes

DMI

DMr:

DM3

,t,

DM4

DMS

DM6

PI

a

I

I

a

a

a

P?

a

a

a

I

1

a

P3

1

1

- hI

- hI

2
1
Cl
- +d
-)
LBC hI
h2

~-

1 Gl d:)
+ LBC ~ + h2

1

-~

I

-~

o
97
---~-~----~-~----------------

---,---

7

IV.

4t)

V.

Record moment of

inert~a

and the length of each member.

Calculate the fixed end moments for eAch mamber and then
record these values along with the P values resulting from
these fixed end moments.

(Note the P forces are the un-

balanced force and not the balancing forces.)

o

~

FMl = 0

~l = 0

FMl

= 0

P2 =

0

FM2

=

0

= +lOk

FM3

=

0

FM4

=

0

FMS

=

0

FM6

=

0

P3

With the preceding steps in mind, four example problems
are shown in detail along with computer input and results obtained •

•

8

Example Problems

o

Example 1

3

.1 in.

__ -"",'1)
~..--_""":;;JI

Input Data
0303
2.0
100

n :: 3
m=3
Member Rel. I's Length (ft.)
1
2.0
20.0
10,,0
2
1.0

3

6.0

6 .. 0

30.0

A (matrix)

PI
P
2
P3

DM1

DM2

DM3

DM4

DMS

DM6

0
0
0

1
0
0

1
0
0

0
1
0

0
1
0

0
0
1

Fixed end moments
including moments
due to settlement
of support

FM3
FM4
FMS

-166.5
166 05
-124 09
-124 . 9
46 00

FM6

121 00

FM1
FM2

P (matrix)
P
1

-41.6

P2

7809

P3

-12100

20.0
1000
30.0
1 01
1 01
1 02
1 02
2 03
1 01
1 02
1 03
1 04
1 05
2 06
1 01
1 02
2 03

02 1.0
03 1.0
04 1.0
05 1.0
06 1.0
-166.5
166.5
-124.9
-124.9
46.0
121.0
-41.6
78.9
-121.0

o

Output Data
Total End Moment
M1 = -184.78421
M2 = 129.93158
M3 = -129.93158
M4 =. -80.11053
80.11053
Ms

=

M6 =

.00000

o
I~

1

:1,1

II

I

9

Example

o

2

24k
6'-0"

6'-

6'-0"

TT

12k~-+-_..........

3

1

m=3
Member

=3

n

Re1. Its

Length (ft.)

1

1.0

15.0

2
3

.2.0

12.0

1.0

10.0

o

A (matrix)
DM2
DMl
Pl

0.0

1.0

P2
P
3

0.0
-0.0666

0.0
-0.0666

Fixed End Moments

PMl
FM2
FM3
FM4
FMS
FM6

Input Data

10' 0"

-17.28
25.92
-36.00

DM3
1.0
0.0
0.0

DM4
0.0
1.0
0.0

DMS

DM6

0.0
1.0

0.0
0.0

-0.1

-0.1

P (matrix)
P
10.08
1
P -36.0
2
P
7.777
3

36.00
0.0

0303
1.0
2.0
1.0
15.0
12.0
10.0
1 01
1 01
1 02
1 02
1 03
1 03
1 03
2 03
1 01
1 02
1 03
2 04
1 01
1 02
2 03

02 1.0
02 1.0
04 1 . 0
05 1,0
01 -0.0666
02 -0.0666
05 -0.10
06 -0~10
-17.28
25.92
-36.0
36.0
10.08
-36 0
7.777
0

r----...,...-".-,. . . .--.--

Output Data
Total End Moment

M1 = -26,33809
M2

=

20.91634

=

M3
-20.91634
M4 = 35.75900
MS = -35.75900
M6

0.0

= -32.64587

•

I {J(J

&&3:.4«3=;'£#04;:

,a...

4".44 . ,4#Q¢.,4. .#4.4# #4

4

_.. 4. ....

ah1o... , .

I

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

~

10

Example 3

Input Data
25 -0"

5'-0"

m =3
Member

n

=3

ReI. I's

Length (ft.)
20.6
10.0
26.9

20.6
20.0
80.7

1
2
3

PM.~

(Fixed end moments)
for i

10'-0"

10'-0"

= 1,

= 0.0

P
l 0.0
P
2 0.0
P
3 -0.05

DM2

DM3

DM4

DM5

DM6

1.0

1.0

0.0

0.0

0.0

0.0

0.0

1.0

1.0

0.0

0.065

0.065

P (matrix)
PI
P
2
P
3

o

Output Data
Total End Moment
Ml

-0.05

02 1.0
03 1.0
04 1.0
OS 1.0
01 -0.05
02 -0.05
03 0.065
04 0.065
OS -0.04
06 -0.04
0. 0
10.0

2m

2,

A (matrix)
DMI

0303
20.6
20.0
80.7
20.6
10.0
26.9
1 01
1 01
1 02
1 02
1 03
1 03
1 03
1 03
1 03
2 03
2 01
2 03

0.0
0.0
10.0

-0.04 -0.04

M2
M3
M4
MS

= -22.66109
= -27.59842
= 27 . 59842
= 38.73907
= -38.73907

M6 == -40.63805

o
/O(

?FWrl

- -- - T "

..

!

"j

·"T

O

tttttttttdd

11
P

o

3Sk

Example 4

3

m= 6

n = 6

Member
1
2
3
4
5
6

o

I

Input Data

P

2r-"

,3

ReI. I's

Length eft)

3.0
3.0
9.0
3.0
3.0
4.0

15.133
15.133
12.000
15.133
15.133
16.000

0606
3.0
3.0
9.0
3.0
3.0
4.0
15.133
15.133
12.0
15.133
15.133
16.0
1 01 02
1 01 03
1 01 11
1 02 04
1 02 05
1 03 06
1 03 07
1 04 08

Ml = -104.53591
M2 -- -73.84198
M3 = -84.90202
M4 = -133.14998
Ms = 133.14998
M6
FMi

04
04
05
05
05
05
05
05
06
06
06
06
06
06
06
06
06
06
01
05

09 1.0
12 1.0
03 -0.0667
04 -0.0667
05 0.0222
06 0.0222
07 -0.0667
08 -0.0667
01 -0.0667
02 -0.0667
03 0.0667
04 0.0667
07 0.0667
08 0.0667
09 -0.0667
10 -0.0667
11 0.01667
12 0.01667
0.0
35.0

Output Data
Total End Moment

P (matrix)
0.0
PI
P
0.0
2
P
0.0
3
P
0.0
4
P
38.0
s
P
0.0
6

(Fixed End Moments)

1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2

=

=

0 for i

133.14998

= 1,

M8

= -133.14998
= -84.90203

M9

=

MID

= -104.53591

MIl
M12

=

M7

=

-73.84198
158.74401
158.74401

2, ••. , 2m

A (matrix)
DMI

DM2

DM3

DM4

DMS

DM6

DM7

DM8

DM

9

DM

10

DMll

DM12

1.0
1.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1.0
0.0
PI 0.0
P
0.0
0.0
0.0
1.0
1.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
2
0.0
0.0
P
0.0
0.0
0.0
1.0
1.0
0.0
0.0
0.0
0.0
0.0
3
0.0
0.0
P
0.0
0.0
0.0
0.0
0.0
1.0
1.0
0.0
0.0
1.0
4
0.0
0.0 -.0667 -.0667 .0222 .0222 -.0667 -.0667
P
0.0
0.0
0.0
0.0
s
P -.0667 -.0667 .0667 .0667 0.0
.0667 .0667 -.0667 -.0667 .01667 .01667
0.0
6

•

12

PROGRAM FOR IBM 1620-60K
C
C

C

1
2
3
S
6
7
9
931
933
C

C
4444
C
100
C
101

102
C
104
C
108
C
109
C
110
105

MATRIX SOLUTION OF SLOPE DEFLECTION EQUATIONS
BY TONY A ROSS - UNIVERSITY OF MISSISSIPPI
DIMENSION P(lS),FM(30),A(lS,30),S(30,30),UI(lS,lS)
DIMENSION BI(15),BL(lS),TR(30,IS),BM(30),AT(30,lS)
FORMAT(2I2)
FORMAT(F15.8)
FORMAT(I1,lX,I2,IX,I2,lX,F1S.8)
FORMAT(4X,3HBM(,I2,3H) =,IX,F16.S)
FORMAT(4X,3H R(,I2,3H) =,lX,F16.5)
FORMAT(4X,3H X(,I2,3H) =,lX,FI6.S)
FORMAT(Il,lX,I2,IX,F10.2)
FORMAT(/48HFINAL JOINT ROTATIONS AND SIDESWAY DISPLACEMENTS)
FORMAT(/16HTQTAL END MOMENT)
READ M (NUMBER OF MEMBERS) AND
N (NUMBER OF JOINT ROTATIONS AND SIDESWAY FORCES)
READ 1,M,N
READ REL. MOMENT OF INERTIA
DO 100 J=l,M
READ 2,BICJ)
READ MEMBER LENGTHS
DO 101 J=l,M
READ 2,BL(J)
M=2*M
DO 102 J=l,N
PCJ)=O.O
DO 102 K=l,M
FM(K)=O.O
AeJ,K)=O.O
READ IN THE CAl MATRIX
READ 3,I,J,K,A(J,K)
GO TO (104,108),1
READ THE VALUES FOR THE FIXED END MOMENTS
READ 9,I,J,FM(Jl
GO TO (108,109),1
READ IN THE (P) MATRIX
READ 9,I,J,P(J)
GO TO (109,110),1
CALCULATE THE STIFFNESS MATRIX (5)
DO lOS J=l,M
DO lOS K=I,M
S(J,K)=O.O
DO 106 J:2,Mt2

o

o.

K=~/2

106

S(J,J)=4.0*BICK)/BL(K)
S(J-1,J-1)=S(J,J)
S(J,J-l)=2.0*BI(K)/BL(K)
S(J-1,J)=S(J,J-l)

o

13

o

0;

•

TRANSPOSE MATRIX (A) INTO MATRIX (AT)
DO 200 J=ltN
DO 200 K=l,M
AT(KtJ)=A(J,K)
200
DETERMINE THE MULTPLIER MATRIX
UI=A*S*AT
C
DO 300 1=1 ,M
DO 300 J=ltN
TRCItJ)=O.O
DO 300 K=ltM
TR ( I t J ) =TR ( I ,J ) +S ( I ,K ) *'A T ( K,J )
300
DO 301 1=1 ,N
DO 301 J=1,N
UI(I,J)=O.O
DO 301 K=l,M
UI(I,J)=UI(I,J)+A(I,K)*TR(K.J)
301
BEGIN MATRIX INVERSION
C
DO 400 J=1,N
DO 400 K=l,N
A(J,K)=UIeJ,K)
UI(J,K)=O.O
400
DO 401 J=1,N
UI(J,J)=1.0
401
DO 50 1 J K= 1 ,N
DO 501 J=JK,N
X=A(J,J)
DO 405 K=l,N
UI(J,K)=UI(J,K)/X
AeJ,K)=A(J,K)/X
405
LL=J+1
JL=J-l
IF(JL)403,310,403
DO 311 L=1 ,.J L
403
X=ACLtJ)
DO 311 K=1,N
UI(L,K)=UI(L,K)-UI(J,K)*X
A(L,K)=A(L,K)-AeJ,K)*X
311
IF(LL-N)412,412,501
310
DO 312 L=LL,N
412
X=A(L,J)
DO 312 K=l,N
UI(L,K)=UI(L,K)-UI(J,K)*X
A(L,K)=A(L,K)-A(J,K)*X
312
CONTINUE
501
END MATRIX INVERSION
C
CALCULATE THE (X) MATRIX
X=UI*P
C
1111 DO 500 J=l,N
BL(J)=O.O
DO 500 K=l,N
BL(J)=BL(J)+UIeJ,K)*p(K)
500
C

107

14

C

600

601
C

100

916

DETERMINE THE CARRY OVER MOMENT
CM=S*AT*X
DO 600 J=1,M
TR(,,J,l)=O.O
DO 6 00 - K=1 ,N
TR(J,l)=TR(J,l)+ATCJ,K)*BL(K)
DO 601 J=1,M
BM(")=O.O
DO 601 K=1,M
BM(J)=BM(J)+SeJ,K)*TRCK,l)
CALCULATE THE FINAL MOMENT
BM=CM+FM
DO 100 J=l,M
BM(J)=BM(J)+FMCJ)
PUNCH 933
DO 916 J=l,M
PUNCH 5,J,SM(J)
GO TO 4444
END

o

o
lOS-

Ult','

fd#UftW'i.··_

n
,.

·rlt"t"··tbt· .... ·yftit· ·rirt

·t

• · ..

,·,·#'#tbrli ... ""ff

- -r

15

o

SUMMARY
The method of structural analysis presented in this
paper is a direct application of the already familiar slopedeflection equations.

This property of the program makes

it especially useful as a teaching aid in the third and
fourth years of engineering education.
Although the program could be used by anyone, small
engineering firms access to a 1620 computer would probably
find it more useful than would the larger firms.

The larger

firms would probably have access to larger computers and
more sophisticated programs, but the smaller firms with
limited funds can now begin to make use of this modern

,,'
/#t\~

technique of structural analysis.

•
I0

~

o

o

"* " ["'I""'

"." j"f"

wp""-,Yar-

SIMULATION OF UPTAKE AND DISTRIBUTION OF ANESTHETIC AGENTS
Gerald A. Kien, Ph.D.
Northwestern Medical School
303 E. Chicago Avenue
Chicago, Illinois
and
Floyd N. Heller, M.D.
University of Illinois R & E Hospital
840 S. Wood Street
Chicago, Illinois

o

Among the many diversified uses of the digital computer, there
have been relatively few dealing with simulation of organ system
interactions and the influence of drugs on them.

Computers are

being used routinely in the medical field for the conventional data
processing tasks of statistical analysis, data retrieval, pattern
recognition and patient monitoring.

Perhaps the lag in the util-

ization of the engineering technique of system simulation has been

o

due both to the apparent complexity of biological systems and to
the lack

of individuals spec;fically oriented toward the con-

struction of simulation models.
It is noteworthy that many of the physiologic responses known
may be described mathematically.

Warne~recently stated that many

models with unrealistic properties have been proposed and justified
by their originators in order to obtain an analytical solution of
the model.

Computer simulation has now invalidated this argument

since the analytical solution is no longer necessary or even sought
in most cases.

Perhaps the most important contrdbution wlaich digital

computer simulation makes to the building of mathematical models is
that it no longer restricts the model builder to models for which
he can devise an analytical solution.

•

Moreover, it is possible to

deviate from the rigorous mathematical model approach by the use of

f )~

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

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

.

--=----=.--.-=...--=.----=--=-'-'-

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

-2-

a transaction or process-oriented digital computer language.

Sim-

o

script and GPSS may be the best examples of this.
It is a frequent comment that in dealing with the simulation
of biological events, there are other drawbacks.

First, there are

certainly areas for which data are essentially unavailable, or at
least unmeasurable at the present time.

Second, when dealing with

the human organism certain intangibles arise, such as atypical
individual responses to specific stimuli, giving conflicting
responses in both the same individual and in different individuals,
as well as in different species.

Third, the practical applications

may be obscure to the casual observer.
In regard to the unknown data, this is not as insurmountable
as it would seem at first.

We know, for example, that the gross

response to a specific stimulus (e.g., the administration of an
.~

anesthetic drug) reflects itself with an overall effect on the hody,
affecting many of its physiologic parameters.
record these changes.

We can measure and

Some of the specific modes of action are

unknown, but the effect has occurred nevertheless.
is simulate the response.

All we can do

If our theories as to how the response

occurred are eventually proved incorrect, it is of no major significance as long as the response that occurs is accurate.

When

we do not know a minute detail, or when this detail is of minimum
consequence in the overall picture, it can be approximated or
neglected completely, depending on what responses we really need
for the general simulation.

In the simulation of uptake and dis-

tribution of anesthetic agents, there can be no better example than
the realization that the exact mechanism by which an anesthetic

o
Joq

-3-

actually obtunds the function of a nerve cell is as yet unknown.

4£)

Nevertheless, this does not hinder the anesthesiologist in knowing
that it does indeed induce an anesthetic state, nor does it hamper
him in the slightest in how he administers the drug.

The overall

response is the important aspect.
The variability of response to specific stimuli is considered
by generating a probabilistic likelihood for a given occurrence
from a specific set of stimuli.

This attempts to develop a more

complete simulation by allowing some of the variable factors that
do indeed exist in nature to become part of the model.

That we are

unaware of a specific cause relating to these probabilistic events
is unfortunate.

However, it occurs within the model with the same

uncertainty that it may occur unexpectedly in real life.

o

Thus,

although a specific anesthetic agent almost always produces anesthesia at a given blood level, it is possible for the simulation
model to allow the patient to require much more than the normal
dose level before initiation of a pharmacologic response pattern.
We feel finally that this computer simulation will have some
practical significance, as a tool for both investigation and teaching.
The simulation program has been designed for maximum interaction
between the executing simulation model and the "anesthesiologist".
Thus, he may change any of the variables in the program or the
status of the simulation during its execution.

He may thereby

investigate the dynamics of drug and organ system inter-relationShips.
A number of mathematical models of the uptake and distribution
of anesthetic agents have been reported and some relevant predictions

•

have been made from electrical analogs.

Since these electrical

-4-

analogs do not provide for changes in organ system characteristics

4()

seen during the course of clinical anesthesia, their usefulness
and accuracy is limited solely to very low dose levels of the drug.
Similarly, because of the assumptions and simplifications necessary
for construction of a mathematical model, these also tend to suggest
conclusions which are not necessarily complete under the variety
of conditions that do indeed exist.
As an anesthetic gas enters the lungs, it undergoes a number
of changes.

It is diluted by the gases already present.

heated and expands.

It is

Water vapor is added to it and increases its

volume, while decreasing the partial pressure of any other gas in
the system.

A certain amount of anesthetic gas is lost to lung

tissue and circulating blood, thus decreasing the remaining total
gas volume and the volume of the anesthetic gas within the total
lung volume.

o

If alveolar ventilation is to remain constant, then

the gas taken up must be replaced by gas drawn in.

This increases

inflow volume by the amount taken up, but maintains the outflow
volume constant.

Loss of the anesthetic from the blood to the

peripheral tissues then occurs and is dependent on such factors as
tissue solubility and blood flow per unit volume of tissue.
Immediately on administration of the anesthetic agent, and
throughout the duration of the anesthetic state, there occurs a
series of pharmacologic response patterns which cause alterations
of the physiologic mechanisms controlling the uptake and distribution
of the anesthetic agent.

As the concentration of the anesthetic

agent increases in the myocardium there may be a decrease in cardiac
output resulting in a reduced presentation of the drug to all organ

JI

o
J

1'

..

It

"fmhn

tt

tt

I til· trttt

rtf." f±'t±Wt "ijUriritiiriii±ribsiritt .

j ....... _....

:-'I"

.. j""T

e . - r"

if'

-5-

systems.

o

Increasing concentrations of the anesthetic in the central

nervous system may cause a reduction in the respiratory tidal volume
and, in the absence of respiratory assistance, will reduce the amount
of drug presented to the lungs.
The simulation of uptake and distribution of anesthetic agents
is a transaction or process-oriented computer simulation model.
primary language used is Fortran II-D with SPS subroutines.

The

In its

general organization, the simulation model resembles GPSS and SIMSCRIPT.
The model consists of a mainline control program and a series
of subroutines representing the interrelated systems and interface
systems of the body.

The pulmonary circulation, the heart and the

lungs are considered systems.

o

The transport of gas from the lung

alveoli to the pulmonary capillary blood is considered an interface
system.

These subroutines are under supervision of a main timing

routine and are called by the mainline control program.
The attributes of the system as a whole, or of its sub-systems,
defines the status of the simulation model.

These are modified by

a series of intrinsic events which are caused to occur at fixed or
probabilistic intervals in simulated time depending upon the values
of one or more attributes of the system.

Execution of a system or

interface system subroutine is under the control of a main timing
routine which keeps track of simulated time and calls events in
their proper sequence.
The

~ttributes

of the system or its components may also be

changed during the simulation by a series of extrinsic events.

o

The

extrinsic events may be generated at the start of the simulation

1 I ,:;l.,

-6-

run, in which case the event and the time it is scheduled to occur
will be stored in a future events list.

c

Alternatively, the sim-

ulation may be interrupted during its execution by the console
operator.

The status of the system variables can be printed at

selected time intervals.

Depending on the value of these variables,

the anesthesiologist may request additional data and then change
any of the system variables under his control (i.e., anesthetic gas
concentration, ventilation volume, etc.).
be restarted.

The simulation can then

On termination of the simulation, the history of the

anesthetic course is printed including multiple page plots and
tables.

1

Warner, H.R., Simulation as a Tool for Biological Research, Simulation, Vol. 3, Number 4, October, 1964.

o

o
I

J3

o
A SELECTIVE DISSEMINATION OF INFORMATION SYSTEM FOR MEDICAL LITERATURE
by
James L. Grisell, Ph.D. and Roger Gudobba

The Lafayette Clinic Medical SOl system has been designed to keep
scientific investigators routinely informed of the world's literature
in any selected area of medicine.

The system can provide either a current

awareness of new articles or a bibliographic search of an entire file of
articles for references relating to any topic in the area of specialization.
At the lafayette Clinic we use the system for the literature on the mental
illness of schizophrenia.
The current awareness portion of the system is designed to work on an
automatic basis.

Each investigator serviced by the system has on file

in the Computing Laboratory a list of key terms, designated as a profile,
which define that segment of the schizophrenia literature of interest to
him.

The key terms used in profiles are obtained from a dictionary of

all terms occurring in the entire file.

Once a month, all profiles are

compared against all new articles entered into the system during the
preceding four weeks.

If key terms in a profile match the terms in a new

entry, then the article should be of interest to that investigator.
If an investigator wants a bibliography derived from the complete file of
articles, he prepares a profile which defines his area of research interest.
This profile is then matched against all articles in the system.

When the

key terms in the profile match the key terms in an article, this article

2.

will be included in the bibliography.

o

The investigator receives a complete

list of all articles which matched his profile.

If the investigator wants

to be kept informed of new articles in the area of interest defined by his
bibliographic search profile, then this profile can be added to the current
awareness file of profiles to be searched on a monthly basis.
This system has been designed to provide a maximum of flexibility in writing
profiles so that each investigator can define his area of interest with
optimum precision.

Continuing feedback is also provided regarding profile

key terms which are matched with article key terms.

If a key term keeps

finding articles which are not of interest to the investigator the profile
can be modified to eliminate those key terms.

On the other hand, if a

given profile passes over articles of interest, then appropriate key terms
for finding these articles can be added.

o

The ultimate goal of the system

is to bring to the attention of each investigator only those articles which
are of interest to him.
Description of Entries
The ultimate success or failure of any current awareness or bibliographic
search system is the adequacy of the bibliographic reference data which is
used.

This data must meet two important criteria:

(1) it must cover the

world's literature of the area of interest as thoroughly as possible and
(2) it must contain an adequate, but concise, description of the contents
of each entry.

o

tit::

.h

tth

- tes

•

·ur

n

.•

A source of bibliographic information which adequately meets both of these
criteria is the MEDLARS system of the National Library of Medicine.

The

National library is currently indexing 16,000 journal issues from allover
the world.
interest.

These journals presently contain 160,000 articles of medical
By 1969 the Library will index 25,000 journals containing

250,000 medical articles.

As each journal is received at the National

library it is checked for articles of medical interest.
all articles are routinely indexed.

For medical journals,

For a journal such as Science, only

those articles pertaining to medical topics are indexed.
Each article is read by an indexer.

o

The indexer then assigns a series of

tags, or index words, which define the subject content of the articleo
These tags are words which appear in Medical Subject Headings (MESH).
Currently, an average of 10 tags are assigned to each article.

The tags

or index words are also the subject headings under which articles are
listed in the Index Medicus.

Since cross-referencing an article on the

average of ten times would produce a voluminous Index Medicus, the indexing
is done on two levels.

The first level consists of tags most representative

of the article 1 s contents.

These are used for inclusion in Index Medicus

and are preceded by an • in a MEDLARS listing.

The other tags are not used

for Index Medicus but are available for searches of the MEDLARS' master file.
Thus, a search of their file will yield more articles than you would get
by looking in Index Medicus under the same headings used for the search.

o
I (b

o

4.

The entries in the MEDlARS system are available from the National library
on the basis of either a demand search, or on the basis of a recurring
search.

To receive a demand search they require a list of tags from

MESH and the dates within which the search is to be performed.

A recurring

search is a routine search made of all new articles within a specified
time period.

Thus, if one wishes this on a monthly basis, once a month

the list of tags defining an area of interest are routinely run against
the new entries for the month and the list provides all articles containing
one or more of the tags.
The Format of an Article in MEDLARS

o

Each article in the MEDlARS system contains certain basic information
descriptive of the articles.

The following items are included:

1)

The author's name. If the article has mUltiple authorship
all are included in the listing, with the senior author
listed first. The last name is given first, followed by
the author's initials. No first names are given. If
there is no author (1.5%) it is listed as anonywous.

2)

The title of the article.
If the paper is in English the title will be listed
exactly as it appears in the article. If the paper is
in a foreign language, the title will be in English
translation and in the Roman alphabet. The title
itself will be enclosed in parentheses. The language
in which the article was written is also indicated
by a standard abbreviation, also enclosed in parentheses.

3)

The source in which the article was published.
The journals are given in standard abbreviated form.
The volume number, month and year of pUblication and
pagination are also given.

/1

7

· ·-wrw·ml"fna····j"§j"".. ··

o

5.

4}

Index terms or tags.
The index terms which describe the subject contents
of the article are also included. An index term must
be in MESH. Index Terms which are used in Index Medicus
are preceded by an asterisk.

Preparation of MEDLARS entries for use in the SOl system.
All articles received to date, and they now number 2300, have been prepared
for entry into our SOl system.

One of the guiding principles of our system

is that it be as automatic as possible.

Consequently, we do a minimum of

pre-editing of article listings as they are received.

Some modifications

of the original listings are necessary, but these are limited to the assign-

o

ing of identification codes to the various parts of an entry so the computer
can more readily identify these parts.

The order in which the entry parts

are listed is consistent, but the number of lines each may require is not.
Usually, the title will be on only one line, but may require two.
number of lines of index terms may range from 1 to 4.

The

Consequently, each

line of an entry must be labeled to indicate whether it is the author (A),
title (T), so"rce (S) or index terms, (designated key terms (K)).

Each

line is also given a sequence number and each article is given a document
number.

Error checking procedures for all entries.
Every attempt is

~~de

to see that the entries are keypunched as accurately

as possible and that the identifying information is correct.

Also, the

--------~---

..

,----~~~~~~~--~~-------------- ---,-,----~

6.

contents of the entries are checked for proper spacing.

c

This is necessi-

tated by the fact that the system programs which process the entries
assume that each entry is in the standard format.
I

After the entries have been keypunched, they are verified.

When all

errors found in the verification process have been corrected, the entries
are then run through an error checking program.

For each entry the program

checks the following:
1)

all cards in the same entry must have the same document number

2)

the alphabetic card designation must be in the sequence A, T, S, K.

3)

the card sequence numbers must start with 1 and be consecutive

4)

in the contents of the entry itself, each card is scanned to
see if anything has been punched after the program has detected
two consecutive blanks or has come to the end of the card.
This is important because the presence of two consecutive
blanks or the end of card is the only way subsequent programs
in the system know they have reached the end of valid informat ion on a card.

If any of the above error indications are found, an appropriate error
message is provided specifying the type of error and the document number
with which it occurred.

No entries are used in the system until they go

through the error checking program with no error messages.

Figure 1 is

a sample of article entries after they have been prepared for entry into
the system.

o

r"" "

7.

o

FIGURE 1
Article Entries as They are Used in the SOl SYSTEM

o

.

'"

I

'

1
1
1
1
1

A
T
T
S
K

1
2
3
4

AALL L
(SYMPOSIUM ON SCHIZOPHRENIA-lIKE PSYCHOSES AND ETIOLOGY OF
SCHIZOPHRENIA. EXPERIENCES REGARDING THE TOPIC IN TANGANYIKA)
SCHWEIZ ARCH NEUROl PSYCHIAT 93,377-9, 1964
5 *SCHIZOPHRENIA, TANGANYIKA (1)

2
2
2
2
2
2

A
T
S
K
K
K

1
2
3
4
5
6

3
3
3
3
3
3

A
T
T
S
K
K

1
2
3
4

4
4
4
4
4

A
T
S
K
K

1
2
3
4
5

ABRAHAM G
( TH E PRO BLEM 0F MI XEO PSYCHO SES) ( FR)
ANN MEOICOPSYCHOL (PARIS) 122,481-90, NOV 64
CLASSIFICATION, ~EPRESSION, *EPILEPSY, ~EUROSES, *PSYCHOSES,
*PSYCHOSES, MANIC-DEPRESSIVE, *SCHIZOPHRa~IA

5
5
5
5
5

A
T
T
S
K

1
2
3
4
5

ABRAMS S
A VALIDATION OF PIOTROWSKI'S ALPHA FORMULA WITH SCHIZOPHRENICS
VARYING IN DURATION OF ILLNESS.
AMER J PSYCHIAT 121,45-7, JUL 64
DIAGNOSIS, DIFFERENTIAL, *RORSCHACH TEST, *SCHIZOPHRENIA

6
6
6
6
6
6
6
6

A
T
T
S
K
K
K
K

1
2
3
4

ABRAMSON HA
ANTISEROTONIN ACTION OF LSD-25 AND OTHER LYSERGIC ACID DERIVATIVES~
FACT AND FICTION.
J ASTHMA RES 1,207-11, MAR 64
*ALlERGY, ASTHMA, AUTISM, CHILD, *HALLUCINOGENS, *LYSERGIC
ACID DIETHYLAMIDE, METHYSERGIDE (3), MIGRAINE, PHARMACOLOGY,
SCHIZOPHRENIA, CHILDHOOD, *SEROTONIN INHIBITORS, TOXICOLOGIC
REPORT (4)

7
7
7
7
7
7
7
7

A
T
T
S
K
K
K
K

(GER)

AARONSON BS
AGING, PERSONALITY CHANGE, AND PSYCHIATRIC DIAGNOSIS.
J GERONT 19,144-8, APR 64
ADOLESCENCE, ADOLESCENT PSYCHOLOGY, *AGING, DIAGNOSIS, *MENTAL
DISORDERS, *MMPI, *PERSONAlITY, SCHIZOPHRENIC PSYCHOLOGY,
SOCIOPATHIC PERSONALITY

ABELY P, LAUZIER B
(THE FATE OF THE CONCEPTS OF PERIODICITY, ATYPISM AND INCURABILITY
IN PRACTICAL PSYCHIATRY) (FR)
ANN MEDICOPSYCHOL (PARIS) 122,729-46, MAY 64
5 CLASSIFICATION, *MENTAL DISORDERS, *HOMENCLATURE, PERIODICITY,
6 PROGNOSIS, *PSYCHIATRY, PSYCHOTHERAPY, SCHIZOPHRENIC PSYCHOLOGY

5
6

7
8
1
2
3
4

5

6
7
8

ACHILLES M
(ATTEMPT AT A STATISTICAL DIAGNOSIS OF THE DRIVE STRUCTURE IN
PROBLEM SnJDENTS) (GER)
PRAX KINDERPSYCHOL 13,177-81, JUL 64
ADOLESCENCE, AGGRESSION, AUTISM, CHILD, *CHILD BEHAVIOR
DISORDERS, EDUCATION OF MENTALLY DEFECTIVE, MOTIVATION,
PERSONALITY, PUBERTY,. SEX, STATISTICS, THEMATIC APPERCEPTION
TEST

o

8.

Preparation of the Dictionaries.
One of the most important aspects of our SOl system is the preparation
of the dictionary of terms contained in the MEDLARS references.

This

dictionary provides information which is the basis for making interest
profiles.

You can't know what to ask for until you know what's there.

This system uses three separate kinds of dictionaries:

(1) a dictionary

of terms derived from both the title and index tags, (2) a dictionary of
authors and (3) a dictionary of sources.
The Dictionary of Key Terms.
This dictionary is generated by a computer program from both the title
of the article and from the index tagso

The program rules for finding

o

terms in titles are different than the rules for finding terms from tags.
For titles, each is scanned by the program going from left to right.
The beginning and end of a word are identified by the presence of a blank.
If the first character of any word is a special character, such as a
parenthesis or a quotation mark, it is ignored.

If the last character

of a word is a parenthesis, comma, period or quotation mark, it is also
ignored.
When a word has been found, it is compared against a trivial word list.
This list consists of such words as:

the, it, and, but, etc.

There is

provision in the program for 450 such terms, currently we use 100.

If a

word is not in the trivial word list it is considered a valid term for
the dictionary and is written out on disk.

If a word is in the trivial

o

word file it is ignored.
~}

3'"'"""(

••""#tMbitftifBwt#b6"'·· j&btrib . f
t

u

."] .. ""..........

··FTI"",..tr'···

P .. f" .. W"tl"RTT"

_.

--f·'

9.

o
Since the goal of the SOl system was to make it as automatic as possible,
only single terms are extracted from article titles.

To get multiple

word terms would require the pre-editing of the titles and designating
which consecutive word groups should be treated as a single term by
manually inserting some special character before the first word and at
the end

0

f t he 1as t •

This is done in some SOl systems.

For example, one

may wi sh to des i gnate Itsocial factors" as a two-word term.

However, this

wi 11 appear in the dictionary as two terms; "soci a 1" and Itfactors".

While this may be regarded as a shortcoming of the system, provi s ion can
be made in the construction of profiles to treat these two words as a unit.
After all non-trivial words have been found in the title, the program

o

then scans the K cards for the index terms assigned to the article by
the National Library.
are treated as one.

When dealing with these terms, multiple word terms
The purpose of this was to retain all of the terms

as they appear in MESH.

The logic of the program is very simple.

regards anything between commas as a term.
is ignored.

It

Anything within parentheses

As each term is found it is also written on disk.

When the program is run with a number of articles it searches alternately
title cards and key term cards.

When all entries have been processed, all

key terms have been written on magnetic disk in the order found.

The next

problem is to alphabetize them and count the frequency with which each
term appeared. It is also necessary to designate new terms which have never

.

appeared before.

The alphabetizing is accomplished by sorting all key terms

into alphabetical sequence.
\

"

this purposeo

The IBM 1620 sort-merge program is used for

I

II

I,!

10.

o

The dictionary generator program has been written so that it can either
generate an original dictionary, or update an old one when new entries
are added to the system.

A separate tabulating program has been written

to work in conjunction with Phase 4 of the IBM sort program.

After the

terms have been sorted in alphabetical sequence, each term is made available to the tabulating program.

If an original dictionary ;s being

generated the program merely tabulates the frequency with which each term
occurs.

When a new term is found, the previous term, together with its

frequency of occurrence, is punched on a card.

When all terms have been

tabulated the cards produced by the program are then listed to get a
readable copy of the dictionary.
When the Dictionary of Key Terms is being updated with the key terms from
a new set of entries, the procedure is slightly different.

o

After all the

terms have been identified and sorted the tabulation program requires the
cards from the old dictionary.

The first of these is read in and then the

first word on disk is compared with it.

If they are the same, the word

from disk is counted and the next word from disk is brought in and compared.
This procedure is repeated until the word from disk is not the same as
the word on the card.

When this happens the frequency of the previous

word on disk is added to the cumulative total for that word on the dictionary card.

Then the new cumulative total, the tabulation frequency for

the current run and the term itself are punched on a card.

o
Id.3

- T rfIT"'"

- P y .... -ri¥r&d

- T""JTv m]" ,n l-rr"7Ey-gP'--

o

11 •

When the program encounters a word on disk which was not previously in
the dictionary it is a new term.

When the term ;s punched on a card an

asterisk is put in front of it.

When a term on cards is found but which

is not in the current entries, the monthly total is set to zero and the
cumulative total is unchanged.
of Key Terms.

o

Figure 2 is a sample page of the Dictionary

12.

0

FIGURE 2
Sample Page of the Dictionary of Key Terms
DICTIONARY OF KEY TERMS
LAFAYETTE CLINIC MEDICAL SOl SYSTEM
UPDA TED AS OF 8/24/65
CUMULATIVE
TOTALS

1
1
1

TOTAL FOR
MONTH

5

0
0
0
0

5

0

8
1
l
1

0
0
0
0

5

0

1
2
1
1
1
2
1
1
1
1
1
1
1

1
0
0
0
0

1
1

4
1

5
7
4
1

1
3
31

0

0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0

3

1

1

5

0

ABBREVIATION
ABERRATIONS
ABILI TIES
ABILITY
ABNORMAL
ABNO RMAL IT I ES
ABNO RMAL ITY
ABNO RMALTIES
ABO FACTORS
AOO RTION
X- ABREACTION
ABRUPT
•••••
ABSCESS
•••••
••••• ABSOLUTE
ABSORPTION
•••••
ABSTRACT
•••••
ABSTRACTION
•••••
••••• ABSURD ITY
ACANTHRO CYTOSIS
•••••
••••• ACCEPTABILITY
••••• ACCEPTANCE
••••• ACCEPTORS
••••• ACCOMMODATION
••••• ACCOMPANYING
ACEP ROMAZIN E
•• 0 ••
••••• ACETATES
••••• ACETIC
••••• ACETOPHENAZINE
••••• ACETYLCHOLINE
••••• ACHI EVEM ENT
••••• ACHI EVEM EN TS
••••• ACHILLES
••••• ACHILLES TENDON
ACID
•••••
ACIDOSIS
•••••
••••• ACIDS

•••••
•••••
•••••
•••••
•••••
•••••
•••••
•••••
•••••
•••••
•••••

0

*

*

()
,--

,d..">

o
After the dictionary has been updated, the next step is to prepare a
list of new entries.

A program has been written for this purpose.

The cards comprising the dictionary are read into the computer.

Each

card is examined for the presence of an asterisk denoting a new term.
If an asterisk is found the word on the card is punched out.

When the

program has read through all of the dictionary cards and the output
listed, we have a readable copy of all new terms which have been added
to the dictionary.

This listing is made available to all of the investi-

gators being serviced by the SOl system.

The list of new terms is submitted

to them prior to running their profiles against the new entries so the

o

investigator can include any of the new terms in his profile to get the
articles containing them.

At some reasonable interval each USer will

be given a new dictionary.
Dictionary of Authors and Dictionary of Sources
In addition to the Dictionary of Key Terms, two other dictionaries are
prepared:

one of all authors and the other of all of the sources in

which the literature has appeared.

The entries in both of these diction-

aries may be used in constructing profiles.

Thus, an investigator interested

in getting all of the publications of a particular author may do so.
Also, he can ask for all of the articles appearing in a given journal •

.

'

~

I

14.

80th of these dictionaries are prepared in the same way as the dictionary
of key terms.

The difference is that for the dictionary of authors, only

the author card is processed.

The authors are listed separately even

though an article may have multiple authorship.
sources only the source card is scanned.
the journal name is included.
and pagination is ignored.

For the dictionary of

In the listing of sources only

All information pertaining to volume, year

Listings of new entries are prepared for both

of these dictionaries in the same way as with the Dictionary of Key Terms.
Profi 1es
The ultimate success or failure of an SOl system is a function of the ease
and accuracy with which an investigator can define his area of interest
on the basis of the terms in the articles being searched.
constructing a profile of terms.

o

This is done by

The terms in the profile are then com-

parea with the terms in an article.

If the computer finds a match in

these sets of words, then the article is designated as being of interest
to the investigatore

If the profile is a good one it will maximize the

number of articles of interest it finds and minimize the number of articles
designated as interesting, but which are not.

If the profile is not a good

one, the reverse will then be true.
The profiles used in this system are similar to the profiles used in the
IBM SOl system, but with modifications.

In the Lafayette Clinic Medical

'0

o

15.

SOl system a profile has a hit level, which may range from -9 to +99.
Each term in the profile has a weight.

This also has a range from -9 to +99.

Each term in the profile is compared with each term in the article.

Each

time a match is found the weight of the term in the profile is summed.
After the last comparison is made, the sum of the terms on which a match
occurred is compared to the hit level of the profile.

If the sum is equal

to or greater than the hit level, then the article is designated as being
of interest.

If the sum is less than the hit level the article is ignored.

In addition to a total hit level for the profile and a weight for each term,
there are also two kinds of terms which may be used:

o

root terms.

complete terms and

A complete term is one which appears in the profile exactly

as it does in the dictionary of key terms.

The term must appear in the

article exactly as it is in the profile to result in an equal compare-.
A root term, on the other hand, will result in comparing only as many letters
in the article word as are in the root term in the profile.

For example

if "child" is designated as a root term in the profile then it will result
in an equal compare with children, childrents,childhood and, of course, child.
The USe of root terms is a convenient way of encompassing all variants of
a term which may have one of several different endings.
As one final feature, each term in a profile may also have one of two
modifiers:

•

~ and~.

A must modifier simply indicates that any time

a must term is found the investigator will get that article whether the

o

16.

hit level has been reached or not.

A not t,erm will do the opposite.
I

~e skipped even though the

When a not term is found the article will
hit level has been equaled or exceeded.

The only exception occurs when

a must term and a not term are both found in the same article.
these circumstances the must term overrides the not term.
or a complete term can have either of the modifiers.

Under

E,ither a root

Figure

3

is a sample

prof; 1 e.
FIGURE

3

Sampl e Profi 1 e

LAFAYETTE CL IN I C MED I CAL S DI SYSTEM
BI BL IOGRAPHIC SEARCH
SEARCH MAD.E ON 9/29/65

o

KEY TERM PROFILE DESCRIPTION
IONO

=

LOCATION

10001 NAME - SPECIAL
MODIFIER

\t.() RD

TYPE

WT.

MUST
NOT

COMP
COMP
COMP
COr-1p
COMP
ROOT

1
1

NOT

1
2

1
1

LC HIT LEVEL

=2

KEY TERM
ABRAMS S
CHILD BEHAVIOR DISORDERS
CLASSIFICATION
DIAGNOSIS
NOMENCLATURE
RORSCHACH

o

o

17.

Searches
This SOl system has been designed to perform two kinds of searches:
an SOl search and a bibliographic search.

The SOl search is performed

on a monthly basis and essentially it compares each profile with each
of the monthly articles.

The articles are read from cards.

The bibliographic search essentially matches one profile against all
articles in the system.

For the bibliographic search, the master file

of articles is stored on disk.
In an SOl search, all profiles are first read in and then written out on

()

disk (on drive 0), in a packed format.
the first articl e is read i'n from cards.

After the profiles have been stored
The program then brings in each

profile from disk and compares the terms in the profile with the terms
in the article.

If the sum of the weights of the terms on which a comparison

is made equals or exceeds the hit level of the profile, or if a "must"
term is found, the article ;s said to match the profile.

When this occurs

certain identifying information is written on the second disk drive (drive 1).
This consists of

•

1)

the profile number

2)

document number of the article

3)

the article sequence number (which indicates
if it is the first, second, etc. article on
which a match was found)

4)

the words on which a comparison was made
between profile terms and article terms

The first time a match is found on an article, the article itself is
written on disk (drive 0).

The following information is needed:

130

o

18.

1)

the document number

2)

the authors of the article

3) the title of the article
4)

the source in which the article appears

The index terms are not recorded.

An article is written on disk only once,

the first time a match is found between the article and some profile.
no matches occur the article is not written out.

If

After all profiles have

been compared against an article, the next article is read in and all
profiles are compared against it, etc. until all the articles have been
processed.

After all of the articles have been processed, the contents

of the disk containing the data for the hits (drive 1) are sorted in

o

numerical sequence by profile number and by document number within the
profi 1e number.
The program which punches out the results works in conjunction with Phase 4
of the sort program.

The output consists of the profile, followed by the

articles on which a match was found.
sequence by document number.

The articles appear in numerical

Figure 4 shows a sample output.

This out-

put was the result of running the profile in Figure 3 against the articles
in Fi gure 1.
The bibliographic search is designed to compare one profile with the entire
file of literature references.

At the beginning of the program the profile

is read in from cards but instead of being written out on disk it is retained
on core storage.

In addition, it is punched out as the initial part of the

13/

o

19.

FIGURE 4

Articles from Figure 1 which Match Profile in Figure 3

THESE ARTICLES MATCH THE PRCFILE DESCRIBED

2

A AARONSON BS
T AGING, PERSONALITY CHANGE, AND PSYCHIATRIC DIAGNOSIS.
S J GERONT 19,144-8, APR 64
MOD 1FIER

o

3

ABOV~

A

T
T
S

WORD
TYPE

WT.

COMP

2

KEY TERM
DIAGNOSIS

ABELY P, LAUZIER B
(THE FATE OF THE CONCEPTS OF PERIODICITY, ATYPISM AND INCURABILITY
IN PRACTICAL PSYCHIATRY) (FR)
ANN MEDICOPSYCHOL (PARIS) 122,729-46, MAY 64
MODIFIER

WORD
TYPE

WT.

COMP
COMP

1
1

KEY TERM
CLASSIFICATION
NOMENCLATURE

5 A ABRAMS S
T
T
S

A VALIDATION OF PIOTROWSKI'S ALPHA FORMULA WITH SCHIZOPHRENICS
VARYING IN DURATION OF ILLNESS.
AMER J PSYCHIAT 121,45-7, JUL 64
MOD 1FIER

WORD
TYPE

WT.

MUST

COMP
COMP
ROOT

2
1

NOT

•

1

KEY TERM
ABRAMS S
oIAGNOS IS
RO RS CHA CH TEST

20.

output.

The articles against which the profile are compared are stored

on disk.

The articles are read one at a time and compared against the

profile.

When a match is found, the reference is punched out immediately.

c

The output of this section of the program has the same output format as
the SOl search.
Description of SOl Monitor Pack
The operation of this system is greatly facilitated by setting up a special
Monitor disk pack.

Since several of the operations performed by the system

involve a series of linked programs, they can be executed sequentially
without changing packs.

By putting on this pack only those parts of

Monitor which are necessary for the operation of the system under Monitor
control, and only those programs which pertain to the system, large areas
of disk are made available for storing data.

Wbrk storage is defined as

being the entire second drive (drive 1).
The sections of Monitor I loaded are:
1.

The supervisor routines

2.

The OUP routines

3. The DIM table
4.

The Equivalence table

5. The sequential program table
6.

The disk pack label areas

o

--n

•

21 •

The system programs are stored in sectors adjacent to the DIM table and
in the upper part of the disk.

Sectors 00000-04799 and sectors 05200-16999

are available for data storage.
in an SOl search.

The first area is used for storing profiles

The second area is used for storing articles on which

a profile match was found during an SOl search.
The DIM, equivalence and sequential program tables were read in without
modification from the Monitor deck.

After loading, the DIM entries for

the SPS assembler and Fortran compiler were deleted using the Monitor
OUP routine.

This made the storage space assigned to these packages

available for storing the SOl programs.

o

Before the SOl Monitor deck can be set up, all of the SOl programs must be
assembl ed with a standard Monitor pack.
object deck is punched out.
DIM entries crust be deleted.

At the end of each assembty an

Before these can be loaded the SPS and Fortran
The object decks can then be loaded.

The SOl system described in this paper is currently in operation at the
Lafayette Clinic.

The system, as described, was written to run on an

IBM 1620, Modell with 60,000 digits of internal core storage with two
1311 disk drives.

In addition, the special instructions transmit numeric

strip, transmit numeric fill, and indirect addressing are required.

With

very minimal modifications the program package will run on a 40K machine.
This can be accomplished by merely reducing the size of the trivial word
file used in the program for generating the dictionary of key terms •

•

II

As yet, this system has not been submitted to the Users Group but it is
available directly from the Lafayette Cli~ic to anyone who is interested
in using this system with some aspect of

he medical literature which is

made available by the National Library of Medicine.

o

o

***********************************************************************
HISTORY OF THE DEVELOPMENT OF PART

o

AT TENNESSEE TECH, STUDENTS ARE TAUGHT MACHINE LANGUAGE
PROGRAMMING ON THE IBM 1620 COMPUTER, BEING REQUIRED TO WRITE COMPUTER PROGRAMS FOR THE SOLVING OF CERTAIN SPECIFIED PROBLEMS. FOR
TH~ PAST TWO YEARS, WE HAVE BEEN lJSING A MODIFIED PROGRA~ CALLED
• •• MAR ( AT. • ., I.~J R ITT F. N RY PRO F ES S 0 R Gt 'Y RIC KER 0 F NE1.,,1./ J ERS EY S TAT ~
COL LEG E ~"H I CH FXF. ( UTE DAN D CHECKED THE RFS ULTS 0 F MAC HI NE LAN GUAGE
PROGRAMS FOR THE 1620. AFTER THE EXPERIENCE GAINED USING MARCAT,
AND DUE TO (ERTAIN FEATURES OF MARCAT THAT WERE UNDESIRABLE FOR OUR
APPLICATIONS, IT WAS DECIDED TO WRITE OUR OWN PROGRAM TO SATISFY
OUR NEED FOR A MEANS OF PROCESSING, EXFCUTING, AND CHECKING LARGE
VOLUMES OF STUDENT WRITTEN MACHINE lANGUAGE PROGRAMS.
OUR USE OF
THE ••• PART ••• PRO~RAM PERMITS WIDE USE OF THE MARK SENSING CAPABILITIES OF OUR IBM 514 REPRODUCING PUNCH TO EXPEDITE THE PUNCHING
ANn PROCESSING OF THE PROGRAMS. HOWEVFR, THERE IS NO REASON WHY,
AS LONG AS PROPER CARD FOR~AT~ ARE FOLLOWED, THE PART PROGRAM COULD
NOT BE USED WITH ALL INFOR~ATION BEING HA~D PUNCHED AND THE USE OF
H /\ RK SEN SEE QUI P '1 E ~~ TEL I r-.1 I NAT ED.

***********************************************************************
THE PURPOSE OF PART
PURPOSE OF PART IS TO GIVE THE COMPUTER CENTER A CONVENIENT
OF HANDLING STUDENT WRITTEN MACHINE LANGUAGE PROGRAMS AND, AT THE
SAME TIME, GIVE THE STUDENTS A DEFINITE ANSWER AS TO THE STATUS OF
THEIR PROGRA~S.
IT YIELDS TO THE INSTRUCTOR A CONVENIENT MEANS OF
ANALYZING THE PROGRESS OF EACH OF THE STUDENTS. FURTHERMORE THE
c: TUf) EN TS ARE GI VFN PER TIN E~I TIN FOR MAT ION RELATIN G TOT HE SOU RCE
OF THEIR ERRORS. THE MAJOR PURPOSE OF PART IS TO CHECK ASSIGNED
PRORLEMS FOR PREVIOUSLY DETERMINED ANSWERS.
T~E

~EANS

o

***********************************************************************
BRIEF DESCRIPTION OF PART
PART OPERATES ON THE BASIS OF EXECUTING STUDENT WRITTEN
LANGUAGE PROGRAMS AND COMPARING THE DERIVED Ar~SWERS WITH
PREVIOUSLY STORED CORRECT ANSWERS. ALL COMPARISONS ARE MADE AS
FIELDS.
~ACHINE

FIRST, THE ANSWERS ARE STORED FOR ALL OF THE PROBLEMS INVOLVED.
SECOND, THE STUDENT PROGRAM IS LOADED INTO CORE BY THE PART PROCESSOR. THEN THE STUDENT PROGRAM IS EXECUTED UNDER CONTROL WHILE CONSTANTLY BEING CHECKED FOR ERRORS.
IF AN ERROR IS ENCOUNTERED, THE
STUDENT PROGRAM IS DISdoNTINUED AND THE APPROPRIATE ERROR MESSAGE IS
GIVEN OUT. PROVIDED NO OBVIOUS ERRORS EXIST, THE ANSWERS GIVEN BY THE
PROGRAM ARE CHECKED g~ REFE~ENCE TO THE PRE-ASSIGNED LOCATIONS.
INFORMATION CORRFSPONDtNG TO THE STATUS OF THE ANSWERS IS GIVEN OUT
AND PART CONTINUES BY ACCEPTING ANOTHER STUDENT PROGRAM.

•

**********************~~************************************************

THE PHASES OF PART
ANSWER LOADER - THIS SECTION IS USED TO STORE THE ANSWERS AND THE
CORRESPONDING TABLES FOR TABLE LOOK-UP. THIS SECTION OF
PAR TIS CLEA RED WHEN THE FIR S T STU DEN T PRO GRAM I S LOA DED.

/3 ~

THEREFORE, THE ANSWER LOADER CANNOT BE RE-ENTERED.
LOADER FOR STUDENt PROGRAMS - THIS PHASE LOADS THE STUDENT PROGRAM,
TRAPS THE FOLLOWING CARD (IF PRESENT) AND THEN GIVES CONTROL TO THE MONITORING ROUTINE.
MONITORING ROUTINE - THIS PHASE BEGINS WITH THE FIRST INSTRUCTION
OF. THE PROGRAM. THE INSTRUCTION IS FULLY CHECKED AND THEN
EXECUTED UNDER CONTROL, IF PROVEN TO BE PERMISSIBLE. THE
NEXT ADDRESS IS DETERMINED AND THE INSTRUCTION THERE IS
USED TO REPEAT THE PROCESS. THIS IS CONTINUED UNTIL AN
ERROR IS ENCOUNTERED OR THE PROGRAM IS TERMINATED. INPUT
DATA IS ALSO HANDLED IN THIS PHASE BY TRAPP1NG ONE CARD
AHEAD OF THE STUDENT PROGRAM. NOTE THAT THE PROGRAM IS ALSO
TERMINATED WHEN THE DATA CARDS ARE EXHAUSTED.
ANSWER CHECK ROUTINE - THIS PHASE USES THE PROBLEM NUMBER TO FIND THE
STORED ANSWER INFORMATION AND TO DETERMINE THE NUMBER OF
PASSES FOR THE PROBLEM. THIS MAY BE ENTERED SEVERAL TIMES
FROM THE MONITORING ROUTINE. ENTRY POINTS ARE AT THE
OCCURANCE OF AN INPUT-OUTPUT INSTRUCTION AND WHEN THE
STUDENT TERMINATES HIS PROGRAM. THE PASSES OCCURING IN THE
PROBLEM ARE CHECKED UNTIL PROVEN TO BE CORRECT. TO BE
CORRECT, ALL PARTS OF THE PASS MUST BE CORRECT. ONCE A PASS
IS FOUND TO BE CORRECT, IT IS NOT CHECKED AGAIN. FOLLOWING
THE CHECK AFTER TERMINATION OF THE STUDENT PROGRAM, THIS
ROUT I NE GIVES OUT THE RES·:L T OF THE ANSWER CHECKS. CONTROL
IS THEN GIVEN BACK TO THE LOADER FOR STUDENT PROGRAMS.

***********************************************************************
ANSWER STORAGE

o

ANSWERS ARE STORED AS FIELDS WITH A MAXIMUM LENGTH OF 15 DIGITS.
ANSI,A/ERS MAy BE BROKEN UP INTO AS MANY AS THREE PASSES. EACH PASS
rvlAY BE BROKEN UP INTO AS MANY PARTS AS DESIRED, ALL OF WHICH MUST
BE VERIFIED BY THE STUDENT WRITTEN PROGRAM BEFORE RECEIVING AN OK
FOR THAT PASS. THE ANSWERS ARE ENTERED ON CARDS WITH FROM ONE TO
THREE ANSWERS PER CARD. EACH ANSWER MUST CONTRAIN \IJITH IT TWO DIGITS
SPECIFYING THE PROBLEM NUMBER, AND ONE DIGIT SPECIFYING THE PASS. A
DIGIT IS PROVIDED TO NUMBER THE PART OF THE PASS. THE HIGHEST PASS
~~US T APPEAR BEFORE THE OTHERS.
ALL PARTS OF Or--IE PASS i'~UST BE TOGETHER. THE ANSWER PARTS MAY BE CONTINUED ON AS ~ANY CARDS AS
NECFSSARY.
I TIS NOT NECESSARY TO lJSE A NEV.! CARD TO BEG I N A DI FFFRFNT PASS OR A DIFFERENT PROBLEM. FORMAT MUST BE FOLLOWED (SEE
LATER IN THIS PAPER FOR PROPER FORMAT). THE ANSWERS MUST BE FOLLOWED
BY A CARD CONTAINING SOMETHING OTHER THAN A RECORD ~ARK IN COLUMN 80.

***********************************************************************
SPECIAL PROVISIONS AND/OR LIMITATIONS OF THE PART PROCESSOR
ANY IBM 1620 MACHINE LANGUAGE PROGRAM THAT FALLS WITHIN THE
BOIJNDS DESCRIBED BELOW, THAT DOES NOT CALL FOR SPECIAL CHARACTERS AS
INPUT AND DOES NOT CALL FOR PROGRAM HALTS CAN BE PROCESSED BY THE
PART PROCESSOR WHEN THE PROPER FORMAT IS FOLLOWED.
ALL STUDENT WRITTEN PROGRAMS MUST BE WRITTEN SO AS TO OCCUpy
LOCATIONS 00401 THROUGH 07999.
UNLESS OTHER\A/ISE SPECIFIED BY AN
ADDRESS DEFINITION CARD, THE STUDENT PROGRAM WILL BE LOADED INTO
LOCATION 00500 AND SUCCESSIVELY HIGHER LOCATIONS. ADDRESS DEFINITION

/37

o

o

CAQOS ~AY BE USED AT ANY POINT OF THE STUDENT DECK TO CAUSE A DIFFERENT LOADING SEQUENCE TO RE ESTABLISHED. STUDENT WRITTEN PROGRAM
CARDS MUST HAVE TWO INSTRUCTIONS PER CARD AND ADDRESS DEFINITION
v: AY NOT BE fV1 ADF BET 'N EF NAN Y T'tlO INS TRUCT ION SON THE SA ,V1 E CAR D
PROGRAIv1S "'.'OT STORED I"J THE ANSI,NER T.ABLES 1.•vILL BE CO'v1PLETELY
ITO RED RUT THE AN SWE RS ltJ ILL 1\10 T 8 E CHFeKE D• THE ME S SAG E ••• PRO B NOT
I N TAR L E ••• I S GI VF N FOR THE S EPA RT I (I JLJ\ R PRO GRA\1 S • THIS ALL 0 ~N S THE
STlJDENT TO EXPERIMENT WITH PARTICULAR PROGRAMS OF INTEREST TO HIM OTHER
THAN THOSE ASSIG"'JED BY HIS INSTRUCTOR.
,~() 1\,1

THE STUDENT IS FREE TO CHOOSE HIS FORM OF INPUT DATA. THIS
IS DUE TO THE FACT THAT PART CHECKS ANSWERS IRREGARDLESS OF THE ORDER
OF THEIR OCCURANCE.
PART ALLOWS FOR BOTH BATCH PROCESSING ANO SINGLE PROCESSING.
IN
SIN GLE PRO CFS SIN G, THE REI S 1'J 0 ~\l EF[J Toe LEA f~ 0 UT THE PUN CH SID E 0 F
TH~ 1622 AS /\ ~LANK CARn IS PUNCHEDt\FTER FACH PROGI~A~~ IS CO\t1PLETED.
ERROR MESSAGES ARE EASILY UNDERSTOO~ BY THE STlJOENT~. THE ERRORS
THAT PART DETECTS ARE LARGELY OF THE TYPE THAT WOULD GIVE MACHINE CHECK
C; Tn P s •
S T1. IDE \J TS A~ E F l J RNISH ED !.•J I TH THFLO CAT TON 0 F THE ERR 0 R, THE
I~lSTR!JCTION CA!LSING THE ERROR, AND THE CCRr~ESPONDING ERROR MESSAGE.
THERE IS AN ADVANTAGE IN THE POSSIBILITY OF CONSOLE DEBUGGING
AS THE STUDENT PROGRAM IS NOT ALTERED IN ANY WAY BY THE PROCESSOR.
THE STUDENT IS FREE TO USE THE LAST CARD INDICATOR, EVEN ON BATCH
Cn ~A P I LIN G, ,,\ SIT ISS ET lJ P ,A S /\ CHECI( f) I GIT.
ALL INPUT TO PART IS ALPHA~ERIC. PROGRAM CARDS ARE STRIPPED
INTO THE PROGRAM AREA AND THE FLAGS ARE REPLACED. DATA CARDS ARE
ALSO READ IN BY AN ALPHAMERIC READ.
IF THE STUDENT CALLS FOR A
r-,,! U~A ERIC
RE.'\ D, PAR T S TRIP S HIS DA. TA Cl\ RDIN TOT HE P LAC E c.t'\ LLED FOR.
THE FLAGS AND RECORD MARKS ARE RETAINED. SPECIAL CHARACTERS ARE LOST
IN THE STRIPPING OPERATION. HO\t.JEVER, THE STUDENT MAY INPUT THE
SPECIAL CHARACTERS BY AN ALPHAMERIC READ. DUE TO THE NECESSITY FOR A
NU~'~FR I C BL.ANK, ONE HAS f3EEN PLACED AT LOCAT ION 08001 FOR STUDENT USE.
FOR CONVENIENCE, A RECORD ~ARK HAS ~EEN PLACED AT LOCATION 00400.
THE PRORLFM OF EARLY TERMINATION OF INFINITE LOOPS IS NOT COMPLETELY TAKEN CARE OF. A COUNT IS M/I,INTAINED OF EACH US/\GE OF OUTPUT
FOR EACH PROGRAM. THAT IS, EACH TIME A 38 OR 39 INSTRUCTION IS USED
IN EACH PROGRAM. A MAXIMUM HAS BEEN SET AT 50. THERE IS NO PROVISION FOR EARLY TERMINATION OF LOOPS THAT DO NOT CONTAIN AN OUTPUT
INSTRUCTION.
AS THE HALT (48) IS CONSIDERED A TERMINATION, THE STUDENT IS NOT
FREE TO STOP HIS PROGRAM DURING AN EXECUTION TO EXERCISE ANY SWITCH
OPTIONS, ETC. ALL SWITCHES MUST BE SET BEFORE EXECUTION.
ONL Y A rv1AX I Murv1 OF THREE PASSES FOR ANSWER CHECKS HAVE BEEN
ALL O\f./ED.

•

PART DISCONTINUES PROCESSING A
ERROR •

PROGRA~

ON ENCOUNTERING ONLY ONE

AS ANSWERS ARE CHECKED ON ENCOUNTERING INPUT-OUTPUT INSTRUCTIONS,
THERE IS THE RARE POSSIBILITY THAT A STUDENT MAY BE CHECKED OK AND
OUTPUT THE ANSWERS INCORRECTLY.

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

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

***********************************************************************
NOTES ON TERMINATION OF STUDENT PROGRAMS
OCCURANCE OF A.NY OF THE ERRORS CAUSES IMMEDIATE TERMINATION WITH
THF ERROR I NFORrv1AT ION TYPED AND PUNCHFIJ.

C:I

OCCURANCE OF THE HALT (48) INSTRUCTION CAUSES TERMINATION OF THE
PROGRAM AND INITIATES THE FINAL ANSWER CHECK.
THE PROGRAM BEING PROCESSED IS TERMINATED AND THE ANSWER CHECK IS
INITIATED WHEN A READ IS CALLED FOR AFTER THE LAST DATA CARD HAS
BEEN USED BY THE STUDENT PROGRAM. THIS ALLOWS THE STUDENT TO USE
AN OPEN-END METHOD OF PROGRAMMING WITHOUT LEGAL TERMINATION IF CARE
IS TAKEN TO FURNISH ALL THE DATA CALLED FOR.

***********************************************************************
ERROR MESSAGES
ARJTH OVERFLOW -

FRO~ EITHER Q OPERAND LONGER THAN THE P OPERAND
OR CARRY BEYOND P OPERAND HIGH ORDER DIGIT

WRITE CHECK - WRONG INFORMATION ASSEMBLED IN A WRITE ALPHAMERIC ON
CARDS OR ON THE TYPEWRITER
NO FLAG IN 0 - NO FLAG ON 0 OPERAND OR 0 OPERAND LONGER THAN 99 DIGITS
INSl)FFICIENT DATA - PROGRAM CALLS FOR nATA WHEN NONE HAS BEEN SUPPLIED.
RECORD MARK IN FIELD - PROCESSOR HAS SENSED THE PRESENCE OF A RECORD
MARK IN AN ARITHMETIC FIELD

0

35 INSTRUCTION NOT ALLOWED - YOU HAVE ATTEMPTED TO USE A DUMP NUMERIC
(35) IN YOUR PROGRAM.
THIS INSTRUCTION

WOULD BE NON -TERMINATING.
PARITY ERROR - ODD - YOlJ HAVE PROBABLY ATTEMPTED AN ALPHAMERIC INPUT
OR OUTPUT TO OR FROM AN EVEN NUMBERED LOCATION OR
ATTEMPTED TO EXECUTE AN INSTRUCTION ORIGINATING
IN AN ODD NUMBERED LOCATION.
ADDRESS OUT OF BOUNDS - ATTEMPTED USAGE OF LOCATION OTHER THAN 00401
THROUGH 08001 OR 80 THROUGH 90. THIS CAN OCCUR BY
EITHER END OF A FIELD OR RECORD BEING OF THE RANGES
SPECIFIED BEFORE OR AFTER EXECUTION.
FIELD OVER 99 DIGITS -

EXPLANATION IS OBVIOUS

RECORD OVER 99 DIGITS - EXPLANATION IS OBVIOUS
THIS INDICATOR NOT ALLOWED - INVALID INDICATOR CODE NUMBER OR
INDICATOR CODE NUMBER OTHER THAN 1 THROUGH 4, 9, OR
11 THROUGH 13 •.

o

ILLEGAL INPUT-OUTPUT - 08 09 DOES NOT MATCH SPECIFIED INPUT OR
OUTPUT DEVICE
ILLEGAL EXPONENT IN P - THESE TWO MESSAGES APPLY TO FLOATING POINT
ILLEGAL EXPONENT IN 0 - CALCULATIONS. EXPONENT LONGER THAN 2 D1GIT5.

/39

P ADDRESS MlJST BE EVEN -

o

RECORD OF ONLY RECORD

P OPERAND ADDRESS OTHER THAN EVEN NUMBERED
ADDRESS FOR A BRANCH.
- ALTHOUGH NOT A TRUE LOGIC ERROR, YOU ARE
PROBABLY ATTEMPTING A RECORD TRANSMISSION
FROM THE WRONG END OF RECORD

~ARK

42 USED BEFORE 17 OR 27 - YOU HAVE ATTEMPTED A BRANCH BACK OPERATION
BEFORE USING A BRANCH AND TRANSMIT OR A
BRANCH AND TRANSMIT IMMEDIATE.
(NO ADDRESS
STORED IN IR 2.)
ILLEGAL CONTROL

STATE~ENT

-

SO~ETHING OTHER THAN
1 IN Q9, SOMETHING
OTHER THAN
1, 2, OR 8 IN Q11 OF A CONTROL
(34) STATEMENT.

REF ADDR HAS ILLEGAL OP CODE - EXECUTION ATTE~PTED OF AN INSTRUCTION
WITH AN INVALID OP CODE. YOU HAVE
PROBABLY BRANCHED TO A WRONG ADDRESS.
ILLEGAL OP CODE - EXPLANATION IS OBVIOUS. YOl) HAVE PROBABLY MISMARKED
YOUR CARD OR HAVE CALLED FOR AN INSTRUCTION IN YOUR
PROGRAM TO BE MODIFI~D OR CLOBBERED
PROG DOES NOT TERMINATE - THE STUDENT HAS ATTEMPTED TO CALL FOR
OUTPUT MORE THAN THE MAXIMUM OF 50 TIMES, OR PROGRAM
DOES NOT LEGALLY TERMINATE.

o

INVALID CARD CODE - AN INPUT CARD CONTAINS AN INVALID

PU~CH.

OUTPUT TOO LONG - TYPEWRITER HAS BEEN CALLED lJPON TO OUTPUT MORE
THAN 80 CHARACTERS.
DESTROYED REC MARK IN 400 - THE INSTRUCTION JUST EXECUTED HAS
OVERRIDDEN THE RECORD MARK STORED IN LOCATION 00400.
PROB NOT IN TABLE - THE PROBLEM SPECIFIED BY THE IDENTIFICATION CARD
DOES NOT APPEAR IN THE ANSWER TABLES.
P ADDRESS MUST BE ODD - P ADDRESS FOR THIS INSTRUCTION MUST BE ODD.

***********************************************************************
THE FORM OF OUTPUT FOR ERRORS IS AS GIVEN BY THE FOLLOWING
EXAMPLE •••
52245

00800

491200000000

ADDR OUT OF BOUNDS

IDENTIFICATION ••• LOCATION ••• INSTRUCTION ••• MESSAGE

•

THIS EXAMPLE WOULD INDICATE THAT CLASS NUMBER 5, STUDENT NUMBER 22,
AND PROBLEM NUMBER 45 HAD AN ERROR IN THE INSTRUCTION ~EGINNING IN
LOCATION 00800. THE INSTRUCTION CALLS FOR A BRANCH TO 12000 WHICH
IS ILLEGAL IN THAT IT CALLS FOR AN ADDRESS OUT OF BOUNDS (BRANCHES
INTO THE PART PROGRAM ITSELF)

***********************************************************************
INSTRUCTIONS FOR THE MARKING (OR PUNCHING) OF
CARDS FOR USE WITH THE PART PROGRAM

THE STUDENT WILL BE GIVEN FOUR TYPES OF CARDS (EITHER MARK
SENSE OR STOCK CARDS). THESE CARDS ARF ••• IDENTIFICATION CARDS,
PROGRAM CARDS, DATA CARDS, AND ADDRESS DEFINITION CARDS.
THE CARDS ARE TO BE MARKED (OR PUNCHED) AS FOLLOWS

o

IDENTIFICATION CARDS •••
1 ••• CLASS NUfVlBER (TO BE ASSIGNED BY THE INSTRUCTOR)
COLUMNS 2 AND 3 ••• STUDENT NUM8ER
COLUMNS 7 THROUGH 27 ••• AVAILABLE FOR STUDENT USE FOR
NAME IN ALPHA.
IF USED, EXTREME CARE MUST BE TAKEN TO
USE VALID CARD CODES, OTHERlflJISE, THE C.ARDS WILL NOT
READ INTO THE COMPUTER.

COLU"~N

PROGRAM CARDS ••• 2 INSTRUCTIONS PER CARD
COLUMNS 1 THROUGH 12 ••• FIRST INSTRUCTION
COLUMNS 13 THROUGH 24 ••• SECOND INSTRUCTION
DATA CARDS •••
BEGINNING IN COLUMN 1, T~E DESIRED DATA (UP TO A MAXIMUM OF
27 DIG ITS, I N THE CASE OF MARK SENSE CARDS) I S TO BE
MARKED. FLAGS MAY BE INDICATED BY MARKING THE 11 ZONE
PUNCH AS WELL AS THE NUMBER DESIRED.
ADDRESS DFFINITION CARD • • • •
TOE NARLE .A STU DEN T TO BEG I N HIS PRO GRA~'" ATAL 0 CAT ION
OTHER THAN 00500, HE MAY BE ALLOWED TO USE AS MANY OF
THESE CARDS AS NECESSARY.

,0

COLUMNS 1 THROUGH 5 ••• BEGINNING LOCATION OF THE FIRST
INSTRUCTION ON THE prOGRAM CARD WHICH IMMEDIATELY
FOLLOlfJS.
THE AFOREMENTIONED CARDS WILL BE ARRANGED AS SHOWN BELOW.
NOTE ••• ADDRESS DEFINITION CARDS MUST IMMEDIATELY PRECEDE
THE FIRST PROGRAM CARD FOR WHICH THE ADDRESS IS INTENDED

***********************************************************************

o

A STUDENT SCHEDULING SYSTEM

Michael Kennedy
Western Carolina College
(User No. 1396)

o

If one reads only the newspapers he is aware that the use of computers
in assigning students to classes in colleges and high schools is not a
simple or trivial application. The problem is complex to a degree most
easily measured by the number of schools which have tried it and failed,
with results varying from annoying to catastrophic. The difficulty of the
problem turns on two main points: 1) The system re'Iuires the co-operation,
or at least compliance, of large numbers of students, faculty, and others,
most of whom, at best, don't care if the application is a success or not,
and 2) computer people often don't understand the problems related to
registration of students, and university officials seldom understand computers. What I will describe is one system which works for one particular
school, Western Carolina College, in hopes that some of the methods used
there will be useful to others.
Western Carolina College is a liberal arts college of about 2800
students which is buried deep in the Appalachian Mountains of North
Carolina. The college is 'Iuite isolated--located 50 miles south of
Asheville, N. C. The college obtained its first data processing e'Iuipment
in Fall of 1963. This equipment consisted of a 20K IBM 1620 card system
and a series 50 tab installation. The Computing Center was organized
primarily for instruction and research. In January of 1964 the Computing
Center was asked to automate the college's registration and scheduling
procedure which was getting out of hand due to rapidly increasing enrollment. The first application was conducted during November of the same
year at the winter 'Iuarter registration and has been used, with modification, each subse'Iuent 'Iuarter.
Prior to the undertaking of such a system it was necessary to
determine its general philosophy. First, we felt that the faculty's part
should be limited to advisement functions only. Further, we felt that as
large a part of the faculty as possible should be absent on registration
day. We felt that every student should get an even chance for the courses
he desired. He would not, however, be able to choose times, instructors,
or rooms. In fact, at the time the student made kno~his desires for the

o

-2-

coming quarter, the master schedule for that quarter would not even be
prepared. We would schedule students in an order dictated by the number
of quarters which remained until their graduation because we knew that
space problems would prevent some students fram getting the courses they
desired. Our objective was to ob~in for each student a conflict-free
schedule consistent with his needs as determined in conference with his
advisor. We further wished to balance the numbers of students in all
multisectioned courses. Finally, we wished to complete the registration
of any given quarter (Fall quarter excepted) prior to the end of f"inal
examinations for the preceeding quarter. Thus "registration" or registration day for any quarter would consist only of processing new and transfer
students and modifying the schedules of those students who needed to make
changes.

o

The system which was developed will be discussed under four general
headings: 1) Pre-registration; 2) Master Schedule Development; 3) Scheduling;
and 4) Drop-Add Procedures.
PRE-REGISTRATION
At approximately the middle of each quarter each department chairman
submits a list of courses, without reference to times, instructors, etc.,
which his department intends to offer the succeeding quarter. He does not
even specify how many sections of each course he intends to offer. The
Computing Center assigns to each course a three digit call number starting
with 002 for the first one and continuing sequentially. At about the same
time the Computing Center prints a pressure-sensitive label for each
student giving his name and number and the name and number of his advisor.
Using the 407 tabulator, the data center then prepares offset masters
which, when printed, produce the course request forms. The pressuresensitive labels are affixed to the printed forms and, at the beginning of
the eighth week of the quarter, they are made available to students at a
central location. (See Fi~ure 1.) The eighth week of the quarter is
designated as pre-registration week and it is during this time that the
student is to arrange a conference with his advisor to determine the courses
which he will take the following quarter. While the length of the advisory
conference will vary from student to student the marking of the course
request form consumes at most a minute. If the student must be absent
during certain periods of the day he may request "absence" courses which
appear at the back of the form with their call numbers just as do other
courses. If the student requests a free period for lunch the call number
001 is assumed. At the end of the advisory conference the advisor keeps
the form which is turned in, with others collected during the day, to the
departmental office. The forms are delivered daily to the Computing Center
for keypunching. The student is finished with registration until he picks
up his schedule shortly before the final exam period. The faculty member

o

o

-3-

o

is finished with registration until next quarter unless he is the departmental representative designated to assist with the registration of new
and transfer students on "registration day".
The rather orthodox technique of keypunching student requests was
used for several reasons after careful consideration of other methods. It
was felt that the printed form shown in the illustration would be simplest
for use by the advisor and student. The marks required were unacomplicated
and could be made by any sort of writing implement, the courses available
were clearly spelled out, and no cross reference of any kind was required.
In addition, we felt that the speed and verification methods available with
keypunching would result in very accurate data, a "must ll in a system such
as this, in a fairly short time. It turned out that one keypunch operator
could punch each day's request cards before the next day's requests arrived
so that we had the data on cards within 24 to 48 hours of the time it was
collected.
It should be pointed out that at no point did students have access to
IBM cards nor did they possess the Course Request Form after it had been
marked. Considering the ingenuity of students, we counted this an advantage.

o

The appropriate contents of the course request form for each student
were punched into a single card. The student and advisor numbers were
punched into the card and the student name was added later by a gangpunch
operation. (It should be noted that the student was not requested even to
write his name or number; these were supplied by the label on the form--a
feature which made the procedure just described safe enough to use). The
three digit call numbers were punched consecutively and as many as fourteen
requests were possible. If a course were requested as IIrepeatll, "graduate",
or "audit", the first, second, or third digit of the call number was
flagged, respectively.
MASTER SCHEDULE DEVELOPMENT

We were then ready to develop the master schedule. In an ideal system,
the computer would be presented with the student cou+Se request cards along
with a statement of school operating hours, a lisJ of rooms and their uses,
and the abilities of the faculty members together with any special considerations (Professor Jones has to pick up his child at kindergarten on Tuesdays
if it's raining), and the computer would then produce an optimum master
schedule. A great deal of work has been done on-such systems on large
computers by the producers of GASP, by Stanford and Purdue Universities,
and others. Such systems were, unfortunately, beyond the scope of our
project at weco

•

We could and did, however, use the course request data to provide each
department chairman with a planning packet to facilitate his formulation of
his part of master schedule.

-4(See Figure 2.) The first and most basic tool of our system is the
simple tally. The first column indicates the call number of the course;
the second indicates the number of students who requested that course.
Thus, the department chairman can plan the number of sections needed for
each course.
(See Figure 3.) A slightly more sophisticated tool which is given
to each department chairman for courses within his department is the
conflict matrix or cross-tally. The call numbers lie above the slanting
line while the tally lies below; the tally is used much as a triangular
mileage chart would be. In the example it can be seen that eight students
requested both course 002 ~nd 006. This aid is invaluable in determining
the time placment of single section courses. A department chairman can
also request a cross tally between any two course-offering areas in order
to avoid interdepartmental single section conflicts.
After the development of the master schedule by the department
chairman ·and the registrar, the computing center punches it onto cards.
The schedule designates sections, times, and number of seats allowed, roams,
and instructors.
(See Figure 4.) By comparison of the master-,schedule and the simple
tally a surplus seat report is produced. What is . , primary importance is
that careful study be given to those courses with negative surplus seats.
In the example it can be seen that four students will not get schedules, if
for no other reason, because they have requested Leather Design which will
close before their cards are processed. We felt that it was extremely
important to have these data available in a tabular form.

o

SCHEDULING
After the master schedule has been modifed as a result of the surplus
seat report, the Computing Center is ready to begin trial scheduling runs.
Usually between three and six of these are made with no output; the results
of these runs usually dictate modifications of the master schedule.
At this point I feel I should emphasize the importance of a fast
scheduling program. The program used by this system schedules about one
student a second or 3600 hour when run without output. Its speed makes
it possible to make a trial run on the entire student body in 'about forty
minutes with the punch inhibited. The final scheduling run with the output
of one card for each class for each student requires about an hour and forty
minutes. If the scheduling program is fast there is less chance that a
machine breakdown during the scheduling period will be catastrophic and it
is possible to make several runs with changes in the various parameters of
the system.

o

-5-

•

The first of the preliminary runs is usually made with the seat
allowances for each section increased by 500. After this run a look at
the numbers of seats remaining in the various sections gives important
information about the time conflicts inherent in the master schedule.
If the master schedule is perfect, with respect to time, then no student
will be rejected and the sections of all multisectioned courses will have
the same number of seats remaining within one seat. Deviations from this
perfect result indicate flaws in the master schedule and the most critical
or blatant deviations are investigated. Ususally a run is made with
absence and lu~h courses removed to see what part these requests play in
the overall reject rate. While no output is obtained for the scheduled
students, output is punched for rejected students. This output takes the
form of the input course request card which may then be treated just as
a new request card. These reject cards are spot checked to see if a pattern is observable and a simple tally is made of the courses requested.
If a cross tally is indicated it is also made. The absence and lunch
request are usually removed from the reject cards and they are resubmitted
to the computer.

'"

A final
beginning of
10% rejected
of classroom

o

scheduling run is usually made about three days before the
final exams. The result is usually about 80% scheduled,
because of time conflicts, and 10% rejected because of lack
space.

(See Figure 5.) The output of the scheduling program for students
who were scheduled consists of class cards fram which are printed the student
schedules and the class rolls. The scheduling program actually supplies only
the student information and the call and section number plus repeat, graduate, and audit information. The rest is added by a gangpunching operation.
As can be seen, the card is also used in a mark sense g~de reporting
operation.
(See Figure 6.) Our operation was on a tenuous if not non-existant
financial basis which explains, in part, the reason for the use of stock
paper for the printing of the schedules. The scheduled student picks up
his schedule usually on the last day of classes before finals. He can
elect to pay his fees for the succeeding quarter during exam week thus
completimg his registration for the next quarter.

•

(See Figure 7.) About 20% of the students receive reject notices.
These students are supplied with a copy of the master schedule, a list of
closed sections, a fresh course request form, and access to the seats
remaining information. With these items the student drafts a new course
request form and resubmits it, together with proof that the requested
courses eattbe scheduled. About 90~ of these students will be scheduled
and pick up their schedules prior to leaving campus at the end of the

-6final exam period. The rejects from this second run are given the opportunity to resubmit their course request forms but will have to wait until
the day of registration of new students to pick up their schedules. There
will normally be at most sixty students in this latter group.
At the end of the quarter, the Computing Center turns its attention to
grade reporting via the mark sense grade card which was the output of the
scheduling project of the preceeding quarter. It also prints class rolls
which will be ready for instructors on the first day of classes of the
quarter about to start.
At the beginning of the new quarter several different types of scheduling
data are arriving in the Computing Center. Various routing forms are used
to direct data flow. A routing form is used to tag the new course requests
of non-scheduled students.
New students must be ~.beduled and the same procedure is followed for
them as was used with students during pre-registration.

On some occasions, when a student needs to make extensive changes in
his schedule, it is necessary for him to submit a new course request form.
Errors are bound to occur with individual students--let's ho~there
are none in the master schedule. An error correction routing form is
little used but vital. In many cases a student will sayan error has
occurred when what has actually happene.d is that he has changed his mind
or has failed a course which is prerequisite to one he has requested. The
error correction card makes it possible to track these down quickly. "If
an error has indeed occurred, it is to the advantage of all concerned that
it be corrected quickly and efficiently.

o

These routing forms may seem to be simply an administrative nuisance,
but they are necessary if duplicate sets of class cards are to be avoided
for students. If a student has two sets of class cards he will be taking up
space which could be occupied by some other student. Further, it is possible
that a schedule will appear for such a student showing a load of forty hours
or so and some courses which meet at identical times. This is most embarassing to the system •

.DROP-ADD
We will now consider the automated drop-add operation.
The fact that a pre-registration has been used will increase the magnitude of the drop-add problem. Since students will fail courses, change
majors, etc., the drop-add machinery needs to be ready. At least one
school using a computer scheduling system requires the student to risk his

o

-7-

o

entire schedule when he attempts to make a schedule change; this policy
c' reates general dissatisfaction with the system. The procedure used at
wee allows the student to request changes in his schedule, with his
advisor's consent, while retaining his original schedule. From his request
is punched a drop-add header card. Hig existing class cards are collated
behind this header and submitted to the computer which checks the master
schedule to see if seats are available. If so the computer punches out
a set of class cards which represenuthe student's fonmer schedule plus
and minus the requested changes. If one or more courses do not have seats
available the students former schedule is duplicated with an explantory
note. The input is then discarded. At any time during drop-add period, or
before a department chairman can increase the number of seats in any section.
At the end of the drop-add period final class rolls are printed and the
process is complete. Complete, that is, until three weeks hence when the
whole operation begins again.

o

o

It might be said that we feel there are four important ingredients in
a successful computer registration:L) A clear understanding of what is to
be accomplished; 2) a pre-registrati on which allows evaluation of students r
requests as opposed to a system which uses a computer just to take the
place of so-called "call pulling" in the gymnasium; 3) a fast and well
checked out scheduling program whiC!h will be used to make several runs on
the course request data; and 4) an aut amated drop-add procedure which dovetails with the scheduling system and offsets the drop-add problems created
by the pre-regist~tion.

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

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

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

o

o

WESTERN CAROLINA COLLEGE

o

COURSe

~~UU~SI

FIGURE I

FORM

PRE-REGISTRATION FOR
FIRST SESSION SUMMER 1965

1. MARK..lS.. I N PARENTHESES TO I NDt CATE COURSES REQUESTED.
STUDENTS SHOULD INDICATE REQUESTS BY MARKING LIGHTLY WITH A
REGULAR PENCIL PRIOR TO THE ADVISORY CONFERENCE.
ADVISORS SHOULD MARK APPROVED COURSE REQUESTS DARKLX WITH A RED PENCIL.
2. CIRCLE-1L(FOR REPEAT)

IF REQUESTED COURSE HAS BEEN TAKEN BEFORE.

3. CIRCLEjLIF REQUESTED COUKSE IS TO BE TAKEN FOR GRADUATE CREDIT.
REQUESTED COURSE IS TO BE AUDITED.

4.

CIRCLE~IF

5.

IS A FREE PERIOD FOR LUNCH DESIRED!

YES, _ _

6. NUMBER OF QUARTERS UNTIL GRADUATION

(CIRCLE ONE)

NO _ _

2 3 4 5 6 7 B 9-0R-MORE

7. TO REQUEST A COURSE MARKED WITH AN ASTERISK THE STUDENT MUST OBTAIN
WRITTEN APPROVAL FROM THE DEPARTMENT OFFERING THAT COURSE.
STUDENTS
WHO FAIL TO OBSERVE THIS REQUIREMENT WILL BE DROPPED FROM CLASS.
8. ADVISORS ARE ASKED TO ALLOW STUDENTS TO REQUEST ABSENCE COURSES ONLy IN

CASES OF NECESSITY.
STUDENT IS NOT TO WRITE IN THIS SPACE.
TOTAL NUMBER OF QUARTER HOURS REQUESTED
ADVISOR'S SIGNATURE
REQUEST

002(

005(
006(
007 (

R G A
R G A

OOS(
009(
OIO(

R G A
R G A

003(

R G A

REQUEST

COURSE
TITLE

ACCOUNTING
2401 ACCOUNTING I
2411 ACCOUNTING I I A
2421 ACCOUNTING I I I
4411 AUOITING
ART
130 HIST ART SURVEY
3
INTRO DR PT DESIGN
131
3
2 220A DESIGN LEATHER
2 220B DESIGN PLASTICS
2 224 CERAMICS

R G A 4
R G A 2
R G A 4
R G A 4

004(

•

HRS.
CR.

011 (
012(
013(
O14(
Ol5(
Ol6(
017(

01S(
019(
020(

HRS.
CR.

COURSE
TITLE

235 ADVANCED CERAMICS
INTER DRAW PAINT
331
INTER COMPOSITION
333
433D ART IN EL SCHOOL
433E ARTS CRAFTS TEACH
437 ADV DR PT COMP DES
438 ADV DR PT COMP DES
439 ADV DR PT COMP DES
BIOLOGY
R G A 5
150 PRINS CELL SIOL
GEN ZOOL INVERT
R G A 5
151

A 3
A 3
A 3
A 3
A 3
A 3
R G A 3
R G A 3
G
R G
R G
R G
R G
R G

R

FIGURE 2
CALL SEATS
REQUESTED
NO.

002
003
004
005

0033
0024
0015
0014

006
007
008
009
010
012
013
014
015
016
017
018

0037
0020
0014
0013
0009
0009
0009
0005
0005
0005
0005
0000
0000

019
020

0025
0024

all

COURSE
DESCRIPTION
ACCOUNTING
2401 ACCOUNTING
2411 ACCOUNTJNG IIA
2421 ACCOU~'~T I NG I I I
4411 AUDITING
ART
HISTART SURVEY
130
INTRa DR PT DESIGN
131
220A DESiGN LEATHER
2208 DESIGN PLASTICS
CERAMICS
224
ADVANCED CERAMICS
235
I NTER DRAW P~. I NT
331
INTER CO~POSITION
333
433D ART IN EL SCHOOL
433E ARTS CRAFTS TEACH
ADV DR PT COMP DES
437
ADV DR PT COMP DES
438
ADV DR PT COMP DES
439
BIOLOGY
PRINS CELL SIOL
150
GEN ZaGL INVERT
151

(j

~

0'

o

o

I,"

¢ trirddi . rps·"."

. ¥ri"'

'0'"

H

••

5--

J'"

]""C ..

,

, -nmw}]

, . . ··t·mr·"

o

,"

.... J

I

~

o

•

FIGURE 4
CALL SEATS

NO.

ASKED

002
003
004
005

0033
0024
0015
0014

006
007
008
009
010
011
012
013
014
015
016

0037
0020
J014

017
J18

0013
0009
0009
0009
0005
0005
0005
0005
0000
0000

019
020

0025
0024

SEATS
ASKED

SEATS
SURPLUS

C35
035
035
035

033
024
015
014

+002
+011
+02C
+021

044
024

037
020
014
01.3
009
009
005
005
005
005
000
000

+007
+004
-004
-003
+001
+001
-003
-001
+005
+005
+0.00
+005
+005

025
024

+003
+011

S~ATS

COURSE;
DESCRIPTION

ALLCv.C:O

ACCOUNTING
2401 ACCOU~TING
241 1 ACCOUNTING I I A
2421 ACCOUNTING I I I
4411 AUDITING
ART
HIST ART SURVEY
130
INTRa DR PT DESIGN
131
220A DeSIGN L~ATHER
220B DESIGN PLASTICS
CE~AjVi I CS
224
ADVANCED CERAMICS
235
INTER DRAW PAINT
331
INTER COMPOSITION
333
4330 A::(T IN cL SCHOOL
433E ARTS CRAFTS TEACH
ADV DR PT COMP DES
437
ADV DR PT CaMP DES
438
ADV DR PT COMP DES
439
BIOLOGy
pqINS CELL SIaL
150
GEN ZO~L INVERT
151

010

010
010
010
006
004
010
CI0
005
005
005
028
035

OOS

-U)
0/

o

o

'0

¢'I't

$' ::'

"i#ritHrlni'trt±'Wtlnirftbt

tttt*tLtJ '''*rJ*#

'Kr'f'"

'tile

t

"

rle!t

W*ttw#t',&,

"IIU'tLt

j,

",

tt

• ttt

»em. re.

iri

b

f"#i#t±itrtt9ittt#"bid#

FIGURE· 5

~"~~id~' .-~=;,i~~!_-~~~ -=hl~:~D:!.~;i~t~~~~~~~~~_i~&=$!J-:OM-NrtiiF.-A--YS---1---1--1
WESTERN CAROLINA COLLEGE
CUL-LOWHEE. NORTH

INDICATE ABSENCES
TH~~L
MwOJ1EKs

\:0

CAROLINA

CLASS AND GRADE CARD

r---------..,..----.--------I
GRADE (MARK ONE' ONLY)
EXCELLENT

CA:J

c::::::;;:)

GRAMMAR

FOR USE AT

AVERAGE

r: C':J

MID-TERM ONLY

POOR

CO:J

FAILURE

CF:J

POOR
FAILING

CX::

INCOMPLETE,.

WITHIN

~.,

~
~

c4::.>c4::)

3.

'--'--

FOR ABSENCES

FOR USE WITH

WITHDREW f>ASSING

CNP:J

ONLY



AUDIT

CII:J

FAILED

c::J

1 2 3 4 5 6
NUMBER

,.\
'-I'

•

718 9'

c2:::>c:;2::J,c2::.>c2~,

EXAMPLE:

c3=>c3;>C3=>c3::.>

OVERLAPPING OR. UNNECESSARY

c4:::>c4::::>c4=>c4=>

MARKS CAUSE ERRORS

c5:::>

c5:::>cJ:Jc5=>cS::::>
4.

SIGN OR STAMP SIGNATURE

c6:::>c6::>c6=>c6=>

COLUMN ONLY.
FOR 10 OR

<)

cl::.>cl:;:>cl=>cl=>

PENCIL.

10, USE 2M

0

I.LI

THE MARKING OVAL.

.USE A MACHINE SC0RING

c3::.>c3=>

NON CREDIT COURSES

'"

MAKE A FIRM MARK LENGTHWISE

DO NOT MARK
THESE COLUMNS

c 0::::> cO=> cO=>c 0::.>

FEWER THAN
I

2

cl=>'cl::.>

c:=:>
COMPOSITION

CB:J

PLEASE DO NOT BEND, FOLD,
OR MUTILATE THIS CARD

cO::.>

ENGLISH CONDITIONS

GOOD

I.

BOTH COLUMNS.

c7:::>

c7:::>c7=>c7=>c7=>

c8~ I~==~
~

'-INSTRUCTOR'S

10 II 121] \41:/;611 181920 21rn::1l114 25 lSi:!] .2HII'9··"'3~:t~,3·""1-:C32""3:::-3-::-34""1J3:C:;5-:-36:-3::1·-:-3;"":13:-::C9-:4O::T~16:-:-.1-:C42:'-:.4
'..AST r~AME
IFIMI ADV. 1M-I M-2j DEPT. I COlJRSE I SECT. I CALL

It:8~C8~c8~c8~

S·.,.,IG""N:7AT=:U-:-::R:-=E--------.,--~ C~:::>c~::;c9=>c9=>

FIGURE 6

NAMe:

ALPHA NO

808080 STUDENT

SEC

ROOM

2421

01

134

01

S34
S129

COURSE
J

D

ACCT
ART
GEOG
0 A
p

E

5262
58

437
01
0308 01
aMLY SELECTED QUESTIONS ARE REPRODUCED.

71'14AS5UPi4'tNG TRAT'THE PROGRAM IN THE FLOW CHART OF FIGURE 4 RUNS AND IF N=10".

772 A(,ll-1,A(Z).2...! •••••••• ,ACN).·N.
77'') WHEN T£1,E PROGRAM HAL 15. THE VALUE OF Sf 2) WILL BE

A0714 A.45

B. 55

F08014REFER TO

C. 36

FLOW

THE

O. CANNOT BE DETERMINED

CHART OF FIGURE 4.

N CARDS WILL BE PUNCHED.

108-91 THE MEMORY OF THE I'8M 1620 IS MADE UP OF AR'RAYS OF FERRITE CORES.

NOTE .'.-.. SAMPt.EFIGlJRES WHI;CHWOULD NORMALLY APPEAR AT THIS POINT HAVE B:EEN LEFT

....... ....... .... .......................................... ....... ..-. ..... •.... .....
Ot!1T TO COftSERVE SPACE •
-

-

-

LISTED

OUTPUT AS

-

'

-

:-

'

ON THE 4Q7

SAMPt..E T-EST

OCTOBER Pi65
MARK ONLY ONEAHSWER -PER QUESTION.

MULTIPLE-C:HOlC£.

1. ASSYM'l-NG THAT THE PROGRAM IN THE FL.OW CHART OF FIGURE '+ RUNS AND IF N-1G.
At 1

',.,'1 ,..A:f2') -2, •••••••• , ATHE
( N) eN.
VALUE

WHEN THE P'RCGRAM HAL TS~

A,. 45

B. 5-5

C. 36

OF S'121 WILL BE
D. CAN'NOT B'E DETER'lUtINE'fl)

TRUE-FALSE.

MARK A FOR TRUE. BFOR FALSE.

2. R·E'Fe:R TO THE :FLOW CHART OF FIGURE 4.

c

N CARDS WILL BE PUNCHED.

3. TH:E MEMORY OF THE laM 1620 IS MA:DE UP OF ARRAYS OF FERRITE CORES.

.

F1GWRE 4
.....-.-

....----

I RE:AD
I
N

.........-It....
I

. ............-..--.... .......... .1-----·1..-----................... . .
.--...
..----------- . ._._-_._-'-.
.,-_._,.-...-.. .. _ _ . ............ ---...,.............. .'--- '.
~~

II

5ET
I
I
1----1 $,'.1J=0 1---1

I

I 5t21=O 1

I

~--.

t
I
START

...........

f
I

~

.......

.....-

J=l

...-..-.

.........:-.

I

.............I

r

--.

•.I ----'.--_.....
S'( 2-"=S'(2)1

..----.....
---.-.
t Sll)=Sll)1

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

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

I

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

I

REA:O
A(Jl

1
I
1--=1

I

A
I

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

* **

.. IS J

'*

I

I
J=J+l I

1

I
I
I
I
I
I
I

+ IdJ-ll 1C-----1 + AfJl**2 K---.... YES-* LESS THAN '* •. _ - - .
-.-~---

•I

*N'"

*

*I

*

fU)

I

. . .-*""'!i"".----..
V

• -.. '__ •

I PUNCH
I
I
I
$( 1)9,·,s,r(2ll-,-,.r tML T
I
I
I

1

2
3

..••••••'.

A
F

T

1
I
I

77

...

80

79

I

TEST GENERATION

C

DIMENSION KFIG(35) ,NBR(999) ,QUES(19),NBTF(999) ,JTF(999) ,H(l7)

INITIAL GENERATION OF A RANDOM NUMBER

C

1010 PRINT 5000

5000 FORMAT(/22HSET SW 1 OFF TO START.)
PAUSE
IFrSENSE SWITCH 1)1010.1020
PRINT
5010
1020
5010 FORMATl/39HTO SELECT A RANOOM NUMBER, SET SW ION.)

0
"

~'NT=O

1030 RN=RANO(0.51)

KNT=KNT+l
IFCKNT-500l1035,1020,1020
10:35 IFCSENSE SWITCH 1)1038.1030
1038 PRINT 5015tRN
5015 FORMAT(9HRANDOM = ,Flo.a/)

HEADER CARD FOR FIRST PAGE OF THt: TEST
REAO 50

C

50

1

FORMAT(80H1234S67891
60
70

20

30

HEADER CARD FOR ALL FOLLOWING PAGES OF THE
READ 940,(H(I),I=1,11)

C

940

40

50

8t
TEST

FOR'MAT ( 12X, 11 A4)

PRINT 50
PUNCH 50
INITIALIZATION OF CONSTANTS
KOUNT :: 1
PR'OBN=l.

C

IPAGE=2
lOt:,

o

105

IFf SENSE SWITCH 9)105,105
NF=O
MFIGS=O
IP=O
NEWTF=O
ITOTF-O

ITOTM==O
LTF-O

NM IS THE NUMBER OF MULTIPLE-CHOICE QUESTIONS DESIRED ON THE TEST,
NTF IS THE NUMBER OF TRUE-FALSE QUESTIONS DESIRED OH THE TEST.
NS IS THE FIRST NUMBER IN THE MASTER QUESTION FILE FROM WHICH
QUESTIONS ARE TO BE SELECTED,
ITEMS IS THE LAST NUMBER FROM WHICH QUESTIONS ARE TO BE SELECTED,
N IS THE TOTAL NUMBER OF TRUE-FALSE QUESTIONS IN THE MASTER FILE
READ 5025,NM,NTF,NS,ITEMS.N

C
C
C
C
C
C

5025

~ORMAT(2I5/215/15)

IF(N)9000,1080.1055

JTF
I

-~'

I

Now consider the following integration with the same limits and the same
number of subdivisions as Equation 1.
2

(x

+ 2x + l)dx

(4)

and we obtain the following results
Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula
TRUE VALUE

N
N
N
N

115.0000000000000000000000
114.0000000000000000000000
114.0000000000000000000000
114.0000000000000000000000
114.0000000000000000000000

6
6
6
6

::;:

::;
::;

We see that the trapezoidal rule is not exactly accurate because the
trapezoidal rule will only integrate correctly a straight line formula.
Consider the following examples and their results:
For

6

J

(x 4 + 9.3x 3 + 7.2x

2

+ 5.0x + 1.0)dx

(5)

o

we obtain
Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula
TRUE VALUE

For

N ::;
N
N ::::
N ==

6
6
6
6

5345.500000000000000000000
5183.600000000000000000000
5182.800000000060000000000
5182.800000000000000000000
5182.800000000000000000000

6

!

(6)

we get
Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula
TRUE VALUE
For

•

6

fo

(x

N :::: 6
N :::: 6
N == 6
N :::: 6

85450.00000000000000000000
79114.00000000000000000000
78918.00000000000000000000
78912.85714285714285714286
78912.85714285714285714286

762
+ 2x + 3x + l)dx

(7)

we get
Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula
TRUE VALUE

N = 6
N ::: 6
N = 6
6
N

o

324704.0000000000000000000
291890.0000000000000000000
290274.0000000000000000000
290155.7142857142857142857
290155.7142857142857142857

From Equation 5 we see that any equation of degree greater than
3, Simpson or the trapezoidal rule will not obtain the correct results.
From Equation 6 we see that any equation of degree 6 or greater, Weddle's
rule will not integrate correctly. By taking some subdivisions Equation 6
may be integrated more accurately by Weddle's rule; and also Simpson's
rule and the trapezoidal rule are more accurate, which is to be expected.
Taking 12 subintervals and integrating, we get
Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula
TRUE VALUE

N
N
N
N

=
=
=
=

12
12
12
12

80556.67187500000000000000
78925.56250000000000000000
78912.93750000000000000000
78912.85714285714285714286
78912.85714285714285714286

In all cases only Gauss's rule gave the exact result because for
n = 5, Gauss's formula will give the exact result if the integrand is an
equation of degree 2n+l=11 or less, which in all instances was true,
except in the example above where 2n+l=25.

o

Integrate Equation 5 using Gauss's formula for n=2 and we get
Gauss formula

N = 2
TRUE VALUE

5182.800000000000000000000
5182.800000000000000000000

which is an exact result since 3.4.5 is indeed an equation of degree
2n+l=5 or less.
At this point there has been no restriction on the number of
points to be used or the number of subdivisions, nor is there a necessity
for equally spaced base points when using Gauss's formula.
Suppose that we wish to calculate the value of the integral

TT

1

=

(

6

(_4_)dx
1+x2

(8)

we obtain the following results for six subintervals (n=6) ,

o
I

)S-

I

fWwewerttt ,..,ttt I!, Itt

"""",*'fw't**ft't

t'

t

m

t '!

!

':,a

tst

h tie

I

N
Trapezoida 1 rule
N
Simpson rule
N
Weddle rule
N
Gauss formula
TRUE VALUE

:::::
:::::

3.136963066471263192574668
3.141591780936043231125198
3.141598445860740942708156
3.141592656253749547166988
3.141592653589793238462643

6
6
6
6

We see that Weddle's rule is accurate to six decimal places and
Gauss's formula has nine place accuracy. Now suppose we integrate Equation 8
using twelve equal subintervals and the results are shown below.
Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula
TRUE VALUE

N ::::: 12
N == 12
N == 12
N ::::: 12

3.140435246846850651454428
3.141592640305379804414347
3.141592677446341591048605
3.141592653589793253511255
3.141592653589793238462643

Weddle's rule now has eight place accuracy but Gauss's formula
has seventeen place accuracy. We are able at this time to see the real
power in using Gauss's rule. Although the algebraic operations performed
are very tedious and lengthy and are not recommended for tabulation by
hand calculators, the results are extremely accurate.

o

To see the accuracy of Gauss's formula, let us integrate Equation 9
for n:::::1 to n:::::18 using Gauss's formula. We can see from the results given
that as n increases the number of accurate decimal points is almost a
linear function of n.
For n:::::18 Gauss's formula integrates 3.4.9 accurate1;
to twenty-five decimal places. The significance of the results shown is
that it will take a polynomial of degree 2n+1:::::37 to represent the integral
of a harmless looking equation as ~
between the limits of 0 to 1.
l+x~

1

I0

•
'I

4
dx
(1+x 2 )

Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss

1-0
2

n

L
i=O

Wi f(x i ) for n:::::1,2, ... ,18,19.

formula
N ==
formula
N ==
formula
N :::::
formula
N :::::
formula
N :::::
formula
N :::::
formula
N :::::
formula
N
formula
N
formula
N ==
formula
N :::::
formula
N
formula
N :::::
formula
N ==
formula
N ::;::
formula
N ==
formula
N ==
N ==
formula
TRUE VALUE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

(9)

3.147540983606557377049180
3.141068139963167587476977
3.141611905245805388072172
3.141592639884752643813640
3.141592611187586584212313
3.141592656253749547166988
3.14159265351~118378361451

4.141592653588243839589258
3.141592653590046288835685
3.141592653589781014051290
3.141592653589793433433810
3.141592653589793253511255
3.141592653589793237099615
3.141592653589793238513590
3.141592653589792328462513
3.141592653589793238462539
3.141592653589793238462650
3.141592653589793238462643
3.141592653589793238462643

)7 rc

II

o

Now let us consider another simple looking function such as
3.2

!

In(x)dx

(10)

and get the following results for n=6 and n=12 for the trapezoidal rule,
Simpson's rule, Weddle's rule, and Gauss's formula and also the value of
Gauss's formula for n::::7,8,9,10,11.

Trapezoidal rule
Simpson rule
Weddle rule
Gauss formula

N = 6
N ::: 6
N = 6
N ::: 6

1.827655138682033836296680
1.827847257950485532558666
1.827847407307964633602078
1.827847408574822216653928

Gauss
Gauss
Gauss
Gauss
Gauss

N = 7
N ==: 8
N ::: 9
N :::: 10
N ::: 11

1.827847408574822213199004
1.827847408574822213185986
1.827847408574822213185936
1.827847108574822213185936
1.827847408574822213185936

Trapezoidal rule
N :::;; 12
Simpson rule
N ;:;: 12
Weddle rule
N :::;; 12
Gauss formula
N :::;; 12
TRUE VALUE

1.827799334015909603078275
1.827847399127201525338806
1.827847408554587696640577
1.827847408574822213185936
1.827847408574822213185936

formula
formula
formula
formula
formula

0

Again from the results shown above we are able to see that Gauss's formula
is superior to the other three in question. Using Gauss's formula for n::::9
we obtain an exact solution to Equation 10.
Consider the given equation
3.159

f
2.7
It can be seen
Equation 11 to
calculation of
n=l to n::::13 is

Gauss formula
Gauss formula
Gauss formula

(cos(x))

2.7'
_x_
(
In 3.02)

(sin(x)e
)
2
sinh(x -2.3x+l.73)(x 3 . 97 )

dx

(11)

that this is not a readily integrable equation. To integrate
any degree of accuracy using Weddle's rule would require the
many base points. The results using Gauss's equation for
shown below.

N::::

1

N ==
N =:

2
3

0.00008061831309528041608736748
0.00008153279517841137715773370
0.00008153803223426107836002512

/77

o
II'

)1

"I

w'tHW'

0

t

tf"!.'

t

\

, \) , t

t

'i 'bt•. t'rite #tart

Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss
Gauss

formula
formula
formula
formula
formula
formula
formula
formula
formula
formula

I

t

-

n

IT}' ... !· ... It-

If ,.

N =
N
N
N
N
N
N
N
N =
N

__ n_

'"

SI'""['W

4
5
6
7
8
9
10
11
1,2
13

- ,_.mnyu

"'.

0.00008153802146357601426297492
0.00008153802131849522323566839
0.00008153802131731542693985524
0.00008153802131730857215620960
0.00008153802131730856547759855
0.00008153802131730856543469721
0.00008153802131730856543465165
0.00008153802131730856543465460
0.00008153802131730856543465459
0.00008153802131730856543465459

For n=12 an exact integral of 11 is shown accurate to the last
decimal place.

APPLICATION AND ILLUSTRATION OF GAUSS'S FORMULA

The following example will show how Gauss's formula may be used
other than obtaining the numerical result of integration.
Suppose that we are given a complicated function and an upper and
lower bound for the use of the function.
But we wish to substitute for this
involved function a simpler function that would be much easier to handle
algebraically and will give the desired results to a specified degree of
accuracy. There are many methods of arriving at a simpler function, but by
using Gausszs formula and integrating "the function between the bounds given
using the value of n=i (where n is the number of base points minus one)
for i=1,2, ... m, m 18, we are able to determine by using Gauss's formula
the value of m that will give the desired results which will mean that we
will be able to replace the given function over the given range by a polynomial
of degree 2m+l. For example, if we take Equation 11 and the results given for
the integration of this equation, we are able to see that for n=3 we obtain
a result that is accurate to six decimal places. Therefore,. in this case,
m=3 and 2m+l = 7 which means that we should be able to replace the function
given by a 7th degree polynomial and obtain the same results accurate to six
decimal places.
Suppose that we replace the integral 11 by the function

(12)

o

By taking seven subintervals between the limits 2.7 and 3.15~ and substituting
these values in Equation 11 and by using the form of Equation 12 we are able
to set up eight simultaneous equations with eight unknowns and are able to
solve for the values of aO,a , ... a7 7 as given below. All results are shown
l
accurate to twenty-five places.

A(O)

A(l)
A(2)

:::;

A(3)

:::;

A(4)

:::;

A(5)

A(6)
A(7)

:::;
:::;

5.706091615187186021600824
-11.06393937472572817810977
9.219865783892648185481282
-4.278123364782411864935882
1.192980890731212353730572
-0.1997677036537830939234936
0.01858251732127630060092552
-0.0007399431094868931737066830

0

Using these values calculated and integrating the function Equation 12
between the given limits we obtain for the value of the integral
0.00008153801358456494024586480. This result is accurate to six decimal
places as originally stated. Thus, the very complex integral 11 is now
reduced to a 7th degree equation and we are now able to manipulate
algebraically with ease the transformed equation.

,0

IIII

h
I

l
i

1

11
",'

I

APPENDIX I
Roots (x.l. ) + and Weight Coefficients (w. )
N = 1
l.
0.57735 02691 89625 76450 91488 1.00000 00000 00000 00000 00000
N

0.00000 00000 00000 00000 00000
0.77459 66692 41483 37703 58530
N

0.33998 10435 84856 26480 26657
0.86113 63115 94052 57522 39464

N
0.00000 00000 00000 00000 00000
0.53846 93101 05683 09103 63144
0.90617 98459 38663 99279 76268

N

=

2
0.88888 88888 88888 88888 88bb9
0.55555 55555 55555 55555 55556

=

3
0.65214 51548 62546 14262 69360
0.34785 48451 37453 85737 30639

=

4
0.56888 88888 88888 88888 88888
0.47862 ~6704 99366 46804 12915
0.23692 68850 56189 08751 42640

=

5
0.46791 39345 72691 04738 98703
0.36076 15730 48138 60756 98335
0.17132 44923 79170 34504 02961

=

6
0.41795
0.38183
0.27970
0.12948

91836
00505
53914
49661

73469
05118
89276
68869

38775
94495
66790
69327

51020
03697
14677
06114

=

7
0.36268
0.31370
0.22238
0.10122

37833
66458
10344
85362

78361
77887
53374
90376

98296
28733
47054
25915

51504
79622
43559
25313

=

8
0.33023
0.31234
0.26061
0.18064
0.08127

93550
70770
06964
81606
43883

01259
40002
02935
94857
61574

76316
84006
46231
40405
41197

45250
86304
87428
84720
18921

=

9
0.29552
0.26926
0.21908
0.14945
0.06667

42247
67193
63625
13Lt91
13443

14752
09996
15982
50580
08688

87017
35509
04399
59314
13759

38929
12269
55349
57763
35688

50867
45445
37645
02109
03694
85671

77900
10246
91990
27734
64904
16173

63071
66218
47991
25142
62463
66648

44835
06888
85237
60976
46943
27537

0.23861 91860 83196 90863 05017
0.66120 93864 66264 51366 13995
0.93246 95142 03152 02781 23015
N

0

0.00000
0.40584
0.74153
0.94910

00000
51513
11855
79123-

00000
77397
99394
42758

00000
16690
43986
52452

00000
66064
38647
61896

0.18343
0.52553
0.79666
0.96028

46424
24099
64774
98564

95649
16328
13626
97536

80493
98581
73959
23168

94761
77390
15539
35608

0.00000
0.32425
0.61337
0.83603
0.96816

00000
34234
14327·
11073
02395

00000
03808
00590
26635
07626

00000
92903
39730
79429
08983

00000
85380
87020
94297
55762

0.14887
0.43339
0.67940
0.86506
0.97390

43389
53941
95682
33666
65285

81631
29247
99024
88984
17171

21088
19079
40623
51073
72007

48260
92659
43273
20966
79640

0.00000
0.26954
0.51909
0.73015
0.88706
0.97822

00000
31559
61292
20055
25997
86581

00000
52344
06811
74049
68095
4'6056

00000
97233
81592
32409
29907
99280

00000
15319
57256
34162
51577
39380

N

N

N

N = 10

•

0.27292
0.26280
0.23319
0.18629
0.12558
0.05566

J

80

N

0.12523
0.36783
0.58731
0.76990
0.90411
0.98156

34085
14989
79542
26741
72563
06342

11468
98180
86617
94304
70474
46719

91547
19375
44729
68703
85667
25069

24413
26915
67024
68938
84658
05490

0.00000
0.23045
0.44849
0.64234
0.80157
0.91759
0.98418

00000
83159
27510
93394
80907
83992
30547

00000
55134
36446
'+0340
33309
22977
18588

00000
79406
85287
22064
91279
96520
14947

00000
55281
79128
39846
42064
65478
28294

0.10805
0.31911
0.51524
0.68729
0.82720
0.92843
0.98628

49487
23689
86363
29048
13150
48836
38086

07343
27889
58154
11685
69764
63573
96812

66206
76043
09196
47014
99318
51733
33884

62446
56718
52907
80198
97947
63911
15972

0.00000
0.20119
0.39415
0.57097
0.72441
0.84820
0.93727
0.98799

00000
40939
13470
21726
77313
65834
33924
25180

00000
97434
77563
08538
60170
10427
00705
20485

00000
52230
36989
84753
04741
21620
90430
42848

00000
06283
72073
72267
61860
06483
77589
95657

0.09501
0.28160
0.45801
0.61787
0.75540
0.86563
0.94457
0.98940

25098
35507
67776
62444
44083
12023
50230
09349

37637
79258
57227
02643
55003
87831
73232
91649

44018
91323
38634
74844
03389
74388
57607
93259

53193
04605
24194
66717
51011
04678
79884
61541

N

N

N

N

0

=

11
0.24914
0.23349
0.20316
0.16007
0.10693
0.04717

70458
25365
74267
83285
93259
53363

13402
38354
23065
43346
95318
86511

78500
80876
92174
22633
43096
82719

05624
08498
90644
46525
02547
46159

=

12
0.23255
0.22628
0.20781
0.17814
0.13887
0.09212
0.04048

15532
31802
60475
59807
35102
14998
40047

30873
62897
36888
61945
19787
37728
65315

91019
23841
50231
73828
23846
44791
87952

45896
20900
25233
00466
36018
44217
00215

=

13
0.21526
0.20519
0.1855·3
0.15720
0.12151
0.08015
0.03511

38534
84637
83974
31671
85706
80871
94603

63157
21295
77937
58193
87903
59760
31751

79019
60396
81374
53456
18468
20980
86303

58764
59240
17165
96019
94148
56332
18328

=

14
0.20257
0.19843
0.18616
0.16626
0.13957
0.10715
0.07036
0.03075

82419
14853
10000
92058
06779
92204
60474
32419

25561
27111
15562
16993
26154
67171
88108
96117

27288
57645
21102
93355
31444
93501
12470
26835

06195
61189
68000
32012
78045
18697
92673
46284

=

15
0.18945
0.18260
0.16915
0.14959
0.12462
0.09515
0.06225
0.02715

06104
34150
65193
59888
89712
85116
35239
24594

55068
44923
95002
16576
55533
82492
38647
11754

49628
58886
53818
73208
87205
78480
89286
')9485

53967
67636
93120
15017
24762
99251
28438
17805

I~I

()

- -- -- - vu

m

·'·"r···- ·r.,..·-.,

()
N

0.00000
0.17848
0.35123
0.51269
.0.65767
0.78151
0.88023
0.95067
0.99057

00000
41814
17634
05370
11592
40038
91537
55217
54753

00000
9584'/
53876
86476
16690
96801
26985
68767
14417

OOCOO 00000
85~85 06774
31529 71855
96788 62465
76585 03022
40692 52300
90212 29556
76122 27169
33567 54340

0.08477
0.25188
0.41175
0.55977
0.69168
0.80370
0.89260
0.95582
0.99156

50130
62256
11614
08310
70430
49589
24664
39495
51684

41735
91505
62842
73947
60353
72523
97555
71397
20930

30124
50958
64603
53460
20787
11568
73920
75518
946.73

22618
89728
59317
78715
48910
24174
60605
11959
00160

0.00000
0.16035
0.31656
0.46457
0.60054
0.72096
0.82271
0.90315
0.96020
0.99240

00000
86456
40999
07413
53046
61773
46565
59036
81521
68438

00000
40225
63629
75960
61681
35229
3714L
14817
34830
43584

00000
37586
83199
94571
02346
37861
82497
90164
03085
40318

00000
80961
01173
72671
96381
70958
89224
26609
27788
90176

N

G

•

N

=

=

=

16
0.17944
0.17656
0.16800
0.15404
0.13513
0.11188
0.08503
0.05545
0.02414

64703
27053
41021
57610
63684
38471
61483
95293
83028

56206
66992
56450
76810
68525
93403
17179
'73987
68547

64·632
04450
28808
47328
97109
18088
20112
93196

82608
52754
79669
14344
63179
478'77
35345
94405
01099

0~02161

23829
64837
46751
29146
52067
20441
57302
45488
60135

63143
45832
26265
70650
11478
06287
54889
94969
26483

59184
72298
24492
65120
46018
16556
05652
79645
31031

06563
60540
54174
47319
45183
28146
91291
33352
33426

18
0.16105
0.15896
0.15276
0.14260
0.12875
0.11156
0.09149
0.06904
0.04481
0.01946

44498
88433
60420
67021
39625
66455
00216
45427
42267
17882

48783
93954
65859
73606
39336
47333
22449
37641
65699
29726

69597
34764
66677
61177
22767
99471
99946
22658
60033·
47703

91721
99483
88624
57403
55203
60204
44644
07067
28389
63118

17
0.16914
0.16427
0.15468
0.14064
0.12255
0.10094
0.07642
0.04971

5254~

o

\}

j

0

H

l~

!

SERIES A:ND TRE 1620

Written at Newark College of Engineering by:
Peter Byetf
Jerry Kle1nbaum
Mark Sciora

•

(>

PREF'\CE

This pAper, Series and the 1620,

w~s

written during the

summer vTl"I ile the A.l.1thors, l-.igh sc""ool stadents, were 1!lorking
~t New~.rk

Science

College of Engineering on

Found~.tion.

~.

grant from

.\t tt,is time, we wish to

without whom this project would

h~ve

t~e N~tion~l

th~.nk

the following,

been impossible:

National Science Foundation, the stqff of

New~rk

the

College of

Engineering, Drs. Frederick Lehm,!!tn and Phylli s Fox, Victor
Miller A.nd Joel Shwimer.
Peter By-eff
Jerry Kleinb9.um
Mark Sciora

o

· " riiiHMW' .

. .. 'If

Series

()

The ohject of onr \:,'ork
computer to

~n!11yze

eJer:ter. . t2, of

'1

is

!1

the 1(20

~nd

\{~S

r',r09'1"~rn

to

number sequnDces.

t"'e rBi'/" 1620

~fter

the

com~qring

given sequence, t1--,e corrrp1:i.ter determines if there

relq tion s'" ip

the numbers.

bet~'leen

If q

rel~. tionsh ip

is detected, succeeding terms in the series qre cqlculqted,
c~rds,

printed, q.nd/or punched on

depending upon \·Thqt the

operqtor desires.
For our purposes, it WqS
itle defined

q

to define

necess~ry

sequence of nUT1bers

t""l~.t "'~

s

definite,

~.

logic~l

relqtions"'ip between the elements of the sequence to be
series.

~

sequence, however, we defined

terms.

cert~in

q

collection of

qS qny

numbers.

o

Becquse of the

l~rfely

qlgebrqic

n~ture

our progrqm very quickly becq.!!1e quite 18.rge.
1~20

our use of the

For this '!i'lrpose,

into thirteen subprogrqrns qnd one mqin
fourteen components
storqge unit.
stor~ge

E8.C"" component is
t~~e

seD~

progrB.mmed to recognize.
oper~tor

cqp~city

of the

the C8l1

Lin!'~

execution.

!!1~chine.

st~

divided the progr!1.m
eqch of the

progr~m;

rq tely cqlled

computer to

sequence in question is the series

series, if the

\~e

with the

stored sep8rqtely on the 1311 disk

WqS

on tt"'e disk to

T1:is necessi t~ ted

coordin~ted

model II computer

13 1 1 disk stor'1ge unit.

~

of our work,

qscert~in

w~ich

~lP

from

't-Jhet'her the

t'he component

'h~s

If it is, then the elements of
so desires,

~re

cqlcul~ted

If it is not, then,

tement, the next component is

been

t'h~t

up to the

throug~

c~lled

use of
for

Prob~bly

the most

c~qllenging

p~rt

of our nroject

~v~s

progrq.mming tl--e computer to recognLze

~

t~e

increments form q

Tl--is proved

difficult not

~nly

in

repe~ting

proEr~mmine

this tYDe of series, but
indefinitely.
in

~:lhich

pAttern.

~lso

in

t~e

series in vr}-'ich

o

computer to recognize

c~lcul~ting

its

eleme~ts

The following is qn excerpt from the

sub~rogrq~

we solved this 0!'oblem:

44· 1=2
J=1
IF(X(J)-X(I))46~48~46

45

46IF(I-(1T-1))47"jO,::50
47 1=1+1
GO TO 45
48 1K=1-1

IF(X(J+1 )-X( 1+1 ) )47,50,47
50IF(I+1-(IT-1))51 ,52,80
51 J=J+1

1+9

1=1+1

GO TO 49

52
53

NB=IT
JK=HB-IK

54

NB=JK
GO TO

55

IF(JK-IK) 55,55,54

o

53
(IT )+X(JK)
TYPE 901

QQ:::D~,T,\

901 FORHt\T(/12 HSERIES NO.2)

56

I~=1, IT
PRI~;'T 500, D,\ T '\ (ra.)
500 FORH~T(/E14.8)

56

DO

50 1 ,QQ
FORN ~T (/E14.8)
IF(SENSE S~ITcrr 3)800,59

PHINT
501
800

c ~IJ,

Ln~K (JvI ~ IN)

59 ~F~~K-!K)Z0161,80
70 CiQ-,~.,

.
'-

.

r,U\1

•

07500 02714

~

ENTER NUMBER

04~

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

LOADED

oF"T ERI\1S

_

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

-

..

_-

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

IN SERIES, PUSH RS
-------------.--

. ..

ENTER ALL TERt·1S BY CARD, 1 TO A CAROl FLOATING PT
07500 01990 LOADED
82
07500 01986 LOADED

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

AI

THIS I S A GEOf'1ETR I C PROGRESSION

.---

INPUT DATA CHECK

Representative output

• 830000G~ -:+02

for our program which determines

.65570000E+04

whether the sequence in qnestion

.51800300E+06

is a geometric progression.

---

--_.-

------_.-

.40922237E+08
NEXT TERt,-'l
.32328567E+10
SVJ 3 ON TO ENTER

-_._.-

NE~~

DATA

--

S\'J 3 OFF FOR NEXT 10 TERMS ON CARDS

o

SET Sv'J 3 l PUSH START

--------

--

•

I <6 ')
<

!

[lAIN

07500 52714

LOADED

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

ENTER fJUI'1B ER 0 F TEfU1S INS ER I ES, PUSH RS
ENTER ALL TERMS BY
Al
82
C3

07500 01990
07500 01986
07500 02150

CA~D,

1

LOADED
LOADED
LOADED

TO A CARD, FLOATING PT

.-...-...----~~~~~~_____.__=__a_=o;;;,._;;;:__------------------------------------

SERIES NO.1
INPUT DATA CHECK

Thjs js representative output

.40723240E+07

from the part of our program

.40763610E+07

which is designed to recognize

.40804000E+07

a serjes in which the inorements

• 40844410E+07

are in an arithmetic progression •

.40884840E+07

NEXT TERM
.40925290E+07

SW 3 ON TO ENTER NEW DATA
S\:J 3 OFF FOR NEXT 10 TERMS ON CARDS

--=-~~~~~~~--~--'------

0-

SET SW 3,PUSH START

~----------------------------------------------------~--------------~----

I

I

----------------------------------------------()-

"

I

I

I;

I

,;,1AI N

-------.--

07500 02714

.

LOADED

•

08~

.---,.----...

SERIES NO. 2

_

......

1 TO A CARD l
LOADED
LOADED
LOADED
LOADED

CArH2~_

_-_ ...•..

INPUT DATA CHECK

_.

-_ ..

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

ENTER NUHBER OF TERMS IN SERIES, PUSH RS

ENTER ALL TERflS BY
Al
07500 01990
E12
07500 01986
C3
07500 02150
04
57500 02926

---_._-

F LOA T I r~G I)T

-.-.-

...

_.-

.. _-------

---.~-.---

-

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

.. -.

--

.....

........ _.

-.-' .

_

--

.... --

-

...

Series No. 2 is the type

--

.58720000E+04

of series in which the

• 60440000E+Ol~

increments form

.86700000E+04

pattern

9-

--_._.

-

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

_

- .-

-

__

.._----

._--.-

.".-

repe9.ting

.86870000E+04
.88590000E+04
.11485000E+05

--

.11502000E+05
.11674000E+05

0

--

NEXT TERM

--

.14300000E+05
ON TO ENTER

3\'J 3

NE~-J

DATA

SH 3 OFF FOR NEXT 10 TERf'.-1S ON CARDS
SET

S~'J

3, PUSH START

•
Iq/
I

-

---

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

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

;'lAlfJ

0750002714

LOADED

ENTER NUMBER OF TERMS IN SERIES, PUSH RS
05~

ENTER ALL TERt,1S BY CARD, 1 TO A CARD, FLOATING PT

AJ.

07500 01990

QJADED

B2
C3
04
E5

07500
07500
07500
07500

LOADED
LOADED
LOADED
LOADED

01986
02150
02926
02150

SERIES NO.3
INPUT DATA CHECK
In tbi S type of SAri as ,_

.87000000E+02

the factors form an

.60900000E+03

arithmetic progression .

• G0900000E+04

- - - = - = - = - - = - - : = - - = - = = - - = - : : : : : - - - : : : - - = - - - - - - - - - - - - - - - - - - - - - - - - _ .__. _ - -

-_._--

• 7 9 1 7 0 0 0 0 E+0 5

.12667200E+07
NEXT TERt!1
• 2l~067680E+08

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

S~'J

3 ON TO ENTER NEH DATA

SU

3 OFF FOR NEXT 10 TERrAS ON CARDS

..

...

_---

--.-.----------0··-

SET SW 3,PUSH START
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ---.-.-------

-

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

__ ..__
._

I

..

--------------------------------------------------4CL

I

II

-

'.---nMP'-

-

--

---

--

o

[':lAI N

07500 02714

LOADED
--

ENTER NUr·1BER OF TERMS IN SERI ES , PUSH RS
08 ~

---

ENTER ALL TERt'lS BY CARD, 1 TO A CARD, FLOATING PT
Al
07500 01990 LOADED
B2
07500 01986 LOADED
C3
07500 02150 LOADED
04
57500 02926 LOADED
E5
07500 02150 LOADED
F6
07500 52584 LOADED

---------

-"----

SERIES NO. 4

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

INPUT DATA CHECK

()

This series is much-like

.53000000E+02

Series No,2 except

.31800000E+03

in

.l}1340000E+04

factors that form a

.28938000E+05

repeating pattern,

this

cas~

jt j

--

that

s tne

- - - - - ..-

._-_._--.-.

.17362800E+06

----

.22571640E+07

--

.15800148E+08
.94800888E+08

-----

NEXT TERM

-_.-

._- " - - _ . _ - -

.12324115E+10
S\:.J

3 ON TO ENTER

S\tJ

3 OFF FOR NEXT 10 TERfv1S ON CARDS

NE\~

DATA

------

-----------

SET SH 3, PUSH START
--_._------

..

-- ..• --

.... -

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

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

•

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

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

I Cf 3

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

..

_-,

MAIN

07500 52714

LOADED

ENTER NUMBER OF TERMS IN SERIES, PUSH RS

-C

07 ~

1

---=-E..-o-NT~ER:-'-A.. -;L;--;L,. ---,.;T. . .E. . R,. .. . t,1.....S:-----=B-.-.Y ··~C=-=Ac-=Rc-=D-,-----=-I-=T=-O-A-~C"..-A:---:R==-=D::-,-----=F::-:-L-,::O~A--=T:-:-I--:-:N-=G---=P=-T------------·--Al
07500 51990 LOADED
B2
07500 0198& LOADED
C3
07500 02150 LOADED
D4
07500 02926 LOADED
E5
07500 02150 LOADED
F6
07500 02584 LOADED
G7
07500 05130 LOADED
H8
07500 05050 LOADED
SERIES NO.5
INPUT DATA CHECK
.17830000E+04
.19390000E+04

Series No.5 1S a series

in WhiCh the jncrements

_ _----,=---=--o~~............-;;;-----...;:-.---_------~f~o.L..rml,...J..l..L.-cau..nL-Oal....J.r.....&.i-'"t!..!-lh..L.Um.w.e...l,Lt.j. . . cl.oL....-...:pt-L-r~o~g~r~e. . .s.u.s
. . . :.i. .!o,;ou..JnL.. . . . . __ _ _._____.

• 18400000E+04
.20060000E+04

• 19070000E+04
.20830000E+04
.19840000E+04
NEXT TERM
.21700000E+04

which is separated by a
constant every other term •
Note:

-----0

The programs which

identify Series No.6-8

are

at present heing rewrjtten
and for that reason no

representq.t-.L-i'-¥-'Te~­

data for those programs is
SW 3 ON TO ENTER NEW DATA

ready for inclusion at this time.
SW 3 OFF FOR NEXT 10 TERMS ON CARDS
SET SW 3,PUSH START

o
------------------------:--------~-.--.----

...

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

.....

......___1_t:t ..'t_ ._
_.

i~
I:

11,,1

'

I'

•
A COMPUTER SURVEY OF PROFESSIONAL SALARIES

1620 USERS GROUP MEETING

OCTOBEH 7, 1965
AMERICANA HOTEL, N11N YORK CITY

o

William J. Abnett
Sun Oil Company
Rese~ch and Engineering Department
Philadelphia, Pennsylvania

•

o
A COMPUTER SURVEY OF PROFESSIONAL SALARIES

ABSTRACT
A Computer method of assembling, tabulating, and graphically
presenting salary data is discussed.
The salary data of professional employees within a single organization or among several organizations is collected and assembled.
Within logical groupings of employees certain percentiles and
averages are calculated for each year starting with the oldest
employee and continuing until the most recento
A mathematical curve of the form y = A + Bx = Cx2 + Dx3 is
statistically fitted using the least squares technique for each percentile for each group of employeeso
Letting the ttyU axis represent dollars and the "XU axis, the year
since the employee's first degree, the various percentiles are machine
plotted for each group.
The tabulated data consists of the following for each year since
the first degree:
1.
2.

3.

o

Actual Salaries by percentiles
Least Squares Salaries by percentiles
Average Salary

o

:~

1

A COMPUTER SURVEY OF PROFESSIONAL SALARIES
1620 USERS GROUP lVIEETING
OCTOBER 7, 1965

•
Introduction

In this paper are discussed computer techniques of assembling,
calculating percentiles, tabulating and graphically presenting
professional employee salary data using an IBM 1620 Model II computer
and an IBM 1627 Model I Plotter. The techniques have resulted from
our experiences in executing both multi-company and our own internal
Research and Engineering Department salary surveys.
A salary survey is of general interest to management, employees,
economists, cost analysts, salary administrators, trade and professional
associations and others. Managers may use a salary survey, along with
other tools as a guide in hiring employees, compensating employees,
and determining whether or not base salaries are competitive.
The discussion which follows is generally limited to the treating,
handling, and obtaining of results. We will comment only briefly on the
analysis of the end product.

()

Professional Salaries
Although at this time we are interested in professional salaries
the techniques which follow may, with slight modifications, be used
for skilled labor, semi-professionals and management personnel.
A continuing discussion and disagreement exists as to the
definition of a professional employee. For our purposes we shall
assume that professional means an employee possessing a baccalaureate
degree, recognizing that some non-degreed people are professional in
the widest meaning of the word.

In any salary survey the population must be clearly defined.

The
population, for the purpose of this paper includes Research and Engineering technical professional employees - engineers, chemists,
mathematicians, etc. - up to some predetermined level of supervision.
The Variables
There are at least two choices for the unit of compensation:
1.

Yearly salary

2.

Monthly salary

o
{C1 7

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

.----.- ...

".-.~~~-~~.

- 2 ->

C
As a side note some professional salar,y surveys report both base
salary and total professional income. l
We have used the monthly salary and have limited this figure to
the nearest whole dollar. From a computer standpoint a yearly salary
base would. require larger fields to handle the correspondingly larger
data ranges. Monthly salary then is the dependent variable and,
ultimately, will be plotted along the Y-axis.
For our independent variable, which we will later plot along the
X-axis, we wish to show a time unit and we might choose:
1.

Years of experience

2.

Chronological age

3. Years since degree
If the third item is taken and modified slightly to Years Since
First Degrje the analyst will then be able to compare those wit-h-Master and or Doctor degrees with those holding singular Bachelor
degrees.

o

Raw Data
Now having defined the variables, the raw data must be collected.
At this point, it may be well to emphasiz.e that the data are extremely
confidential and should be treated accordingly~ Individuals are known
only by year of graduation and type of final degree. The data may be
available directly from the company personnel records or, in the case
of a survey including other companies, it may be necessary to prepare
a questionnaire o For our purposes, all that is necessary for each
individual in addition to his organization2 identification is:
1.

Year of first degree

1 See for example: Business Econornist's Salary Survey

(National Association of Business Economists, 1964)

2 The organization may be a company, division, department or any other
group.

o

'\
i

i···

·m. ···

n

... -

·_··r"

- 3 -

o
2.

Salary, dollars per month

3.

Highest degree attained3

It may be somewhat obvious by this time that the raw data may be
sorted for further processing using, but not limited to, any of the
following parameters:
1.

Company and/or group

2.

Effective year of data; that is, this year and last year.

3.

Degree

4.

Professional discipline

Different colors may be used for the internally punched cards
representing each group of raw data, making it easy to spot any cards
out of order.
Moving Averages

()

In developing various salary surveYffi it sometimes becomes
necessary to handle small quantities of data and/or data for which the
distribution - on a year by year basis - is something less than
desireable.
The familiar moving average statistical technique l 1tJhich, as you
may recall is a statistical method generally used for smoothing
seasonal data, may be used in thes.e cases of limited data.
In applying the moving average technique a span of years or
increments must be determined. If the data set is sufficiently
large and all years represented, then the span of years may be set
equal to unity and the survey executed without resorting to this
technique. Before the computer was available hand calculations had
been made to determine an optimum span. These lengthly hand calculations
were abandoned after the trial reached a span of 5 years.

With the computer we were able, in a small fraction of the

t~me

3 See Figure 2

o

4 See,

for example, Chapter 11, Page 322, "The Analysis of Time Series,
Measurement of Seasonal Fluctuations, Hoving Averages. tt Introduction to
Statistics, Frederick C. :Mills, Henry Holt and Company, 19560

- 4. -

required manually to enter the increment as a variable and try
several sets of data each time increasing the increment from 2 to
8 years. From observations of the plotted data there appeared to
be no reason not to use the originally determined 5 year increment.

o

Percentile Finder
From the raw data the user selects the data cards according to
the group he desires and proceeds through a series of sub-programs,
(See Figure 1) the first of which l-Je term the Percentile Findero
This sub-program reads the raw data representing the salaries of
individuals, the starting year, the increment in years and the last
year.
The program begins at the starting year, adds to this year the
increment in years and selects from the raw data all data points
(records) that fal~ within this range of years and places these into
temporary storag8. 5
Referring to Figure 4. the data are sorted into ascending order
of salaries starting with the first block in the temporary storage
area. This is compared with the data in the second block and if the
first is lower chan the second, the first is then compared with the
third, fourth~ etco until the entire used area of the temporary
storage matrix is exhausted.

o

If the second value is lower than the first, the first and
second values are interchanged so that the second value (being lower)
is now in the place of the first and the comparisons above are continued o 'When the first block has been compared with the entire used
matrix it has the lowest value in the used dimension area. The
program then advances to the second block and repeats the entire
process, switching higher and lower values as necessary. The
program continues with the remaining blocks until the used area
is completed. After the s orting the program then does one of the
following:

1.

More than 14 observations:

a.

Determines the 10, 25, 50, 75 and 90 percentile
salaries. This program is flexible so that the
5, 25, 50, 75 and 95 percentiles could be used.

b.

Determines the average salary.

os See Figure

3.

o

to ..

Hs£ec ... y. __ .m_

..

-

Wjf'

q

- 5-

o
2.

Less than

1, but more than 4 observations:
25, 50, 75 salary percentiles.

a.

Determines the

b.

Determines the average salary.

30 Less than five observations:
a.

Determines the average salary.

The starting year is automatically increased by a single year, the
pertinent data internally sele~ted, sorted, and calculated. This entire
procedure is repeated until the upper year of the time interval to be
processed exceeds the last year to be processed.
Sorting Percentile Finder Output

o

It is desireable to maintain the percentile finder output data deck
intact inasmuch as it is used as input for later subprograms. To obtain
input for the cubic equation fitting program, which follows another
short program was written which reads the percentile finder output and
if the input is part of the la, 2" 50, 75, 90 percentile of the group
being run a new card is p~ched. These newly punched cards for each
group are then machine sorted into la, 25, 50, 75, 90 percentiies for
input to the cubic equation fitting program.
Cubic Equation Fitting
The cubic equation fitting subprogram reads the sorted individual
percentile output from the percentile finder and determines the cubic
equati9n of the form below which best fits the data using the GaussJordanb reduction scheme.
Y

=K +

A + Bx2 + Cx3

For each rnoving average group of years, X, the program calculates

6 This is a matrix solving system discussed in several mathematics books;
for instance, on Page 16" Linear Algebra by G. Hadley of the Addison
Wesley Publishing Co., Reading, Masso, 1961. Perhaps one of the

•

clearest may be found as a complete example starting on Page 59 of
the book, Linear Programming and Theo~ of Games (paperback),
A. M. Glicksman, John Wiley & Sons, Inc., 1963 •

;;;"'0 I

- 6 -

o
Y and reports the calculated observed Y values. Finally, the sum of
squares of the deviations is given and the number of weighted
observations (N).
The user selects a minimum number of observation points for a
given year. If this minimum is not reached that year is disregardedo
Any year having more than the minimum number of observation points
is automatically weighted N times where: N = Number of observation points
Minimum number of points
and N is truncated to an integer.
Tabulated Data
Two tables may be printed from the calculated data, one of which
is a typical company survey shown on Table I.
This shows for each year since the Bachelor Degree, the number of
people in the ygar,7 the 10, 25, 50, 75, and 90 percentiles and the
avera.ge salary.
The second table, which we call the Survey List, is shown on Table II
and for each group and for each year compares the actual percentiles and
the least squares percentiles. This ~rovides the analyst with an
opportunity to note the deviations of the actual data from the least
squares data for each year o

o

The Plot
After the raw data have been sorted, merged, percentiles calculated, and equations developed to represent these percentiles,
the results may be presented graphically using the computer and plotter.
It may be helpful to refer to the attached Figure 5 as we go through
the following discussion.
Already the x-axis, years since the Bachelor Degree, has been
decided upon, as has the y-axis, monthly salary in dollars.

,
7 In a moving average survey and a span of one year this is: the actual
number of pe ople in the year. If the span is larger than one year,
the number of persons includes people who are in more than one
calendar year.

8 If the distribution is symmetrical, the 50th percentile will equal the
average salary. Most data sets (years) are skewed; consequently, the
50th percentile frequently differs from the average salar,y.

o

~I
I

I

d

- flnl"

H

- 7-

The x-axis should extend from 0 years up to, say, 45 years. With
the salaries of today we could place lower and upper limits. Inasmuch
as new college technical recruits usually receive in excess of $600
a month, $500 seems a good lower limit. It is possible to have data
points below this arbitrarily selected limit. For instance, a lady
BS chemist returns to work in the technical library as a literature
searcher after an absence of several years and is hired at, say,
$400 a month.
For the upper limit $2000 a month will cover nearly all technical
salaries. However the bright middle-aged chemist who discovers a new
product that becomes the chief source of revenue for the chemical
company may be compensated beyond that level.
Sometimes individual data points are encountered which fall outside
the selected range of $500 to $2000. Obviously these points should
be bypassed and not plotted.

o

Before plotting the percentiles we should bear in mind that the
percentiles will be a pure mathematical fit. Typically, curves are
steep in the early years, ascend less steeply, reach a plateau, and,
in some cases, fall mr slightly in the higher years. We have found
that if the percentile curves start from year 0 the respective
percentiles may be switched; that is, at year 1 or 2 the 10th
percentile may be greater than the 90th percentile. This is
difficult to explain to the personnel TnaJl who usually is not mathematically inclined. For this reason we start plotting the data at
about the 5th or 6th year. Generally, we do not carry the data much
beyond the 25th year.
We have found that not all years will have sufficient data for the
10th and 90th percentiles. Further the true mathematical curve for
these percentiles, when plotted, frequently goes off the page. To
avoid this we stop the plots of the 10th and 90th percentiles far
short of the other percentiles.
Using this same background grid we have the option within the
program of superimposing another set of percentiles which might
represent another industr,r or as indicated on our title note a
previous year 0
The two sets of percentile curves may be used to compare salary
schedules between companies, industries, or the increase of salaries
from year to year Another option wi thin this program is to plot on
the same grid the individual data points; that is, the individual
salaries.
0

o

This serves several useful purposes. First, industry percentile
curves may be plotted vs the individual company percentile curves
follow~d by- the individual salaries of all professionals wi thin that company

- 8 -

o
From this configuration the analyst may observe where there is close
agreement between industry and company schedules and additionally if
this agreement is consistent over the entire range of ageso
Second, this type of plot enables management to observe the age
distribution of employeeso
Third, the detailed plotting of points enables the analyst to
ascertain whether or not the percentile curves are unduly influenced
by a particular age group. For instance, perhaps the company undervJent a maj or expansion 25 years ago and hired more than the usual
quota of starting young engineers. Without the individual plotted
points this aberration would go unnoticed.
The Future
Because of our computer configuration and core storage limitations
the past salary surveys have been run as individual sub-programs requiring
considerable manual card handling and machine sorting.
Each individual piece of data may be used several times, for instance,
a BS may be included in each of the following groups:
Company - BS

o

BS - NS
BS - MS - PH.D.

Industry - BS
BS - MS
BS - 1'18 - PH.D.

Total - BS
BS - MS

BS - MS - PH.D.
Now that our IBM 1620 Model II computer includes a disk drive we
hope that we can eliminate much of tl1e individual manual card handling,
beyond the raw data stage.
Probably we will collect the raw data much the same as we have in
the past, storing same on disks.
At the start of each group the group code number would be used to
select the appropriate raw data and transfer it from disk to core
storage.
For each group of data the five percentiles could be calculated in
a manner similar to the present sub-programs. The output could be

o

IL,'t'wt'rrrwtlt

T-

t

l'I'HdHr+r'rlie'.=.kfN*'b±'tt""I!"f"t'

ttl'

!I'll II"I"!, urt""t£

,

,

t

Itt $ t

t"t tthri""

t

tbiri*rl

- "biz*#"[ ·r _.. .,..". ·""mllJ",,"";

" Un

- 9 -

o

punched on cards primarily for checking purposes and also stored on
another part of the disk.
A precautionary measure is to collect output regularly and periodically so that the operator may know where he is and, in the
unfortunate happenstance of machine failure, all is not lost, but
may be resumed from the point of last output. The percentile output
could be retrieved from the disk storage to become input to the cubic
finder sub-program. Several independent counters would have to be
maintained as data are placed on or recovered from the disk. These
counters become partial input to following programs, for instance,
the weighting factor in cubic equation finder sub-program.
The Company List Program and
executed using as input data from
stored on the disk. The plotting
previously stored on the disk and
programs.

o

the Survey List Program could be
earlier programs that had been
program may be run from data
in series with the other sub-

Lapses in time between successive runs on the plotter may be
sufficiently long to permit drying of the pen. In this case considerable time may be lost in priming the pen for each new chart.
As an ~ternative all the plotter sub-program input which is
already on the disk could be punched on cards and set aside. Sometime later all the charts could be plotted, one directly after the
other.
It is hoped that converting to a disk operation may reduce
operating time for a large job from a number of weeks to a number
of dayso
Finally, we hope to expand our raw data to include additional
parameters from which we may obtain more meaningful statistical
ini ormati on 0
~

o

-?

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

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

---~

o

START

COLLECT AND kEY PUNCH
RAW DATA
SORT RNO GROUP
RAW DATA

rIND PERCENTILES
I

I

10

2S

I

1

I

I

50

I

I

15

,

90

I

J

I

rIND
CUSIC EQUATION

0

CO"PANY LIST
SURVEY/ lIST
PLOT PERCENTILES
RETURN rOR
NEXT GROUP
Dr DATA

_ _---'

~/

'"

CO"PUTER SURVEYOr PRorESSIONAl SALARIES
WILLIA" J. ABNETT
rIGURE 1

ft

o

I

!!I,,'

ts

r

!,

t

r

r

tl

Ittt t

«$$

o

HM

tt

##1s6 #t±rtiWrhtitlttti#

** -

]n'J

_.

r'"

- "nr---

A COMPUTER SURVEY OF PROFESSIONAL SALARIES

1620 USERS GROUP MEETING
SEPTEMBER, 196,

Card Fonnat - Raw Data

Card Column
1 to $

The group code number usually right justified. In these
columns, two columns may be used to identify the effective
date; that is, the year of the raw data. Two digits may
be used to identify the company or group. Obviously, the
code number may be used to sort and/or collate any combination of groups for further processing.

6 to 8

Blank

9, 10

The last two years of the year in which the individual
records his first academic degree.

11 to 18

Blank

19 to 2$

The monthly salary of the individual. with the decimal point
in card column 23.

26 to 29

Blank

30

The degree code:
1.
2.

3.

Bachelor
Master
Doctor

If the survey size is sufficien~ large and a finer stratification
or grouping of individuals is desired, card columns 28 and 29 mq be used
to note individual. disciplines.

F1.gure2

A COMPUTER SURVEY OF PROFESSIONAL SALARIES
1620 USERS GROUP MEETING
SEPl'EMBER, 1965

o

Dimensioned Areas
I.

Read in Raw Data
Year

SalarY

+++ :.+'.+ " + + + +
+ +:.+ + , + + + +

+ + + +

+ + + +
+ + + +
+ + + +
+ + + +

+ + + +
+ + + +

+ ... + +
+ + + +

+ +
+ +
+ +
+ +

+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +

+ + + +
+ + + +

+ + + +

+
+
+
+

+
+
+

+
+.
+ + +
+ + + +
+ + + +

+
+
+

I

Q)

-0

...-i

.g
1d

Q)
(Il

:::;,

...-i

~

+
+
+
+

0

.r

·t

250

II.

Temporary Storage Area
Year
1

+ + + +
+ +, + +
+ + + + .

Salary
+ + + +
+ + + +

.

+ + + +

+ + + + . + +
+ + + +
+ +
+ + + +
+ +
,
+
+ + +
+ +

+ +
+ +
+ +
+ +

~

~

Q)

-0

...-i

~

...-i

.g

Q)
(Il

o@

t

!i

80

Figure 3

I

W""j"""

If!!!

-

-

lIT"

-::

WITn:--

T

A CONPUrrER SURVEY OF PROFESSIONAL SALARIES
1620 USERS GROUP HEETING

o

SEPTEMBSE, 1965

Sorting Procedure
in
Temporary Jtorage Area
Step
Blook;tJ.]

21

I
400

II

(Start)

500

~...

I ~---- r3Q()"1

50~

3~____
4~ 700__

51

800;
300:
t
71 1000

61

,

f--§SlQ--;

r-----IOO _j

:

800;

I

~

r--Too--r

L l~

III

IV

WQ.U

l

L.__JQL~

I

400
:----4QO--- §OO " .. --~QQ_--J
_ 700 ; ..-

r'oo 1

800
~
I 600
I
... ' - - ' - ' - - ' i lOOO.~

!

800
j
500!
. - - . - - - - - -...
; 1000
1

;

o

lEE

Step
Block

V

7L!~
(Finish)

~I 'i~

)

,.JJ()

(Start)
VI

IV!'!

,300_---:

o

Cex

51200
a:

V

/ V/ V

U)

>-

E
.... 1100

/

c
z;

1000

./"

,so

\

:/

o

~

II / /

z

/
PE~

.-25

CENTIlES

~

II '/

900

~

800

;10

/'

700
600

SOD

,I

!t

1)

1-»

2)

2!.

au

YEARS SINCE BACHELORS DEGREE

nGUBB ~

a.

\

'tIl

ItS
~/D

o

"h

"" " er"]["··r" 're

A COMPUTER SURVEY OF PROFESSIONAL SALARIES
1620 USERS GROUP MEETINGS
SEPTEMBER. 1965

o

TAB~E-COMPANY

SURVEY

ACTUAL PERCENTILE AND AVERAGE SALARIES
A COMPUTER SURVEY OF PROFESSIONAL SALARIES
YEARS
SINCE

NUMBER

DEGREE PERSONS

3.5

25

4.5
5.5
6.5
7.5
8.5
9.5
to.5
11.5
12.5
13.5
14.5

30
46

15.5

70

16.5

59

17.5

50
44

18.5
19.5

20.5
21.5
22.5
23.5
24.5
25.5
26.5
27.5
28.5
29.5
30.5
31.5
32.5
33.5
34.5
35.5
36.5

37.5

ACTUAL PERCENTILES
10

25

50

7~

90

700

710

775

842

855

778

•
•

•

54
58
59
69
78
75
75
77
76

37

33
27
29
27
24
25
22
22
18
19
21
21
22
20

•
•

19
19

18
14

1045

1125

1362

TABLE I

•

AVERAGE
SALARY

1666

1717

•

1384

·:'='~;"'.;;';';":i....~.

A COMPUTER SURVEY OF PROFESSIONAL SALARIES
1620 USERS GROUP MEETINGS
SEPTEMBER,· 1965
TABLE-SURVEY LIST

()

ACTUAL AND LEAST SQUARES PERCENTILE SALARIES
A COMPUTER SURVEY OF PROFESSIONAL SALARIES
I

I

!

YEARS
SINCE NUMBER
DEGR!:E PERSONS

10

ACTUAL PERCENTILES
eo
25
75

LEAST SQUARE PERCENTILES
90
!SO
75
25

90

10

855

665

I

3.5
4.5
5.5
6.5
7.5
8.5
9.5
10.5
11.5
12.5
13.5
14.5
15.5
16.5
17.5
18.5
19.5
20.5
21.5
22.5
23.5
24.5
25.5
26.5
27.5
28.5
29.5
30.5
31.5
32.5
33.5
34.5
35.5
36.5

25
30
46
54
58
59
69
78
75
75
77
76
70
59
50
44
37

700

710

775

842

712

760

805

917

•

•
•

0

33

27
29

27
24
25
22
22
J8
19
21

21
22
20
19

19
18

953

1060

1425

1695

1705

TABLE I J

917

1026

1344

1658

•
•
•
1697

_I' '

t

. t··

'IlL"'

!

t

$ d

"'W···y""·"j··Tfj"""(i·-T"F""··PlWlt .

HrtS

INTERACTION IN 2-WAY ANALYSIS OF VARIANCE
WITH SINGLE REPLICATION
Carol, B. and DeLegall, W.
Computer Center
New York Medical College
The availability of standard statistical packages makes it
possible for the user, particularly the layman, to process data
with a seeming ability to extract desired statistical information
from the computer.

This procedure commendable as it is in popularizing

the role of mathematics and probability in the evaluation of data is
frought with danger owing to the lack of sophistication on the part
of the user.

It is not enough to ask for an analysis of variance

with as many factors as there are in the design.

Other questions

must be asked such as, is the data nonorthogonal?

Is it a fixed or

a random design?

Is it mixed?

Are factors nested in other ones?

Is it partially nested and crossed?
the data?
effects?

What assumption can be made about

Can interactions be assumed to be a certain function of main
Answers to these questions distinguish the professional

statistician from the lay user.
In response to the needs of expert handling of such problems,
various supplementary programs are required to support the main body
of packaged procedures available to the user.

An example of this is

a program that can test for interactions in a 2-way design with single
replication with the assumption that interactions can be expressed as
quadratic functions of main effects.

~

This assumption is frequently

reasonable.

~/3

-2We feel a full complement of suen programs would round out the
professional use of computers for analysis of variance as well as
other branches of mathematical statistics.
Attached is a description of a Fortran program to make this
test.

The documentation will be submitted to the 1620 Users Group

Library.

TITLE:

Sum of Squares Due to Interactions
Restricted to Quadratic Functions
of 2 Main Effects, Single Replication.

SUBJECT
CLASSIFICATION:

statistical

AUTHOR:

Bernard Carol and Walter DeLegall

ORGANIZATION:

Computer Center, New York Medical College

DATE:

April 19, 1965

USERS GROUP
MEMBERSHIP CODE:

1359

DIRECT INQUIRIES TO:

walter DeLegall

DESCRIPTION/
PURPOSE:

This program can be very useful in those cases
in a 2-way design with single replication where
one wishes to test for interactions assuming
that interactions can be expressed as quadratic
functions of main effects.

MATHE. METHOD:

The test is:

F=(N-I-J) SSG
SSres
.'1

o

-3-

4C)

Where N=total no. of observations
I=no. of levels in first factor
J=no. of levels in second factor

~ s>z? ("i.j ~ v. _ v. + y )

:t

14

/\

G

=
=

{£,

-

/'J

I' ·

l.

'!
y.~ -J
j~. -

y. =mean of ith level of first factor

o

Y~;=mean

of jth level of second factor
Yij:=observation in cell o f i th level of first factor
and the jth of the second factor.
This statistic is compared to Fl,N-I-J..
computer ..

SSG is calculated on the

SSG is the sum of squares due to the hypothesis that interactions
are zero subject to the restriction of being quadratic functions of main
effects.

•

The computer calculates SSG·

RESTRICTIONS/
RANGE:

N/A

SOURCE LANGUAGE:

Fortran

MACHINE
CONFIGURATION:

1620 Mod. I 20K memory, no special features

EXECUTION TIME:

Unavailable.

...

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

-4PROGRAM
OPERATION:

The program was written to utilize the punched"
output of means from the Harkins Analysis ,of Variance
Program 6.0.014.

~

However, any program which produces

the corrected sums of squares for the first and second
factors, the grand mean, the mean of the ith level of
the first factor and of the jth level of the second
factor and the value of the observation in the cell
of the ith level of the first factor and the jth
level of the second factor for all i and j can be
used to supply the input data.
The computer center program requires that the
values for the grand mean, Y. j , and Yi.

(after

sorting on subscript from right to left) be read

o

in from cards along with the corrected sums of
squares.

The output is printed on typewriter

and is self-explanatory.

The last printed line

is the sum of squares of interaction restricted
to be quadratic functions of main effects.

BIBLIOGRAPHY:

Scheffe, H. Analysis of Variance, Wiley, N.Y., 1958.
Ch. 4.

o

•

DECTRAN
A Decision Table Language Translator

Presented By
Robert P. Bair
Elliott Company
Division of Carrier Corporation
Jeannette, Pennsylvania

o
1620 Users Group
Eastern and Midwestern Joint Meeting
Americana Hotel
New York City
October 7, 1965

•

DECTRAN is an acronym for DECision table TRANs"lator. It
presents a new algorithm for decoding a decision table language
into FORTRAN and extends the instruction repertory of the tableoriented language. Writing a group of decisions as a decision
table is about as easy as creating a flow chart for the same problem. Any similarities or differences between the operations for
different conditions can be easily seen due to the parallel
'structure of a table. Once it is formed, a decision table may be
understood by your boss, your wife, and the crowd at the lunch
table. A decision table program is also easier to revise, and
document.

01

However,tables are two-dimensional, and the FORTRAN output is
one-dimensional with all statements in a single line. Thus, the
main function of DECTRAN is reducing a table to a single list of
instructions.
The advantages of decision tables may be seen by considering
the example in Figure 1. Here, in table form. are the necessary
decisions for the difficult task of distinguishing between elephants,
giraffes, and women. Before I explain this tricky problem, let me
point out the form of the table. It is divided horizontally into
two sections - the conditions and the actions. Each of these are
divided into a stub and entries. The entries are subdivided into
rules, of which this table has three. The function of the
condition statements is to choose the first rule in which all of
the entries are satisfied. The action statements then perform only
those operations which are specified for that rule.

(i

Any blank entries under a rule for some condition are considered
indifferent, or "don't care", and tle rule is determined without
testing that condition. Thus, rule 3 can be satisfied regardless
of the length of the nose.
Three different types of conditional statements are shown in
the example. In the second conditional statement, both quantities
to be considered and the relations between them are all given in
the stub. The entries indicate that for rule 1 the relation must be
true (T or Y) and that for rule 2 the relations must be false (F or N).
Rule 3 is indifferent. This type of statement is called limited entry because the entries are limited to the three possible values:
Yes or True, No or False, and Indifferent.

o

Page 2

o

The other two conditional statements in the example are in the
extended - entry form. The quantities or relations change from one
rule to the next and the values desired for each rule are simply
used as entries. In the first conditional statement, the relation
between the first quantity and the second is fixed, but the second
quantity changes from rule to rule. In the third conditional statement, the only thing in common between the rules is the first quantity,
which must always be in the stub. Its relation to some other quantity
is specified in each entry. In either case, if the relation is true,
the entry involved is satisfied.
All the entries in one rule must be satisfied for that rule to
be chosen. In case of a tie when two rules fit simultaneously, the
one closer to the stub wins. It is assumed that the rules are
written in decreasing frequency of occurance from rule 1 to the
right. The order of conditions is unimportant.

o

The example assumes that out of the entire kingdom, the only
remaining choices for the unknown animal species are giraffe,
elephant, and woman. A much larger table would be required to pick
these three out of all the possible animals. Each rule in the
entries of the conditional statements contains the criteria for one
animal. Following the first rule, if the animal has 4 legs, and a
nose over 36 inches long, and a neck not longer than 40 inches, it
must be an elephant. On the other hand, if it has the same number
of legs, but its nose is not longer than 36 inches and its neck is
over 40, it is labeled a giraffe. But if it has only 2 legs, it
must be a woman. This definition is very liberal, but it is
sufficient when one considers the opposition.
Once a rule has been chosen, all the actions specified for that
rule are executed in order. Only three actions are given here, but
that number could be increased and many other types of operations may
be performed.

•

Having satisfied ourselves that the decisions are sufficient,
the table must now be coded for DECTRA~. Several decisions must be
made about the form of the statement. Separation of the stub from
the entries may be done in two ways - either by starting the entries
in a special location on the card, such as card column 35, or by
putting a special character between the two parts. In order to make
the input format as flexible as possible, I have chosen to use the
latter method and insert a dollar sign ($) at the end of the stub.
The entries could be separated from each other by a specified number
of columns, but again, in the interest of flexibility, I have chosen
to use a comma to allow for different length entries •

Page 3
Condition statements
specifying that they
statement~could also
is unnecessary since

can be distinguished from action statements by
must start with the key work 11 IF" • Replacement
be ident~fied by a starting key word, but this
its unique equal sign serves this purpose.

o.

The mathematical symbols for less than «) and greater than (»
will have to be replaced since they are not included in the FORTRAN
character set. The symbols to be used for these relational operators
are shown in Figure 2. The equal sign must also be replaced by a
symbol so that it may be reserved for replacement statements. After
variable names have been assigned to the quantities involved, our
original table appears as in Figure 3. Figure 4 is the DECTRAN
coding form on which the statements may be coded.
Once the conditional statements are all together in a block, they
must be examined and translated into the most efficient sequence of
FORTRAN IF statements. First, all decisions must be reduced to the
binary ~rue - False form of the limited entry statement, which
involves simplifying all of the extended-entry statements. Figure 5
shows how this is done by making a new statement out of the stub and
each different entry. The new entries are formed so that any Y
result determines a rule, and N results continue the testing.
In this statement, as in most decision tables, it is possible
for the quantities to take values for which none of the entries are
satisfied. If this happens, DECTRAN prints a message and branches to
MONITOR. To form a rule which is satisfied only when all the others
are not, an "else n entry (which consists of an at sign (@) so as to
not be confused with variables) may be used. This rule must be the
last rule in the statement so that it follows the testing of all the
previous entries. Figure 6 shows that an "else" entry causes a rule
of all "Nil entries to be formed in the limited-entry equivalent.
Notice also that an indifferent entry is carried through the
equivalent. An else entry is only to be used with extended-entry
conditional statements. In limited-entry tables, it is just as easy
and more logical to write N instead.
The example, now converted to all limited-entry conditional
statements, appears in Figure 7. There are many different sequences
of instructions which would make these decisions, and some require
more branch points or compares than others. The problem then, is to
determine a sequence of instructions with the fewest number of branch
points, and develop some notation to express this sequence so that
it may be stored. The entries from the conditional statements are
considered by themselves, and Figure 8 shows how these entries are
stored in memory in a matrix.

~

(>

Page 4

o

Two additional areas in memory are required. One is a mask
which has a number of digits equal to the number of conditions.
The second is a copy of the entry table which is modified by the
mask. Initially the mask is set to all zeros. It is compared
digit by digit with one of the rules in the original table, and the
copy entry table is formed. See Figure 9 for the digit that is
placed in the copy as a function of the digits in the mask and
original. If a conflict is encountered, the rule in process in the
copy is marked "non-existent" and it goes on to the next rule.
When the table is finished, the copied table is examined and
the "best" condition to be used in the next compare is found. This
condition is determined by using the following three steps:
Step 1.

Choose that condition with the least number of
indifferent entries.

Step 2.

If step 1 results. in a tie, substitute

o

for I

-1 for N
1 for Y

o

and add each row. Choose the condition whose sum
has the highest absolute value.
Step 3.

If rule 2 results in a tie, choose the first
condition among those tied.

Looking at Figure 8, conditions land 4 are tied at 0 afte~
step 1. They are still tied at 1+11 and 1-11 after step 2, so
step 3 chooses condition 1.
The flow chart in Figure 10 shows the complete process of
generating the notation. The simplest notation is for one conditional
statement and is in the following form:

conditiO))) N
terminal/
terminal

•

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

Page 5
The two terminal points indicate rule numbers or an error code
in the event that some combination of conditions is not given in the
rules. The first terminal is executed if the condition is Yes, the
second if it is No.

4C)

For two conditions, the notation may be in one of two possible
forms:
conditiOn)

conditio)!,

conditiOn;))

terminal

terminal,/N

COnditiOV)

terminal

terminal/

terminal

terminal

IN
N

As the notation is built, the mask is changed, which produces
changes in the copied entry table. Whenever any rule ,of that table
becomes all zero, no further tests are needed and that rule is
chosen by entering its number into the notation. Then the notation
is scanned backwards to find the first condition which has not had
its No result investigated. When no rule fits some combination of
digits in the ma.sk the copied table is non-existent and an error
code is put into the table. If alternatives still exist, the three
steps for determining the next condition are applied, and with the
mask set to 1 in the digit opposite that condition, the copied entry
table is r~formed.

o

o

1
I

page 6

o

When the notation is finally complete, it may be easily converted to a flow chart. starting with the first condition in the
notation, every condition number is a test statement which must have
two different exi~s. Trace the Yes branches until a terminal (rule
number or error) is encountered, then back up, make that condition
negative, and start again. Figure 11 is the completed notation and
flow chart for the example problem. By starting at C. in the flow
chart and tracing all the Y paths, one may work backwards and get
the notation directly.
Dectran has previously stored each of the conditions on disk
so that it can read and punch them ~n the order of the notation.
When this is completed, the action statements for the table are
read.

o

Now that we know how to separate the women from the animals,
we may write actions suitable for each case. Action statements may
also be in either extended or limited entry form, and the three
actions given in the example are all extended-entry because part
of the replacement s·tatement is in the entries. In a limited-entry
action statement the -stub contains a complete sta~ement and the
entries indicate by an "X" those rules for which it is to be done.
The only possible entries are X or blank indicating do this action
or do not do this action for this rule, respectively.
Each action is read, converted to limited-entry form if
necessary, and stored on the disk. A table of entries is built as
it was for the conditional statements. When the first statement of
the next table is read, the present table must be complete and the
decoding of the action statements can begin. The statement number
of the first instruction produced for each rule is the table number
plus the rule number. In table 126, the statement number for rule
8 is 12608. Each rule of the entries table is scanned and wherever
an X appears, the corresponding action is read from the 'disk and
punched. Most actions require no further translation1 however, a
few are new to FORTRAN and must be converted.
All the FORTRAN statement numbers required for the output are
made up of the 3-digit table number and a 2-digit sequence number.
The first statement generated for table nnn will be numbered nnnoo.
A branch to any table, for example GO TO TABLE 34, may be translated
immediately into GO TO 03400. Table numbers 997 through 999 are
reserved for internal use to preceed FORMAT statement numbers and to
enable some statements to be coded out-of-line.

•

To make the la~guage as useful as possible, an iteration statement was desired that is compatible with the table structure. Since

Page 7
the DECTRAN-to-FORTRAN translation is one pass, it was necessary to
invent a statement which could be compiled as it was read. The
result is the following statement:

o

n is the table to be executed after the loop is satisfied. i is
the index which starts at a value of e1 and is incremented by .4.
el through e4 are arithmetic expressions such that i and e4' and e2
and e3 are of the same mode and .r. is a relational operator. The
loop will be continued until e2 .r. e3 is true. As long as this
terminating condition is false, the next statement is executed. The
range of the loop is defined by the following st'atement:
END LOOP m
where m is the table number in which the loop statement appears. If
we now specify that a loop statement must be the first statement in
a table, all locations a~e known as soon as any loop statement is
read. Figure 12 shows how a loop statement is coded into FORTRAN.
Notice that any number of end loop statements could be used, and
that they may appear anywhere· in the program in relation to the loop
statement. Since the terminating condition is tested before the
execution of the loop, it is possible to do the lo~~times, an
option not available in FORTRAN. Because a LOOP statement is not compiled into a FORTRAN DO loop, none of the DO's restrictions need be
enforced. A branch into the range of a loop may be made if the index
and all the parameters are defined. Nesting can become as complicated
as desired and one loop may even end within the range of another.

4C)

Subroutining is a powerful programming technique
that enables
us to branch out of a sequence of statements, execute another set
of instructions, and return. A much more intimite relationship
between the two parts could be achieved if the subroutine where
included in the compilation of the mainline program which calls it.
Then the subroutine could on occasion branch to specific points in
the mainline program instead of returning to the next instruction.
Variables and working storage could be shared more easily, and short
sequences of instruct,ions with many parameters could make practical
subroutines.
Since DECTRAN allows the familiar FORTRAN subroutines and
functions, the word "subroutine" will be reserved for reference to
that FORTRAN statement. The type of internal subroutine described
above will be called an "internal procedure", referring to some set
of tables within the program itself.

o

Page 8
A procedure is called by the following statement.

o

DO TABLE n
where n is the number of the first table in the procedure and must
be ~ 99. The return statement has the following form:
RETURN n

where the number of the first table in the procedure is used again
to differentiate between different procedures. The number of a
procedure's first table is analogous to a subroutine's name. Since
the return statement is identified, two procedures may be merged to
share common statements, or one procedure may be entirely contained
within another, and both still return to the proper point. The
number of return statements is not limited.
A return from an internal procedure is an exception to the
table concept because it branches to a statement within a table
rather than to the.beginning of the table. This is necessary to
return to the next statement following the DO TABLE statement. This
next instruction is given a number and that number is stored on the
disk in a list for the table called. An internal variable of the
form LLLPn is set equal to the number of times this procedure has
been called so far. The return is accomplished by a computed GO TO
instruction using the variable LLLPn and the list of statement
numbers for procedure n that is stored on the disk. The actual
computed GO TO statement is saved for the end of the FORTRAN program
so that all of the references to the procedure will have been found
by the time that it is coded. It is ~ givenAstatement number 998n.
The RETURN n statement is then actually compiled into GO TO 998n.
The return could be greatly simplified if ~ FORTRAN compiler with an
ASSIGN statement, such as KINGSTON FORTRAN II were to be used, or
if DECTRAN were to compile directly into machine language.
If a branch is made to an internal procedure or to one of the
tables within it by a GO TO TABLE command, and a RETURN statement is
subsequently executed, it will return to the same point as it did
the last time it was executed, since the variable LLLPnn can be
changed onlybf a DO TABLE command. If this procedure has not yet
been referenced by a DO TABLE command the variable will be undefined
and trouble will result.

•

Another new statement, a reverse replacement statement with
the keyword MOVE, is allowed because it fits the table structure so
nicely. The statement
MOVE B

* *

2

$

Z, Y

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

Page 9
is equivalent to two ordinary arithmetic statements:
Z

=B * *

2

$

X

Y

=B * *

2

$

, X

o

One other statement is different from its FORTRAN form. In the
FORMAT statement, the format number has been moved so that it can
not be confused with a table number.
FORMAT n

(sl' • • • Sn)

n is the repositioned number, which must be 4 99. It is preceeded
by the number 997 as the statement is rearranged for FORTRAN.
Finally, our original example compiled into FORTRAN is shown in
Figure 13. A block of IF statements, in the same order as that
described by the finished notation, is first. There are some possible
combinations of the conditions that ·the rules do not allow, so an
error trap is provided. Next comes the three actions for each rule.
Note the assignment of statement numbers which assumes that the
example was table number 25.
The advantages of writing decisions in table form can not be
refuted. It is easier to understand, learn, write, and modify
decision tables than the normal sing1e-line-of-instructions program.
As the number of decisions increases, and the flow chart becomes more
unmanageable, the decision table is still clear and precise in its
meaning. Many applications, especially in engineering, are so
complicated as to make direct FORTRAN coding impractical. Now that
a compiler is available to decode decision tables as well as a
complete high-powered language to go with them, any program may take
advantage of the use of decision tables.

10

Appendix A, which follows, contains a formalization of the
language specifications of DECTRAN. Appendix B contains a
description written by Mr. John Moschetti, of a specific engineering
applications problem where DECTRAN is being used.

o

I:
I

I,

DEC TOR ANE XAMP LE

o
(/)

z

ENTRIES

STUB

a

4
.- IF THE NO OF LEGS =
> 36
Y
Cl IF NOSE LENGTH
~ IF NECK LENGTH
'" 40

4
N
> 40

2

(.)

~ ANIMAL IS A
a

IT
6
IT LIVES IN
IT10N
~\JI\I\.Ea

IN

MOT/I\TIOH

INTO

Fe.
Tt-\\S
GON~'TI0N

o
Fig

10

;l. 3(/

DECTRAN

o
NOTATION

FLOWCHART

Cl
C3
C4
Rl

Cl

E

C4
E
R2

I
i

EXAMPLE

/
C3

/
\
C4
C4

R( \1 \2

.

C2

I

I

Cj

C2

/
\
E
R3

R3

E

yl\n
E = error
Fig 11

o·

DECTRAN

COMPILATION

o

= el

(mOO)

GO TO

m02----~

(mal)
~......

(m02)

(m03)

GO TO nOO

o

next
statement

END LOOP m

IGO

TO rnO 1\
Fig 12

0

I

,

t

tiitfr- -

U-PIIPr"T ""T""'

-

"""

-

-I" -g"

--

DECTRAN EXAMPLE
FORTRAN OUTPUT

o
025 0·0
02504
02505
02506
02507
02599

,Q

I F ( NUMLEG - 4 ) 025 0 7, J 025 04 , 025 0 7
IF(LNOSE-36)02506,02506,02505
IF(LNECK-40)02501,02501,02599
IF{LNECK-40)02599,02599,02502
IF(NUMLEG-2)02599,02503,02599
LLLT=025
GO TO 99999
02501 ANIMAL=ELEPHT
FOOO=PEANUT
HOME=INDIA
GO TO 026,00
02502 ANIMAL=GIRAFF
FOOO=HAY
HOME=AFRICA
GO TO 02600
02503 ANIMAL~WOMAN
F'OOO=MARTN I
HOME=PAD
(Table

•

no.

I

s assumed to

be 025)
Fig

13

o.

,0 '

o

I

-

t · ..

o

APPENDIX A

o

•

o

o

FORMAT OF DECTRAN STATEMENTS

o
A DECTRAN coding form appears in Fig. 4.
The first 3 columns contain the table number (unsigned
integer from 0 through 996.)
Column 4 is the card code
* indicates a comment card
any other character except blank, + , - , or zero
indicates a continuation of the last statement.
Columns 5 through 75 contain the statement
Columns 76 through 80 are ignored and may be used for
identification.
The number of continuation cards is not limited, except for the
fo11owi~g restriction: the length of the stub plus the longest
entry of a statement must not exceed 71 columns.
A single dollar sign separates the stub of a statement from its
entries. It may appear anywhere, but it may be convenient to place
it in column 35.

4[)

Each entry is separated from the next by a comma.
may not follow the last entry.

A comma mayor

Blanks are optional anywhere in the statement and may be inserted
where desired for clarity in reading.
The last card of the program must be an end card containing END in
columns 1 through 3 and blanks in columns 4 through 75.
TABLE
A table is a group of related statements that may only be entered
at one point and may not contain more than one block of conditional
statements.
All statements in a table share the same table number, which is
written to the left of the table's first statement. This is the
only possible entry point to the table •

•

..

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

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

""."""',

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

Page 2
A table may start with either action or condition statements. If
action statements are first, they may not have any entries. If no
condition statements follow, it is an "unconditional table".

o

If a loop statement is used, it must be the first statement in the
table, and no more than one such statement per tahte is allowed.
All of the condition statements in a table must appear together in
a block.
All action statements which follow the last condition statemen~ will
be done only for the rules indicated in their entries.
No exit need be specified for an unconditional table.
the next table in the order entered will be executed.
tables must specify an exit for every rule.

If omitted,
All other

The number of rules and conditions in a table are limited 'by the
following restriction: The FORTRAN translation of one table may
not require more than 99 statement numbers. The maximum numbe:r; of
numbers required for a table ofR rules and c conditions is R(c+l) + 1.
(Add 3 if the table starts with a LOOP statement.) The actual number
required will depend on the amount of similarity in the decisions,
and will generally be much less than the maximum.

o

CONDITION STATEMENTS
Three forms are permitted, depending on the division between stub
and entries.

2)

IF

el .r.

where el and e2 are arithmetic expressions of the sarne mode,
and .r. is a relational operator.
In the first form, called limited entry, the condition is complete
in the stub and is answered either yes or no by using the following
entries.

o

Page 3

o

Y or T

Yes

N or F

No

I

or blank

indifferent

The other two forms are called extended entry and use part of the
condition for the entry. For those rules which do not require testing this condition, the entries are blank. Indifference can also
be indicated by an I entry for type 3, but is not allowed in type 2
where it would be taken as a variable.
The relational operator may be any one of the following:

0

.L.

less than

.LE.

less than or equal to

.E.

equal to

.NE.

not equal to

.GE.

greater than or equal to

.G.

greater than

The equal sign is not permitted as a relational operator.
To test one of the four console switches, replace el with the words
"CONSOLE SWITCH", use .E. or .NE. for the relational operator, and
make e2 the switch number. Examples:
IF CONSOLE SWITCH .E. 1 $ Y,N
IF CONSOLE SWITCH

$ .E. 1, .NE. 2,

.E.4

ACTION STATEMENTS

If an action statement preceedes the conditions in a table, it is
executed unconditionally, and may not specify any entries. A dollar
sign following the statement is optional •

•

Page 4
Action statements which follow the conditions must specify with
their entries the alternatives for each rule. This may be done in
two ways:

o

Limited entry - If the statement is complete in the stub, the
entries need only indicate for which rules the action is
to be performed. This is done by using an entry of x in
those rules for which the action is desired, and leaving
all other entries blank. Example:
A=B$,X,

,X,X"

(done only for rules 2, 4, and 5)
Extended entry - If the statement changes slightly for different rules, that part which changes can'be used as an
entry. When no action is desired, the entry is blank.
Example:
A

=$

B ,

, C ,

,

, 2. *E ,

3.

(no action for rules 2, 4, and 5)
A more detailed description of each type ot action statement follows.
The iteration statement is an exception and is under its own heading.

(}I

Arithmetic
Replacement statement
This is the only statement which does not start with a
key word, since it is uniqUely determined by its equal
sign. In the extended entry form, the entries must include
everything to the right of the equal sign. Th'e equal sign
itself must remain in the stub. No checking is done for
mixed mode or any of the other possible faults in arithmetic.
This error detection is left to the FORTRAN compiler.
MOVE

This is a reverse replacement statement. The expression
following the keywork is moved to the variable name
specified in the entry. It is not useful in the limited
entry form since it could be replaced by an ordinary
arithmetic statement. Example:

o

---00

Page 5
MOVE

~

B

* *

2

$

A,

, X,

, D,

Input/Output
If the format number is omitted in a READ statement, a freeformat read subroutine is used. All other statements are copied
directly. Permissahle statements: READ, ACCEPT, ACCEPT TAPE,
PUNCH, PRINT, TYPE, PUNCH TAPE, FIND, FETCH, RECORD. Since
commas are used in these statements, the extended entry form
should not be used when a list is specified. Example:
PRINT
PUNCH

$3, ,4,3

2,A,B,C $ X,X, , X

Control
GO TO TABLE n
Unconditional transfer.
TABLE in stub

Extended entry form has GO TO

PAUSE and STOP

()

Extended entry form does not exist
Internal Procedure
DO TABLE n
Calls an internal procedure which starts at table n.
TABLE must be in the stub for extended entry.

DO

RETURN n
Provides a return for the procedure which started at table

n.
Subprogram
Functions and subroutines are handled the same way as in FORTRAN.
SUBROUTINE and FUNCTION

•

These statements are non-executable and so have no entries •

Page 6
CALL
The extended entry form of this statement should not be
used.

ITERATION STATEMENT

where n = the number of the table to be executed when the loop
is satisfied.
i
el - e4
.r.

= the

index, a variable name

= arithmetic
=

expressions

a relational operator

i and e4' and e2 and e3 must be of the same mode. The index is first
set equal to the starting value e1. Tqe terminating condition,
e2 .r. e3' is tested. If it is true, table n is executed. If it is
false, the next statement is executed.
When a loop statement appears, it must be the first executable statement in a table. Hence, only one loop statement per table is allowed.

o

Shorter forms allowable
If e2 is a single variable name which is the same as the index,
it may be omitted.
If e2 is omitted, and .r. is equal to .G., it may also be omitted.
e4 may be omitted if it is equal to 1.
Examples
LOOP 3, I - A, B**2 .L. 4

,-K

This may be read as "LOOP and tllen go to table 3, for I
starting at A, until B squared is equal to 4, in steps of
-K.

II

LOOP 2, C

=

1, 10, D

o

Page 7

o

This may be read as "LOOP and then go to table 2, for C
starting at 1 and continuing through 10, in steps of D.II
A loop is ended by the following statement:
END LOOP m
Where m is the number of the table which contains the loop
statement. m must be an unsigned integer constant.
Any number of end loop statements may be given for one loop.
The index or any of the parameters of a loop statement may be changed
within the loop.
A branch may be made to any table within a loop if the index and all
parameters are defined.
INTERNAL PROCEDURE

4C)

An internal procedure is referenced by the number of its starting
table. It may be extended over any number of tables, and return at
as many points as desired to the table which called it.
The procedure is called by the following statement:
DO TABLE n
where n is the number of the starting table.
Once the procedure is started, it may branch to any table in the
mainline program, another procedure, or a table within the procedure.
The following statement causes a branch to the statement following
the one which called the procedure:
RETURN n
where n is the number of the starting table.
Any number of return statements may be used.

•

There may be a maximum of 99 procedures in one program, with no more
than 63 references to each one •

Page 8
internal proceaure may be executed by a GO TO TABLE cOIBand, but
a RETURN' n statement must not be attempted until a DO TABLE n statement baa been executed at least onee.

An

0

SPECIFICATION STATEMENTS
DIMENSION, EQUIVALENCE, COlUlu.eI, and DEFINE DISK
No change from the form or position of these statements
from that specified in FORTRAN.

The format number, m, has been moved to the position shown
so that it can not be confused with a table number. m
must be ~ 99. A format statement may appear anywhere in
the program.

o

!

helnrra

. - .. . ,.. wbrt#rit#&fWt #riM W

Hi'

g"!!!n'"

- . ttlW"rrg*l¥Wt'

.

o

APPENDIX B

•

..

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

~=.--

...._._._._.__..

John Moschetti
October 5, ;L965
Appendix B

o

Elliott Company is a Division of Carrier Corporation and a manufacturer of
engineered industrial products. We are specialists in industrial compression,
industrial vacuum, and power recovery. Our major products are air and gas
compressors, steam turbines and related equipment, power recovery equipment,
steam jet ejectors, liquid strainers, marine equipment, and tube tools.
I'm sure many of you recognize that these products requit;e desi-gn of a
mechanical engineering nature. Since we have an IBM 1620 C~mputer as part of
our Engineering Department, we felt that we should use the computer as a design
tool and couple it with the engineer to achieve a higher level of understanding
and to produce the best design possible as output. Today this process of usingthe computer as an aid to design is commonly 'referred to as "Automated Design
Engineering". However, this title is not entirely descriptive because if you
check the possibilities you will find that manufacturing 'considerations should
also be included.
Our aim is to use the computer after the receipt of an order to perform four
major functions. They are: design logic, equation~ and computations, design
checking, and engineering paper work generation. Although we are using the
computer to perform the first three of these functions, we are also interested
in computerizing the paper work generation. Once a design has been established
the engineering paperwork generation begins. The basic information must be
listed, transcribed, sorted, and put in the form required for manufacturing.
The checking and paper generation phases are usually routine repetitive tasks,
and frequently take longer than the original design process •

o

.

Decision tables are a necessary tool to implement this automated system. The
decision table prinCiple is neither particularly new nor revolutionary. As a
concept it is very easy to understand. Its significance lies primarily in its
power to capture design logic, and where practical, in its use as a source
program that can be directly compiled into an object computer program. Our
needs are for a decision table translator that can be used with our 1620 computer.
That i$ why we are developing DECTRAN.
The bibliography presented is just a small portion of the work that has been done
in the area of Decision Tables. At present, a program for a 1401 computer
equipped with magnetic tapes is available from the 1401 library. It is Decision
Logic Translator - 146l-SE-05X. By using the DECTRAN program the advantages of
decision tables will be available to 1620 Users. We believe we have also added
some sophisticated decision table methodology.

o

*

"If'J!tWeroo "w"n If"TTF"lfJ"

r "fT""']

'W j .

BIBLIOGRAPHY

4C)

•

1.

Cantrell, H. C., King, J., and King, F. E. H., "Logic Structure
Tables". Communications of the ACM, 4(June 1961),
272-275.

2.

Dixon, Paul. "Decision Tables and Their Applications".
ters and Automation, April 1964, pp 14-19.

3.

Egler, J. F. itA Procedure for Converting Logic Table Conditions
into an Efficient Sequence of Test Instructions".
Communications of the ACM, 6(September 1963), 510-514.

4.

Grad, Burton. "Tabular Form in Decision Logic".
July, 1961, pp 22-26.

5.

IBM 1401 Decision Logic Translator (1401-SE-05X) Program
Reference Manual. White Plains, New York. IBM Technical
Publications Department.

6.

Kavanagh, T. F. "TABSOL - The Language of Decision Making".
Computers and Automation. September 1961, pp 15-22.

7.

Kirk, H. W. "Use of Decision Tables in Computer Programming".
Communications of the ACM, 8(January 1965), 41-43.

8.

Monta1abano, Michael. Egler's Procedure Refuted.
(Letter to the
Editor). Communications of the ACM, 7 (January, 1964), 1

9.

Press, Laurence I. "Conversion of Decision Tables To Computer
Programs". Communications of the ACM, 8 (June, 1965),
385-390 •

Compu-

Datamation,

o

o

tUb

h1

trw

q

""

!"l

r" "

II'

"sue'

An Open Shop for Engineers
Lawrence E. Wright
Sprague Electric Company
North Adams, Mass.

Two years ago the Electronic Engineering program team
held its first meeting, with at most ten members present.
At that time a seeming paradox was noted by all of the
participants; namely, that electrical engineering is an
extremely fertile field for computer applications, yet
many engineers are passive or even resistant to computerizing
their problems. In the intervening years, during which
the engineering team has grown many-fold, techniques of
circuit analysis, simulation, statistical programs and
computer process control have become widely practiced, and
young men who have had. computer exposure in school are
alleviating the problem of Idck of use. There still
remains, however, the question of convincing older men that
the computer is a useful, even essential, tool of their
trade, and that furthermore they can make use of the machine
with a minimum of re-training. This paper is a progress
report on one attempt to solve this problem, and at the
same time an appeal for advice from those who may be further
along.

o

•

The job of converting men with years of experience in lab
work and hand techniques into computer users is in many ways
more difficult than that of training students in school;
time is hard to find, classroom habits are lost and in many
cases the audience is skeptical rather than eager. However,
we can hardly wait for attrition to bring to the lab what
are to us the manifest advantages of- computers, and it is
impractical to teach prograrnmers engineering. Hence we must
bring the computer to the engineer, and we are le.d to the
concept of an open shop operation. To successfully re-train
engineers three conditions are needed - motivation, involvement and education. The open shop provides the first two,
as well as allowing a man, after he is trained, to experiment
more freely with his problems. That leaves us with finding
a suitable method of education.
We began our open shop training in what might be called the
classical manner - by holding classes for all interested
people (or employees of interested bosses) and dispensing
large doses of Fortran, coding forms and manuals. The result
was a deafening silence! In retrospect I can spot many valid
reasons for the failure of this program. First, it required
time and patience in excess of that which was available.
Secondly, the presentation of the full Fortran language can
be a confusion of rules and exceptions to the beginner.
Thirdly, people were looking at Fortran to find out how to
solve their problems - and all they found were v.Jays to code
the solution once it is known - too much education, too
little motivation and involvement.

-2-

The second go-round was considerably different in approdch,
and far more successful in execution. We began with the
premise that it is necessary and suffiqient to teach only
a basic subset of Fortran, but to teach it thoroughly by
means of example and actual supervised time on the machine
for each student. The large classes were changed to small
workshops, and the examples were chosen to corr~spond, as
much as possible, to real problems faced by th~ particular
group. stress was put 9n flow charting.

o

Because I have not encountered a comparable class schedule
in the literature, or a comparable text arrangement, it
might be worth a few minutes to outline our lesson plan.
We have tried to use four two-hour sessions, held every
other day, as follows:
Day 1:

Arithmetic, expressions, library functions,=' ,GO TO,
IF (

).

Day 2:

Coding Form, Dimension, Subscripts, STOP, PAUSE END.

Day 3:

Machine time to run assigned exercise.
READ, WRITE, PUNCH with I,

Day 4:

}ll,

E, H fQrmats.

Machine time for exercises, procedures and review.

This Fortran subset is enough to solve any problem, and
avoids the confusing parts of the language where possible.
We have found that DO, computed GO TO, etc., can easily
be learned by the student after the basics are well in hand,
and when (and only when) they are motivated by need. After
the class work, the men are urged to piOk a problem of their
own choosing, discuss methods of solution with our staff, then
write their own program. This must be done soon or the class
work becomes useless.
I wish we could report that this approach has led to total
success, but such is not the case. Less than a third of our
students have become programmers in any sens~; however, we
have made gains in computerizing problems formerly done by
hand- or more strongly, not done at all. Areas of engineering
such as capacitor design, production specs and process
controls have been shifted to the computer by the engineers
involved. This gain 1s extremely important and is independent
of whether the engineer has learned enough to do the actual
programming. In fact, we insist as a matter of selfpreservation that our staff program any job that is going to
be a routine long-running 'project, for the engineer will
undoubtedly take on new.problems while we are stuck with
operating, updating and maintaining the program. All in all,
however, the open shop seems to be the best answer to the
question of getting, the jobs to the machine, even if it is
not ideal for getting the solutions through the machine.

o

0

()

o

Recent advances in hardware and software are adding a
new dimension to this discussion. Engineers who have
never used a computer have nonetheless read, or been
told by IBM salesmen of the development of scopes, remote
consoles, time sharing, on-line programming systems and
the other innovations designed to allow closer man-machine
relations. These devices do make it easier to explore
problems and search for solutions, and the engineers are
justifiably excited at the prospect. There is a tendency,
however, for the untrained to claim that all their
difficulties will be mitigated if we can give them a
remote console to play with, especially if it comes
equipped with a Quicktran-type language. The problem,
of course, is that you still have to know how to communicate
your ideas in whatever language is chosen. This becomes
less severe if a language is developed which contains
enough macro instructions or subprograms so 'that the
solution becomes just a question of calling macros. This
should include complex arithm~tic, matrix operations,
statistical formulae and numerical methods as basic, and
flexible programs such as the 1620 ECAP as desirable. This
will allow a neophyte to run any problems that fit into
the .framework -without worrying about programming as we now
think of it. The~e is still no subst~tute, however, for
a logical approach to the problem. The main difficulties
we have encountered have been in getting our men to assimilate
the ideas behind program writing, and in problem analysis.
In these areas, there is still much to be said for drawing
block diagrams and in pre-scanning programs by hand; I have
difficulting envisioning some of our beginners attempting
on-line programming! Our open shop work is admittedly low
in sophistication, but the short delays for punching and
waiting for machine time have not yet impaired this effort.
This is not to say that th~ new techniques are not going to
be of tremendous value to the practicing engineer; but our
experience would seem to indicate that they will not do away
with the need for careful, well-motivated training of the
beginner.
In conclusion, for those who are faced with prodding engineers
to get their problems on the machine, the open shop is a
workable technique. For those who have such a program in
good shape, the rest of us would appreciate your comments •

•

o

o

o

o

SMOLDS

()

SYRACUSE MANAGERIAL ON-LINE DATA SYSTEM

SHARON M. STRATAKOS
Syracuse University Research Corporation
P. O. Box 26

University Station
Syracuse, New York

•

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

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

o

PURPOSE
The SMOLDS programming system is designed to provide the
User-manager with a large bank of data consisting of documents familiar
and useful to him and a language with which he ca:p. rapidly and easily
retrieve, process, and display information from the file while sitting
at the console of the computer.
DATA BASE
The data base consists of a set of documents which may be
identified by name or number and which consist of an arbitrary number of
blocks, each of which contains one item of information and may be identified by name or number. An example might be the typical personnel form
conSisting of blocks of information such as name, address, telephone,
birth date, etc. The number of blocks in a document, the number of characters in a block, and the mode (alphabetic, chronological, integer, or
decimal) of the block contents are completely arbitrary.
The data base has a matrix-like organization in which each
row vector corresponds to a single form and each column vector to a set
of block values; thus each unit of information may be called from the
file according to its unique position within the array.
Rome Air-Development Center Form 77 is currently being used
as the data base for the SMOLDS system. Data are punched from the Form 77,
read in alphabetic format, sequence numbered, and loaded on the disk file.
The form is described to the system by a set of tables which contain block
numbers, lengths, and modes.

()

INTERNAL STRUCTURE
Since the purpose of SMOLDS is to provide the user with a
repertoire of independent but often related commands, certain qualities
are required of the system:
1.

That the operations may be linked in any conceivable
order with any amount of repetition.

2.

That the operations may be used independently only when
needed.

3.

That the reeuUts from one operation may be retained and
made available for use by the others.

4. That a convenient method of adding, deleting, or revising
operations exist.

o

rid

o
MOLDS DATA BASE
_ _ _-1.

~------------------~----~-------------------------------,----- --

~'1

I~!

Form 1

Form

96

I

-1----

o

,..---....,.------- '- - -

1..---

Block
1

Contents df
Block 1

)

Block

'!I

_'- - - - - ,~" - -~-2~

Bl~:---l

.~~7

" Contents of
Block-2

ITEM:
RECORD:
FILE:
DATA BASE:

of

)
"

DEFINITIONS

the contents of a block of a form
the set of blocks constituting a form
a set of records of the same type
the set of all files for the system
STRUCTURE OF MOLDS DATA BASE

•

--I

ITEM

.--

REQUEST FOB PREPARATION OF PURCHASE REQUEST

o

o
-------.-.---------.----'--.~-,------------,--.,..---------.-....,...--,--.

.IGN .... TUR. 0,. D ..UI:CTOR .... T. CHIlEI'"

•_______

.~--

.IClNATU"" 01'"

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

~-.-

. . . .0 .AMO OP O'ROCTORAT. C"'"

It. COORDINATION ROR

0

0

000

•• NOMENCLATU • • • •'U. .TED

•• COMMITTEE ACTIO"

CHIlEI'"

II\ONATUR. 0 .. IENGIN.IUt

TY••O N.M' O' .N.'N •• R _ _ _ _ _ _ _
[ L UT

Dy,·

~Qt04PLI.HED 0 YES D~~ ---r;~ -~;;~-;.-;;;:;;;
0 NO
0 NASA
0 USER 0 OTHER
0 G"~
0 GL,. '0 FACILITIIES
NO

I"

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

------------------- -_·_·--·---1-----------------_·· __ ·_---,---------1
TY"O .AMO O' L"O ••TORY CH...

DYE. 0
AR~A

LABORAT~RY

I

."U'R'MENT NO ,NO •••••••• H 8UP'0.UD

10. FUND. AVAILABLa

0

YE.

0

NOt'~ F'Y

Ie.••••

EOONCO

AVAILABLE

0

OTHER

7. FO.M 77 0....

F'UNDi-- - - - - -,-- ----.--. - - -

0

1
YE-·-·O--N-0--

(Specify)

, • • •RC.O'Ta

~-- CON-;~ACT DELIVERY

FY.
-I-a.-.-~fl---·---

MINIMUM
.._ - - - -------- - - . - - - -.... -

MAXIMUM
--·I-~-------t

-------~···---·-----·-~-I---------.-:..--------I
UNSOLICITED PRO~O.AL
AMOUNT

,e.

'4.

RCk

I •. 'N~~N~A~

17. OPEN aiD
SJYES

DNO

....

I

DYES

DNO

-1-I-S-:-C-0-N·-"-~-T-E-X-T-~71-~-0-.-O-.-V-E-A.-t-R-U-N----71-·-I-.-T-V-p-a-O-F-B-U-Y----------~-----~
DVES

-------~:.-..----------'------..... TITLE

as ..... IORITY

BADe

100".et

.II...

I"

7.,

TA8K NO.

DNO

DVEI!

ONO

DRADC

DAMC

Dol.

1t7. fROM

(Lab)

28. PR

,,0.

ZS. DIR. SER NO.

)(
PltaVloue aDITION.• ARE O • •OL.,.. •

DMIPR

DC80

------...-..,..--···:---'----~-:-----.,.--------------------I

r

o

o

In order to achieve the desired flexibility SMOLDS was
written as a set of independent subroutines sharing a common storage
area and linked by a monitor-type mainline program. Since each subroutine corresponds to a particular command in the repertoire, the order
in which they are executed and the frequency with which they are called
is completely determined by the user. As the need for new or revised
commands arises, they may be added to the system without changing those
already in existence.
Appendix A shows the storage map for the SMOLDS system.
LANGAUGE
The SMOLDS language depends upon the assumption that the user
can make the necessary association between his query and the data base.
For example, consider the manager who is trying to evaluate the expenditure
on computer work during the year 1963. In particular he would like to know
which computer contracts in excess of $50,000 were initiated in 1963, excluding the one entitled "Signals, Processing, and Noise." In order to
describe his query in terms of the data base he must consider:

o

A.

Which form and which blocks contain the information of
interest.

B.

Which criteria must be satisfied by the values in those
blocks.

C.

Which combinations of block values must be satisfied.

Considering the present example, the user determines that the solution
his query may be found in the file of Form 77's and that:

to

1.

Computer contracts have a keyword equal to "COMPUTER" in
Block 1.

2.

Contracts in excess of $50,000 have a value greater than
"50,000" in Block 14.

3.

Contracts initiated in 1963 have a value between "01 JAN 63"
and "31 DEC 63" in Block 7.

4. The contract entitled "Signals, Processing, and Noise" contains
a value equal to that title in Block 22.

5. The contracts in question must have the properties 1, 2,
and 3 but not 4 •

•
~S7

-...

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

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

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

I~
I

o

RETRIEVAL SUBSYSTEM
The object of the retrieval portion of SMOLDS is to extract
and place into some intermediate storage area a ~ubset of forms from the
data base which fulfill certain criteria, and to prov;i.de some convenient
notation by which this subset may be referenced for subsequent processing
or display.
The retrieval language consists of two types of statements
which specify the conditions, either basic or compound, under which a
given form is to be selected from the data base.
The basic condition defines an arithmetic relationship between
an input value and the contents of a block on some form. The SMOLDS command
"KNOWN" is used for specifying basic conditions such as those numbered 1-4
in the previous sample "problem.
r.~~;;~

-----

I

KNOWN

I
!

Label

Form/Block/ReI at ion/Value/

L-___-_-___-___-=--=--=--=--=--=--=--=-____________~__. _.
J

i

".... - . . --.-. . -... - - - - - - - - - - - t

EXAMPLES
KNOWN

AMOUNT

77/l 4/ G/50000./

C
1

\

"

KNOWN

START

77/FOPJII 77 DATE/B/Ol JAN 63/31 DEC 63/

The labels are completely arbitrary although they are usually
selected for their mnemonic value; they may consist of from 1 to 10 alphanumeric characters. The form name or number and block name or number must
be spelled 'exactly as they appear on the source document including spaces
and punctuation. The allowable relationships are equal (E), not equal (NE),
greater than (G), greater than or equal (GE), less than (L), and less than
or equal (LE). The slashes must follow each operand and the entire command
must fit on one typewritten line.
The KNOWN operator causes a search through the data base for
documents which possess the desired property. As such documents are found,
their sequence numbers are recorded in a list which may subsequently be
referenced by the name given it in the label operand. At the completion of
the scan, the list of sequence numbers are written on the disk and the label
and length of the list are recorded in a table whicb resides in the common
storage area of memory.
The compound condition defines a logical relationship between
two conditions, e1 ther basic or compound. The SMOLDS command "DEFINE" is

~l

~:!I

O~

I

t

1"

-

o

o

no""

)TOy!

used for specifying compound conditions similar to number 5 in the
sample problem.

--r-------------------------GENERAL FORM
DEFINE

Label

DEFINE

UNION

._-_._- _. ==.:.:====================================
EXAMPLE
AMOUNT/OR/STARr/

The label has the same properties and performs the same
function as in the KNOWN command. Ll and L2 refer to labels defined in
previous condition statements, either basic or compound. The allowable
relationships are AND, OR, and NOT. The slashes must follow each operand
and the entire command must fit on one typewritten line.

()

The DEFINE operator causes the lists Ll and L2 to be read
from the disk and a new list of document numbers to be generated. The
data base itself is not searched; the presence or absence of a particular
document number in one or both of the lists determines whether it is to
be included in the new list.
. Although only one logical operation may be performed for each
retrieval statement, by repeated use of the KNOWN and DEFINE connnands, conditions of any complexity may be constructed. Appendix B shows a program
for the solution of the sample problem.

PROCESSING SUBSYSTEM
The object of the processing portion of SMOLDS is to provide
the user with a basic set of operations with which to process the results
of previous retrieval operations in preparation for output. While the
retrieval subsystem produces lists of raw data, it is more frequently the
case that the user seeks some function of these raw data; i.e., totals,
averages, ordered lists. On-line processing capabilities enable the user
to achieve the desired result rapidly and accurately, and to by-pass the
time consuming task of outputting lengthy lists of unnecessary data.
The processing language, like the retrieval language,
that the user can make the necessary association between his query
data base. In the case of the processing subsystem, the data base
of lists of documents extracted by previous retrieval operations.
to a particular list by the label assigned to it during retrieval,

•

asswnes
and the
consists
Referring
the user

may process any block of the document.

o

I_G=-;~~aIlle/Label/BlOCkl
EXAMPLE
ORDER/INT/FORM 77 DATE/

.....•

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

The label refers to some list defined in a previous retrieval command, either basic or compound. The block name or number may
refer to any block of the source document, not necessarily the block
which determined the retrieval, but must be spelled correctly. The
slashes are used to separate operands.
The processing operators are divided into two classes depending upon whether they result in a Single value or a list of documents.
Class I operators, which produce a single value, are AVERAGE, TOTAL,
MEDIAN, VARIANCE, MAXIMUM, and MINIMUM. Class II operators are ORDER,
REVERSE ORDER, and PROFILE.
AVERAGE, TOTAL, and VARIANCE operate only on blocks which
contain numeric data. MAXIMUM, MINIMUM, ORDER, and REVERSE ORDER automatically determine the mode of the data to be processed and are capable
of performing alphabetic, numeric, and chronological calculations.

o

DISPLAY SUBSYSTEM
The object of the display portion of SMOLDS is to provide the
user with a set of connnands with which to specify and control the output
of previous retrieval or processing operations. While the display subsystem has not been implemented to date, both tabular and graphic displays
are anticipated.
For the present, the results of processing operations are displayed automatically as a means of verifying their validity. Such results
are not retained in memory and may not be used in subsequent COImnands.
In order to verify the results of retrieval operations, the
user may select either of three output options, COUNT, PRINT, or DISPLAY.

o

guwe u

..

TWIf'

"'t.....

rWl'

"r

,

..

tytn'"(j"":"luWI!j"'

r------·------------- ------------..-.--.-----.----.-------.---.. ---.. ---

"\

o

'--[VruT···

. . . "-"J

pr-'V

.... ·.. d ¥

B#

rrtHrl

ttttbtttf###tt

--'\

I

j

!

rTF'

GENERAL FORM

COUNT/Label/

r---I

-.....- .. ---.--.-.... --- . -- ---·-·----------------·i

EXAMPLE

-----.. -.. ---- . -------.-----..-... .- -- ------ i
I

I
I
I

COUNT/UNION/

I

The label refers to some list defined in a previous retrieval command, either basic or compound, and the slashes separate
operands. The result of COUNT is a single number typed at the console.

,--j

--f

GENERAL FORM

I

I

PRINT/Label/Block/

!
!
1

._---_._-----------_._---------_._-_._j

i

EXAMPLE
PRINT/UNION/PROJECT NO./

o

The block name or number may refer to any block of the
source document regardless of length or mode, but must be spelled correctly. The output medium is the on-line printer.
GENERAL FORM

DISPLAY/Label/
EXAMPLE
DISPLAY/UNION/
The output consists of reproductions in exact format of
each document in the referenced list. The output medium is the on-line
plotter.
UTILITY SUBSYSTEM
The object of the utility subsystem is to enable the user to
delete entries from the label table or to clear the common storage area,

•
'1 / f
0'\ to I

o

reinitialize the system, and begin again.
The DELETE operation provides the former capability.

rGENERAL FOnM

DELETE/Label/
EXAMPLE
DELETE/UNION/
"Label" is any label defined in some previous retrieval operation, either
basic or compound and the slashes separate operands. The label is removed
from the table and the entry made available for future use.
Reinitialization is accomplished with the CLEAR command.
GENERAL FORM

CLEAR

,

r--------------·-·
EXAMPLE

CLEAR
Only the command name is used. The common storage
and the system is reinitialized.

~ea

is set to zeroes

c

triMt

rl"

'C"l""T""

]""

]""JI" HtCff"' "'

'"MM

o
It should be stressed that the present SMOLDS system,
although operable, is as yet incomplete. In addition to the implementation of displ~ capabilities, future versions of SMOLDS
will contain the following:

o

•

1.

Multiple-fonn data bases and interfonn retrieval.

2.

A STORE command for the manual entry of constant
data by the user.

3.

Processing commands for the addition, subtraction,
multiplication, and division of corresponding elements
of two lists.

4.

On-line definition by the user of new operators constructed from a sequence of operators available in the
processing subsystem.

..

...

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

o

APPENDIX A
SUPERVISOR ROUTINES

A11I'l'HMETIC AND I /0 ~UTI~S
....".---------------- -- - 07800-

MAINLINE PBOGRAM
----- 10000 '--,--....,....,.----

IN .. CQRE SUBROUTINES
?-_._--,--_.---,

---13800

----~-

LOCAL SUBROUTJ:NE$

'50500

--~

COMMON STORAGE

~A

o

DISK I/O AREA
-6 0 0 0 0 - - - - - - , - -

S'JX)RAGE LkY-OUT FOR SMOLDS

o

0

APPENDIX B
KNOWN

COMPUTERS

77/0BJECTIVE/E/COMPUTER/

KNOWN

DOLLARS

77/AMOUNT/G/50000./

KNOWN

START

77/7/B/01 JAN 63/31 DEC 63/

KNOWN

NAME

77/22/E/SIGNALS,PROCESSING,AND NOISE/

DEFINE

INT 1

COMPUTERS/AND/OOLLARS/

DEFINE

INT 2

INT l/ANO/START/

DEFINE

RESULT

INT 2/NOT/NAME/

PROCESSING OPERATIONS
DISPLAY OPERATIONS

SOLUTION TO SAMPLE PROBLEM

o

•

o

o

o

'wlf

.

r

(it&H

t t

11'ttt#1

-

_dr·" r"'- IT -

o
SORTING ALGORITHMS AND THEIR USE WITH A 1620 WITH TWO DISK DRIVES

by

Janet E. Allen
Pioneer Hi-Bred Corn Co
1206 Mulberry St.
Des Moines, Iowa 50308

o

1620 Users Group
Eastern & Midwestern Joint Meeting
October 6-8, 1965
New York, N. Y.

•

SORTING ALGORITHMS AND THEIR USE WITH A 1620 WITH TWO DISK DRIVES

o
This discussion represents a preliminary attempt to

defin~

sorting

pro~

cedures and programs making most efficient use of a 20K Model I 1620 with two
disk drives.

It is hoped that this proposal will elicit responses from other

users experienced in such techniques.
A typical program involves reading cards, sorting, and editing, indicating cards in error.

Corrected cards will later be read, to be inserted in

the file in the correct sequence.
and the output punched.
cessing done.

The file is again sorted and processed,

This output may be again sorted, and further pro-

Input to a program such as this is from 4000 to 12,000 cards.

Presently, most of our sorting is done on the mechanical sorter.
of our programs use the 1620-1311 Sort/Merge Program, SM-047.

Some

We feel,

however,that a program not so general and written especially to use two
disk drives would

pr~bably

be more efficient.

It may be that converting

the program SM-047 to use the two disks, thus allowing for longer strings
and merges, would be the best approach.
There are many articles describing various sort algorithms.

The most

thorough and helpful I have found is the papers of the ACM Sort Symposium,
published in the May, 1963, issue of the "Communications of the ACMIt.
and others, are listed at the end of this discussion.

These,

The sort techniques

discussed below are described in the article in that issue nSorting on Computers", by C C. Gotlieb.

In the same issue the article ttSome Character-

istics of Sorting in Computing Systems Using Random Access Storage Devices tt ,
by George U. Hubbard, is very helpful.

As he points out, the use of a random

access device presents considerations different from those using tapes.

o

2

o

Proposed Procedures'
The ideal sort program, of course, is an extremely efficient one, which
is relatively uncomplicated to write, but which runs very fast.
also be fairly easy to interrupt and recover.

It should

This paper is no attempt to

describe the ideal, but a start must be made somewhere.
The usual procedure is to form a key on which to sort, store the entire
record elsewhere, and sort the key only.

Attached to each key is some in·

dication of where the record is stored.

When the records are to be sorted

later, there are thus problems of reading the records from allover the disk.
Sorting the entire record initially, however, leads to storage problems, and
additional seek time on the disk.

Since there may be times when the entire

record file need not be sorted, as at the beginning of our edit routine, we
"Til1 sort the keys only.
As each card is read, the key and tag are formed.

If the key is 20

numeric digits and the address of the record 5, the complete tag is 25 digits,
800 tags per cylinder.

The card is stored in a buffer in storage, which,

when full, is written on disk 2

The tags are stored in another buffer in

storage, which is written on disk 1.
same order as read.

These blocks of data are stored in the

This allows the seek time for the next

overlapped with reading the next card.

cylin~er

to be

Another method might be to distribute

the cards on disk 2 according to the value of the most significant cOlumn(s)
in the key.

This has the advantage of ordering the records and shortening

the key, but creates problems of specifying areas of the disk
for overflow of these areas.

allowing

Since these areas would probablY' be different

cylinders, more seek time would be necessary.

•

ann

Therefore, the cards will be

stored as read .
When all the cards have been read, sorting can begin.

The general

method is to ferm strings--sequenced sets of tags--within each

cyl~nder,

merge

1

I

3

these to form entire sorted cylinders, then merge the cylinders.

In general,

the larger the merge, and the length of the strings, the more efficient the
sort, taking into account the amount of storage both in core and in the cylindero

o

It seems feasible to form strings of a quarter cylinder, thus having a

four-way merge within the cylinder.
To sort each string, either of two methods, or a variation, seems appropriate.

Using the two-way merge (Fig. 1), pairs of keys are examined, with

the smaller placed first in the output buffer.
groups doubling, until the list is sorted.

This is repeated, with the

This method requires n passes,

where the size of the group is 2n , and an output buffer the size of the area
being sorted.

The other method (Fig. 2) is called the pair exchange, in

which each key in the string is compared to the next one.
changed to put the smaller one first.

This results in the· largest key always

being placed at the end, thus requiring one

les~

compare each pass.

of the numbers may decrease the number of passes required.
set when an exchange is made, this can be tested.
made, the sort is complete.

The two are ex-

The order

If an indicator is

o

When no exchanges have been

This method does not require an output area.

These

methods have been selected because they are uncomplicated to program and because
they do not neea large amounts of core storage.
When the strings are formed on each cylinder, the most efficient approach
seems to be first to sort each cylindero

Blocks of each string from the first

cylinder on di sk 1 are read and merged into an output area.

As each input

block is exhausted, the next block is read, until the whole string has been
read.

This is done for all

it is written on disk 2.

strin~on

that

As the output area fills,

This then results in a sequenced cylinder on disk 2.

This is done for all cylinders on disk 1.
cylinders, all on disk 2.

cylin~er.

Now the problem is to merge the

The most obvious solution, and probably the most

efficient, is to merge from disk 2, and write the output on disk 1.

The input

o

4
areas, into which blocks of data are read from disk 2, should be as large as

o

possible, minimizing the number of seek operations.
would be the most efficient.

Probably a two-way merge

One other possibility is to write one cylinder

of data from disk 2 to disk 1, merging this with another cylinder from disk 2
into as large an output area in core as possible, writing this output into
another area on disk 1.

The transfer of data from disk 2 to disk 1 initially,

however, would probably use whatever time would be saved in the seek operations.
This ag$in would depend on the amount of core storage available.
Methods of obtaining the original. records are discussed in the article
mentioned above.
Conclusion
This paper is meant to stimulate discussion of programs and techniques
being employed by other users.

o

It is by no means a thorough analysis of the

subject, but is our first thinking in the area.

Sort programs are fairly

complicated t and it is hoped that, through the Users' Group, we can benefit
from each others' experiences.
References
1.

Got1ieb, C. C.
194-201.

"Sorting on Computers" Communications of the ACM 6(1963) ,

2.

Hubbard, George U. "Some Cha.racteristics of Sorting in Computing Systems
Using Random Access storage Devices" Communications of the ACM 6(1963) ,

248-255.
3.

•

Flores, Ivan "Anal.ysis of Internal Computer .Sorting"
the ACM 1(1961), 41-80 •

Communications of

·...- -... ----.. -.-... -.-.. _.•.________

,.~_.

_'_.M' ___

~_w"."","'"''

~

TWO-WAr. MERGE

15

08

08

08

08

08

15

15

15

08

23

23

23

23

15

35

35

35

30

20

89

70

30

35

23

70--

89

37

37

30

30

70

70

35

37

89

. 89

37

08

08

08

38

56

20

20

53

37

C1

20

20

56

38

56

65

65

65

53

65

53--

53

38

56

68

68-

68

53

65

70

38

68

68

80

80

80

80

89

2nd pass

3rd pass

4th pass

1st pass

15
08
23
35
89
70
.30
37
08
56
20
65
53
68
38
80
Pass 1

~

~

08
15
23
35
70
30
37
08
56
20
65
53
68
38
80
89Fass 2

-

Figure

~

~

08
15
23
35
30
37
08

56

20
65
53
68
38
70
80-

Pass 3

~

1

----- --~

PAIR

EXCHANGE

08
15
23
30
35
08
37
20
56
53
65
.38
68
70-

08
15
23
30
08
35
20
37
53
56
38
65

~

~

0

-----

08
15
23
08
30
20

35
37
53 .
38
56
65

08
15
08
23
20
30
35
37
38
53
56

08
08
15
20
23
30
35
37
38
53

68

0
Pass 4

Pass 5

Figure 2

Pass 6

Pass 7

Pass 8
~71

1

o

PDQ FORTRAN COMPILE AND GO SYSTEM
Karl Dunn, Jr.
Rensselaer Polytechnic Institute
PDQ Fortran has been us.edat'RPI since 1 twas
first available, on a completely open-shop basis.
With the arrival of a 1311, it became desirable to
store the prooessor, object programs, data and subrout1nes on disk, at the same time maintaining as
rapid compilation and running as possible with
enough simplicity for open-shop operating.

The resulting system consists of a self loading
(to diek) deck of about 700 cards, plus five one
and two-card programs used to start a compile-execute

o

job, obtain a punched object deck, store the compiled
portion of an object

pro~ram

in core image on disk,

or rerun a recently compiled or core-image stored
program.

Minimum machine requipements at present

are Model II with special 1nstruction package,
core, one 1311, and card I/O.
of a 1443 are available.

~OK

No options for use

Compile time is .about 10%

faster over 02 compile time due to no waiting for
the 1622 punch.

Load time is about five sec'onde

per hundred cards of object program plus (very
roughly) 2 seconds for each relocatable subroutine
called (disk I/O statements call a special one.)

o

(1)

The compiler itself takes about 3 seconds to load.

o

Execution time is the same as for C2-compiled programs.
Disk FIND takes about 8ms if a physical seek is not
necessary; FETCH and RECORD each take about 35ms on
the average if no physical seek is necessary.

ACCEPT and CONTROL have been eliminated in the
interest of decreased run time.

Switch options during

compile have been deleted so that switches may be
set for the execute phase; a source list including
addresses and symbol table is available with
card.

PRINT

9.

control

will output to the typewriter only the

first 30 lines and will punch the rest.

END, if

executed, instead -of stopping the machine, will
simulate the load key.

FIND, FETCH, and RECORD are

o

used as Fortran lID with two except1ons: List elements
must conform to PDQ limitations and no DEFINE DISK
statement can be used, records always being 1 to 10
variables (and one sector) long.
Input to the system is a source deck p,receded by
a system call card, and if desired a list control card,
and followed by data cards

1t any.

The compiler is

loaded to core in one piece (there is no diagnostic
phase) and as long as no errore are detected, the
object program is stored in the disk wQrking area
in card-image format, one card image to a sector.

(2)

o

;.... -

- n·· .

!

f"

-

tbdH

"Wr·"r·lfT

o

At comPlle end, the loading phase begins,
terminating by leaving the complIed program
fully loaded.

Execution begins immediately at

address U70CO.

If core-image or punched objects

are desired, a PAUSE must be the first executable
statement.

At pause, one of the two-card programs

is used to effect the desired storage.
Rerun can start at the above load phase, or
can be started ei ther by u'sing a prepared rerun
card for core-image objects, or by loading a
punched object deck.
'The system occupies two complete cylinders
plus 25 sectors of disk space which can be reallo-

()

cated by minor changes to the self-loading system
deck.

This deck expects the Monitor I utility

routines to be on the disk.
Plans for the future (for a library version):
(1) Set up segment link statements for overlay.
(2) Detect undefined variables.

(3) New arithmetic routines for extended exponent
range and optional IO-dig1t fixed point numbers.
(4) Versions for 20 and 40K Model I's.
In summary:
statements added: FIND, FETCH, RECORD, REREAD.
Statements whose functions have changed: PRINT, END.
Compiler operating changes: no switch options, list card.
Sta tements deleted': CONTROL, ACCEPT.
(3 )

o

o

w---

o
GENERAL PURPOSE USE OF SORT/MERGE, l620-SM-047

Presented at the
1620 Users Group Meeting
October 1965

New York City

o

Fred A. Hatfield
Systems Analyst

•

Line Material Industries
McGraw-Edison Company
Zanesville, Ohio

o
Sort/Merge (1620-SM-047) is an extremely versatile utility
program. It seems ideally suited to the needs of a 16201311 system operating under Monitor 1 where handfulls of
cards are being processed instead of drawersfull. Our
desire was to use this program to simulate the operation
of an 083 Sorter to create a new deck of cards in the
desired sequence. Our approach was to develop a system
which would read a deck of cards, sort them as specified,
and punch out a new deck identical card for card but in
the desired sequence. It is the purpose of this paper
to pass along some of our findings so that others who
find themselves in the same quandary we were with a
manual in one hand and a deck of cards in the other can
benefit from our experience~
The first problem we recognized was that, as received,
there was no provision for getting the resequenced deck
out of the machine. It will read the cards, sort like·
crazy, then go on to the next job. Part of the versatility of Sort/Merge is that it gives the user complete
freedom after the sorting has occurred. If Phase 4 is
executed, data records are read into core in sorted
order, then placed in the disk output area. While the
record is in core, one has access to it if one wishes
by specifying a trPhase 4 Users Routine". It is by this
means that you can output the record if.you wish.

o

To reach 'our goal of a new deck, we provided a Phase 4
Users Routine (Appendix 1), punched the identi'fying
information in cc 21-33 of Control Card 1, provided
for an outp~t area by cc 15-21 of Control Card 3 and
ordered execution of Phase 4 by a 0 in cc 14 of
Control Card 1 and a 1 in cc 33 of Control Card 3.
The name given to the output program is SRTPCH, taken
from'Sort-Punch. Since the user's programs may not
extend below 18950, we arbitrarily chose 19000 as the
core location for our output routing. Appendix A of
the manual states that the field address of the address
of the record passing through core is 02690. Card 1020
of SRTPCH moves this address to a Punch statement, Card
1030 adds one to it to convert it to an alphameric
address, and Card 1040 punches the record in alphameric
mode. (Columns 3-8 of Control Card 1 identified the
input as being alphameric and an BO-column card long).

o

21'

H

U

IT·h._b···.

o

e

$

tt#»

hrttttrt'"t

t · .. · . .

'$\'itt' It*#»'1 tt&"·"·

'.'#"

"'hiirlirlttrifhiMft# .

.··»"#ri6"»·

.'P .....
'W

By branching to 02836, further processing of the record
is eliminated. Having punched the card, we have reached
our goal. By not returning the record to disk, we will
not be using the output area specified in Control Card 3.
We have chosen to use the address of the input area for
the address of the output area to fulfill what appeared
to be the needs of the system, but yet co prevent possible
damage to something permanent if we had guesfLd wrong
about the operation of the system. This turned out to
be a wise move, as we later found that even though we
prevented the movement of the sorted records to the
output area, the O-RM-RM end-or-file indicator was
moved. The first sector of our input area is destroyed.
To prevent this, a separate output area of at least one
sector would be needed.
Other general information concerning our approach (besides
the 80 cc alphameric records and punched output previously
described) is as follows:
1.

All input is from one deck of cards.

2.

The output will be in ascending sequence.
Because of the colating sequence of
the 1620, numbers come after letters,
not before as they would on an 083
Sorter. We have accepted this even
though we do not care for it.

1"\
~'

3·

The three control cards are read in each time
Sort/Merge is used.
For single purpose, sorting the control
information could be kept on disk. Reading the information each time allows
flexibility plus standard procedure.

4.

Input and output are not blocked.
Thls saves disk storage space and for
our purposes blocking offered no benefits
that we could see.

5.

•

Hash totals were not used.
To keep the system simple and to include
nothing more than necessary, we ignored
hash totals .

-2-

6.

Return to Monitor when done.

7.

So far, straight numeric data is handled in
alphameric form for standard procedure
purposes.

The preceding discussion applies regardless of the disk
area used as specified in Control Card 1. To further
simplify use of the program, we determined that our
needs CQuld be met handily by using the 24-cylinder
Monitor work area for both the input area and the tag
file work area. The only disk storage space permanently required for the system, then, is the resident
space for the five phases of the program plus the
output routine. This philosophy has worked well for
us even though one pass through the Sorter is sometimes
required to "block sort" the file down into bite-size
chunks. For the sorting we do, we can generally handle
from 1500 to 2500 cards in the 24-cylinder work area.
Great care is taken to assure that the 24-cylinder
limit is not exceeded. If it were, the DIM table would
be damaged.
In calculating the space required, the following information
may be helpful: The input records are stored on disk in
the input area in the order in which they are read in.
From the control field information in Control Card 2, the
sorting information is extracted and a "tag" built up;
one field containing all of the sorting information
correctly positioned as to the relative significance
as specified in Control Card 2. To the low order end
of the tag is appended a sequence number which relates
the tag to the correct record in the input file. To
the tag for the first input reco~d would be attached
the sequence number 1, to the second a 2J to the third
a 3, and so on. 1tlhen input has been completed and the
tag file established, the tags are sorted using two
areas, each beginning with a new cylinder and each
large enough to contain the entire tag file. These
two areas are what is known as the tag file work area.
Upon completion of the sorting of the tags, Phase 4
may be entered wherein the records would be located
from the sequence number in the consecutive tags,
moved into core and, in our case, punched out. The

o

•

digit in cc 10 of Control Card 1 specifies the number of
digits in the sequence number which will be appended to
the tag. As a matter of practice, we use 4. We normally
expect more than 1000 cards as a maximum but never 10,000.
A larger number in cc 10 would increase the size the the
tag file work area and lower the limit on the number of
records which could be handled by the 24-cylinder work
area, just as more sorting information would.
The instructions for calculating the space requirements
of the input area and the tag file work area as given in
the manual are quite com~lete. We assume that one additional record in the input file is taken up by the zerorecord mark--record mark end-of-file indicator. Appendix
B gives examples of the' calculations" and the necessary
control cards for two of our applications of Sort/~erge.
Since, in most cases, the input area has been the limiting
factor, the number of data records comes out to be one
les.s than a whole multiple of 20 J 000/160 or 125 which is
the number of 80-column cards which when converted to
two-digit representation, will fit in one cylinder. The
one, of course, is for the zero-record mark-record mark
end-of-file indicator.

()

small point came up during the loading of the five
phases of the program. Care must be taken to insure that
the five phases are aSSigned consecutive DIM numbers.
Once these numbers are known, they should be specified
on the DELET and DLOAD cards (reloading is necessary as
new mod levels arrive) to insure that the programs stay
in Bequence and that you know where they are. We
assigned SORT, SORTI, SORT2, SORT3, and SORT4 to the
five phases. The name and DIM number may be used on
the DLOAD cards but only the DIM number may be used on
the DELET cards. While the name is not used except on
the XEQ SORT card, we like to have all programs identified in the Equivalence table by name.
Anoth~r

Whi'le SM-047 is not a cure-all, it has been a great time
saver for us. Future plans call fo~ using it to up-date
permanent disk files with data recorded by Fortran programs and later used by Fortran programs. Hash totals,
blocking and input editing will be investigateq. To
really get a, feel for what is happening, sort a small
number of records by the simple means I have described,
then dump those portions of the disk and see what it
looks like •

•

-4~79

o
I know of no better way to learn how to make use of a
system as versatile as Sort/Merge. I hope that these
comments will be helpful and that it will put others
on the road to another worthwhile application of the
1620-1311 and Monitor 1. I would be interested in
hearing from others who use the program, so that we
can make better use of it.

o

-5-

o

APPENDIX A

o

Users Output Program Called by Phase 4
Version I
(Punches Cards)
**JOB 5
**5 PS 5
*L 1ST TYPEy1R ITER
*STORE CORE U1AGE
*NAt1E SR TPCH
01010
01020 START
01030
o1Ol~O PUNCH

01050

WACO
B

2836

OENO START

01060
END OF

DORG lc)OOO
TF
PUNCH+6,2690
AM
PUNCH +6,1,10

19000

19000 26 19030 02620
190 12 11 19030 0000 1

19024 39 00000 00400
19036 1~9 02836 00000
19000

ASSEt~BLY.

19048 CORE pas I TIONS REQU IRED

00006 STATEHENTS PROCESSED

OK LOADED SRTPCH 0175 1051770011900019000*
END OF JOB

•

A-I

APPENDIX A
Users Output Program Called by Phase 4
\\~:rs

o

ion 2

t:J:JOB 5
:t:f:S PS 5

"'-L f ST TYPE \'~IR I TEP
*STORE CORE IMAGE
-,'''NAME SR TPCH

01010
01020 START
01030
01010
01020
01030
'01031

01032
01033
01034
01035
01036
01040 PUNCH
01050
01040 RM
01060

DOf'G 19000
TF
PUNC H+6 ,2690
AM
PUNC H+6, 1
')\-+30 ,PUNCH+6
TF
-,'(+ 1 8, 1 60
A~1
TF
,RM
BNC 1 -,'~+36
RCTY

WATY PUNCH+6,,6

026<)0

OOO()l
19138
50160

19152
001nQ
00102

19084 39 1913U 00100
19096 47 19120 00200
19108 39 1913R 00200

BNC2 *+24

WAPT PUNCH+6, ,6
BNC3 *+24

19120
19132
19144
19152
190')0

WACO

87

19000
19000 26 1')138
19012 1 1 1~H 3B
19024 26 1905l~
190]6 1 1 19054
190 1}B 2(., 00000
19060 l.~ 7 19096
19072 34 00000

2836
2,@

DC
DEND START

47 19144 00300
39 00000 00400
49 028~6 ooooa
00002

OJ

0*

END OF ASSEMBLY.
19154 CORE pas I T IONS REr,U IRED
00016 STATEMENTS PROCESSED

OK LOADED SRTPCH 0175 1051770021900oT9000*
END OF JOB

Sense Switch Settings
1
2

3

On to Type
On to Punch Tape
On to Punch Cards

(At least one switch must be on to get any results.)

o
1\-2

'wtrerr

.. nne'··

o
APPENDIX B
Example 1
Sort KvJ"IC Index Cards
These cards are to be sorted by 25 columns, cc 37-61.
DeterGine maximum number of cards and disk sector

a (1 j r

F f: S C: S •

Tlai~

X

=

N

=

size

(25 x 2) + 4 = 54 digits per tag

5000 - 54 = 91 tags per quarter cylinder
54
No. of Records = N~ of Records

4 x 91

Tag File Work Area

364

=2

x N

160
= (No. of
Input Area = (No. of Records + 1) x 20000
Records + 1) x .008

o

= digits per input record
20000 = digits per cylinder
160

No. of
Records

999

1499

1999

ra~ File/. N

3
5
6

~ 2.
75~
4.12
5.5)

(80 cc x 2)

Tag File
Work AreaJ, 2N

Input
Area

6
10
12

12

8

16

Total
14
22
28

If the tag file work area of 10 cylinders were filled,~ the
input area required would be 5 x 364 x .008 = 14.6 or 15
cylinders. This exceeds the 24 cylinders available in
the work area. The number of records which can be sorted
is; therefore, what will fit into a .14-cylinder input
area .

•

o
Fourteen divided by .008 gives 1750 including the
O-RM-RM. The number of KWIC Index Cards which can
be sorted in the Monitor work area is, then, 1749.
To check our calculations,
Tag size

X=
N

=

=

(25 x 2) + 4

=

54 digits per tag

5000 -54 = 91 tags per quarter cylinder
54
1750
= 4.8 or 5 cylinders per tag file
4 x 91

Tag file work area
Input area

=

= 10

cylinders

1750 x 160/20000

Total space required

=

10 + 14

= 14
=

cylinders

24 cylinders

The disk sector address of the input area is
specified in Control Card 3 as 100000, the
beginning of the work area; the disk sector
address of the tag file work area is specified
as 102800, fourteen cylinders higher. The
complete control cards for the application is
as follows:
Control Card 1
cc
Contents

Control Card 2
Contents
cc

Control Card 3
Contents
cc

1
2
3
4
5-8
10
14
20
21-25
30-33
34
38
80

1-4

1~-6

J

1
0
0
0160
4
0
0
19000
0283*
0
0
1

*Unique to our case.
SRTPCH program.

5-7

71, 72
80

0073
050
01
2

100000
0
15-20 100000
0
21
22-27 102800
0
28
0
29
0
30
0
31
0
32

7

33

1.

34

0
0

80

3

35

This is where Monitor loaded the

c
B-2

APPENDIX B
Example 2
Sort Test Cards
This application consists of sorting by columns, 11, 12,
13, 7, 8, 9, 5, 6, 30, 31, 32 in descending order of
significance. Again we wish to determine the maximum
number of cards which can be accommodated by the Monitor
work area and the addresses involved.
In this example, we have four control fields to be
specified in Control Card 2. The most significant field
(last sort) is a three-column field consisting of
cc 11-13. The next to last field to be sorted on is
cc 7-9; the second field is cc 5-6, and the first sort
is to be on cc 30-32. The calculations are as follows,
assuming the maximum number of records to be 9999.

=

Tag size

o

(11 x 2) + 4 = 26 digits per tag

5000 - 26

26

X =

N=

191 tags per quarter cylinder

=

No. of Records = No. of Records
4 x 191
764

Tag File Work Area

=

2 x N

Input Area = (No. of Records + 1) x
(No. of Records + 1) x .008

1.60

20000

=

160 = digits per input record (80 cc x 2)

20000
No. of
Records

1499
1999
2499

•

= digits

Ta~

per cylinder

File z N

Tag File
Work Areal. 2N

Input
Area

4
6
8

12

2

3
4

B-3

16
20

Total

16
22
28

If the tag file work area of 6 cyl~nders ~are filled, the
input area required would be 3 x 764 x .008 = lS.4 or
19 cylinders. This exceeds the 24 cylinders available.
The maximum number of records which can be sorted, then,
is the number which will fit into an IS-cylinder input
area. Eighteen divided by .008 gives 2250 which includes
the O-RM-RM. The number of test cards which can be sorted
in the Monitor work area is 2249. Now to double check.

-0

Tag size = (11 x 2) + 4 = 26 digits per tag
X

N

5000 - 26

=
26
= 42250
x 191

= 191

-- 2.95 or 3 cy 1 inders per tag file

Tag File Work Area
Input Area

tags per quarter cylinder

= 2250

=6

cylinders

x 160/20000

= 18

cylinders

=6 +

= 24

cylinders

Total Space Required

IS

Using a disk sector address of 100000 for the input. (and
output) area, the address of the tag file work area would
be 103600. The three control cards for this application
are as follows:
Control Card 1
cc
contents
1
2
3
4
5-8
10
14
20
21-25
30-33
34
38
80

J

1
0
0
0160
4
0
0
19000
0283*
0
0
1

Control Card 2
contents
cc
1-4
5-7
S-ll
12-14
15-1S
19-21
22-25
26-28
71-72
80

0021
006
0013
006
0009
004
0059
006
04
2

Control Card 3
Contents
cc
1-6
7
15-20
21
22-27
28
29
30
31
32
33
34
35
80

0

100000
0
100000
0
103600
0
0
0
0
0

1
0

0

3

*Unique in our case J the DIM number of SRTPCH our output
program called by Phase 4.

B-4

()

•

ABSTRACT

TITLE

MONITOR I SYSTEM PROGRAM PACKER

AUTHOR

Jack B. Watson, Texas Gulf Sulphur Co.

DESCRIPTION

The MONITOR I PROGRAM PACKER is a Series
of six programs that are designed to pack the cylinders
under Monitor in which programs and/ or data is stored
for greater utilization of the available areas on the
disk pack. There is no reassignment of DIM numbers
or programs which are file protected and/or permanently assigned.

METHOD

The DIM entries are sorted in descending order by
sector length, and then the programs are relocated on
disk beginning with cylinder 25 in the order in which
their DIM entries were sorted. A new Sequential
Program Table is then generated from another sort of
the DIM Table in cylinder order.

RESTRICTIONS

This set of programs was written for a 1620 Monitor I
System which had no modifications to the original
systern layout.

EQUIPMENT

IBM l620-20K, 2 - 1311's, 1443, additional instr.uctions
and indirect addressing.

PROGRAMS

Six prograrns, source language SPS lID; the last program
is a special table dump on the 1443 for verification,
which is optional. All card decks are in system output
format and operate under Supervisor Control.

TIME

Process time for all. p:tograms is approximately onehalf hour .

o

•

#3275

o
INTRODUCTION

The purpose of this report is to describe the function, logic, and operating procedure of this set of programs.
The Monitor I System does not provide a simple or easy method for
maintaining the greatest possible available sectors for storing User- programs
or data.

Over a period of time, program additions and deletions tend to leave

many gaps between the programs or data that Users store under Supervisor
Control.

Depending on the User's applications and requirements, a real problem

can exist if it is necessary to maintain two Monitor disk packs or revert to
loading programs via cards.

This becomes more evident if many of the pro-

grams utilize Call- Links for jobs too large for one program and where available

o

machine time is already at a minimum.
The set of programs described in this report will not eliminate the problem, but will provide Monitor packing ability until there is no significant space
left on the Monitor I 'disk pack for User storage.

o

)IM

o
PROGRAM DESCRIPTION

A

PHASE I

A TRACK MODE DISK DUPLICATOR Program is used
to copy the Monitor I Disk Pack on Drive "0" to another
Disk Pack on Drive" 1".

B

PHASE II

This phase is a DIM TABLE SORT Program which first
will read the DIM Table into core and put the DIM
Number in positions 16-19 of its corresponding DIM
ENTRY and then output the Table to Drive "0" address
200. Next, it will sort the DIM ENTRIES in descending
order by sector count and output the resulting table to
Drive "0" address 00000.

C

PHASE III

This Program will utilize the modified and sorted DIM
Table Entries stored on Drive Ita" by Phase II and the
duplicated Monitor Pack on Drive" 1" to pack the programs stored under Monitor. It first notes the sector
length and address of the program from the sorted DIM
ENTRIES stored on Drive "0", gets the program off
Drive "1", searches an In-Core Availability Table for
the first available space, up dates the original DIM
TABLE on Drive "0" sector address 4800, and then
relocates the program accordingly. No Monitor I
routine is relocated nor is any User program which is
perITlanently assigned or file protected. There is no
restriction on the length of a User's program.

D

PHASE IV

This program sorts the DIM TABLE with its corre:sponding DIM number into cylinder order and outputs
the resulting tq.ble on Drive "0" sector address 00000
as input to Phase V.

E

PHASE V

A new Sequential Program Table is generated utilizing
the DIM Table sort o~ Phase IV and is written over the
previous table from sector address 19801-19880 on
Drive "0". This program completes the packing of the
Monitor I Disk Pack on Drive "0" .

o

•

2

o
F

PHASE VI

This program prints a special formated dump of the
DIM TABLE, EQUIVALENCE TABLE, and Sequential
Program Table on a 1443 on-line printer for verification. This is an optional part of the System and is not
required for Packing the Monitor Disk. It is the only
program utilizing the 1443 Printer. A card output program is optional.

o

o
~70

-

o
PROCEDURE

PHASE I

Use the Phase I program deck to duplicate the Monitor
pack on Drive ItO" to another pack on Drive" 1".

It operates

under Monitor Supervisor, and a Cold Start Card should be used
to load the program.

The program will run about seven ITlinutes.

When the program is loaded, the message "Turn On Write
Address Key" is typed out.

After the Write Address Key has

been turned on, push Start on the 1620 for processing..

The

prograITl will end on a Halt instruction after typing the ITlessage
"Turn Off Write Address, Key.

o

fI

The Write Address Key must

be turned off before entering .Phase II.
PHASE II

The ,Phase II Sort Program should be loaded with a
Cold Start Card.

Phase III, IV, V, and VI can be stacked, in

order., behind ,Phase II in the card reader hopper.

A

11

JOB"

card and an "XEQ" card with a 5 punched in cc 27 are required
header cards preceeding each prograITl.

An "END OF JOB"

card should follow each program.
Phase 1'1 execution tiITle is approxiITlately 8 minutes.
No operator or erro.r ITle ssages are required and the prograITl
ends on a Call EXIT .

•

I~
2

The Phase III program is loaded under

PHASE III

Control at the completion of Phase II.

upervisor

o

Execution time is

approximately five minutes.
Phase III begins execution with the message "SWl on
to Use DIM 1 70".

If Switch 1 is turned on" all programs with

DIM numbers less than 1 70 will not be relocated.

This en-

compasses all Monitor I System Programs since DIM 170 is
the first available to the User.
II

TYPE

If switch 1 is off, the message

DIM NO, XXXX'i is typed out.

You may enter a 4-

digit DIM Number greater than 1 70 where you wish program
packing to begin and press the R-S key for execution.
messages are required.

No other

The program ends with a CALL EXIT

to Monitor Supervisor for loading Phase IV.
PHASE IV

The Phase IV sort program is loaded at the completion
of Phase III.

Execution time is approximately eight minutes.

No operator messages are required; and, upon completion of
the DIM TABLE SORT, control is returned to Monitor Supervisor.
PHASE V

The Phase V Sequential Program Table generator is
loaded under Monitor Supervisor at the cOTIlpletion of Phase IV.
A sequence check is performed on the sorted DIM Table Entries;
and, if the Message "DIM Table Out Of Sector Sequence" is
typed out, return to Phase IV and begin execution from that

()

r--

o

3
point.

Execution time is approximately one minute; and, upon

completion, control is returned to Monitor Supervisor.
PHASE VI

The Phase VI program is loaded by Monitor Supervisor.
Execution begins with the program name being typed out and
then the message "Enter Beginning DIM No., 3 Digits, SW4 ON
IF ERROR" is typed.

A three-digit DIM number must be en-

tered and the program will begin processing from that point.
This is the only program which utilized a 1443 on-line printer.
If an error is made while typing the DIM number, turn switch
4 on and press R-S Key, and the program will start over.
Switch 4 must be turned off to continue.

For four hundred DIM

ENTRIES, execution time is approximately five minutes .

•

ANOTHER DISK PACKER AVAILABLE
The Engineering Computing Laboratory of the University of Wisconsin,
(User 3155) announces that they have in the library a Disk Packet for
~onitor I which requires only one disk drive and which requires about
10 minutes to repack the entire disk.

o

Library number is 1.6.137.

o

c

ti

-

o

THE RIT PRE-COMPILER

by

Frederick R. Henderson
Director, Computer Center
Rochester Institute of Technology
Rochester, New York 14608
(1620 User

#. 1393)

o

Presented at
1620 Users Group Joint Meeting
Americana Hotel, New York, New York
October 8, 1965

•

THE RIT PRE-COMPILER
by Frederick R. Henderson (# 1393)
ABSTRACT

o

Most Fortran Compilers for the IBM 1620 lack adequate
diagnostics for beginning students, and the use of a PreCompiler is recommended. For installations with only 20K
storage, the IBM Pre-C0mpiler is the best that is available,
and it works well with the Fortran with Format Compiler.
Many schools with 20K, however, are now using PDQ
Fortran, or if they have a 1311 Disk, are using Fortran II-D.
Both of these compilers have added language facilities not
available in Fortran with Format, and the IBM Pre-Compiler
prints out too many spurious error messages when used with
PDQ or Fortran II-D. To help our new students in debugging
their programs, we have modified the IBM Pre-Compiler to
make it more useful with PDQ Fortran and Fortran II-D.
There are presently three card versions of the RIT
Pre-Compiler. The first is for use with PDQ Fortran; the
second is for Fortran II-D without a printer; the third is
for Fortran II-D with a 1443 Printer. These are not
completely compatible with their respective compi1ers t but
they are more useful than the IBM Pre-Compiler for
beginning students.
SUMMARY OF CHANGES INCORPORATED IN RIT PRE-COMPILER

o

Changes applicable to PDQ and II-D For~ran
One cont1nuat10n card allowed on 170 and FORMAT statements.
2. Undefined variables in statements like N = N + 1 detected.
3. (I AI!, type FORMAT accepted (also Ii D" for PDQ).
4. \IIF (SENSE SWITCH 9)') accepted.
5. All I(C I, Comment cards printed regardless of switch settings.

1.

Additional Changes under Monitor I (PR-025)
6. I/O statements conta1n~ng impl1ed DO-loops accepted.
7. ·'CALL EXIT" recogn~zed as valid statement.
B. Program called by " t t PCOM Control Card and on completion
of job, branches back to t*Moncal".
9. Program switch 1 only used (ON to print all state-ments).
10. ~,
cards ahead of source deck and all cards after "END
ignored.
.
If

I .•.

*' .

I

Further changes under Monitor I with Printer (PR-033A)
11. All output on pr1nter except ~''t ~ " cards.
12. \' jI:.i Fortran Control Cards printed but not checked.

o

~

I

o

THE RIT PRE-COMPILER
by Frederick R. Henderson (# 1393)
The IBM Pre-Compiler (FO-006) was designed for use with
Fortran with Format on an IBM 1620 with only 20K memory and no
special features. It works well, typing out all statements
in which errors are detected and giving an appropriate error
message. And it is oriented toward the beginning student.
In contrast, most compilers contain limited diagnostics,
and these are oriented toward the experienced programmer. For
example, Fortran II-D intentionally does not detect most
undefined variables; this is a very common error with beginning students. Also most compilers do not type out the
erroneous statements; they merely give a cryptic statement
reference which beginners find difficult to interpret.

o

Many installations with 20K memory are now using PDQ
Fortran, or if they have a 1311 Disk Storage Drive, they are
using Fortran II-D. Both of these compilers have added
language facilities not available in Fortran with Format.
Some of these are useful only to an advanced programmer, but
the provisions for continuation cards, fiA'I and "D' type
format statements, and input/output in matrix form (II-D only}
are of immediate use to beginners. If the IBM Pre-Compiler
is used with these compilers, it prints so many spurious
error messages that the results are of little value in
detecting real errors.
Also the IBM Pre-Compiler fails to detect one very common
beginning error; namely, an undefined variable in a statement
like N N + 1. Since failure to initialize is a very
frequent beginning error, it would be helpful if the PreCompiler could detect this type of mistake.

=

While attending an NSF sponsored Summer r.omputer
Conference at Seton Hall University in June, 1965, the author
undertook the task of modifying the IBM Pre-Compiler and
succeeded in providing for one continuation card on FORMAT,
READ, PRINT, PUNCH, and TYPE statements. If Ad and \' DII
formats, and an dIF (SENSE SWITCH 9)1) instruction were also
included. SUQsequently additional work at the Rochester
Institute of Technology Computer Center resulted in further
improvements and modifications to adapt the program to a
1311 Disk and to a 1443 Printer.

•

There are, therefore three card versions of the RIT
Pre-Compiler: one for PDQ Fortran, one for Fortran II-D
with a Disk only, and one for Fortran II-Dwith a Disk and
a Printer. Details as to the changes incorporated in each
on~ are summarized below.

The principal difficulty encountered in modifying the
IBM Pre-Compiler for PDQ Fortran was the fact that the program
required almost 20K of core; there was, therefore, no place
to put the desired modifications. However, our experience
was that beginning students almost never used all of the
space allotted to the symbol table, and it was felt that we
could recapture perhaps 1,000 cares from the symbol table.
Also it turned out that the cores from 402 to 1207 were used
only to initialize the program the first time it was read
into core so that we could gain 805 cores here by overlaying
the original program. Also we gained 56 cores (enough to
take care of the I' AII format) by elimina ting the '(Clear Beta 11
routine at 14836 since this is not needed for card input.
The first major modification undertaken was to provide
for the processing of one continuation card. To do this it
is necessary to reserve an additional area in which to store
the next card before processing the first card; this storage
is located from 00900 to 01059 with a record mark in 01061.
If a digit in column 6 of the next card indicates that it is
a continuation card, the appropriate changes are then made
in both card images so that they appear to the Pre-Compiler
to be separate cards and are so processed. This was done
instead of trying to combine the two cards into one core
image in order to save core storage space and to avoid
having to re-write the entire Pre-Compiler. The first
card must end with a comma or slash as specified in PDQ
Fortran.
The other major modification for use with PDQ Fortran
was designed to detect an undefined variable in a statement
like A A + 1. Our procedure here is to take the symbol A
(for example) on the left of the equal sign, out of the
symbol table temporarily while the Pre-Compiler is analyzing
the expression on the right of the equal sign and then to
put it back before reading the next card.

o

o

=

Three minor changes were made as follows. To render
the It A" and \\ DH type formats acceptable, these are simply
changed to "I" type in core image and then processed.
Similarly tC IF (SENSE SVfITCH 9)" is handled by changing the
9 toa 1 before it is processed. Finally, all IIC" Comment
cards are printed regardless of switch settings.
If a 1311 Disk is available, there is, of course, no
problem of finding storage space for changes; these can be
put on the disk and called as overlays when needed. This
should make it possible to provide for more than one continuation card if desired. This, however, has not been done;
instead the PDQ version was utilized simply to save programming time.

o
-2-

.~
,I

!

j

I

-

o

It is obviously desirable if possible to put the PreCompiler under Monitor I for Disk operation, and this is
done by substi tuting a Monitor Control Card, ,l'1"'* PCOM H, for
the '~t::r TYPE card which we never used. The Pre-Compiler
is then stored on the disk and called when needed. vvhen
processing of a source program has been completed, instead
of halting, the Pre-Compiler branches back to II Moncal Ii and
\\END of JOB;1 is typed out.
II

Fortran II-D permits the use of Matrix Input/Output
statements, and if the Pre-Compiler is to process such a
statement containing an implied DO-loop, the DO-loop must
be deleted. This is done by first checking all Input/Output
statements for equal signs. If one is found, an overlay is
called in from the disk which converts the original core
image to one of standard form. For example: READ 7,
(A(N), N = 1,9) becomes in core image READ 7, A(l) and is
so processed. This procedure does not check the subscript
to see if it matches the DO index; perhaps this can be
included at a later date. Indirect addressing has been
used in this overlay, but not elsewhere.
Several other minor modifications \'1ere made as follows.
A check for t'CALL EXIT I) is made just before the regular
check for IlCONTINUE\' since both statements begin with "C,1
and have eight letters. In order to operate routinely under
Monitor I, all program switch options except 1 (to print
out all statements) have been eliminated, but these can be
very easily activated again if desired. The statement
'/ENTER SOURCE PROGRAM THEN PUSH START tJ has also been deleted.
Also any ~*ocontrol cards ahead of the source deck and any
cards after the \.1 END") card are simply ignored by the PreCompiler. Lastly, in the event of a check stop, it is
possible to branch manually to 17600, transfer control
back to '(Moncal"', and proceed with the next job.
For installations which have a 1443 Printer in addition
to a 1311 Disk, the program has been modified further to
transfer all output except the Monitor Control Cards from
the typewriter to the Printer. Fortran v. *" Control Cards
ahead of the source program are also printed but not checked
for validity. This version1 of course, operates under the
Printer version of Monitor 1 (PR-033A) instead of the
standard version (PR-025).
(-I

•

One minor drawback has resulted from these modifications;
sometimes the error messages indicated do not seem to make
much sense. This is because in some instances the core image
has been changed before being processed by the Pre-Compiler.
However, it is the original source statement that is printed
out, and usually the error is fairly obvious even though it
isn t exactly the one designated.

-3-

-

, "7iZ7"."'"

A preliminary version of this program was used successfully this past summer in an NSF Summer Institute in Computer
Programming at the Rochester Institute of Technology. The
final version, however, has not yet been extensively tested,
and the author will greatly appreCiate learning of any (tbugs 'l
which develop in actual use.

o

o

o
-4-

AN OPERATING SYsrEM FOR THE
1620/1443 CONFIGURATION

()

Eo J Orlh Jro
W.. Ao Norton
Southern Services, Inco
Birmingham, Alabama
0

j

presented at the
1620 Users Group Meeting
October 5~Bj 1965
Americana Hotel
New York City
ABSTRACT

An operating system has been. designed incorporating c.ertain of the features
of the di3k~o:rientad monitor systemo The operating system permits processing of
a. stacked file consisting of many groups of program-data chained together and requiring no operator intervention between programs
A FORTRAN error message w.ill
abort a run and automatically load the next program.. The operator has complete
control over the operating system through console switches 2 and 3.. Switch 2 up
vrill terminate processing on a job and cause cards to be .passed through the 1622
until the next program is reached.. S'Witch 3 up bypasses the automatic abort
feature on FORTRAN errors.. The system has been implemented in FORTRAN II on a
60K 1620=II/1443~I system at no core cost
The FORTRAN II implementation on a
1620-1 ~~uld cost approximately 200 locationso SPS implementation costs are
variable but small.. Compilation/assembly procedures are not included at present
The operating system is but one aspect of Southern-Services' total approach to
automating routine ~ repetitive work"
0

o

0

0

ENVIRONMENT
The Southern Services Computer Center is a job shop operation for engineering
problem solving" The average problem runs in about 10 minutes on the 1620-11 ..
The ~rkload is heavy~ For instance, during September 1965 computer clock time
amounted to 203 hourso
In such an environment, an operating system has two advantages~
10 Lost machine time between jobs is minimized, and
20 Data handling errors are minimized since all data files
are prepared off-line j away from the pressure of on~line
-deck shuffling
0

SOUTHERN SERVICES OFERATING SYSTEM (SSOS)

•

Requirements for a basic operating system may be summarized as follows:
A. Programming, operation, hardware
10 The output device must provide a file of infinite
length"
}
2 .. Programs must be console switch indep~ndento

:JOI

It is generally desirable to program certain error checking routines into
each programe If catastrophic data errors occur the programmer may initiate
search for an EOJ card at source program level!>
OBJECT-TIME TYPEWRITER MONTIOR

o

Each program will skip a line and type "GO NNNN~n before reading the BOJ
card. The monitor message is completed on normal exit by a repetition of the
program number. An abnormal exit due to any of the three abort procedures is
indicated either by the repeated program number with a flag over the low order
position, or the complete absence of the repeated program number.
MOD IFIC AT IONS TO FORTRAN II
The prime mover in the operating system is a relocatable FCRTRAN II Library
routine called NDJB.. NDJB has two functions~
10 Scan all input cards for an EOJ card, and
2. Allow termination of a run under program controlo
As sho'WIl in the flow chart, NDJB reads a card
NDj i3 (I.)
into the FffiTRAN input buffer. If this _card
is an EOJ card the very next card is assumed
to begin a new programe If it is nqt an EOJ
card and i f the argument is positive control
is returned to the mainline program. If the
-r-~==t----]
T'lp e Irvv\CIiI E 6/J
next card is not an EOJ card and if the arguS\mv\a."i€.
ment is negative, cards are passed through
II ~z.c. LOR-I) h....e'l I
the reader until an EOJ card is encounterede
Once a card has been read into the FCRTRAN input buffer by NDJB the buffer
must be scanned under the appropriate format
The FORTRAN II ACCEPT TAPE routine
has been modified by killing that section which initializes the I/O buffer and
reads a tape record, so that the buffer may be reread by the statement AC'CEPT
TAPE n, Listo The buffer may be reread by as many ACCEPr TAPE statements with
differing formats as necessarye
0

Advantage may be taken of certain features of the 1620-11, thus allowing all
coding required by the operator abort and FORTRAN error message abort procedures
to be squeezed into the 11K subroutine decko The specific features are transmit
floating (FRFAC and TOFAC) and add hardware (no add tables).
IMPLEMENTATION USING SPS III
Certain macros were originally planned to simplity use ofSSas in SPS III.
This has been abandoned for the following- consideratio~s:
I. Relatively few programs are coded in 3PS 1110
2. SPS III assembly procedures would be complicated since all
assemblies would require loading the subroutine deck to
pullout the macros.
3. It is very simple to code the operating _system logic in-line.
AVAilABILrry
Those interested in a detailed description of the operating system may
obtain such by writingfE. J o Orth, Jro, Southern Services, InCa, PO Box 2641,

3

o

,".

t

Of

:t

we ."Ph. i:

o

t,U

"fflff

PENNSYLVANIA TRANSFOmmR DIVISION

11 cGraw-Edis on Canpany

FORTRAN LABEL llJDEXER
by

Lawrence S. Powell

For presentation at the Fall, 1965, 1620 Users Group lJIeettng

October 6 - 8

New

•

Yor~,

New York

FORTRAN LA BEL INDEXER
General Description
A Fortran label in the FLI is a fixed point number, floating point
numbe.r, statement number, or variable. The FLI provides an ordered listing
(sequential and alphabetic) of each label used in a Fortran source program.
The fixed and floating point numbers have the card sequence number of the cards
on which each is used to the right of the label. The·statement numbers or
variables have the card sequence number of one definition to the left of the
label and any other definitions are listed on a separate line designated by
an asterisk (*). All references of a statement number or variable appear to
the right of the label. statement numbers or variables may appear without
eithe-r a definition or a reference.

o

Background and Uses
The three main reasons for the development of the FLI were (a) to
allow detection of inefficiences or non-critical errors in a Fortran program
not detected by a pre-compiler; (b) to serve as an aid in the debugging of
a program; (c) to serve as an aid for modifying or adding to a present program.
A program can be compiled and run without error even though it contains statements that are never referenced or variables that are developed
but not used. Both of these conditions waste core and j_ncrease compilation
time and the second increases execution time. The lack of a reference for a
statement number or a variable points out both conditions at a glance using
the FLI.
The identification of the card location of each statement number
makes following the flow of a program much easier. The identification of each
definition and reference of a variable lets a prograrr~er make sure that the
proper calculation is us~d in conjunction ~ith each use.

()

The FLI, in providing a list of all statement numbers and variables,
shows the programmer what cannot be used in any addit1.on to the program and by
using a listing of the sequenced deck, he can tell what each variable represents
and where it is used.
Some Specifics
The FLI is written for use with lB-I Fortran/Format, PDQ Fortran, and
It will not handle the six character variable of Fortran II. The
FLI can use the card sequence numbers already on the source deck or develop new
sequence numbers and output the new sequenced deck either on the typewriter or
on cards. A provision for large programs that overflow the allotted symbol
table space is provided to break the source deck and output two separate inde~es.
The FLI should handle any program that· can be compiled without overlay on the
users machine and in one case bas processed, on a. 40K machine, a program that
would use 89K if cOr.1piled v.tithout ov-erlay. The FLI takes about 8K of storage
itself with each label taking lO.SN digits where N = number of uses. Arrays are
treated the same as unsubscripted variables.

,PI:Q C4D.

At present, output is either by cards or typewriter but a printer
version should be available soon after the present version. I hope to submit
the FLI to the libra~ in late October or early November.

-0

•

()

•••

_ _ ._ . . . . .

__ • _ _ • _ _ _ _

"o

___

SAi'1PLE PROGRAr.1 FOR FORTRAN LABEL ItlDEXER
o I r'1.ErJ S ION.A( 10 ) , B ( 5, 5 )
1 READ 100,(A(J),J=1,10),AC

0000
0001

... .00.2,,_,1= ~L_5 __
B(l, I )=A( I )"kAC

0003
0004

2

0005
0005

[) 002

nC21 J J=..SQRT (~. ( I )~I, 1\ C)
I F(AC)3,

I\C:=AC~9

L~,C

oG07

L_

0003

DO 5 1= 1,5

. JtC3.~J.J_=: A Lt:.±5. ,) ~1~.2 -'to 0 •. ,9)..1., _.

D 009

0010
0011
;)011.
0013
00 1 L~
0015
Q 016

8(4,1)=0.
5.3.(5,.1.J:::_0 ...
GO TO G

. 3.- PIU.tl I_-rl.DL-I-LI3_Cl.,J.l,_1 ~l.,. 5},.( B L2, I J L I. =I, 5 )
GO TO 1

, ... _. __ "_____h_ll ACT = J\ C-:-L___._______ ",. . _._._. . _____. . .____........ . , _, ..
8(·1,1)=9.
__ .. _ ..Gll_ID._3____ ._._,._. ____ . _. _,_._ __
100 FORr,1AT(11F6.0)

0017

__.,,___ .

0013
0019
0020
0021

. . _1 Ql£OBL1ALlll21_____________.___.__ ..... ___.__. _......
102 FORrAAT(10F8.2)
: ,_ .... ".. ~."_,,.. ,," _ _ .....
E.l.L.N",,-0_ _ _ _.

.. _" EJX __ C_.OliSTADL_. __._._. ___ ._________. __........"....... .
1
0016 0016 0013 0013 0013 0008 0004 0003 0002
__ ..__ .. __________2__________fLQ1.?___ J!JLQ_?_ . . . . . __ ._._ .... .
3
0009
4
0010
'---5~--6 0 i'36oI3-~5«Yi~f'~-(nf69··-- c)'o·os·'' ·o ab3
.
10
0002

.. 0----------------.. ------.-. ---.----.-----.---------.. - -.- . . . - - . . . . -_______£L9 AT J N G
.00000000
t.l0000000
.90000000
_____ . __..2.llQJJ6710

CON ST A NT

E 00
E 01
E 01
E 04_

.

_____ .________.____ .___ ..... _. ,,____

0011 0010
001~5_ _
0016 0007
0 009 _______.___.____________________.____ .. __. . _____ ._______. __.'_"

______SIA T Er·1E t JT r.1Uf'lBE RS
0002
......,_~_OQ05
0013
... __ ._J1Ql_5
0011

0014
1
2
0003
3
0017 0006
4
0006
---5
0008
6
0012
0018
100
0002
0019________1~0~1=_________________________
0020

102

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

0013

VAf11ARLES

0009 0005 0004
0002 _ _---=A-'---_
0007
AC
o0 15 0 00 7 0 0 06 0 0 as 0 00 4 0 002
0015
ACT
.........;...------~--------,-------------,-~.~--~ ...~-.~ ....~--0016
R
001, 0013
_ _ _·---',..O::....::0~11 0010 0009 0005, 0004
0013
0013 'Q013 0011001000090009 00b5-ooCfS-'cfO-04"0004
.~----

........

__ '-.-00-:-2::-----·-J-----"iI.......:(~.......:~....:::.~. ~ 0008 0003
SQRT

0005

-----.. ·.

------3·O~-

Compute r Cente r
RANDOLPH-MACON COLLEGE

o

Ashland, Virginia 23005
PLOT SUBROUTINE FOR PDQ FORTRAN
Richard E. Grove
A paper given before the 1620 Users Group Joint Eastern-Midwestern
Meeting, Americana Hotel,

New York,

October 6,7,8, 1965.

A relocatable subroutine known as P LOT has been added to the RandolphMacon Computer Center PDQ FORTRAN system.

This subroutine allows the

programmer to put arbitrary single alphanumeric characters in any desired
card column for the purposes of generating graphs of one or more variables or
the plotting of "contour maps".

The form of the statement is

DUM = PLOT (ARG)
where DUM is a dummy variable used only because this plot techniques utilizes
the relocatable subroutine device.

The variable on the left of the

= sign (DUM

o

in this case) should not be used in any arithmetic or logical operations since the
subroutine generates no numerical value for this dummy variable.
floating point variable name may be used instead of DUM.

Any vali-d

The argument, ARG,

in the above statement may be any valid floating point constant, floating point
variable, or floating point expression within the restrictions below:
1. When ARG is positive, it should take on numerical values of the form
XXXX. (four digits, the leftmost non-zero, followed by a decimal point).
2. When ARG is positive and of the form specified by (1), two pieces of information are contained within this notation: (a) The two leftmost digits
specify the alphanumeric character which is to be used to plot the point
and the two rightmost digits specify the .card column into which this character is to be placed.
Example 1.

GARB

The character codes are shown in a table below.

= PLOT(4123.)

will place the charact'er A (41 in
tw.o digit alphameric notation)
column 23 of the PLOT output card.

o

,t

---,ou'run

w
-

nT-·) #tbttrHtdt

bri,' tthiltfi

t

*.

M'

ell!

-

--u n!f"wnfRtt

2

o

x = 7678.

Example 2:

Y

~

will place a numeric 6 in card column 78.

PLOT(X)

3. Perhaps the easiest way to use the subroutine is to develop, by appropriate
computation and scaling, the number of the card column as a floating point
integer between 1 and 80 (call this CC), and write

DUM

= PLOT

(CC

+ 4100.)

if an A is desired in the computed card column, CC.
listed with this point of view in mind.

The codes below are

That is, it is assumed the code below

will be added to the floating point variable expressing the desired card column.

Character

Code

Character

Code

+

1000.
1300.
1400.
2000.
2100.
2300.
2400.
3300.
4100.
4200.
4300.
4400.
4500.
4600.
4700.
4800.
4900.
5100.
5200.
5300.
5400.
5500.

0

5600.
5700.
5800.
5900.
6200.
6300.
6400.
6500.
6600.
6700.
6800.
6900.
7000.
7100.
7200.
7300.
7400.
7500.
7600.
7700.
7800.
7900.

$

*

0

/
,
(

=
A

B

C
D

E
F
G
H

I
J
K
L

M
N

P
Q

R
S
T
U
V
W
X
Y
Z
0
1
2
3
4
5
6
7
8
9

Note that several characters may not be used as plotting characters. In particular the period and the right parenthesis are excluded because their twodigit alphanumeric codes begin with zero. The p:rime symbol (I) is excluded
because it plays a special role as described later.

•

4. Since there are eighty colum.ns in a card, numbered from 1 to 80, a request
to put a character in card column zero or in a card colwnn higl).er than 80 is

an error condition.

o

A new error message

P ERR
has been provided (on the typewriter) to indicate the requested card column is
zero or greater than 80.

This invalid request is indicated by the error mes-

sage but is otherwise ignored and processing continues.

5. If the programmer should specify a character code which does not correspond
to a valid character, a WRITE CHECK condition will exist.

6. The programmer may use as many sequential requests for the PLOT subroutine as may be desired to place many characters in the card image.

Of course,

if several requests reference the same card column, only the last character
requested will appear in that card column when the card is punched.
7. After the card image has been developed, the card may be punched using a
negative floating point argument for the PLOT subroutine.
Z

Thus

= PLOT(-l.)

will force the punching of the card image as it then

~xists

in core and will

cause the output area to be cleared to alphameric blanks (zeros in all 160 core
locations) .

407 liSTING OF THE PLOT
A special 407 control board has been wired to allow the listing of 16 columns
of numeric information from one card and 80 columns of plotting characters (or
blanks) from a second card on the same printed line.

96 print positions.

Our 407 (Model E8) has only

It may be- desired that the actual numerical values of the plot-

ted data be listed with the plot.

This may be done by generating a card under the

usual PDQ FORMAT control such that a prime symbol (4,8 punch in the card) appears in card column 1 of the output card and up to 16 positions of numerical information appear in cc 2-17.

For example, you may desire to list an X and Y

value to the left of the plot of the Y value by the following program fragment:

60[(

()

- T '"

"-

Bf!-

4

o

PUNCH 73, X, Y
73

FORMAT (lH 1 , F7. 2, 2X, F7. 2)
In this portion of the program, develop the value of CC,
the card column into which the plotted point associated
with Y is to be plotted.
DUM = PLOT (7600. +CC)
DUM

= PLOT

( -1.)

Two cards will be punched.

The first contains a prime symbol (I) in cc 1

and two seven digit numeric fields separated by two blanks.

The second card

will contain the plot symbol, numeric 6, in its appropriate card column.

The

special 407 plotting control board will cause these two cards to be listed on the
same printed line, perhaps as follows:

6
Since 80 print positions are required for the card generated by the PLOT
subroutine, only 16 positions are available for printing of numeric information
and this must appear only in cc 2 -1 7 of the card in which the prime symbol (I)
appear in cc 1.

The prime symbol in cc 1 is needed for control purposes on

the 407.
The card bearing numeric information should be punched immediately before its as sociated plot card is punched.

There is no requirement that the nu-

meric card be punched; there is no requirement that
for every plot card.

a numeric card be punched

Thus, it would be possible to give the numeric value for,

say, eve ry tenth point plotted.

The listing of the 1620/1710 SPS uncondensed object deck for this subroutine is shown on the next page.

Full instructions for inco rporating the

condensed object deck into the PDQ processor are contained in the documentation

•

from the Users Group Library .

o

0500
05000
05012
05024
05036
05048
05060
05072
05084
05096
05108
0511
05110
05122
05134
05146
05158
05170
05182
05194
05206
05218
05230
05232
05232
05244
05256
05258
05259
05419
05133
05023

M4
L9
JO
J6
16
J2
J1
J4
M7
42

05110
05259
05054
05023
00000
05054
05023
05023
05048
00000

19809
004-0
-5417
000-0
-0000
000-5
000--1
00012
01200
00000

JO
32
32
14
M6
14
M7
13
K1
K6
42

05133
19802
19804
19805
05232
19805
05232
19805
05133
0513l
00000

-5257
00000
00000
OOOQO
01100
000-1
01300
000-2
00099
19803
00000

PUT
A

34 00000 00102
L9 05419 00100
42 00000 00000

ERR

00080
00006
00000
00000

B

AGAIN

DORG
BNF
WACO
TFM
TFM
TFM
SM
AM
CM
BNE
BB
OORG
TFM
SF
SF
eM
BP
CM
BN

MM

5000
PUT,19809,0
OUT,,010
*+30,OUT+158,017
COUNT,0,010
,,7
*-6.5,010
COUNT,I,OlO
COUNT,32,010
AGAIN"O
*-9
Loe,OUT-2,017
19802
19804
19805,80,10
ERR'tO
19805,1,10
ERR"O
19805,2,10
loe,99,0
lOC,19803,06

0

A
TF
BB
OORG *-9
RCTY
WATY ME.5S1"O

Be

OUT
MESS1
loe
COUNT

DORG
OAS
OAe
OS

OS

*-9
80
6,P ERR'
,A+11
,B+11

OEND

o

o
EDIT LIBRARY SUBROUTINE FOR SPS II-D
by
Robert P. Bair
Freas-Rooke Computing Center
Bucknell University
Lewisburg, Pennsylvania
October 4, 1965

o

1620 Users Group
Eastern-Midwestern Joint Conference
Americana Hotel
New York City, New York
October 8, 1965

•
31/

Editing numbers in preparation for output is necessarv in spswritten programs to (1) convert numeric fields to alpha.
-:, (2)
make the numbers meaningful by inserting decimal points,
us signs
for negative numbers, and dollar signs, and (3) to make l_c 4uabers
easier to read by inserting commas, dashes, or other punctuation.
and eliminating unnecessary leading zeros. Any of these operations
may be done by a small routine within a program, but this EDIT sub-routin.e performs a mixture of any of these features with the least
possible effort on the part of the programaer.

~

In programs where the cards have to be read alphamerically, the
data that does not enter into any calculations can be left alphaaeric,
while other fields such as prices or quantities must be striped to
numeric for processing. This subroutine accommodates both modes aad
is able to edit nUJllbers stored either numerically or alphamerically.
The desired options are specified by forming an alphameric mask
which contains all the punctuation that the result is to have, and i.
blank waere the digits from the input are to be fil14ld. An example
of a mask, with its input and output, appears in Pigure 1.
Dollar signs are handled differently taan the other characters
because they aave two special requirements. (1) They are desired
in the same numbers at dif,fereat times, such as at the top of a
page and in totals. (2) The position of a dollar sign is not
fixed since it depends on the length of the number. This edit reutine
will place a dollar sigB in the output only if the low-order digit
of the mask being used is flagged. This flag can be set when a new
page of output begins or totals are listed, and cleared after every
output inst'ruction. One, mask can then be used exclusively, and the
dollar sign does not need to be specified as a character in the mask.

c

It is assumed that a minus sigD would always be desir.d to
indicate a negative number, and so it is produced automatically,
independent of the mask, and placed to the right of the output.
This again makes the mask easier to construct and use. The minus
sign is suppressed for a negative zero.
Two new OP codes, EDTH and EDT~, ar.e defined to refer to tals
routine and indicate nUllleric or alphameric input, respectively. The
macro-instruction must have three operands which give the field
addresses of the mask, input, and output in that order. An example
is shown in Figure 2.

o

Page 2

o

o

The mask should be formed by a DSAC statement so that the label
is assigned to the low-order digit of the mask. A flag over the highorder zone digit defines its length. The edit routine fills the
digits from the input field into the output area whenever a blank is
in the corresponding digit of the mask, and copies punctuation in the
mask that it passes. If a zero is sUbstituted for a blank in the mask,
and if the left-most digit transferred to the output corresponds with
this zero, all consecutive non-blank characters, including other zeros,
in the mask to the left of that point will be included in the output.
When a blank is reached in the mask to the left, transmission of
characters stops. If the left-most digit in the number corresponds
with a blank in the mask, transmission stops immediately. No blanks
are inserted in the output. If the number of blanks and zeros in the
mask is greater than the number of digits used from the input field,
the unused blanks in the mask have no effect. If the number of
blanks and zeros in the mask are fewer than the number of digits to
be used from the input, the excess high-order digits of the input are
truncated and not included in the output.
The program was written for a subroutine number of 18 (first subroutine added to SPS library), and an SPS subroutine set number of 02
(variable length). The listing shows how a subroutine with two entry
points maybe assembled into the Monitor system. To change the
subroutine to some other number n, in set s, do the following:
Define EDTN as OP CODE n.
Define EDTA as OP CODE n + 1.
Change the ID NUMBER to 130 - 30 s + n.
(130 - 30 s is the base number).
Change the operand in the DENDstatement to s n 2.
This subroutine can be used with dates, page numbers, inventory
numbers, quantities, and costs. It is no harder to get a good-looking report than a sloppy one, but it makes a difference to the man
who has to read it. Use EDTN in place ofa transmit numeric fill,
and EDTA instead of a transmit field for clear reading results •

•
313

~~FR

EAS:"ROOK ECOMPUT I NGC ENTER--S-U C-KN-E-CL UN i-VE-RSIT-Y-

1_ _ _ _ _ _ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

------t:.-EWI-~S-B-URG-;---P A. -----PA-GEOOl

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- - - - - - - - - - - - - _ _ _ _ _ _ _ _ _ _ _ _ _ _

_____________________

_ _ _ _ _ _ _ _ _ __

1_-11:o..=..Jo..=:;,.,:B:.--_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
ZZXEQ SPSL IB

I

*D EFIN E .QP-~ gi~---i&.i-

III

-- ----------------~ ------------- ---- - - - - - --------------~--~-O

EDTA-191
*L 1ST OP Coo"E-------------------------------

I

------------ ------ ---------,--------------- --- -------------------------- - - - - - -----------------------

*ENDLIB
ZZDUP
*DELETEDTN
l-zlSp S -------------_!N AM,E_ED_Lti______ _
*10 NUMBER 0088
*LIBR
*ASSEMBLE RELOCATABLE
*STORf RELOADABLE
*LIST PRINTER
~QLQ** * * * *** * * * ** * * * * * * * * * * * * * * * *-* ** * * * ~ ** * * ** * ** * * * * * * * * * * * * ** *."~ ** ~~*."*."-* * *
00020*
AN EDIT SUBROUTINE FOR SPS II-D
00030*
00040*
J)Jll)~Q~ _____ _
ROBERT P. BAIR
00060*
BUCKNELL UNIVERSITY
-.JLQ-QI_Q~______________ __
LEWISBURG. PA.
17837
00080*
MAY 1, 1965
00090*
..
..--..
.
....-.-.-. - .. --.-.-.-.--.-----00100*******************-***************************************************
00110*
______________
___ ___ _____ ___________ _
00120*
REQUIRED HEADER
001300RIG DSA EDTNtEDTA ------- '~oi4o------b6RGORi"G":4 ,---------- ---!

I

1 ___

.. '.'..

.

~~-

..

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

-.-~---

..

-~.-

,0

.--._.-

I

I

I

00150*
00160EDTN
00170
00180*
00190EDTA
00200*
00210GET
00220
00230
00240

AM
TF
TF
AM

00250

-IF

TFM DECR

,10, I NPUT I S N-UME"Ric-----

,1

B_L____ ~ET ___________________________________________________________________________________

TFM DEC--"----'---R--'---_

00260
SM
00270
TF
00280*
00290
AM
00300
5
00310
TFM
00320FIND AM
00330
S
00340
BNF
00350
A
00360
SM
00370BLANKSBD
00380
SM:
00390 .
A
-00400
B7
00410*
00420SI~~ -, eM

"GET ADDR o.F 1ST DSA IN LINKAGE
,-ADDR
,
,SET ADDRESS OF MASK
SMASK_~_AS ~_______
, _____~SAY,l;c--~D DR E S~__QL~M.A--=S----'K~_____,_____----ADDR
,10
,
,GETADDR OF 3RD DSA IN LINKA~E
OUT
'.SFT
ADDRESS~_~E~O~U~T~P~U~T_A~R~E~A~_ _ _~_ _
.-ADOR
,•
,5
ADDR
,~ETADOR OF iND- DSA IN LINKAGE
,
,-ADDR
,SET ADDRESS OF INPUT AREA
IN

ADDR
MASK

IN
IN
D
D

IN
FIND
IN
IN
SIGN
D

IN
BLANKS
0

,4

,10
,DECR
,1
,1
,-DEeR.
',-IN

,DEeR

,'1-'

,
,

lSET IN TO. lo.NE DIGIT
,D = NO. o.FDIGI IS IN. INPUT
,COUNT. DIGITS
,FIND FLAG AT END OF F~ELD

t'END OF INPuT FIELD

,1
,DEeR

,
,

,GOTa NEXT- IN:PUrDIGIT

,0 -

,10

,DONT CHEeK fOR: SIGN IF ZERO

,

,-IN

,SUBT NO.

dF~PRECEEOIN'G,

ZEROS

3

r-----"'0L->,O'-=4r:....3.....0'-'--_---'--'-'B'--'-E~.-Q__
"_+l.T-~--------"-----_-~~--,-.;..-~..,.::..,__..___,_.___---'-.:..-------'-'-'-'-...c:~'-4
...
1~~p!o.J-

00440

TFIN'

,-ADDR,: t RESET- IN

__-, -----__

-_.-

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

FREAS-ROOKE COMPUTING CENTER
Q0450

CM

-,=-04-"-4~- ,- , ,-g

---_._-_.-

"

,10

DECR

- - ,~: :c;:.~-,- - _~- -,-~- ,- -M_

---

LEWISBURG, PA.

BUCKNELL UNIVERSITY

,IS INPUI ALPHA OR

PAGE 002

N~RI~

__
. __ ._ .!J_. __________ .
'.
, rEST _F08 NEG ALPHA _INPUT
00480
TO FIELD
,-IN
__0=...c0::.-4-'----'9"-'O~___C=.:. M-'-- F I. ~l-_P_._ __ _.,.17
. ,10.
-----_ __
,
,
,B IF NUMBER IS POSITIVE
00500
BE GETIN
,
,2
,NEGATIVE INPUT~ SET -_ _S~IG~N~__________
00510NEG
AM OUT
. ,10 ,SET MINUS SIGN
,20
00520
TFM -OUT
__
00..::.....5=--3::;-0~·_ _----=SM
q~I._____ ___ ' __2____.__._------_____.__ ._
00540
B7 GETIN
__
0_0",-55,,-0_N_,U_M___B_N_F_9~L[~. __ . ____ '::-_ t"i _____._ .__,____ _ , TJ:_SJ FOR NEG _NUMER I C UN~_~_I __.__._.
00560
B7 NEG
,
,
,8 IF NEG TO SET SIGN
005-70*
i
00580GETIN TF IN
,-ADDR,
,RESET INPUT ADDRESS
_------=-O~O=.5~9=..0_ _-----'T OM Z E_R Q ________ .!.Q ________ __ .___ L._ . __ ,S_t;:_T___ LNJ2J_~A _LQR __ . __ ._._.___ .________________.___ ._._. ___ ._.
00600
TOM ENDM,O
,
,CLEAR INDICATOR
__ 006 1 0 *
.__ ...._. ____8 ~P..~A_ T . . ~ 0_01'___ II___1JM_ES .
__.____ .__ .__________ ._____ . ____ . . _____________.__.___ .____ . .
00620REPFT CM 0
,0
,10
.
00630
BNP QUIT
- - - - - - - - - - - - - - - - - - - - _ .__._--_.
,1
,10
_q---,--.

..

._._-----

~
I

gg~:gNODIG ~_~_gSI_GN

t

00660*
00670
00680
00690
00700

I

I

.__ JJt
CF
SM
TO

t'---d~~~

F_I ELD+ l,:::.MA.SK
FIELD+1 ,
~ASK _ . __,~l~__
FIELD
,-MASK
,1
---~~F~~-~;-~M
,FIELD
. ,1
TDM ENDM

00730
:--------6-0-740--------C F- ·--F iE LD
i

00750TESTM
00760
00770
i-00780
00790
-----=00800
00810
00820
00830USE
00840
00850
00860
00870DIGIT
00880
00890
00900
I

I

l

,

~.~t':JDM

_

I

00910

00920SIN
00930

00940*
00950QUIT
00960*

,
,
'.

,

,IGNORE FLAGS

.

,PUT ALPHA CHAR INTO FIELD
, ADv A~ C_E __LQ __.N~ x T___ ~ttAJ<_. __Lri__ M_A S K
,TESTS FOR END OF MASK
~S~I_JN.Q l~ATOR. ....__________._. ________ .__

TDM
CM
BE
CM
BP
BN
TDM
B7
SF
IF

ZERO,1
"CLEAR INDICATOR
FIELD+1 ,700
,9
,TEST FOR BLANK IN MASK
O.1_GIT ______.______.___._______ .___._._. _._ . _._______ .__._.___ ._._. _ ._.__ . . ______ ._ ..._._. __ ._._______ .__ . _.
FIELD+1 ,770
,9
,TEST FOR ZERO IN MASK
DIGIT
-_._-_.---_... _---------_._-_._----_._---_ .. __ . --------- -._--_.- .--_._-.__ ._._---------------- ... _.USE
,
,0
,ZERO IN MASK. SET INDICATOR
ZERO
DIGIT
FJ.f_LQ______ .. ________ ._._________________.__._.__ .___. _._. ___.________ . . _. __. _. ____
-OUI
,FIELO+l,
,USE CHAR FROM MASK

SM

OUI__._ _ .t2-.

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

...:........------------_.- -

B7 NODIG
BNR *+20
,-IN
,
,TEST FOR RECORD MARK IN -INPUT
B7
SIN
,
, ' , I GNORE RECORD MAR KS
I D F l£LD_ _~,_-___I_'__"N'_____ __Z.,____Z.,__""G~E'_.LT___""'_D_"_I_""G~I-'-T_ FROrvi ~tiP~T __ AR EA_·___._ _._____
TF -'OUT
,FIELD
"
,PUT FILLED NUM.BER· IN 'OUTPUT
SM O~I______~,~2__________~___
S
IN
,OECR
B7
REPEl
-~-------.----.--

BO

DSIGN

,ZERO

F
FIELO+l

,

CF
980
00990
MASK
SM
TO· FIELD
01000
CF ·FIELD
QJ"'-'0=-=1::.. .:0=----_ _--"=--'---'--~
01020
CM FIELD+l
01030
BE DSIGN
01040
SF FIELD

,

,RETURN IF LAST,. OJ-GIT, IN MASK IS
NOT- A ZERO
R M

"

, I GN·ORE Fl;.AGS

,1
,·-MASK.

. 1_ _ _ _ _ _

!

,700

,DETERMINE 'IF MASK fS BLANK

----------------------,3tS----_:;MMUMiSH, A!4"

W,.; i. ;#.,.$ @4..

FREAS-ROOKE COMPUTING CENTER

BUCKNELL UNI VERS f TY

,LEW rSBURG, PA'.

PAGE OC

QlQ5lL_________iE .... ,:QUT______.____...'- FIE L 0 +. .1_~,
..
_ _........
' T
......Ru..LL.Y__..__ .______________________________ . __ _
WNTY CARD
TO CARD+21 ,REcM.K__
_.._. __. . ____ .. __ .__ ._____________ .__________________ .__ _
TYPE
MASK
AND
OUTPUT
ALPHAMERICALLY
ON NEXT LINE
*
.' _.__ ._______.. ___..___ ._ ......_. RClY.._ . . . _........__. ___.___. _._. __.______ .__.__ _
WATY CARD+l
WAIVC AR P -+:.4.3__ .. __ _ ._. _.._ ...._. . _. . __. ____.. _. .__ .__._.___ .__ .__ . ____._____._. __________ . _____ ~--------------- . ------.. --.. .-.._.
RCTY
_ ____ e. S lART
CARD DSS 50
I

______.__.___.___ D.S...L3. 0 _ _ _. _ . _ - - - - - - -

RECMK DSC 1,-

______ .. _____. __.____._________._____ .01; NJLS TART... _. __ . _..._._. ______.__ .___________.________.__.__. . . .__.___.________. . _"
0023000000030000
000000
.. __________.______O_O.2_~_QQO.QQ Q.Q~9O"Q_Q ___ .___________.._________.o.Q O_Q.Ql___...____ .______._____._.__.__.. _.___________._._ ._.__.______.___. __ ~.__ . . _
0023000000030000
000021
[. _____-=0.=0=.2~3-=. .0=-0=-00=-0=-0=-0=-3~v=-""'0~0~0~_._ _ _ _ _~O~O~0~3-=2:.._'!!!1_________'__ _ _ _ _ _ _ _ _ _ __
0023000000030000
054321
_.... __ ._____________QQ_~p_Q_O.9.Q() QQ__~.9_0_Q.9____.. __.____. _____________ . _____ .Q2_~_~~_L ______ ._ . ____ .__ . . _____ .____________.________._ ....
0023000000031010
0'00000
____.__. _. __._._. _. ______.__9...Q2_~.QQ_Q_O 0 Q.Q_~.7..93_Q___________.________ .____ .QQQ_0._Q_l.._______.___ . ._._.______.__ ._. . ._. . _~ ______.___. ___._______.._....
0023000000037070
000321
_____~O~O~2~3~000000031070
00002J
0023000070031070
000000
___.________..(10 Q..Q2_l.1QIQ_2._lIQ..7_0______.____._. ____ 0 5 Q~_6 5 _______ .____.__________ ~.-------------.--M1541000002Q00000046
J23456
_ _ _---'-P-"-O0-,--,3.7 9 7 QIQI0 7 07 0
0 d1 002
00000000
J234567
00000000000000 _
J23256
00000023000000037070
0040B
PQ_IQO 3 OQ..QJL..______________OOO'-'-7-=B_ _ __

0

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

I

~-------

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

o
~

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

-~----,.--.'------,......-----'-----'---.3·18'..

mttlt : mhrrT'fWTTrr:ra

----

-

~

-

-

--

---'-------

----

0000002100000003000000000000000000000000000000000000000000000000000000000

c

0000002300000003000000000000000000000001000000000000000000000000000071000
1
,
•
0000002300000003000000000000000000000021000000000000000000000000007271000
21
z
•
0000502300000003000000000000000000000321000000000000000000000073037271000
, •
3.21
OOOO~02300000003000000000000000000054321000000000000000000757473037271000

543.'21
•
•
00000023.00000003000000000000000000b54321 00000000000000 7b23757473037271 000
,
0,51+3.21
•
0000002300000003707000000000000000000000000000000000000000000000037070000
.00
.00

·

00000023.00000003707000000000000000000001000000000000000000000000037071POO
.00
.01
,
0000002300000003707000000000000000000321000000000000000000000073037271000
3.21
.. 00
·

o '
__

OQ0000230000000~ 70700000000000000000002Tnnonnnnnnnnnnnnnnnnnnnnnn.37'7 1 ?nn

.00

.21-

0000002300007003707000000000000000000000000000000000000000000070037070000
0.00
· 0 .. 00
0000000021101021701000000000000000050165000000000QOOQOQ015211Q1·121767;000
/OQ/OO
5/01/65
~154700000200000004600000000000000123456000000000041547T727320747576q6000

-

AHO

F

AM123-456F

000Q700370707070701000000000000000001002000000000000001003101011101012000
0.001002
0.000000
0000000000000000000000000000000001234567000000000000000000000074757677000
4567
0000000000000000000000000000000000123
12356
0000002300000003707000000000000000000408000000000000000000T3007403707S000
S 4.08
.00

·

0000000000707003000000000000000000000018000000000000000000000000007778000
00.
78

SCI";:;.;' ..... "."

PRINCETON UNIVERSITY
DEPARTMENT OF AEROSPACE AND MECHANICAL SCIENCES
GUGGENHEIM LABORATORIES FOR THE AEROSPACE PROPULSION SCIENCES

October 8, 1965

o

MODIFIED SP- 035
by

L. Hoffman
SP-035 is an IBM S.PoS. processor for S.P.S. III (very similar
to SP-029) for use on a 1620 equipped with a 1443 printer. This was
originally a twO"'pass processor and the listings of the assembled program
coae out with the flagged digits as letters. I was not satisfied with
this output, so I set out to make a separation of flags and digits on the
listings. There was a source deck for SP-029 and I had source listings
for SP-035. By changing a few cards, I was able to reproduce the source
SP-035 and then modify this to give an output format as shown on the attached listing. This worked out rather well so I next decided to try a
"one-pass" processor modification by reading S.P.S. statements into upper
core starting at the top and working down until there could be a overlap
with ~be symbol table which was working up in core. When, and if, this
occurs, a message is typed and the SoP.S. statements are then cleared to
make way for more symbol tab Ie and two- pass process ing must be done.
For one-pass processing~ there is one restriction: there can be no record
marks in the S.P.S. statement. This is usually dooe with the apostrophe
which is translated into a record mark.

o

The minimum useful machine configuration is a 40K 1620 Model I
with card I/O, 1443 printer, indirect addressing. and 8 carriage tape with
the overflow channel on line 60. The processor uses 19092 locations but
still has all 1620 Model II instructions implemented.
Several sense switch options have been changed. In the four
years that we have been doiog S.P.S., we have never ~yped a program at
the typewriter. So, switch 1 only controls list, Do-list during pass II
aDd switch 2 on stores card t.ages during pass I and fetches card images
during pass II. Switch 3 is au for "old" compressed listing outpu't and
off for the new, more readable, output format. Switch 4 still controls
deck option duriDg pass II. Notice that sense switches do not need to be
c:bauged between passes (except if there is a card image- symbol tab Ie overe
lap) J so that one now can batch cOlllpile small programs' of about 400 state1IIents for 40K core.

Our method of operatiOD is to set the origin of the S.p.S. pr~
graaa at 20000 so that the processor is not usually disturbed by loading
a~ executing the assembled progr_. When we ebeck-stGp sad, fim the er..
ror. there is noaeed to re-load the processor,. we just transfer to Pass
I Initialization (OlgaS). Our priltter trace starts at 35000 80tbat we
oft,en have processor. 8S$emb led- program. aad· trace in the maeh1ne at one

----

.---.--~

.....

---~--.----

o

-

o

2 -

There is one disadvantage to this processor. It is slow, as
nearly all the IBM S.P.S. processors have been. The los~ of speed is in
the symbol table search. If we were to stay with 1620's for several years,
I feel certain a smell patch could increase the speed of this processor
·q~ite substantially. I kn~ there are faster S. p.S. processors written
by users J but I happened to have the source cards for SP- 029 II and documentation of SP-035.
ltls been a lot of~fun playing with this processor
I do not
plan to submit this to the library, but instead, I want to present an
output format that is extremely useful and readable for S.P.S. subroutines
for FN II, and a disk-less one-pass processor.
g

o

•

3d-/

.----.. .---,.-...

-----------~------------

P'AGE

1

,MeDlFlfD

00LI-02

15

01692

00000

4/8

00Ll-l1i-

46

00426

00900

OOlt26

15

01693

00438

17

DOLI-50

,

{)u7"'Pur
STAR.T

Tot""

STARTT,0,07

4/B

BLC

,i!-+'12 , ,0

00000

4/8

TOffj

S\r.JSET,O,07

00650

00000

il-l H

-8TH

PBCHK,O,010,

3 LI'

00000

00971

4/H

K

,00971

00462

17

00786

00000

4/8

BTlll1

S\~ICHK,0,010,

00 /+7 L:-

Lt

7

00506

00300

4/8

8f\1C3 SI,''/1 , ,0

00L'o8'6

17

01058

00000

4/H

BTf'li

,I\! UfVi

00498

L~9

0061 Ll-

OO{)Ou

L:·/B

B

LAST, ,0

LI-/H

DClRG .;;.-3

005()6

PRC

CSS

,

°,0 10 ,

00:)06

1.1

.7

00554

00100

Lt/H

00:)1':3

1 ~5

01693

(Jooe) 1

4/8

TDH

() ():5 30

37

!")

1695

ClO 500

4/8

RACD 1;\1 P tJT , ,0

nO;:)L~2

17

01322

00000

4/8

B Tiij

() () :) ') l:.

11-7

() 061 f;.

C)O 200

L;. I 8

(lO 5 ()6

/r3

006()2

Cl1693

4/B

80

.;;. + 3 6 , 5 \, 1 S FT , U1

0057F3

15

() 1693

00001

L,;/f3

TO/vl

5H5ET,1,O

()O590

37

01695

00500

L~I

00602

17

OJ.67n

00000

LI-/8

0061 LI-

1.,·6

(IO!.:·1 ii'

00900

ll-I g

00626

15

01693

00000

00638

1,,9

00/f·62

00000

SH1

51"'2

Cj

RI\!C 1 SI" 2 , ,0

S \;.1 SF T , 1 , 0 ,

P R I j\1 T , 0 , 0 1 0 ,

Bf\IC2 Lt..5T, ,0

0

I

i

••
I

•

006 L}-6

R

R/\C D H" PUT, ,0
1.3 Ti'.!;

RI~PRfJD,O,()10,

HLC

ST/\R.T+12, , C)

LI-/B

Tl)f';

5 ;-.I SET , () , 0

LI-/f:\

B

CSS, ,,0

4/B

ODH.G .;;.-3

4/13

L/.\.ST

..

~:

L;_ I F3

006L;·9

+L,_

D(lRG

~;.

1. ,J fl.

PCHK,00901,O

00650

39

007 / ,-1

00901

L~I

00662

16

00739

() 1900

L,./ g

T Fi':1

P 8([\)T ,1900,08

0067 Lt-.

12

00739

00001

Lj·1 H

511

PRCf\IT, 1,08

1+ 7

0067 LI-

01200

L;·I H

BI\iZ

-;;.-12, ,0

00686

H

~-¥.---'-,

j)1-=)CHl<

0
~~~

!'tllit!

trAG E

o

00402
00414
00426
00438
00450
00462
00474
00486
00498
00510
00518
005.18
00530
00542
0055-4
00566
00578
00590
00602
00614
00626
0'06'38
00650
00658

1

00

J:
M6

J5
J7
34
J7
M7
J7
M9
t'17
'J5
L7
J7
M?
,ML

J5
L7
J7
M6

J5
M9

f:)
00000
01692
00438
01693
00650
00000
00786
00506
01058
00614
00554
01693
01695
01322
00614
00614
01693
01695
01678
00414
01693
00462

e()OOo
-00.00

00<100
-0'000
000-0
00971
000-0
00300
000-0
OOOOC
00100
00001
0050C

OOO-C
002'00
01693
00001
00500
000-0
00900
00000
00000

c00662

L9

0'0074
00686
006'98
0'0710
00722
,00134
'00746
00748
OQ751
00753
00751

.J6
J,2
~17

[V1?

'34
L9

42

00797
06798
J5
b0810 'tvl?
00822 J5
00834 M7
00846J5
00858 M7
-00870 J5
,OO~82

r'4L

00894

34

(}C9P6

L9

00918

M6
M6
46'

b0'93C

•

00'942
0095'4
,00962
0'0'9'6.2
0097.4

()UTPu-,418
4/8

4/8
4/8
4/8
4/8
4/8
4/8

START

PRC

.49
16
1'2

00741
00739
00739
00686
00734
00000
00745
00000

00901
OJ9.00
0-001
01200
03500
00102
00100
00000

T f) t-'t

S TAR T T ,.0 , 0 7

RLC

~:-+12"O

TDH
BTi'/:
1<

SI:"SET, 0, (;7
p r3CHI<,O,OlC)',

Lt/8

4/8.

B

4/8
4/8

DORG ~~-3
[3 I\! C 1 S 1'/ 2 , , U
T r)fl,)
SUS ET , 1 , 0 ,
R 1\ C D I i\1 P l JT , , n

SI,"'l

4/B

4/8
4/[1
4/ f~

L~~ S T

8 T [,;;

SH2

4/8

BT:'!

RFPRfJD,O,C'!l(),

!3LC

5 T i\ RT + 1 ~ , , ()

TDi"!

51-.lSFT,0,0
CSS"C)

4/8
4/8
4/8
4/8

L/\ ST

P

"J

4/8
4/8
4/8

Dr]R(;

P E:i CHI(

,.! /\

p

L)-/8

:~

C T,]., () [-~
,0

~:·-12,

n, .

I
RCTY

4/8
4/H
L;-/8
4/H
L;-/ a

i

F) r.:';

i~

!'.! j")

,

0 3 ~) () 0 , 0

P:',"'C("l:i, ,0

r')

00002
00019

4-/8
4/8
4/8

PCHI<

J) /\ C

PRcn;']

D/\ C

S i"C "!I<

Tn;:

4/(3
4/8

OJ999
G)-OOl

P C H 1< , 0 0 9 (') 1 7 0
1 9 0 n , () b

j:J r~~ C i\ IT,

P f)C [\IT

00992

n 1 () ,

4/E

4/E
4/B

n

00992

I "" T , 0 ,

L/\ST" C)
B I)
~:- + 3 6 , S \.i SET , 0 1
T Di\.'l
S I,r SET , ). , ()
R.'\ C D I ;. .1 P !. JT , , n

LI_/

00000
00100
00001
00200
00001
00300
00001
00988
80102
00100
00100
00200
0'0 300
0000.0

~) r:~,

" ('

[)(IC2

ot)OO Lr

00988
00834
00988
00858
00988
0088'2
00988
00986
00000
06995
00950
OQ950
00950
00906

,00971

E3Tf"1
SI,·'CHI<"O,OlO,
B f\1 C3 S \,,'1 , ,0
B T [-;'1
1\1 \ J [,1 , 0 , 0 1 0 ,

CSS

4/8
4/8

00661

o

to

S

I~.

2,
10

',~
,

P ;:< I ;. !T F P

4/8

-;,+4
S l.! C , () , (')
B 1\1 C J. -)~ + 2 Lt· , , n
T ni'-!!
S II C , 1 , n
[:\\.1 C 2 ~~ + 2 LI· , , Cl
T[)i':
5 I1 C,1,0
F3 i\! C 3 -::- + 2 L~ , , n
T [') !":
S 1-' C , 1 , 0

4/8
4/8
L'r/8

r<,CTY
\,'} /~ T Y S II C Di;l , , ()

4/B

4/8
LI-I

B

418
4/8
4]B

4/B

4/8
6,-/8

f...i (03 T

j')r)i«~

C 3.
HC2
3 C3
fj

LI-/S

H

4/8
4/H

D () F~ (;

Lf-I (3

SI:

TF

S 1;.11) r.:\ 1 , , 0
SLl[3Bl"O
S \,i ;:" r\ 1
S II 1-) C 1
-:~ - 3
S 1.'1 C [\1 T , 1 999 , i\'
SI,.ICi\!T, 1, P

R F. /\ [,J Y •

I , ,

o

o

o

SHORT CUT METHODS IN PROGRAMMING USING SPS
By Richard D. Ross
University, Mississippi

o

•

II

SHORT CUT METHODS IN PROGRAMMING USING SPS
BY RICHARD D. ROSS
UNIVERSITY OF MISSISSIPPI

o

PROGRAMMING THE 1620 COMPUTER USING SPS IS A VERY DIFFICULT TASK FOR
THE BEGINNING PROGRAMMER~ AFTER MANY HOURS OF WORK AND TRIAL AND ERROR
PROCEDURES A PROGRAM CAN BE WRITTEN THAT WILL DO A SPECIFIED JOB. THE
MOST IMPORTANT CONCER~ ABOUT ANY PROGRAM IS THAT THE PROGRAM BE CORRECT.
ALTHOUGH THE PROGRAM FUNCTIONS PROPERLY, IT MAY OR MAY NOT BE THE MOST
EFFICIENT PROGRAM FOR THE JOB. ESPECIALLY FOR THE PAYING CUSTOMER, THE
FASTER THE PROGRAM THE LESS MONEY IS SPENT PER JOB. IF SEVERAL INSTRUCTIONS
COULD BE DELETED FROM A PROGRAM THAT WAS RUN ONCE A DAY FOR ONE YEAR THIS
WOULD SAVE THE CUSTOMER SEVERAL MINUTES AND IN SOME CASES SEVERAL HOURS OF
RUNNING TIME OVER AN EXTENDED PERIOD. THEREFORE, ONCE A PROGRAM IS WRITTEN
AND PRODUCES CORRECT OUTPUT, THEN THE PROGRAM SHOULD BE MADE TO BE AS
EFFICIENT AS POSSIBLE.
PRESENTED IN THIS PAPER ARE PROBLEMS WITH SEVERAL DIFFERENT SOLUTIONS
TO THE PROBLEM WRITTEN IN SPS. YOU WILL BE ABLE TO SEE HOW THE RUNNING
TIME OF A PROGRAM CAN BE REDUCED TO LESS THAN HALf" THE RUNNING TIME OF THE
OR'IGINAL PROGRAM AND IN SOME INSTANCES LESS THAN 1/10, 1/20, OR EVEN LESS.
THE SOLUTIONS TO THE PROBLEMS GIVEN MAY GIVE NEW IDEAS TO THE BEGINNER AND
TO THE ADVANCED PROGRAMMER WHEN USING SPS.
PROBLEM NO. 1

TRANSFER MATRIX N(J) TO MATRIX M(J) WHERE J VARIES
FROM 1 TO K.

o

FORTRAN VERSION
DIMENSION M(41),N(41)
DO 103 J=l,K
103
M(J)= HLJ)
NO. OF INSTS. EXECUTED

= APPROX.

S P S VERSION-2

S P S VERSION-l

*

M
N

J

*

*START
T

CONSTANTS USED
OSB 5,41
DSB 5,41
DC 2,0
PROGRAM
TFM J,l,lO
TFM T+6,M
TFM T+ll,N
TF M,N
AM T+6,5,10
AM T+11,5,10
AM
C

J,1,10
J,K

BNP

T

*
NC

15*K

OF INSTS. EXECUTED = 6*K + 3

*

CONSTANTS USED
OSB 5,41
N
DSB '5,41
X
OSA M,N
Z
DSC 2,0
Y
OS 12
CON
PC 8,50000501

M

**

PROGRAM
START CF X+1
TFY,Z+1
T

AM

Y,lOO,9

S
TF
A
SO

Y,K
Y-7,Y-2,611
Y,CON
T,Y-1

NO. OF INSTS. EXECUTED

= 3*K

o
+ 4

3d. J"-~

I&.... ·..

···i#f' ...

r ......

p

I F THERE ARE NO RECORD MARKS IN MA TR'I X N9 THEN ONE OF THE FOLLOW I NG
VERSIONS- MAY BE USED.
S P S

0

S P S VERSION-4

VERSION-3

*
M
N

..

CONSTANTS USED
DSB 5,41
DSB 5,41

*
M
N

PROGRAM
*
START MM K,5,9
AM 99,N-4
TO 90,99,11
TOM 99·, ,6
DC 1,-,*
TR M-4,N-4
TO 99,90,6
AM 99,M-4-N+4
TO 99,90,6
N·O. OF

IN5T5. EXECUTED =

PROBLEM "0. 2

*
PROGRAM
*
START TR M-4,N-4
NO. OFIN5TS. EXECUTED

X
K

READ A CARD ALPHABETICALLY AND IF THERE IS A 0, 1, 6, OR 9
PUNCH IN COLUMN ·80, PUNCH THE CARD, IF NOT READ ANOTHER CARD.
S P

DORG 500
DAS 80
DC 290

WR

X

*START
R

DORG 500
DC 10 9 0.0 1111 0 11 a
DAS 80
RACD X
TO R+ll,X+80*2-2
BD RD,CON
WACO X
B
START
DEND START

K,9910

SNE START
WACO X
B
START
DENO START

NO. OF INSTS. EXECUTED
PROBLEM NO. 3

•

S VERSION-2
CON

*
START
RACO X
TO K,X+80*2-2
CM 1<90,10
BE W"
CM 1<,1,10
BE Wft
eM K,6,lO
BE WR
eM

=1

8

S P S VERSION-l

o

CONSTANTS USED
DSB 5,41
DS 1
DSB 5,41
DC 1,-

= 12

NO. OF INSTS. EXECUTED

=5

GIVEN MATRIX ACJ), WHERE J=l,K AND K IS LESS THAN 900.
EACH VALUE OF A(J) IS A lO-DIGIT CONSTANT OF THE FORM
XXXXXXXXXX WITH A FLAG IN THE FIRST POSITION OF EACH VALUE.
WPtITE A PROGRAM TO FIND TEN TOTALS B(1), B(2), - - -, B(10)
WHERE B(l) IS THE SUM OF THE FIRST DIGITS OF THE VALUES
OF A(J), 6(~) IS THE SUM OF THE SECOND DIGIT OF THE VALUES
OF A(J), ETC.

s

p s·: VERSION-'l
A
OSB 10.899

S: p' SYE:R5JON ';2

B

OS·B 4,10

A
8

osa
OS8

fO:.•••9
4,10

J

DC

3.0

J

DC

3,0

,K

DC

3,<0

DC

2,0

DC
OSA

3,·0

L

K
X

.•
PROGRAM
S,TART TFM J,10:,10
TA

y

1·.0

DC

8',10000040·1

TFM 1A,0:,8
AM TA+6,4"lO

START TFM

.J,l,lG

TA

TFM'L.,lCl:t'lO

TFM RB+6,8
TD RB+ll,A-9
AM
AM
AM

B.,0,10
RA+ll_l,·lO

SM
8NZ

RB+6,4,lO
Ltl,IO
RA

SM

.J,l, 10

8HZ ST
CFB

NO. OF INSTS. EIE'curED = 64*K, + 4.5
S P S VERS'IOH 3

SM;
TFM

AM

BEGINTFM RA+ll,A-9
TF J,K

A

DC

(A

SM

RA
RB

14,.-9,8+.1+40
2.0

'tfM TA+6,8

8HZ lA
ST

DSC

Sf

RA
RB

.Y-~,8.1
~'·.··1 0" 10

Y-2 'iO,6I
V,401.9

80

TA·.V-l

TF..

X+5.B+l+40

CF

X+l

TFM
TF

X,A-9

AM
A
BiD

J,I{
X+S+2,4010
RB+ll.X,ll
X+5,O,610
X+5+2.XA
RA,X+5+1

SM

~,l,lO

8HZ

ST
8

SM

TD

CF

o

NO OF I NSTS.EX·CUlEO = 43*1( + 36

DSS 10. ,899

XA

DC

B

OS

X

OS

8,0
,XA+4
4*10

o

DAS 1

CONA

CONB

T8

DS
DC
DS
DC

1
21,0
1
43,0

DS

5

DC

DC
DC
DC
eN
START S

K
J

TA

e,C!)

3,0
3,0
4'2,1011'1077101170771077101'7707110777077707710
CONB,CONS

TF

X,CONB+5·

TF

99,X

TFM
5
TNF
TNF
A

T8-3,A+l
Te,K
CONA,TS-3,ll
CONB,CONA
X,CONB

AM

TB,10·001

SO

TA,TS-2

M

CN9~K

S

X,9'9

TFM T8-3.8..-3+1
TR

SM

18,10,10

SF

18-3,.6
T+,4001,8

AM
5D

TR,TB-2.

NO OF INSlS. EXCUTED-= 5*K +39

o

EAST CAROLIHA COLLEGE
Greenville, North Carolina

o

October, 1965

PROGRAI1f'1ED INTERRUPT USING THE 1311
by
F. Iv1ilam Johnson
This system allows the interruption of any specially designed program.
All interrupted programs are stored on the disk until they are retrieved and
execution is continued.
Interruption is accomplished through a subroutine named OUT. This routine
examines console sHitch one (Cl) to determine if it is on and/or examines core
position 98 for a record mark. Either condition will cause immediate interruption and stora~e of the current program.
Up to 30 programs may be in partial stages of execution. A special control routine will automatically select the program of highest priority and
bring it into core for execution when the machine is not needed for something
else.
The system is effected through the OUT subroutine.
routine is:
6

12

16

LABEL

OUT

A, B, C

The form of the sub-

where A is the use code, B is the program number, and C is the address of the
next instruction to execute when the program is retrieved. It is suggested
that this subroutine be placed in the program only once and the appropriat~
return address be transmitted to it when necessary. The following example Hill
illustrate the technique:

e

12

START OUT
RETURN B
BEGIN .

16
10, 23, RETURN

ANY SECTION OF THE PROGRAi'1

BNCI
TFM

•

*

B7

+ 32
RETURN + 6,
START

DEND

START

*+

20

CI should be tested at appropriate intervals and at least once in every
long loop.

o

The system is most easily effected by changing the appropriate cards in
the monitor deck to make" monitor think that 30 cyl~nders aI'eoccupied by
stored programs. Monitor is then loaded in the usual fashion. The source
decks are then compiled qnder monitor. They are self storing. The last phase
is to compile and execute a program, that changes monitor to establish all the
interfacing ,between the two systems.
A brief explanation of the complex and its interaction with the monitor
system follows.
CONTROL CARD CHECKER
Control Card Checker (CCCK) - After having read a monitor control card
and determined whether it is a JOB card or .otherwise, monitor branches to the
appropriate place in CCCK. If the card read was a JOB card, CCCK extracts the
use code and sees if it is ,999, calls utility routine (see page 3) and transfers control to it. If the code is not 999, control is returned to monitor.
If the card read was not a JOB card, control is transferred to meter control
(METERC - see page 2). ,The use code numbers are in columns 36, 37, and 38.
METERC - Meter Control
METERC,- This routine checks to see if the new user is the same as the
last user. If the use codes are the same, control is transferred back to the
previously specified program. If the use codes are different, a meter reading
is requested and time is credited to the last user. Control is then returned
to Monitor.

o

NEXTIN - Next Caller
NEXTIN - At the time of call exit, NEXTIN is loaded into core position
z'ero. This program copies the part of monitor located in core positions 16000
through 20000 onto the disk to prevent damage. NEXTIN then cOI\ies I'JEXT into
core and transfers to it.
:~EXT

- r1ain Control Program

NEXT - This program types NEXT C2 ON FOR HONITOR and halts ~9 allow the
operator to change console switch two. If C2 is turned on, control is transferred to the Control Card Checker - CCCK. If C2 is turned off, NEXT sCans to
see if there are any active programs stored. An active program has a priority
greater than zero. If any active programs are found, NEXT' examines all active
programs to delineate the one of highest priority and types PROGRAH XX
CONTI.NUED. Control is transferred to Meter Control (t1ETERC) after indicating
to:METERC that control is to be returned to NEXT. When control is returned to
NEXT, program XX is loaded into core ,and execution is continued at the pr.oper
instruction. If there are no active programs, 'the message NOPROGRAHS' STORED
is typed and control is trans ferred to mbni tor.

o

t--

3

o

Utility Routine
Utility Routine - This program "types UTILITY ROUTINE. A control card is
read arid checked for validity. If the request is not correct, the message
INVAI:,ID CONTROL CARD is typed and control is returned to the beginning of the
Utility Routine. If the r,equest cq.rd is valid, the program listed on tlfecard
is typed. The required progralll is located o~ the disk, read into core, and
receives control. If the called program needs information, such is requested
prior to the transfer of control.
NIA - Execute Program
NIA - This program allows for the immediate execution of any stored 'program
regardless of its priority number. NIA is called down by Utility Routine (see
page 3 ) with cont'rol card ~~Execute Program xx (where XX is the program number).
---NIA first checks to see if the program number is valid. If it· is not,
"Invalid Program Numb~r" is typed, and c0ntrol is transferred to Utility Routine.
If the number is valid, .NIA checks to see if the program is stored. If it is
not,"Not'$tored" is typed. If it is stored, the program is read into core and
~ontrol is transferred into it~
NIB - Delete Program

o

NIB. - This routine allows for the deletion of a stored program. NIB is
called down by the Utility Routine (see page 3) using the control card, Delete
Program XX (where XX is the number of the program to be deleted). NIB first
checks to see if the program number i p valid. ~f it is not, INVALID PROGRAM
NUMBER is typed and control is transferred to the· Utility Program. If the
number is valid, NIB deletes the program from the Program Location Map and
ma.kes the cylinders in which program XX have been stored available for other
programs.
NIC - Type Time and Initialize
NIC - This routine types a list of all users that have accumulated time
since the last time request. The user number, the amount of time used since the
last time request, and the meter reading in hours for the last time that the
use~ was on the computer.
All time readings are set to zero after being typed.
This routine is called by the Utility Routine using the control card *TYPE TIME
AND INITIALIZE.
NID - Type Open Programs
NID -'This routine types· a list of all the program numbers that are not
currently being used. NID is called by the Utility Routine using the control
card i;TYPE OPEN PROGRAMS •
NIE - Type Priority Table

o

NIE - This routine types a list of the active programs, their Use Code,
and their priority numbers., NIE is called by the Utility Routine using the
control card *TYPE PRIORITY TABLE.

---..

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

NIF - Change Priority
NIF - This routine allows the operator to change the priority of any
active program. NIF is called by the Utility Program using the control card
*CHANGE PRIORITY. NIF reque$ts the program number by typing PROGRAM XX. The
program number is checked for validity. Invalid program numbers cause one of
the following messages to be typed: OVERTYPE or INVALID PROGRAM NUMBER. Control is then returned to the beginning of NIF.
If a record mark is typed for the program number, control is returned to
the Utility Routine. If the program number is valid, NIF checks to see if the
program is stored. The message NOT STORED is typed if the requested program
cannot be found and control is transferred to the beginning of NIF. When the
requested program is located, NIF asks for the desired priority number by
typing PRIORITY XX. The priority number is also checked for a record mark and
for validity. 'The results are the same as indicated above. If the priority
request is valid, NIF changes the priority of the stated program and adjusts
the priorities of as many programs as necessary to insure unique priority
numbers for each program.
NIG - Type Location. Table
NIG - This routine types the n~mber of each currently stored program, ~ts
users code, the address of the first sector of the first cylinder, the address
of the first sector of the second cylinder used, and the location of the next
instruction in the program that is to be executed. NIG is called by the
Utility Routine when the control card *TYPE LOCATION TABLE is read.
NIH - Add Program
NIH - This routine puts the information concerning a newly stored program
into the Program Location Map. NIH is called by the Utility Routine when the
control card *ADD PROGRAM XX is read. The program number is xx.
NIH first checks to see if the program number is valid. An invalid
program number will produce the message INVALID PROGRAM NUMBER and control is
returned to the Utility Routine. If the requested number is valid, a check is
performed to see if any s,tored program is already using that number. The message
IN USE is typed when redundancy .occurs and control is' transferre4 to the Utility
Routine.
When an acceptable number is requested the message USE CODE XX. is typed'.
The operator must supply a use code wh;ch alsorece.ives a validity> check. If
the use code is acceptable, it is stored
the appropriate place.in the program
location map •.

in

. NIH then types CYLINDER ONE StCTO~, XXXXX and follow:~ t~ same" procedure in
checking and storing the use .code.' When· an ac'ceptable sector address has been
received, an availability chec1<.isp~~;ormeC1. , If.~h~;·?Yli.A9.errequ~sted .isnot
available the message IN USE is'typed::~nd: afiothe~,~dd~,$,;r:.\~> reque$~'ed .·A~cept­
able addresses that are ~$O ava.ilabl.~·are· approprliltelv"'s*ored and·NIH goes on
to the next phase.

o

@"iIf

Wf'f

nr. ··fww"tTM"t"f

j"ffP'; .

]''''..,--'''1", WI 'Wtt"

5

o

NIH then types the message ADDRESS OF NEXT INSTRUCTION and follows the same
accepting and checking procedure as described above. The next·worst (numerically
highest) priority number is then automatically assigned. This ·priority number
is automatically entered in the Program Location Map. Control is returned to
the Utility Routine.
Output Card
This routine dumps from the disk onto cards. Output Card reads a card containing the lower limit (columns 15-19) and upper limit (columns 22-26) and
checks t9 see that the upper limit is not lower than the lower limit. When this
condition occurs 'the message TRY AGAIN is typed and another request card is read.
When the limits are in the proper sequence a card is punched which cont'ains
the specified limits. The specified data area is then punched along with a
card sequence number.
When the data area dump is completed, a check ror more sector address request cards is made. The message C3 ON FOR REPEATS is typed when the last request has been consumated. Control is then transferred to the first of Output
Card or returned through a call exit.
Out Subroutine

o

OUT - The out subroutine allows the interruption of a program at some stage
prior to completion. The out subroutine is simply included in the main program
at suitable i~tervals. The subroutine has three operands: Use code, Program
number, and the next statement to be executed. An invalid out statement wiil
produce the message INVALID OUT STATEMENT.
When the out statement is valid, the subroutine will:
1. Check to determine if the present program has been consumated.
control is transferred to OUTMAIN.

If so,

2. Checks to see if Cl is on. If Cl is on, the program is st.ored in its
present state of execution and controJ_ is transferred to OUTMAIN.
3. Checks to see if there is a record mark in core position 98. This
condition will cause the program to be stored but execution will be continued
immediately thereafter.
4. If none of the above conditions are found to exist, control is returned
to the interrupted program.
Out Main

o

OUTMAIN - OUTHAIN is basically a continuation of the Out Subroutine. When
control is received from the Out Subr-outine, the validity of the program number
is checked. An invalid number will cause the message INVALID PROGRAH NUMBER or
PROGRAM TAKEN to be typed, followed by NOT STORED. If the p~ogram has not been
consumated, control is returned to it, otherwise, control is transferred to NEXT.

If tne program number is valid and there is no conflict of ownership,
OUTMAIN then checks to see if the program has been completed. A completed
program will cause the release of the specified cylinders and the priorities of
all remaining programs are adj usted. The message PROGRAH CONSUf IATED is typed.
Control is transferred to NEXT.
J

o

If the program in execution is not consumated and not previously stored,
OUTMAINassigns the program the next available (worst) priority number and a
check is made to see if cylinders are available. Should no cylinders be available for storage, the message NO OPEN CYLINDERS, NOT STORED is typed and control
is returned to the interrupted program. If cylinders. are available, the program
is stored and the program's area on the Program Location Map is filled with the
necessary information.
If the present condition i8 just an interruption of a previously stored
program, the message PROGRAM NN INTERRUPTED is typed and control is transferred
to monitor. Under the previonsly stated conditions, however, the program may
be stored in its present form and execution continued immediately thereafter.
Tables
AVCYL - Available Cylinder Table
This table contains 31 two-digit numbers. The first is the cylinder
number of the stored programs and areas. The other 30 are the numbers of the
usable cylinders. A record mark indicates the end of the table. A flag on the
units digit of any cylinder number indicates that the cylinder is in use. The
table is constructed as: 26272829303132333435 ••• 55560#
TIME 1 ~ This table (read time-one) contains the accumulated time and the hour
of the last meter reading for each of the 200 users ~ince the lq.st initialization. It is constructed as: XXXXXXHHHH ••• XXXXXX is the accumulated time in
hours and hundredth and HHHH is the hour, of the last meter reading. The position in the table is determined by the use code. The first position is for
use code zero, the second f.or code one, 'and the last for code 199,.
TIME 2 - This table contains the use code plus the opening. and closing meter
readings fo~ the last ten users.. The table is constructed as follows with the
rightmost user being the last user: VVVVV#OOOOOO#CCCCCC#VVVVV#OOOODO#CCCCCC# ••••
Here VVVVV is the use code, 000000 the open meter reading, and CCCCCC the close
meter reading.
PLM - Place Location Map. The PLH,contains pertinent information on each interrupted 'program. The information. is coded in groups as 'indicated below and the
location, of'each group is determined by ,its program- number. The~e are thirty
£.roup~, each consisting of five, five-digit fields as follows:
0000000000000000000000000.
The fields are

inte~preted

1. The first is the
rupted programs.

as follows:

beg~nning

sect6r of the cylinder used to store inter-

o

7

o

2. The second field is the beginning sector of the cylinder used to store
the Fortran subroutines.
3. The third field is the address of the next instruction to be executed
whe·n the program is res umed.
4. The. last is the priority of the programs. The programs are executed in
order of ascending priority. A priority of zero indicates an inactive program.

()

•

cr-

~8=

1.J.'

:>-Z
I-~

J:J

§~

o

" """ "Tel""

#ffxr /11/

9

o

o

,\,

•

tJeXI

o

Jf

o
~t kOCo..~(

\-0

~~-+vQ\\)----~

\0 ~

~o... \J~ ~t ~O,,~\y
D~

~t0'b

:t

o

tTT

- . .·.. ·&b·tr#6\····

··Tr"THr··tT

- t · · .. T · · · ..

1

W'·

...i....l ..

o
~e+ '-'.oQQJp

-to V'-e4 "'tN

To ~

()

•

......

_-'!ft

12

o

o

$"er ~£rlE/(
c! 7D

7D

~eto4

E

o
33,

,,'±' .....

" Tn"

'rn"

13

o

()

~c>~e:
l Ct.st A..A'~t

'1\ ~t ',.., Jo.si l>~
C.O~I~4. __ ~" 6N

•

~e.-\~~.
Secl,o~

o~ t-\~'\db\~

ccc~

o

b'd

Qc.~~~s ~C:\
~~\-\b~ l.\,)~eYl,)
e~~\-V()\ c:o...~

\r' e.G..l\
<:,~A M~t£~Q..

"0 "RttUew

\ 0

f\

~~":

_?nc:~:~.t () M

\\A e'\"t:~.t

~~O~\):

'(' e '4',C)e &
'Me.~ ~ec\~o ~

W ll.S

a. ~(:)~ ca.. '" c\

~~}  7v--oc.

~'k£c.
\~\o 0

o

19

}l18

o

OJ

N -= \
MA~.\C\

CYLINb~Q
N

A.s "" ,,\v..~\.i

•

20

o
~

-"

o

J-;.j-

I

o

o
£::0

set"=

~

0

.IIce;;»1 ui."'I t eel
t/~e ClF V,se

c.erle £ c;v
t/ffl

J:' J t/

.Jea t/~'"

tun e

•

() f'

t ;16i..e

e t. A/'I.t:

~

....

""""-.".""

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

---~-~~~~~~~~-~-------

",,0

tI

o

o

I=f+/

o

NI£

o

o

•

NIF

o

~~~e.S.s""At

~~ i/,JIV
//1/1 /J

II

P

o

o

25

;>.IUcAI

;>~()f'

o

t

t

£':;

(Jf'

0

J ==-3+/

o

PAloAlti 11- ()
PAC

1 J':.::

1'~/oAltt
iJA(J,.f" J f/

i'AICA. I

i"l

PAcf. f:;.

•

II P

~

dP

26

o

P~/CJ~/t;1

P -s,;J- ve = 0 P
,K/Ao f' J

o

iti"Hritrt,.,r'IM\lt'L

o

o

•

+±tb'dririw..ittlt

"til •••+=1''*'.%' '*.b'wW+Ljjttt '#""1''1''

tti"'!,' 't t'$'t'ILMJ \ 11'

N't'tW''fW'»HW*, ,,"

"WNI!t"i"h'N'IfiWWWt",'lp';

,I:

t""'swd., "i:!

t

t

![,j'

u,tt

t

b Ht t t'tH'

M

·,t··t'H .. ri"'riH±hririittm"trY*t*l!+tri,'

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

tJ 1 G

c

(;

o

It

1$

t "j

nittbb

btt

o

r-~"-"~
a.~o.:, \...o.~ ~t

c..y H ~dl!v-t(\~\-e

~g'\" '\ ~ .8'" E

,0

\~"p(C.~'tce ~~
a.t>O~~$S tl~

•

Nor

~\f A.\J,.. A8t.£.

srt

iti ttt'ttrt

itt. 1.·'irin t

.

1

)f'

"w'

"tit

t6

l ....

Q

Se~ "(1~\~
+0 ~i5t

s~.toV' add.

(}.. ~

t\,) p

t-

a.~o.... \Clhl~

o

DP[~

-=

'?("' c>v ~ t y () ~

7

-

>

rb

-:r

o

OUT"PU'T

o

o

•

II

Cf1RD

I

o
~t o\.n
c;'\ A~ Y4cet. n" '1'0
1 N 'S:>\~
\)

'tt

'5>~ OF

N

~-t OUT

'31 ~'~UAce ••rt
'To

c..\
~OQd ?'f~.
ou,~

\'~io

0

'~}'(!J.'~

ON

v0 t
c:si"c...te ~ e t
<.;~

Ill,)

;'0 \ ~d\tc.-\e

C\

SlD ~,~~~ Co.,)'~
Sho U \d be ,".e~","

-to '1>n. <><1"C).1I'

~cv\-:

~"<0r

JO:t

o

CSft kCX:o\"\ 't

,0

lvb] TO A.

o

~t.,e.,,~

o

().\jB.\ \~\r\'fl

Cy\, "l~t.~

t CA.\t l-Q,

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

_.-

t-t\~'{ ~
C'Y}....\J\)

C\S

,f'.J

C.
\)S~

~et kCCA,t
12.~

~~C.~~$~~)'

Yo«.,1 eN Cf

~ROQ, \..c( (~A:f>

~e,

,0

't\J'2r,no ()

'----tH

J ,-,_
. }_+

L..-.-...

1-1
(J -=. ,

r -=1 + \

10

_0

\..CX'~\£

T () ~~lORWw;.---t

TO

1)

o
I

I

I

I

r ..

r

Ff::1C\-J',

N\ f>. 9..",

To.bl-e c ~
('J.\}a.i

C't

["\
h~ 'f" es~
......,.;...-""-\'_\

\&.u\{

l-lW O~

0.. \l 0- \ \CI...\)\-e

«.

c
~~~~

~,l)ot?~Ss,

r -.: D

~~)~

-r

\rJ)C ,\,s

\0
•

~\0RI'\ \D

f

o

~(;t\\> ~oc:,

G
S@i \,,.<:>~ i'

\\J1V

o

o

G.\(Q~ ~

Thoq. "-ce. ~o.,,: 0

o

d' ;; .

It

tzatttt7ttttt

I

!tIl

HI!! . Itt

ttl

11

11'

I

tttt .. "f&dtdri'l

o
READF - A Free Format Read subroutine
For FORTRAN II-D

Presented by
Robert P. Bair
Elliott Company
Division of Carrier Corporation
Jeannette, Pennsylvania
I

o

1620 Users Group
Eastern-Midwestern Joint Conference
Americana Hotel
New York City, N. Y .

•

Free format in:9ut is the ability to read data without specifying its form or position in the input record. Free format may be
either order-dependent or order-independent. Order-independent input alloVJs a variable name and its value to be entered as data, so
that any number of variables, in any order, may be given. This is
the most flexible method of in?ut, but it cannot be implemented in
FORTRZ\N II beca'L1se it reql.:,iref", a s~t{Tnbol table in core with '\vhich to
identify the variable names. The .fv1AD language uses this technique
in its READ DA,TA statement. Order-de1;>endent inpu't req1J ires a list
of variables in the input statement, and the data then consists of
values for these variables in the same order. The advantage over
the standard fixed format input is that the amount of space between
the data is variable, and more freedom is permitted in the form of
the numbers. This type of freG format may be 1.J.sed with the FORGO
compiler by ornitting the format n1.J.wber in the input statement, but
it can be done in FORT1=t.Z\N II only by a subroutine li}\:.e this one.
READF is called like any other FORTRf"'\N subroutine, and the list
02 variables to be read is given as arguments. The number of
variables in the list must be odd, for reasons to be explained later.
The first time it is called, the first input card is read and successive numbers are assigned to successive variables. ~men all the
variables in the s'tatement have been defined, the subroutine returns
to the main-line program. The next time it is called, the scan of
the first card is continued, and each number that is found is assigned
to a variable. A new card is read only when the last one has been
completely scanned, and any number of cards may be read in order ,to
define all the variables listed.

o

0 ]

Since there is no way to determine in a subroutine, the mode of
any of the ar9~ments in the CALL statement, the mode of all the arguments is assumed and only normalized floating point numbers are
returned. READF actually stands for JlRF.AD Floating
ll

•

Numbers may be separated from each other by one or more nonnumeric characters, except for a single decimal point. This is as
flexible as it could possibly be made, and results in the ability to
read and distinguish between any sequence of numbers that could be
interpreted by a human. If two decimal points are found together,
they will be used as a separating point between two numbers. Any
number which extends to column 80 is assumed to end there. All
alphabetic characters are ignored, except for E which may indicate
an exponent. The only special characters which have an effect on

o

'P'

II

I

..

I

Page 2

o

the result are the decimal point, and the dash which indicates a
negative number.
~fuen

a number is entered with an exponent, two separate numbers,
the mantissa and the exponent, must be evaluated as one. This is a
special case, and the following restriction is required to keep the
numbers from being treated separately. The mantissa must be followed
immediately by the letter E, which is followed by the exponent in
one of the following possible forms:
+nn, -nn, nn, +n, -n, n
No blanks are permitted anywhere within the complete mantissa-exponent
combination. If a number is followed by E, which in turn is not
follov-,ed by one of the forms above, no exponent results. If the
exponent form is correct, but more than two digits are given, an
error message will be printed~ and the third digit will start the
next number.
The problems of communicating with the subroutine can best be
explained by reviewing the linkage that is generated. The statement
CALL READF (A) is compiled into the following:

o

BTM

-READF

DSA

A

DSC

1,0

,*+11

where READF ,is a five digit field which contains the address of the
first executable instruction in the subroutine. The constant, an unflagged zero, is required so that the next instruction starts in an
even address. If there are two arguments in the CALL statement, two
symbolic addresses of five digits each would be generated, and the
constant would not appear. Thus any time that an odd number of arguments is given in the CALL statement, an unflagged zero is produced
before the next instruction.

•

Since we would like to be able to give a variable number of arguments, we are faced with a decision between several alternate methods
of indicating the number of arguments, or the length of the linkage.
(1) The first argument may be an integer having a value equal to the
number of arguments to follow.
(2)
The first floating-point variable
in the list could be pre-set to the floating value equal to the number of arguments.
(3)
If an odd number of arguments is given, the
unflagged zero which is automatically placed in the ct)mpiled l,inkage

Page 3
could be used to determine the number of arguments.
(4)
If the CALL
statement were always followed by a PAUSE statement, a single
instruction, halt, would be compiled at the end of the linkage to
READF and could be recognized like the unflagged zero to signal the
end of the arguments. The halt vlould then be by-passed.

4[j

Of these four methods for indic9ting the number of arguments,
I have chosen the third, requiring that the number be odd, because
it re~lires the least amount of extra effort on the part of the
programmer. In many instances, there will be only one argument when
READF is used in a DO loop to enter an array. The third method is
certainly the most convenient here. In those cases where many different variables are to be read, any odd number can be specified in
one statement. If an even number is desired, it can be broken up
into two statements that both have an odd number of arguments.
Because READF does not read a new card every time it is called, no
information will be lost, and there is no difference whether one CALL
statement is used or ten.
If the argument of a CALL statement is a subscripted variable,
the 5-digit address generated after the BTM in the linkage is an
indirect address. This must be allowed for in the subroutine when it
determines the address of the argument. Another problem is that
there is no way to tell from the compiled linkage whether or not any
of the arguments are un-subscripted array names. If an array name is
used, the address generated is simply that of its first element.
The DIMENSION statement in a FORTRAN-written subroutine is necessary
because of this ambiguity.

(i

The subroutine's task of deciphering data is not a trivial one
because of the many different forms a number may take. ~~en considering a number like 002, one may form the rule that leading zeros are
always ignored. But if this rule is followed, there is no way to
enter a zero. Generally, the start of a number may be either a digit
or a decimal point.
As READF scans from left to right across a number, i,t must adjust
the exponent of the result, and transmit the digits, one at a time,
into the mantissa of the result. The amount by which the exponent
is adjusted for each digit depends on whether or not the digit is
significant, and on its position in relation to the decimal point.
The mantissa of the result is to be between I and 0, inclusive, so
if the decimal point is preceeded by n significant digits, the final
exponent vJil'1 be equal to n. If there are n zeros after the decimal
point before a significant digit, then the exponent equals -n.

o

"III"!!':::

t t!'i-'It

W

t'

'f

U

11

nY"IIt"!'t'M!!'

fllll"lltuullUM'

"diV·

ttt
!!,!

·tMt

"Jr'!

"ri"

I'f!!ttl"ML!!tIW'e'WWrty,:tMLH!

limN''!' '!I'Wltlfwtwtw

N

it

Page 4

o

READF is programmed in two loops. The first scans for a minus
sign,digit or decimal point, which start a number, ignoring all other
characters. If a minus sign is found, an indicator is set, which is
cleared again unless a digit or decimal point follows immediately.
\~en a digit is found, the second loop is started to test for
significant digits, increment the exponent, build the mantissa, and
test for a decimal point.
As each digit is placed into the mantissa of the result, the
present value of K is added to the exponent which was initially zero.
K is changed by the following rule: start with K equal to zero. \Vhen
a decimal point is found, subtract 1 from K. Add I to K when the
first non-zero digit is encountered. Thus, in the example 00123.45,
the value of K and the exponent are both still zero until the I is
found.
K is then incremented to +1. ~fhen the decimal point is
reached, the exponent will be +3, and then K is set back to 0, so
that the remaining digits have no effect on it. In the number
0.0000823, K is set equal to -1 when the decimal point- is reached,
and the exponent is -4 by the time the 8 is reached. This is the
first non-zero digit, so K is incremented to 0 and the exponent
remains unchanged.

o

In order to produce floating point numbers which are already
normalized, no leading zeros are transmitted into the mantissa.
Transmission starts with the first non-zero digit, and proceeds for
a number of digits equal to the mantissa length.
If an exponent
follows the number, it is simply added on to the exponent produced
from the mantissa.
A routine within the subroutine advances the indirect address
that points to the character being tests, sets flags to divide the
input up into 2-digit fields, and tests for the record mark stored
after the input area. If READF were converted to read paper tape,
the routine would find the record mark made by the end-of-line.

•

READF is written as a variable-length subroutine, internally
adjusting for the mantissa length being used in order to return
floating-point results of the proper length. The value of the matissa
length, f, is stored in the communications area of MONITOR. When
READF is compiled, however, the header record must specify the value
of f and k for which the subroutine is to be used. These figures are
stored on the disk ahead of the program and are checked by the FORTRAN
loader, phase 3, before the subroutine is loaded. The header record
is all that restricts the subroutine to one value of f and k, and
is the only thing that has to be changed when a different length is
desired •

tttt

Page 5
READF will greatly reduce the number of cards required for a
given amount of data by permitting the numbers to be placed close
together. It will also reduce the amount of time required to punch
the cards, since there are such few restrictions on the card punch
operator. Helpful comments, names of units, or instructions may be
inserted anywhere to explain the data. Most important, there is no
need to worry about an error resulting from something in the wrong
card columns. If you can read it, so can READF, and it is well
suited to every program from introductory FORTRAN to advanced
applications.

c:>

o

o

TrW"

ur

W
"'

'N

" '@n"" F6i:ILB" "tW

"W"

"

Page 4
READF is programmed in two loops. The first scans for a minus
sign,digit or decimal point, which start a number, ignoring all other
characters. If a minus sign is found, an indicator is set, which is
cleared again unless a digit or decimal point follows immediately.
vlhen a digit is found, the second loop is started to test for
significant digits, increment the exponent, build the mantissa, and
test for a decimal point.
As each digit is placed into the mantissa of the result, the
present value of K is added to the exponent which was initially zero.
K is changed by the following rule: start with K equal to zero. Vfuen
a decimal point is found, subtract I from K. Add I to K when the
first non-zero digit is encountered. Thus, in the example 00123.45,
the value of K and the exnonent are both still zero until the I is
found. K is then incremented to +1. 1{hen the decimal point is
reached, the exponent will be +3, and then K is set back to 0, so
that the remaining digits have no effect on it. In the number
0.0000823, K is set equal to -1 when the decimal point is reached,
and the exponent is -4 by the time the 8 is reached. This is the
first non-zero digit, so K is incremented to 0 and the exponent
remains unchanged.

o

In order to produce floating point numbers which are already
normalized, no leading zeros are transmitted into the mantissa.
Transmission starts with the first non-zero digit, and proceeds for
a number of digits equal to the mantissa length. If an exponent
follows the number, it is simply added on to the exponent produced
from the mantissa.
A routine within the subroutine advances the indirect address
that points to the character being tests, sets flags to divide the
input up into 2-digit fields, and tests for the record mark stored
after the input area. If READF were converted to read paper tape,
the routine would find the record mark made by the end-of-line.
READF is written as a variable-length subroutine, internally
adjusting for the mantissa length being used in order to return
floating-point results of the proper length. The value of the matissa
length, f, is stored in the communications area of MONITOR. When
READF is compiled, however, the header record must specify the value
of f and k for which the subroutine is to be used. These figures are
stored on the disk ahead of the program and are checked by the FORTRAN
loader, phase 3, before the subroutine is loaded. The header record
is all that restricts the subroutine to one value of f and k, and
is the only thing that has to be changed when a different length is
desired.

o

Page 5
READF will greatly reduce the number of cards required for a
given amount of data by permitting the numbers to be placed close
together. It will also reduce the amount of time required to punch
the cards, since there are such few restrictions on the card punch
operator. Helpful comments, names of units, or inEtructions may be
inserted anywhere to explain the data. Most important, there is no
need to worry about an error resulting from something in the wrong
card columns. If you can read it, so can READF, and it is well
suited to every program from introductory FORTRAN to advanced
applications.

4:)

o

o

d"

t

*it tith'

j

!

I

j

rt

i"bMW'

tit

¢

teriH

t

Itt .....

t.'

'ittttt

t

t

h tt

t

r't. itt#"#Ht

"ibt#'"H±rttittf

.!

±H'Hiw

lI"jJ"l[j±rlte6b'f"

.

-f'

.

T""

H'"

n

BIBLIOGRAPHY

o

1.

Bailey, M. Jo, Barnett, M. P., and Futrell, R. P., "Format Free
Input in Fortran". Communications of the ACM, 6 (October,
1963), 605-608.

2.

IBM 1620 Monitor I System Reference Manual. White Plains, New
York. International Business Machines Corporation. Form
No. C26-S739-3.

t' ...

FREAS-ROOKE

CO~PUTING

CENTER

BUCKNELL UNIVERSITY

ZZJOB
ZZFORX

LEWISBURG, PA.

31177001SYSTEM DEVELOPMENT

DIMENSION A(3)
1=3
C
READF MUST HAVE AN ODD NUMBER OF ARGUMENTS
2
CALL READF (A(1),A(2),e,A(I),C)
PUNCH 1, A(1),A{2),B9A{I),(
1
FORMAT (
5E16.8)
GO TO :(
END
TEST DATA FOR READF
9/4/65
FOLLOWING ARE TWO BLANK RECORDS WHICH PRESENT NO DIFFICULTY

PAGE

o

THE NEXT LINE INDICATES VARIOUS METHODS OF SEPARATING NUMBERS
1
2,3 4AND5 6+7-8/9+10
-11-12
ZERO CAN bE ENTtRED SEVERAL WAYS

o

0uGU

0.0

.000

o.

a

NUMBERS CAN BE SURROUNDED BY LETTERS
INPUT13=.5UNLESS A .Go 6+3.65+0
NUMBERS MAY BE ANY LENGTH, BUT ONLY F SIGNIFICANT DIGITS ARE USED.
1234567890123456788.9012345

0.00000000012345678901234

1234.5678901
USE A MINUS SIGN FOR NEGATIVE NUMBERS
-0.00567
-9843.67
-0
-598
-1-2.230 -0000.7
MINUS SIGNS NOT FOLLOWED BY A DIGIT ARE IGNORED
- 1.
-1.
-.2
- 0.3
-0.3
-.2
PLUS SIGNS ARE IGNORED
-+9 (THE SIGN CLOSER TO THE
+1
1
+.8.8
+-9
NU~·1DER COUNT S )
TWO DECIMAL POINTS IN A ROW INDICATE THE END OF A NUMbER
1234 •• 5678
1234 • • 5678
.123 •••••• 56
.123. 56

o

READF CAN HANDLE NUMBERS WITH AN ExPONENT JUST AS WELL
THE EXPONENT MUST IMMEDIATELY FOLLOW THE NUMBER.
12.59E33
6.123 E66
'IS TWO SEPARATE NUMBERS. SO IS .9949E 2
NO BLANKS. PLEASE.
21.E-2
6E+30
829645E-45 .564A956E12
MANTISSA
CAN BE INTEGER. 21.45E9.1118E~6+3.E50-9
.000E25
O.OOE70 ZERO
ALWAYS COMES OUT THE SAME
E23
1E23

A LEADING RECORD MARK CAUSES ARE-READ
Z
1111111
22222222
TWO RECORD ~ARKS CAUSE A CALL EXIT ••• SUT FIRST,
HERE IS AN EASY WAy TO ENTER AN ARRAY
A(4,5) = 4.23
ZZEND OF' TEST 1

o~.-.

._-

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

-

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

-

FREAS-ROOKE COMPUTING CENTER

BUCKNELL UNIVERSITY
-------------------

-O--:-9-00000o'6E+o-i
~_:3()O 00000 E +01
-.80000000E+Ol
___________________O.Q9'00000E -99
.OOOOOOOOE-99

---

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

LEWISBURG, PA.

---

--_..

PAGE 002

-------------------------~----

--'-"~4oo'oC-6oc5E+0 1
• 650UOOOOE +02
.' 1 OOOOOOOE +01
• 20000-o00E+0 1
.40000000 E+0 L ________!.? 00 0 0 Q.QQ ~~QJ. _______ ~C>_Q90Q_Q_9Qf:_:!9~___~JJOOO 0 OQ.~_±.QJ._

.90000000E+01
.10000000E+02 -.11000000E+02 -.12000000E+02
.000000 OOE -99
.00000 OOOE-99 ______f!.9_QQ.9Q~LQQf:-=99
.OOOOOOOOE-99
.13 0000 06E+-o2-----~--506006oo-E-+O 0
.3 6500000E+0 1
.12345678 E+19
___._____!..12~4.5Q.I.~_E::.Q_2.______ .. _!..1.2..3.42_ 678 E+ 04 - • 56 700000 E- 02 - • 98 '±.26 7 0 () E+ 04 -. 00000000 E- 9 9
-.59800000E+03 -.10000000E+01 -.22300000E+Ol -.70000000E+OO
.10000000E+01
_____ ._.:-_~_ lQ_Q.O..OQ_O () E '!_ Q l
.. 2 0 0 0 0 O,QQ~_t Q 0 ___ =_~_z.Q_Q.9_.QOQD~.[±_Q _Q _________•.lQ 00 0 9QJ1~_±.QQ
-. 30000000 E±_QQ__
.1000000GE+01
.10000000E+Ol
.80000000E+00
.80000000E+00 -.90000000E+01
____.________~_2Q9_Q_Q _0. PQ E + 0 1
• 12 3 4.9 Q_Q.Q_~__+._. OA ____~2J?_1_~_Q_QgQ~±Q.g___ _____~_l?_l_lt.QQQQ!;±Q~ __~678_.00. 00 E+ O_Q_
.12300000E+OU
.56000000E+00
.12300000E+00
.56000000E+02
.12590000E+35
_ _ _._6.12 3 0 0 0 Q_~:! Q.1 ____ ~f:>_~9 00000 t + 0 2
• 99490000 E+ 00
• 2 00000 C0 E+ 01
• 21000000 E+ 0 0
.60000000E+31
.82964500E-39
.56489560E+12
21450000E+11
.11180000E-06
.______________ ~~__Q_Q.9_QQ_ 9..0 E + ~ 1
- • 9 Q.QQ9JtQQ_I;j'91 __ ~__OOQ_Q 0 00.0 E=-2.2 ______ !._Q_Q_Q.9_Q 0 0 0 E- 99
f! 2309.9_0 0 Q~ 0 f._
.10000000E+24
.2222222~E+08
.40000000E+Ol - .50000000E+01
.42300000E+01

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

;0_____________________--.-----------------.-.--.. - -.- _ _ . . . ._ . . ______. _____________. ___ ._ _ _ _ _ ._ _ _ .____
--------_._------------_._---------_._-----------------

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

•

FORTRAN Compilation
of CALL statement
CALL

READF

o

(A)

is compiled into
B-T~

rrSA
DSC

-REIfOF
A
1

,-

*-11
-

,0

where READF is the address
of the subroutine

01
j

tl

()

~:I

()

3)

Determine the maximum operating rate of a machine when the
flywheel size and motor size are specified.

4)

Determine the maximum operating rate of a machine and the
required flywheel inertia when the motor size is specified.

5)

Determine the dynamic behavior of a machine when the flywheel
inertia, motor size and operating rate are specified.

DYNAMI C ANALYSI S

Analysis of the dynamic behavior of a machine involves determining motor
speed as a function of machine position in the cycle. The approach used
to determine speed versus position can be based on either solution of the
differential equation of motion or on conservation of energy through a
displacement interval. Because it is numerical and especially suitable
-for computer application, the procedure employing energy considerations
is used in this analysis. The required energy relationships can be
determi~ed, but it is first necessary to consider numerical representation
of the torque demand of a machine and of the speed-torque relationship of
a motor.
Torque Demand of a Machine
The torque requirement of a machine includes work loads, friction loads and
inertia loads. By inertia loads are meant those due to acceleration and
deceleration of machine components when the machine is operating at constant
speed. The total torque demand of a machine can be detennined at any position
by summing the torque requirements of the various machine components at their
respective phase angles.
For reciprocating machines the torque demand is not a linear function of
machine angle. However, in this analysis, the torque will be represented
by a series of straight-line functions. This approximation is made because,
in most applications, the torque demand curve will not be defined to sufficient
accuracy to warrant a more sophisticated method of representation. A typical
torque demand curve is shown in Figure 2.
The torque demand curve determines the energy- required by the machine when
the motor shaft rotates through an angular increment,Llg. By considering
small increments the ,energy requirement, We 9 ), will be very nearly equal
to the product of average torque and angular displacement. Thus,

we 9

)

=

o
2

CC-S29
Speed-Torque Curve of a Motor
The operating charaderistics of NEMA design B motors are such that with
increasing torque and decreasing speed, the motor will stall at breakdown
speed and continuous operation will be interrupted. Therefore, when
considering the continuous operation of a machine, the operatin~ ran~e
will include onl that ortion of the seed-tor ue curve above reak own
spee.
typlca motor spee -torque curve 15 gIven In FIgure . ntIs
range the speed-torque curve can be represented by an exponential function,
y = Ax , between breakdown speed and rated speed and by a straight-line
between rated speed and synchronous speed. The energy supplied by the
motor, through same interval of rotation, can then be developed as follows:

0.

The equation for motor torque in the exponential function speed range is:

TQ ( 9 )

S

[

TQ (R)

[NCS)

- TQ (B)]

N (R)

N (B) ] E + TQ (B)
N (B)

-

where,
E

= In [TQ
In

eB)

[N (R)

- TQ (R)

J-

-

]40-

N (B)

In [ TQ (B)
In [ N (I)

-

-

TQ (I)J
N (B)I

I.

while motor torque in the linear speed range is given by:

1Q (9)

= TQ

(R)

TQ (8)
TQ (B)
TQ (I)

=
=
=
=
=
=
=
=
=

o

~N~(~9-",)~'_-_N~(R.:...) + TQ (R)
N (R)
- N (8)

where:

TQ (R)
N
N
N
N
N

(9)
(B)
(I)
(R)
(S)

motor torque at angle 9
motor torque at breakdown
motor torque at intenmediate point
rated torque of motor
motor speed at angle a
motor speed at breakdown
motor speed at intennediate point
rated speed of motor
synchronous speed ,of motor

Either the exponential or linear equation is used to calculate motor torque
depending upon whether speed, N ( 9 ), is less or greater than rated speed·
res~ective~y • In either case, the energy supplied by the motor, M ( 8), '
dur1ng an mterval, L1 9, is:

M ( 9)

=

TQ

(a i )

+
2

TQ ( Of) -L\8
3

o

II!II

tr

q

!!!tt!rm'::!!HIt '

II IIIW!!"!

It

*

ti.6-·

t $

t

t{ ....

ei

CC-S29

o

With the relationships developed for energy required and energy supplied
over an increment of displacement, the procedure used for the dynamic
analysis can be stated. Speed at successive increments in the cycle is
calculated on the basis that the change of kinetic energy equals the energy
supplied by the motor minus that required by the machine. Thus,
KE ( 9f ) = KE ( 9i )

+

M ( 9)

-

W( 9 )

where,

KE ( 9)

= 1/2

J

N ( 9 )

2

and,
J

=

total mass moment of inertia referred
to the motor shaft

By applying this basic equation at successive increments, the kinetic energy,
and consequently motor speed, can be determined at each point in the cycle.
To obtain a continuous solution, an iterative technique is used, whereby the
speed at the beginning of the cycle is replaced by that at the end of the cycle.
When the motor speed at the end of the cycle converges to that at the beginning,
the speed versus position data will describe the dynamic behavior of a machine.

EVALUATION OF DYNAMIC BEHAVIOR

0'

Speed fluctuation and maximum slowdown can be calculated directly from the
results of the dynamic analysis. The dynamic behavior, for a particular
flywheel and motor (or machine operating rate), is evaluated by comparing
these calculated values to specified design limits. In addition to providing
acceptable dynamic behavior, a motor must be sized such that its temperature
rise during nonnal operation does not exceed the limits of its insulation.
Because the ability of a motor to dissipate heat at a given maximum
temperature is constant, the criterion of temperature rise is controlled
by the amount of heat produced in the electrical windings of the motor.
Thus, in order to meet this temperature rise condition, it is necessary that
the heat produced by the motor during a cycle of operation does not exceed
that which would be produced at rated output.
The heat energy produced in an electric circuit per increment of time

HEAT = 12

R

o
4

dt

j

dt, is:

CC-S29

Since the resistance, R, in a motor circuit is essentially constant during
continuous operation, the heat created, and consequently temperature rise,
can be compared on the basis of root mean square current. The requirement
for no overheating is then:

o

: N

Rated Current

>

=

II
J

· LJ

t )

n

IT

n=l

where
I

=

motor current

T
N

=
=

time per cycle
number of increments per cycle

LJ. t = time increment

PR(x;I;Wv1 LOG I C

For a given motor and flywheel size and machine operating rate, the program
calculates motor speed for each displacement increment in the -cycle. Speed
fluctuation, maximum slowdown and rrns current are then calculated to describe
the dynamic behavior as given by the speed versus displacement calculations.
The dynamic behavior is evaluated by testing these values against specified
design limits. The sequence for testing these criteria is given in the
Simplified Logic Diagram of Figure 4.

G\.
"I

Necessary changes are first made to obtain acceptable dynamic behavior of
the machine. These changes are made after testing maximum slowdown and speed
fluctuation of the motor. When speed fluctuation is excessive, additional
flywheel inertia is required to'provide a more nearly constant speed. If the
program input specifies that the flywheel inertia cannot be changed, motor
size will be increased to reduce the speed fluctuation. Where maximum
slowdown from rated speed is excessive, but speed fluctuation is not,
additional horsepower is required. In this situation, motor size is
increased and flywheel inertia is reduced to a value such that maximum
allowable speed fluctuation exists.
It should be noted that the type of analysis required, as specified in the
program input, selects either motor horsepower or maximum machine operating
rate as a quantity to be determined. In an analysis to determine the
maximum operating rate of a machine, the motor size is fixed,and horsepower
changes, as previously specified, ar~ replaced by inverse changes in operating
rate. This in effect changes the power requirements of the machine in place
of changing the required power necessary from the motor. Mter each change
in component size or machine operating rate, the dynamic analysis and all
subsequent calculations and tests are repeated.

o
,J
5

~)7

E"-

'ibHr"a" 1ftt

h1."

Kttrt

r \'15b1'&

".

Ii

11"",

f

"C""""f "" "-\ , .. "[

--"W""

\"Iamp"'U'"""

CC-529

o

After a flywheel and motor size (or machine operating rate)has been deter.mined
that will satisfy the dynamic requirements, the rms current effect on motor
heating is an additional requirement to be satisfied.
Flywheel inertia and machine speed, if a program variable, is changed by
increments as specified in the program input. The program also provides
that flywheel inertia can be lTInited to given minimum and maxTInUffi values.
When the computer has deter.mined the motor and flywheel requirements of a
given machine, it will list motor speed, percent speed variation fram rated
speed, torque demand, ~otor torque and motor current for each degree of
machine angle. This data is also given in 10 degree increments in an output
summary which includes motor size, flywheel inertia, machine speed and other
design infonnation.
Input necessary for use of the program analysis includes torque demand of
the machine, operating characteristics for the range of motors being
considered, machine inertia and program control data.
The program is written in Fortran II and requires a 1620 system with
40,000 units of memory and a 1311 disk drive.

BIBLICXiRAPHY

o

F. R. Crossley, v'Dynamics in Machine,u The Ronald Press Canpany, 1954.
C. C. Libby, 9Motor Selection and Application," McGraw Hill Book Canpany, 1960.
M. F. Spotts, "Flywheel Machine," Machine Design, March 28, 1963.

CONfINENfAL CAN CCMPANY, INC.

Corporate Equipment Engineering

•

-;'<;.,'

-,,\lrnax ..

Ct1

b!

:N

avg",
:"l

~

N

.

r.l1ill.

I
I-~

T
i
~

SPEED FL1JCTUATION ~,

~

max. -

N

l~

MA}GMtfM SL()W'DOWN :::

-.

~,~-..

60

!:~~~!:~:~.§2.~~_~~
~. N rnin .
Rated Sp~;ed-~""~·~~·

~

-~

f

k
~.~.L~'
~~~~lJJili&.~oI.~~T-'~~.li!!~"iit_·:·~:;~~7tt

120

:180

JVIACHINE c:\NG

o

.

!nlnft

N avg "

~

.J
";!.:.~

N

o

240

_

300

360

('~ t:) .::; ;1'1:.~ \
.L~ u ~ \.,L_ JL. , .•.• }
(' _f)'C;'

o

W"Hr":

!

.!

WIII:I II!!! Itt 11'''

t'WalU"!

"!WitH!"'!

ill"u'r'iI'1'W

Ill'!"

t

t'wrn't"Ht"'¥t")'

't

tl'm'wf*tw

!

t IIW"'U" t

1

CC-529

o

0
~
~

0

N
.....

~
<

~

CJ

~
0

~

•

FIGURE 2 - TYPICAL DRAWING PRESS TORQUE DEMAND CURVE

. ,

I'

h.

I'

CC-529

o
o

.-..-.~===:::=J

o
,...

~

'tS

0

CO

.........
til

=::>

g

g

=

U
0

CO

~

til

E-4

Z

~

u

p::
~

0

&
0

~

~

~
~

Pot

til

p::

r:.:l

0
E-4

at:>

~

~
E-4

0

~

N

~

<
~
~

~

0
0
0

N

0
0

'I""t

(a:![~va ~N3::>H:t[d) 3nt)lIO~l:IO~OW

FIGURE 3 - TYPICAL NEMA-B SPEED TORQUE CURVE

0
3i3

-j"!

-

"p"r"".,

"/I""

'"-

r""r-en'"".,""nr

CC-529

o

READ
INPUT
DATA

t----....

CALCULATE
TORQUE
DEMAND

DYNAMIC ANALYSIS

I~~--

CALCULATE
SPEED
VS
POSITION

INITIALIZE
CONTROL
VARIABLES

SPEED@ 0 0
EQUALS
SPEED@ 3600

___ -------------EVALUATION OF DYNAMIC BEHAVIOR
CALCULATE:
SPEED FLUCTUATION
----~ MOTORSLOWDOWN
AND RMS CURRENT

PRINT
OUTPUT
NO

YES

INCREASE
FLYWHEEL

PRINT
OUTPUT

DECREASE
LOW MOTOR OR
INCREASE
SPEED

FIGURE 4

'0

INCREASE
MOTOR OR
DECREASE
SPEED

DECREASE
FLYWHEEL
--AND-INCREASE
MOTOR OR
DECREASE
SPEED

INCREASE
MOTOR OR
DECREASE
SPEED

SIMPLIFIED LOGIC DIAGRAM

oj

1

o

o

'r '

'I'"

HOT '"T" f)

ACTIVE NETWORK ANALYSIS

o

Alonzo F. Adkins and
R. H. Seacat
Electrical Engineering Department
Texas Technological College
Lubbock, Texas
At the present time, there are two topological methods that
are very useful in analyzing passive electrical networ1s. One of
these methods was developed by W. S. Perc~v~l in 1953.
The other
method was developed by Feussner in 19038'
Both methods have
been improved upon by ~nvestigators in circuit theory at Texas
Technological College.
Recently, E. D. Merkl has extended both
Feussner's method and Percival's method to inc¢ude active networks containing vacuum tubes and transistors.
In this paper,
we shall use Merkl's extension of Percival's method to a program
for analyzing electrical networks containing dependent current
sources.
A BRIEF REVIEW OF PERCIVAL'S METHOD
APPLIED TO PASSIVE NETWORKS

o

The equilibrium equations for an electrical network being
solved on the nodal basis can pe put into the form
[I]

= [Y] [V ] ,

(1)

where [I] is a column matrix with n rows, each element being an
independent current source, [Y] is an n by n admittance matrix,
and [V] is a column matrix with n rows. The columa matrix [E]
contains the unknown node voltages that are to be calculated. If
aifi current sources are remove¥hexcept the one connected to the
i
node, the voltage at the k
node can be expressed as
(2)

lW. S. Percival, "Solution of Passive Electrical Networks by
Means of Mathematical Trees," Journal Institute of ~lectrical
Engineers, London, 1954, Volume 101, Part IV, pp. 258-264.
2

W. Feussner, HUber Stromverzweigung in Netzformigen Leitern,"
Annalen der Physik, 190~, Fourth Series, Volume 9, pp. 1305-1329.

•

3

R. H. Seacat, "A Method of Network Analysis Using Residual
Networks, If (Dissertation, Texas A & H University) •
4E• D. Merkl, "Topological Methods Applied td Active Networks," (Dissertation, Texas Technological College):

2

Percival has shown that the principal determinant, 6, can be
found from the graph of the network. The expanded value of the
principal determinant is given as,
6

=E

tree edge admittance products over all trees o

(3)

Usually a network is so complicated that it is difficult to
enumerate all trees of the network. However, the following
relation can be used to expand a complicated network into less
complicated networks,
Il=Y6

x x

+6,.

x

( 4)

This relation states that the principal determinant of a network
containing an admittance Y is equal to Y multiplied by the
determinant of the networkXwith Y shorte~ plus the principal
determinant of the network with yX open.
x
The numerator ~.k' or the numerator for the voltage between
any two nodes, may b~ found in the following manner: Let the
input terminals of the network be 1 and 1', and the output terminals be 2 and 2'. Find two non-touching paths, one from
terminals 1 to 2 and the other from terminals l' to 2'. All
edges used in the two paths are multiplied together and all nodes
used in the two paths are shorted together. The trees of the
remaining graph are found and the product of the ·tree edges and
the path edges is found. This process is repeated for all possible
paths and the products are formed into a sum. Finally, the whole
procedure is repeated with the paths going from terminals I to 2'
and l' to 2. The second results are subtracted from the first to
give the expanded value of

o

THE EXTENSION OF PERCIVAL'S METHOD

Percival's method may be applied to active networks using a
modified set of rules. For the principal determinant, the following rules apply:
Rule 1.

Rule 2.

A dot is placed over the element through which
the control current is flowing. A dot over an
element is just a shorthand way of writing,
"this element should be multiplied by (1 :l: a)."
Whether or not the dot signifies multiplication
by (1 + a) or (1 - a) depends on the direction
of the dependent s.ource.
Each element in parallel. with the dependent
current source, not dotted, will have an x
placed over it. The significance of the x is
to cancel the effect of the dot if a product
of an x and a dot is made. If a product

o

""T""W

-

hl"t"TY""'

"IT"

lUi

1"'"" ..

3

o
Rule 3.
Rule 4.

contains no dotted element the effect of the x
is ignored. If an undotted element is shorted
across the depend-ent current source during
graph reduction, this element is also "x"ed.
If the expansion of b is determined without
graph reduction, the dotted elements of any
tree having any combination of undotted elements
shorting the dependent current source are ignored.
The product of two or more dotted elements
produce the same results as if only one of the
product members were dotted.
If the principal determinant is expanded by
graph reduction, .no dotted or t'x"ed element can
be removed from the graph.

In order to calculate the numerator, the following rules are
applied to Percival's method:
Rule 1.

Rule 2.

o

Rule 3.

Rule 4.
Rule 5.

The value of the dependent current source is
replaced by an independent current source that
has a value equal to a times the independent
current source. The network is then treated as
a passive network with two source currents (II
and all).
A dot ~s placed over each element used to write
the control current in terms of the independent
current source. Again, the dot means "multiply
this element by (1 ;t a)."
When determining the terms for all' a dotted
element that is not in parallel w~th the
independent current source is treated as if the
element was not dotted. A dotted element that
is in parallel with the independent current
source gives a value of zero.
The product of an x element with a dotted
element cancels the effect of the dot as in
Rule 2 for the principal determinant.
All terms involving multiplication by a that
do not contain the element through which the
control current flows are dropped.

PROGRAM DESCRIPTION
A program which is based on Merkl's contribution to active
network topology has been written. The program is centered around
a straightforward tree finding algorithm. By definition, a tree
of a network is a combination of branches of the· network meeting
two restrictions:

•

1.

All nodes of the network are connected by the branches
of a tree •

2.

The branches of a tree cannot form a closed loop.

Using the definition of a tree, the trees of a network may
be enumerated as in the following example. Consider a complete
four node network (i.e., a four node network with branches
connecting every node). Let the nodes of the network be numbered
I, 2, 3, and 4. Then a particular branch of the network can be
referred to by the two node numbers that the branch is connected
to. For example, branch 3, 1+ refers to the branch connecting
nodes 3 and 4. Since a tree must connect all nodes of a network,
each tree of the network must contain at least one branch connected to node 1. Therefore, separate the trees of the network
into four groups, one group containing branch I, 2, one- group
con.tainiIlg branch 1, 3, and one group containing branch I, 4.- Now
find the trees for each group by "growing" branches to-the already
existing branches- until the tree is complete. The gr.oup of trees
containing branch I, 2, may be further divided into second.. groups
by "growing" a branch onto branch 1, 2. This results "in the
following second groups for the group I, 2.
12

13

12

14

12

23

12

24-

Now, the trees may be completed by "growingtt third branches on each
second_ group as follows:
12

13

14

12

13

2.4

12

13-

34

12

14

23

12

14-

43

12

23

24

12

23

34

12

24

43

o

o

In order to preventthedundancy, in enumerating the trees, the
branches for each n
group start with a branch that has not been
previously used in the n-l group.

o

I'"atl l n

-

"TP

fltUrrKn·

"J'

"

.. "

w

u

!""("""It'"

• __

5

o

Now the procedure is repeated for each of the original groups
resulting in the listing of the trees of the network as follows:
12

13

14

12

13

Zit

12

13

3~

1Z

14

23-

12

l~

43-

12

23-

24-

12-

2-3

3Jt-

12

2--

43:

II

IlJ

U-

13

14

.. 2

13

32

34-

13

32

24

13

31l

42

14

..2

it3

14

1+2

. 23

14

43

32

.~.

O·

...

~;

For a network that does not have branches connecting all nodes,
only one additional restriction must be added to the algorithm.
The restriction is as follows: Before a branch can be "grown" in
order to form a tree, the branch must exist.
Notice that listing the trees in this manner allows th~
expressions for the summation of the tree edge products to be
easily factored. For example. the denominator for the complete
four node network can be written as:
A

= 12(13(14
+ 24(43»

+ 24 + 34) + 14(23 + 43) + 23(24 + 34t
+ 13(14(32 + 42) + 32(34 + 24) + 34(42»

+ 14(42(43 + 23) + 43(32»

o

6

o

A FORTRAN program has been written that will produce ~ in this
factored form for a passive network. This program was further
extended for use on active networks. The extension consisted of
several routines for checking each tree according to the previously mentioned rulest,hat apply to the principal determinant
of an active network. The program inserts the (1 ± a) factor in
appropriate locations in the expression for ~.
A program that determines the numerator functions for
arbitrary node voltages .of a network has also been written. This
program uses a "path find1ng" routine which determines all paths
from the input terminals to the ~utput terminals. Each time a
set of paths are found, the path edge branches are inserted into
the numerator function, and a "short code" is stored for each
element in the P?th. A modified tree finding routine then determines the additional terms for the particular set of paths. This
procedure is it~rated for all possible paths from the input
terminals to the~utput terminals. Then, the entire operation is
repeated with the active source as the input.

o

o
39(J

o

SIHULATION OF A RADIO-DISPATCHED TRUCK FLEErr

By
John W. Saw.fer
Wake Forest College
This paper describes a study made for the R. J.
:.;eynolds Tobacco Company., which arose in response to
8. seemingly simple question:
ftHo H rrlany trucks should
i!.Te be operating?tt
An analysis ,of what was involved in such a question
brought out the folloHing information.
The Engineering and Construction Shops operate a
fleet of trucks which can be used to haul either materials
or) crews of worlanen.
When a truck is needed, the responsible
?erson phones the dispatcher, giving the location and nature
of cargo. The dispatcher notes this information, as well as
the time, in his log, and ~ispatches a truck, by radio, as
soon as one is available. vlhen the truck completes the trip·
the driver radios the dispatcher and notifies him of availabiltty. The truck routes are variable, similar to the
operation of taxicabs.

o

If no truck is available to handle a request, in
general, no penalty is attached for handling materials
only; however, if a crew of Horkmen is waiting to be trans~arted, their idle time at hourly wages imposes a definite
financial penalty on the company.
Hence, the problem boils down to balancing the number
of trucks against the cost of idle crews.
A simulation of the system was proposed to circ~~vent
dif.ficulties connected with ~ctual physical change.
Pry!:") exam-ole, under physical variation of the number of trucks
it pould take considerable time to note the effect of various
fnctors; the present system would be in turmoil; the cost of
adding and deleting trucks for experimentation would be
prohibitive; and answers would not be valid at different
levels of demand other than that existing at the time of
physical variation.
v~{!?ious

Dn ta was obtained from the' dispatcher I s log, trucl~ trip
tickets, and by visual observation of the operation. From
these sources it was possible to obtain the following data:
1.
2.

3.

o

4.

5.

The time required to service requests for transportation.
Frequency and distribution of trip times.
Magnitude or requests for truck service.
Freauency and distribp+.ion of requests.
Amount of delay in dispatching trucks
(truck wait).

-2-

6.

7.

B.

9.

10.

Amount of idle time (crei,v 1r-lait) rest'l.lting from

truck wait.
Cost of idle time resulting from truck and crew Hait.
Cost per man-hour of lost time.
Cost per hour of truck operation.
Present number of trucks being O~)E'~ra ted.

o

Analysis of considerable data led to several observations

concerning truck requests:
1.
2.

6.

There is a def~Lni. te patter'n, varyin[:: every half-hour
for the 19 half-hol.lP neriads of the dave
T~e number of requests~for trucks falls"into an
approximate nor~r}al distri bu ti on for ench pel"'i ode
Requests occur at random within each Deriod.
The pattern of requests by time period does not
vary significantly from one day of the week to
another day of the week; nor does one week vary
significantly from another week--that is, one
day is like any other day, free of cyclic patterns.
The length of trios is random and indsoendent of
the time of day.~
.
A truck wait resulted in a crew wait in 12.3% of
the cases in which the truck wait occurred.

After these preliminary studies, a compu:er prosrare
was designed (see flow chart) to simulate the actual
conditions encountered in providing truck servi~e.
It
simula tes as many days as desired, Hi th any gi ven nu~nber
of trucks, building up normal variatIons in demand while
maintaining randomness.
The number of trucks could be
varied at Hill to deterT'Jine the optimum fleet.
The simulation
could be carried out at t~e rate of four ~inutes of computer
time for each full day of simulation.

o

The output included the number of trneks, the number
of days of simulation, a log of requests and trip times,
the minutes of truck wait, and the minutes of crew wait.
Crew Hait time plotted azainst the number of trucks resulted
in a nice expon~ntial cu;ve.
This process was repeated for
various levels of demand for truck service.
Crew wait cost was calculated. and ',""as balanced against
the cost of adding additi8nal trucks. Finally, a simple
operating curve was given to the Engineering and Construction
shops, expressing the optimu..rn number of trucks as a function
of the average number of requests for t~uck service per day.
This, in effect, gave a break-even point at which to buy
another truck.

o

I'

o

It

j

t

tt rtt

ri dt

t!

t1t t

ct. tthh

t

-~
./

..

**"

h t

¢

thttt

*

:.

This simulati:>n VIas 1"rl.n first in 1959, and ha.s been
re-run twice since that time simply for verification and
c.ompa:.:-'ison purposes. It has been found that the predicted
crew wait time at various levels of request has been very
close to the actual crew wait, and, except for slight
:~0dification to reflect changing costs, the operating
01.l 1"Ve is still the au.thori ty for adding trucks.
Eanagement has been extremely happy with the results,
and several addi tional· simulations have been r'equested as
a result of this satisfaction.

o

•

itt

Enter means.
sigmas l truc
availability
logsl etc.

FLOW CHART
TRUCK SIMULATION

o

Enter no. or trucks
and no. or days to
be simulated
Obtain random normal
____--------------------__~deviatel multiply by
sigma, add to mean

No. or requests ror
trucks ror each
or the day

slng random numbers,
determine when, within
~------------------------~ the period, -each reques
occurs
Have all requests been
assigned in this period?

Print record of
requests, trip
time, truck wait
crew wait

l

IS this the last
period or the day?

Is a truck
available rOL~------~
this request.
tain random
number ror
length or tri

total
truck wait
and crew
wait

o
Add to availabilit
time of first truck
which is available

to next~_________
request

~~Go

length
wait

o

h'ityWh

$

) t?bl""""""".'it,,'rtw't\"fdbt tit trw ttMtjf'Ulttwttft'WfeWMbht'rlrliHMffl:JethWtttlt It 1'1

o

"Wilt'

IlL'

m Wlttii"WdWWII"t!'l11

'If

ilL!

t

'Itt'rwtt,

j'iUlW'li'fpu 'Wltrt'rItt'r'tlL'tllH'W1$'( \

'I" 'W

Simulation of Automobile Traffic
Dr. Phyllis Fox
Dr. Frederick Lehman
Newark College or Engineering

Presented to the 1620 Users Group Meeting, New York City, October 8, 1965

Introduction
We have been using our 1620 Model II computer at Newark College of
Engineering to sill\1la.te car following (no passing).

In particular we are

studying the rear-end accident situation with the hope of being able to
suggest promising prevention devices and measures.
~th

a mathematical - decision making type of model we can generate

accidents and near accidents at will.

The cost of this method of study

is much less than a field investigation where reliable data is very
difficult to obtain. To have practical significance the model must
well represent the real situation and yield accident rates similar to
those found from motor vehicle accident records.
The principal computer work which has been done in the area of
automobile simulation falls either in the area of urban traffic network
simulation with emphasis on the intersection problem, or in the area of

•

the highway interchange problem.

In our study,. on the other hand, we

are emphasizing the individual car + driver situation, hoping to

wu

tt,t""

I

2.

understand the fine structure of driver behavior by concentrating on
the simple car-following, nopassing, single-lane driving situation, as
might be found for example in

~

tunnel.

o

Traffic models of this particu-

lar situation have been postulated and studied by several investigators,
but the research has focussed on the steady-state aspect of throughput
of traffic flow.

We are stressing the transient, accident-eausing,

exceptional situation.
We are devoting considerable care to structuring our model around
the human characteristics and behavior of the drivers.

We have explored

the literature for results of current research in human reaction times,
perception activity, sensitivity, response, etc., so that we can use
appropriate distributions for our parameters, and see how our model
behaves under reasonable changes of these parameters.

o
Mathematical Model
In Fig. 1 are shown three cars from. a platoon of cars traveling in
the single-lane situation.

The middle car, car n, is at position X and
n

has velocity Vn • The behaviour of car n is influenced primarily by the
relative velooity between itself and car n~l ahead of it. If car n is
closing in too fast on car n-1 the relative velocity gets negative and
car n then tends to slow down; if the relative velocity becomes positive
on the other hand, car n might be expected to acoelerate. Roughly
speaking then acceleratiqn (or deceleration) response is proportional

to relative veloc1 ty

o

3.

o

with some delay on the part of the response. The early models were based
on this simple equation" which can be made to fit relatively calm driving
situations.
Obviously however, there are a great many other factors contributing
to driver response.

What he does" depends not only on relative velocity,

but relative spacing" on his own absolute velocity, on his individual
characteristics such as reaction time, perceptiveness, sensitivity of
response and

ce~tainly

many other factors.

inoorporates many of these features.

The model we are now using

It stems from the work of Herman

and others at General Motors, and in particular follows the model of
L. Edie ,at the Port Authority of New York.
is shown in Figure 2.

o

The equation for the model

It postUlates that the acceleration (or decelerat-

ion) response is directly proportional to individual velocity and relative
velocity, and inversely proportional to the square of the spacing between
the cars. The faotor cJ::. , the sensi tivi.ty factor, determines the degree
of the response, and T represents the response reaction delay time.
T includes perception time, decision time and response time.

An equation

of this form has been shown to fit actual driving data very well.

Computer Implementation
We consider it likely that as our research progresses we may want
to program our simulation as a list..processing program with property
lists representing the characteristics for each vehicle + driver.
However for the initial exploration of our model we have used Fortran l

•

3 CJ l

4.
in particular the Kingston Fortran for the disc. We consider it an
excellent Fortran system. We have used its plotting routine to considerable advantage, because, having· no en-line printer, we plot data on our

o

407 from the punched output of the Kingstran plot. Though the process
is a bit time and card consuming, we find it more useful than even a
plotter would be for us, since we can get ten plots on the same graph.
In our computer representation certain characteristics such as car
position, velocity and acceleration are represented as two dimensional
vectors, the first subscript being the car number and the second the
time step.

Other characteristics, such as individual preferred velocity,

desired headway, and reaction time are one-dimensional vectors. The
latter parameters, do not change every time step, but may change
asynchronously during a computer run; for instance reaction time is
made to depend on the driving situation the driverhaa just experienced.
At a given time step each car of the platoon is considered in sequence, its acceleration determined and then integrated to give velocity
and distance. The integration scheme is quite simple, of error (At 1. ),
and for At -.1, it takes 4.4 seconds of computer time to compute the
behavior of one car for one second of real time. Thus, for a

5 car

platoon, for example, 22 seconds of 1620 time are required to compute
one second of actual time. This gives us a sort of slow-motion look
at what is happening. Of' course f'or simulation of large. urban traffic
networks this penalty ratio would be disastrous, but for our purposes it
is not too bad considering that accidents happen pretty fast.

Each

case is run in a range .of 10-20 seconds of' real time.

v

e .... ' ·tt

It ttt tt"tit

1t

t rt

thENe

f'ttdll

tt ¥"rt 't

tttWtrl'6tt"MHitttt b

\'f -)

'""

-

,"crr'!!

,,'iTSU UTI 1"I!m,»,."}

-)'1Hf"ft"H

s.
Our program fits into 40K of core storage allowing for 20-car

4t)

platoons Which is larger than we wish to consider so far.

Results
Our

program is set up to test out the effect ot various maneuvers

of the lead car on the cars following.

In Fig 3 is shown a typical

maneuver we have used to experiment with.

Initially all the cars of the

platoon are going along in this case at 68 ft.
velocity (about 32

spacing and 48 .f't./sec.

m.p.h.). Then the lead car decelerates at 8 ft./

sec./sec. for 3 seconds to a new velocity of 24 ft/sec.
When we first tried out this model we were getting an unrealistic
number of rear-end collisions, and we realized that our lack of realiSlll
was due to not letting a car look two cars ahead.

()

What we had was a

Itfoggytt model where the drivers could see only one car ahead and might
indeed have collisions at the rate we were experiencing.
We have now expanded the equation to include both the car ahead and
the car ahead of it, ahd the way the revised simulation is behaving seems
quite realistic. The rate at which accidents occur depends, as one might
expect, on the general reaction time of the driver population, and on
their degree of response, and of course on the presence of exceptional
drivers - either speed demons or vague old ladies.

Fig

4 shows

the

results of a run where the drivers all had a desired headway keeping
them too close to the car ahead.
&: 8.

•

Fig.

There was a collision between cars 7

4 which was plotted from oards on our 407 shows the velocitY'

prc).f11e of the various cars in the platoon before the collision took

6.
place.

In general tor position plots we plot only relative car position,

but in Fig. 5 we have translated these data back into absolute positional

o

notation in order to show the propagation ot the lead car disturbance and
its culmination in a collision between cars 7 and 8.

Future Research
We plan to expand our model considerably- and incorporate m.any m.ore
factors, especially a more detailed portrayal ot human driving behavior.
We will explore the lIIllt1-dimensional parameter space to see which factors

seem most important in accident causation, in the hope that we may
contribute some useful knowledge to the field of accident prevention.

The important aspect of model validation is always in our minds,
and we will check our model against any real-world experiments we can
find.

We are encouraged alreadY' to note that our model gives a stable

o

driving situation tor those values of parameters, e.g. reaction time,
obtained troll experimental sources, and that collisions occur as we
deviate from. such values.

Acknowledgements

We would like to acknowledge our thanks to the Pnblic

Health Service of the U.S. Dept. ot Health, Education and Welfare for
their support of this work under Grant Humber ,AC 002)6-01, and to the

Research Foundation of Bewark College of...Engineering. which supported
the research in its initial stages.

o

--

-

o

CAR

CARn+l

~

C;;

22
.

SPACING

~

CAR

n

~

n-l

c;"'~
--

.....

SPACING

[X n-l - Xn J

[Xn - Xn+1 J
X

X

X

n

n+l

n-l

FIGURE 1. CAR FOLLOWING SITUATION
~_. .

10,1.

!II

.

•

~.!I!I

'I!

-.

_.~''''I!

I

..

o
ACCELERATION

:I

2
d Xn+1)

• 0<

dt 2

t+read,ion time

th

Vn : VELOCITY OF n- CAR

Xn : POSITION OF

~

CAR

FIGURE 2. CAR FOLLOWING EQUATION

'-_________________'_ ..1_-_'. ____- - - - - - - - -...

•

VELOCITY

48 £t./sec.

DECELERATE A.T
[

I

2

8 rt./sec.

~

24 ft./sec.

TIME

FIGURE 3. TYPICAL LEAD CAR MANEUVER

~
Q..

}J

o

c
-

---

-

-

-

- - - - - -

o

CZ oj>
VElJJCITY

~

0
0
0
0
0

1

1

-0

I

0
I-i

1

~
1

t.xJ
0

n

2
2
2

0
0

3

0

3
43
4

3

5

iF'O

5
5

4
4
6
5
5

6

7

5
75

6

7

6

32

4

32

6
6

Q;;;4A4¢C

8

441#$\

¢

5
5
85
5

7"44444, #Z #4 #AZ 44

4

5

5
5
5

"$

69

5

6 9
6

9

6

9
9
9

6

6
6

79
7 9
7

9
9
9
9

7

7
7

7

89
8

9
9
9
9

8

8

8
9-

8
8

Oi

9

4
8
843

9
9

4 3

qA

0

~

9

5

3

4

~
~
ll>

9
9
9
9

5

3

8
H

59

327

4
4

5
6
6

4

47 32
32
4
4 32

5

7

4-

32

4
4

5

6

4
4

6 2
32

6
4

t;j

t:-t

9
9
9
9

326

65
6

4

3 2

4

5

6

21
52
3
2
3
2
3 2

5
4-

5

0

3
5

5

9
49
4 9

3

3

1

3

9
9
9

3

21
21

3

9

3

21

3

4
4
4

P

0

3

24
4 21

4

0

0
0

2

3

0
0
0
0
0
0
0

0
07

39

2

1
1

32 1
2 1
2 1

3

9
9

3

0

3

9

2

2 1

0
0
0

0
0
0

2

1
1
1
2
12
21

1 3
2 31

0
0
0
0
0
0

2

I

_@

9

2

1

0
0

•

2

1

til

0

oq

-29

1

t;!

.

9
9
9

1

H

0
0
0
0
0
0

~

9

I

0
0
0
0
0
0
0

•

·9
1 9
1
9
9
9

9

3

9

$"

14., $,4 T T

.~,

;,«. ,h4

4$$('(.(

a

i. ; ;

» ;44

¢ $II

=* 4 ;

...•. ,... ..... _n_ ._.

~-

_ ". ,'-__..:..1.,;_.•••

o

o

V\

o

o

DATA PROCESSING
AT
INDIANA STATE UNIVERSITY

o

Presented Oct. 8, 1965

New York City, N. Y •

•

..__.._ ...._lIJt,,,.

CONTENTS
Page
INTRODUCTION
ADMISSIONS
A-Student Master Card
B-Student Address Card
C -Parent Address Card
D-Adrnissions Reports

1
1
1
1

TEST SCORE SERVICES
MASTER SCHEDULE
GRADE CARD/CLASS TICKET
MASTER/PERMIT/ID/ENCUMBRANCE
PACKET PREPARATION
SECTIONING
POST REGISTRATION
HOURLY EQUATED REPORT
INSTRUCTORS LOAD REPORT
CLASS LISTS
OFFICIAL ENROLLMENT REPOR T
RESIDENCE REPOR T
MAJOR/MINOR REPORT
MID-TERM GRADE REPORTS
HIGH SCHOOL PRINCIPAL'S REPORT
FINAL GRADE REPOR T
A-Grade Card
B -Index Card
C -Exception Card
D-Name and Address
E-CommentCard
F -Probation Report Card

2
2
2
3
3
3
3
4
4
4
4
5
5
5
5
5
6
6·
6
7
7
7

REGIONAL CAMPUS
TECHNICAL SERVICES
EXHIBITS
l-Application for Admission
2-Encumbrance Card
3-Master Card
4-Address Card
5 -Permit to Register
6-1. D. Card
7 -Grade ,Card
8-Registration Form
9 -Student Lists
lO-Course Request Card
ll-Temporary Class List
12-l0~Day Report
l3-Amnissions Flow-Chart
14-Packet Preparation Flow -Chart

C

C\

8
12
14
15
15
15
16
16
16
17
18
19
20
21
22
23

'10 e:,

0

'II

tb:#di,tttr

j

tt"

t

$'M.

r

d"l!

.. a».'

tr ttf##Htthttbtr**bbt±tirrlttittM#tt#tr

b· ..·

!

. .,..

.

(

., ... ,

r·y

w· .. ,fj" .. ··

Page

•

o

•

15 -Grade Card/ Clas s Ticket Flow -Chart
16 -1. D. /Permit Preparation Flow -Chart
17 -Post Registration Card Handling Flow-Chart
l8-Hourly Equated/lnstr. Load Flow-Chart
19 - Tally Sheet
20-H. S. Principal's Report Flow-Chart
2 I-Regional Campus -1 Flow-Chart
22-Regional Campus -2 Flow-Chart
23-Regional Campus -3 Flow-Chart
24-Hourly Equated Report
25 -SAT Listing
26 -H. S. Principal's Report
27 -Course Master Card
28-Schedule Listing
29-Class Ticket
30 -Official Enrollment Report
3 I-Packet
32-Drop/Add Form
33-Mid-Term Cards
34-H. S. Plot
35 -Grade Reporting Flow -Chart-l
36 -Grade Reporting Flow -Chart-2
37 -Scholastic Achievement Report
38 -Grade Report
39 -County /State /Country Report
40-Index List
4l-Class Lists/Residence/Official Enrollment Flow-Chart
42-Mid-Term Grade Reporting Flow-Chart
43 -List of Equipment

24
25
26
27
28
29
30
31
32
33
34
35
36
37
36
38
39
40
41
42
43
44
45
55
56
58
59
60
61

DATA PROCESSING AT INDIANA STATE UNIVERSITY
by Noel T. Smith and John T. Kline
INTRODUCTION
Indiana State University is a multi-purpose, state supported, coeducational
institution located in Terre Haute, Indiana. The University occupies a campus
area of more than 50 acres in the heart of the city., and a lO-acre plot in the
suburban section, where the University Lodge is located. Campus facilities
include 14 academic and administrative buildings and twelve residence halls.
Two additional residence halls and one new general classroom building will
be in use in the spring of 1966.
Both undergraduate and graduate courses of study are offered. Degrees
are granted in the fields of teacher education, liberal arts, and professionalvocational curricula. Practical arts programs are available to students who desire specialization in fields that mayor may not lead to a degree.
The expanded enrollment in our University has brought greater complexity
of operation and planning to the machine record and Computer Center section.
Our University enrollment has increased by 90% since the machine record
section was installed in 1958.
Since July, 1963 a 1620 system has been in operation. Although still card/
disk oriented, the 1620 computer with a 1443 printer has added greatly to our
overall system. The system is to be expanded to include two disk drives in
1966 and further expanded to an IBM 360 Model 40-disk-tape-data cell system
in September, 1966. Also, scheduled for delivery in February, 1966 is a disk/
printer card IBM 1130.
This presentation is centered around our present 1620 system and shows
areas of use of the 1620. The areas covered include admissions, test score
reporting, pre and post registration rep~rts, mid-term high school principal's
report, grade reporting, and the Evansville extension campus system.
Although Indiana State University has a complete 1620 payroll system" including machine cor'rections, check writing, bank reconciliation, quarterly,
semi-annual and annual reporting of PERF -STRF, social security-, credit union,
foundation etc., the system is not discussed in this paper. The acquisitions
and order accounting system for the ISU library is also by-passed. Information
concerning these two systems may be obtained, by contacting the ISU Computer
Center.
Our since re thanks goes to Mr. Robert Wiseman, Assistant Director of
the Computer Center at ISU. With,out his cooperation this pa}?er would not
have been possible.

0

I

ADMISSIONS

o

After a student has been accepted for admission to Indiana State University
the Admissions office sends the student's master code sheet (Exhibit I), an
information page filled out by the student upon application, to the Computer
Center for keypunching. The cards punched are kept on file for use during the
students stay at ISU.
STUDENT MASTER
The student master (Exhibit 3) contains coded information pertinent to many
reports during a semester. For example: student number and name, current
classification, the curriculum, sex, birth date, permanent identification number,
church preference, home county and state (as well as high school county and
state), school enrolled, first major, second major, minor and area m~jor,
marital status, transfer status, and advanced standing status.
Using the student master, rnany statistical reports can be made about the
composition of a student body during any seme"ster.
STUDENT ADDRESS

o

This is a name and address card used for such reports as the grade report
which must be mailed to many students. The name and address card also has some
housing information pertaining to such things as non-resident housing, married
housing, on or off campus housing. The classification and sex is also kept on
the address card. (Exhibit 4)
PARENT ADDRESS
A parent address card is punched on entering freshman only. This card is
used to mail the parents certain information during the first semester.
ADMISSIONS REPORTS

•

Applications for admission to the comming fall semester usually begin
during the last half of the current fall semester. In order to help the admissions
office keep a better record of admissions and to formulate statistical reports
concerning admissions, the Computer Center keeps the freshman masters
separate from returning student masters until mid-term of the fall semester.
Each week applications processed for the last ;eek are punched and statistical
re"ports updated and a list of applicants provided. Once a month all applicant's
masters are sorted into alphabetical order and a list of applicants to date is
generated. Statistical reports are generated covering such topics as: State and
County frequency counts, frequency counts of the proposed majors and minors,
and a count of total adrnis sions to date .

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

----._----"
2

TEST SCORE SERVICES
Along with each application for admission there is a test score sheet sent
to the Computer Center. These sheets are used to punch a test score card
for each entering freshman. The test score card consists of SAT math and
verbal scores, ACE scores, or ACT scores. High school rank in class and
a converted percentile based on the size of the high school are kept in the card.

0

The test score cards are used for predicted index. The predicted index is
based mainly on the SAT scores and converted high school rank in class. A
list of all test scores is then prepared for distribution to the counselors and
a list of predicted indexes and test scores sent to the Deans of the various schools
on campus. (Exhibit 25) The predicted index is then used to prepare a statistical report on predicted indexes. The average predicted index and percentiles which a predicted index represent are made available to the counselors.
After the first semester a comparison is made between the students predicted
index and his actual first semester index. Presently the index of correlation
is .63. (Exhibit 13)
MASTER SCHEDULE
Approximately two months before the beginning of a semester the master
course schedule is prepared by the department chairmen and sent to the Computer
Center. The master course card is punched and listed. (Exhibit 27) A feasibility study is run with the course master cards as data. The feasibility study is
a computer check to make sure that two classes are not scheduled at the same
time for the same 'room or the same instructor for two classes at the same hour.
The list is then sent back to the department chairmen for approval. Small
changes are often made, such as adding courses or switching times, etc. (Exhibit 15)

o

GRADE CARD/CLASS TICKET
After the master course card has been punched and the schedule approved,
the master course card is then used to generate grade cards (Exhibit 7) and
class tickets. Punched in the master course card is the number of students
that will be allowed to take this course. course instructor, room, time, bl:lilding, course number, department, and a master course number. The grade
card is generated by the computer which puts department, course number,
master course number, building, room, time, course description, and cre,dit
hours in the grade card. The number of grade cards generated for one clas s
is determined by the maximum number punched in the course master. Class
tickets are generated in much the same way except instructors name i,s used
instead of course description. (Exhibit 29) (Exhibit 15)

o

I

II

Wttftt:h t t:

t tt

trimt"tnn

nt"

H4'"")

.n

.. "f["

.

"jj"

3

o

MASTER CARDS/PERMITS/ID/ENCUMBRANCE
In preparation for registration an ID card and a permit to register is made
for each student. The ID card and the permit to register are merged behind
the master card. An encumbrance list is circulated among the various departments on campus and returned to the Computer Center. An encumbrance card
is punched (Exhibit 2) and the permit to register is replaced by the encumbrance
card. At registration time the student must pick up his master, permit, and
ID before he registers for any classes. If he has an encumbrance card it must
be cleared before he is issued his permit to register. A student is not allowed
to enter the registration area without a permit to register. (Exhibit 16)
PACKET PREPARATION
Presently at ISU, registration for classes is accomplished by filling in several
cards with the information requested. This group of cards is known as the packet.
(Exhibit 31) The packet consists of the following cards: Registrar's card form 2,
Registrar's card form 3, Business office fee, Academic Dean's Scholarship, IBM
Information, Student Personnel, Housing Information, School of Business (for
business majors only), School of Education (for education majors only), Automobile
registration, Church preference, Bluebook information (Student directory), and
Extended Services (evening or Saturday students only). These packets are made
available to the students before registration. They may fill them out before
re gis tration time. (Exhibit 14)
SECTIONING
Sectioning is the process of merging the cards with their appropriate class
ticket and separating the groups into the various departments which they represent.
These groups of cards are then taken to the registration area. At the registration
area a student proceeds to the department table to obtain a grade card and clas s
ticket according to his proposed class schedule. After the student has received
all of his clas s cards he goes through the fee line where all of the cards are checked
for mis sing information or mis sing cards) and pays his fees. After the fee line
all the cards are collected except class tickets and ID card.
POST REGISTRATION CARD HANDLING
After registration the cards' are collected and sent to the Computer Center to
be distributed. Using the 514 the student number is interspersed gang-punched
in all the student's cards. The cards are then sorted into alpha-order, separated,
and sent to the appropriate offices. (Exhibit 17) The master, IBM information,
and grade cards are kept by the Compute r Center .

•

'1/ J

4
HOURLY EQUATED REPORT
The Hourly Equated Report (Exhibit 24) is a report concerning classification,
sex, and the number of hours a student is taking this semester. The report has
subtotals by general classification (part-time and full-time) and is separated by
sex into the following catagories: freshman, sophomores, juniors, seniors,
graduates, advanced graduates, special students and auditors. The grand total
line provides the total number of freshman, sophomores, etc. attending ISU this
semester.
(Exhibit 18)

o

INSTRUCT·OR LOAD REPORT
This report is a count of students in each clas s. Using this report we can
show how many students in any department are being taught by the same professor. The report also provides room utilization information. It consists of
counts separated by instructor, department, subject, room, time, and building.
At the end of the semester it is this report, along with other information, that is
used to schedule final exams. (Exhibit 12)
(Exhibit 18)
CLASS LISTS
After late registrations have been completed (approximately 10 days after
registration) the Computer Center generates a preliminary class list (Exhibit 11)
to be sent to the instructor. The class list is a three copy report. The instructor uses the first copy as an attendance record, the second copy is sent back
to the Computer Cente r at mid-term grade reporting, the third copy is kept for
reference by the registrar's office. After mid-term and the deadline for all
drop and adds the Computer Center generates a similar single copy class list
for the instructor to use for final grade reporting. The class list report consists
of a heading containing such information as instructor,building, room, time, etc.
The main body of the report is a list of the. students attending that particular
clas s and their clas sification. The clas sifitation on this list is meant to be a help
to the instructor in his evaluation of the student during the course, and- a guide
to mid-term reporting.
(Exhibit 41)

0

OFFICIAL ENROLLMENT REPOR T
The Official Enrollment Report (Exhibit 30) is similar to the hourly equated
report in that it pertains to the number of students in various catagories. It is
with the Official Enrollment Report that the official full time student equivalent
enrollment is figured. This is based on 15 hours as a full time load. A student
taking 10 hours would only be 2/3 of a student in this report. The report is
separated by sex, classification, and area major ~ If necessary this report can
be run as a state analysis or county analysis in respect to full time students. (Exhibit 41)

()

1

*"':'5t'tt"t'H'NWttt tNt 'nreV",wu!'h:l't'M W'tW*i,liul'y!t"ijjie\lh't#

'J'eW't'W'

,
'In

I

:

11

$ 't

t

rt rttrt#b&ri*rt±

IT"'

'-rUn"'

',g

5

RESIDENCE REPOR T

o

The Residence Report (Exhibit 39 ) is a report showing how many students
we have from each county within Indiana, each state, and country. Each count
is separated by sex and classification. A subtotal by residency in Indiana and
non-residency is provided by this report. (Exhibit 41 )
MAJOR AND MINOR REPOR TS
The Major and Minor Reports are mainly for the benefit of the department
chairmen. They consist of a count separated by classification for each area
major and minor and each specific major and minor offered at ISU.
MID-TERM GRADE REPORTING

OJ

At mid-term a grade report is sent out for each entering freshman, and
deficiencies sent out for the upper classmen. One week prior to mid-term the
Computer Center generates a color coded card for each freshman and upperclassman
in each clas s. (Exhibit 33) These cards are sent to the appropriate instructors.
The instructor records the mid..;term grade on this card and ,returns it to the
Computer Center. The grades are then punched in all the freshmen cards and.
failing grades are punched in the upperclassmen cards. The mid-term grades
are sent out on the same form as final grades with a comment "mid-term"
printed on the form. The final grade re'port program is used and a mid-term
index card punched for freshmen. (Exhibit 42)
HIGH SCHOOL PRINCIBAL'S REPORT
After mid-terIn at ISU there is a meeting of high school' principals from
the various India,na high schools represented on caInpus. In order that the
principals Inay be inforIned of their former student" s acheivement, the
COInputer Center generates two reports for theIn. The first report is a list
of classes attended by each student from a particular high school. Punched
output form this program ,is a summary card to be used in the next program.
The second report is a statistical report showing the highschool principal how
his school is doing in comparison with other Indiana schools. (Exhibit 34) This
report is prepared by forming an ogive curve of indices of all the entering
freshmen from Indiana at mid-term and plotting a point along this curve to
represent the particular high school in question. With this report the high school
principal can tell the percentile rank of his .school in comparison with other
Indiana high schools. All plotting is done on the 1443. (Exhibit 20)
FINAL GRADE REPOR TING

•

Since final grade reporting is one of the most important functions of the
Computer Center with regard to student record processing, the process
will be explained in more detail than other reports in this paper. T he following description closely follows the flow chart (Exb.4.bit 35-36) of the
grade repo rting s 1s te ,m and explains it in detail.

y..13

6
Explanation of the flow-chart:

A

All card files are merged together in alphabetical sequence by student
number.

B

Computer prints grade reports and updates student index file.
Probation cards for failing students. Store us ed cards.

C

Grade reports to students and school officials.

D

Output:

E

New index cards to back in file for report use.

F

Probation report cards are sorted by school.

G

Probation reports are printed and sent to the Deans of

H

Probation cards are stored.

o

New student index cards and probation report writing cards.

th~

schools.

Explanation of card files.
After completion of step A (shown by the flow chart), the input to the computer consists of multiple card groups; one per student.
There are five main card types involved in student grade processing, they are:

0

Student Grade Card-These are the cards the students picked up and turned in at
registration time. At grade. reporting time the returned class lists are used
as data to punch the grades into these cards. (Exhibit 7)
Student Index Card-The student index file is a continuous file maintained and updated each semester by the Computer Center. This file has the complete scholastic history and current status of each student. Such coded information as
housing, social organizations, transfer hours, major areas of study, sex, and
classification is kept on this card.
Student Required Index Exception Card .. The purpose of this card file is to automate the detailed processing of students having scholastic problems. Because
the student's academic progres s is of utmost concern to the University, careful monitoring and guidance techniques are essential. The Required Index Card
allows the proper school authorities to carefully supervise the progress of a
student. By submitting a pr.obation form to the Computer Center, a school
official may stipulate exactly what scholastic level of achievement must be met.
This is done by stating what grade point ave rage the student must earn, either
on a cumulative or semester basis. This infor:ulation is then entered into the
student's card group and'allows the computer to analyze the student's work
accordingl y.

o

I

·'U·

7

o

If the student fails to meet this requirement, the compute r will generate
a card from which a complete scholastic report can be written and sent to the
appropriate official. The card is labeled "exception" because in the absence of
this card the computer will use the standard catalog required index schedule
to analyze the student.
Student Name and Address Card-The name and address card allows for automatic
addressing of the student's grade report.
Comment card-The comment card allows a school official a maximum of two
lines of comment on the student grade report. Through the use of a comment
code, the comment may be printed if the student fails'to meet a specified grade
condition. It is also possible to print the comment under any conditions.
Output:
Two main cards are generated by the computer during grade reporting.
They are: the updated Index Card and an Action Card. ·The Index Card is held
and used for next semester's grades, the Action Card is used to generate reports to be distributed to counselor's, registrar'soffice and department chairmen.
After grade reporting the index cards are used to generate the Scholastic
Acheivement Report. (Exhibit 37)

o

•

The Scholastic Acheivement Report gives information such as number of people
in a given group, total hours, total points, and average grade point ratio for this
group. The groups are by sex, area major, sorority pledges, sorority actives,
complete sororities, fraternity pledges, fraternity actives, complete fraternities,
residence halls and residence halls by floors.

8
Re gional Campus

o

The Computer Center's activities in admissions and registration at the
regional campus is a pilot study. It is hoped it will lead to a more completely
automated system than is presently used on the main campus.
The following is a detailed explanation of the regional campus flow-charts.
Flow-Chart#
Block#
I A-I

Exhibit
Number
I

Explana tion
The Application for Admis sion form
sent from the Admissions office
to the keypunch section with status
(accepted-rejected) and number
(perm-alpha) marked on it. This
becomes the start of a student
disk record.

I A-2

The Applications are punc-hed as
received.

I B-5

The Application for Admis sian is
returned to the Admissions office.

1 A-3

2

I A-4

A "Permit Denied" card is punched on all applications denied with
a code of reas on de nie d.
A "name and address" card is

punched on,admissions denied for
notification of student, H. S. and
others.

1 A-5

The "denied" name and address is
filed. (File # 8)

I B-1
I C-l

3

A "Student Mast'e r" card is punche d
on accepted admissions, then filed.

I B-2

4

A "name and addres sIt card is
punched on accepted admissions for
future uSe and notification, then
filed.

I B-3

I B-4

5

6

A "permit to register" is punched
for each accepted admission.
An

"t. D."

card is prepared.

Lf.ICo

i,
I

c

I

1'1

I,I
I

I

9

o

Flow -Chart#
Block#

Exhibit
Number

1 C-4
1 C-5
1 D-5

8

Explanation
Permits, ID's, and denied are all
put together in alpha order to
become file for registration. As
students arrive to begin registration,
they pick up permit, ID, and registration form (Exhibit 8) and student
goes to advisor.

In this registration system responsibility for sectioning is left with the departments. Each course and each section of a course in the catalog is given
a code number. The descriptive information of the_ course is fed into the computer at point 2 D-2. This will be explained later. Each ,department, prior
to registration is given a tally sheet (Exhibit 19) to be used at registration time.
These sheets are marked as each gtudent enrolls and closing or opening sections
is the department's option, and nothing more than signing the registration form
is necessary. The department also assigns the code number to the registration
form. This eliminates some error conditions. After this form is completed by
the student, fees are paid, housing checked and the registration form is collected.
1 D-4

OJ'
1 C-3

lD-3
1
1
1
1
1

D-3
D-l
E-l
D-2
E-2

2 A-2
2 A-3
2 A-4
2 B-2
2 B-1
2 B-3

•

10

Registration is completed by completion of the registration fo,rm.
The courses are listed in the proposed class schedule area and departments or others in charge of
sectioning iJ;litial and put course
codes on the sheet. After the
schedule is completed. the registr"ation form is returned to the
keypunch section.
A course request card is punched
with student number and the coq.rse
codes from the ,registration form,
then filed (File #3)
The Tegis~
tration/is then filed-(FHe #9)
form
Course cards, address cards, and
master cards are sorted (alpha.)
and merged from file #i, ?, 3.
Unmatched are hand checked to
establish error and refiled (File #4)

'iI,

10
Flow ... Chart#
Block#

Exhibit
Number

2
2
2
2

D-2
C-l
C-2
D-l
2 E-l
2 F ... l
2 D-3
2 E-2

A-3
B-3
B-4
B-2
B-1

3
3
3
3

C-2
C-3
D-3
E-2

o

A compute r ptogram with maste r
catalog on disk is run with input
of master card and address card
followed by course card. The
course masters and program are
filed (File #5).
7

9

2 C-4
2 D-3
2 C-3
2 C-5
2 D-5
2 D-4
2 E-4

3
3
3
3
3

Explana tion

The computer punches a completed
grade card for each course a student
requested, and prints "student lists"
on multi-part paper. Lists are sent
to various offices and one to the
student.
A collating operation then puts master

card and grade card together and pulls
address and course request cards.
Masters and grade cards are filed
(File #7) and addres s / course requests
are filed (File #6).

24

11

Since all formate; are the same as
main campus, the program compatability is 100%. Therefore, all
programs mentioned earlier in this
paper may be used for the Extension
Campus. From File #7, Student
Masters and grade cards are fed into
the 1620 and an Hourly Equated Report
generated. The summary cards generated are a duplicate of the Master
card with hours carried by a student
punched. These cards are filed
(File #11) for later auditing of fees.
The Hou.rly Equated Report is sent
to the Registrar, President and
Busines s Office.
The Course Master Cards from
File #5 and Student Master/Grade
Cq.rds are sorted and pulled to make
a deck for the 10- Day Report. This
report is prepared by summarizing
the total students by classification
in each section. The 1620 program
at this point punches the 10-Day Report
Cards and as a by product, generates
temporary class lists to be sent

tol../.ltf'

0

11
Flow -Chart#
Block#

Exhibit
Number

Explanation

o

the Instructors and Registrar. One
list is kept by the instructor and
another returned at mid-term to the
Computer Center with mid-term
grades, additions and corrections
posted to it. Drop and add procedures are not shown in the flowchart but are processed by machine.
"Adds" go through the 1620 program
shown in flow-chart #2 block #D-2.
Drops are processed with the 088
collator by pulling equals on student
number and course code number.
After mid-term a final Hourly
Equated Report and 10-Day Report
is run. The difference in the two
reports becomes data on "Drop/
Add" studies.
3 E-4
3 E-5

Grade cards and course masters
used as input to program '3 E-3. are
filed (in class order) for future'
processing. (File #12)

3 F-3
3 F-4

The output cards are input for the
10-Day Report program. The report
generated goes to the President's
offic.e and to Deans. The 10 -Day
Report cards are then filed (File #13).

o
3 F-5
3 G-4
3 G-3

12

SUMMARY
Although this system has been run through only one registration (Fall'65), it
did work and the processing time from 1 D-4 thru 3 G-3 for 402 students was less
than two hours. Many operations such as interpreting and forms handling have not
been shown here. Total cost for supplies used was less than $5.00.

o

12
Technical Services
During the course of a year the Computer Center at ISU performs services
to the University too numerous to mention in detail in this paper. Probably the
most popular is a gummed label service of name and addresses of students,
colleges and universities, elementary schools, high schools, junior high schools,
superintendents of school systems, and many others. The card files for these
listings a.re kept current and are coded for sorting purposes. Labels are also
made for several offices of transfer and new students for use in creating new
file folders. Labels are also used by the President's office for selected mailings
to faculty, staff and others.

0

Computer programs are written and on file to perform services such as:
sorority rush, contract notifications to faculty and staff, room utilization, final
exam scheduling, placement office reports, computer dance, degree audit for
graduation, fee audit, meal ticket, admissions "no-show" studies, cost studies,
te·st score analysis for instructors, salary distribution reports, scholarship
reports, and many standard institutional research reports.
A library of research programs is maintained at the Computer Center for
faculty and graduate research. During the past academic year, 78 research
projects were completed, 297 students received "hands -on" training and a complete
payroll system was developed. The metered time used on the 1620 main frame was
1887.67 hours. One caution that is observed at the ISU Computer Center is that
the major objectives of teaching and research are not submerged in purely service
activities.

o

All programs mentioned in this paper are documented with detailed card
layouts, procedures, and program listings. Each one is available by, writing the
ISU Computer Center, Terre Haute, Indiana.

o

o

EXHIBITS

o

o
Lfd.(

L'J~ J 70

To Be Returned with Your Application lor Admission
A""

f' ..

P

U 0,"$1 7

3'~

'\).
,J
v~t\

STUDENT MASTER CODE SHEET

-L

~,.:.J

c~
;;rv

o

EXHIBIT i

ToBe Returned with Your Application lor Admission

1st Semester:

PRINT OR TYPE ALL INFORMATION

HOME ADDRESS
PARENT NAME

P

2nd Semester:

19

1st Summer:

19

2nd Summer:

19

BlRb

d2 ::L
SOE

TEL.L
STREET

V//Yl

CITY

STATE

COUNTY

ADDRESS

.~

CLASSIFICA TlON

"'0337

Date of Enrollment

The following code sheet must be completed in every detail and reo
turned to the Registrar's "ffice, Indiana State University. Failure to
complete the form or any part of it will jeopardize the applicant's ad·
mission to the University.

-:JAA IE

a'l3~~OI'
e7

~~

STUDENT MASTER CODE SHEET

NAME

,.4-

SO.

JR.

SR.

Post GR.

----

'---I--"

X

SEX

MALE

DEGREE

A.B.

CHECK (v') ONE ONLY

ELEMENTARY TCHG.

IF SECONDARY TCHG.

(MAJOR)
COMPREHENSIVE AREAS:

1..

2.

(MINOR)
RESTRICTED AREAS:

1.

2.

FEMALE
B.S. ~

o

Other

X.

SECONDARY 'TCHG:

NON TCHG:

(MAJOR)
SPECIAL SUBJECT AREAS:

NON TCHG. CURRICULA

LIBERAL ARTS:

MAJOR

NON TCHG. CURRICULA

OTHER:

MAJOR AREA:

G.1. BILL

MINOR

MARITAL STA·TUS

TERM AND YEAR ENTERING I.S.C.

.5t,(/(i, L ~

CHURCH PREFERENCE
HIGH SCHOOL

1I1-ff}
'State

County

Name

D~A~T~E~OF~BI~RT~H~:__LIL/_-~/~~~_-~tI-~~~______~N~EW~ST~UD~E~NT~:____Y~=E~S~)(~~N~O______~R~A~C=E:______~__________
COlLEGES ATTENDED

.

11.

2.

I'

3.

Indicate clearly the course of study you select. If foreign language is one of your areas, list specific language or languages. If Business js selected,
indicate 'the specific Business field. Also list Science, Special Education, and other areas where a'selection i~ designated.

I,

o

14
I'

I

I:'I'·"!',

i

.

.

,

,:/'

. #'W"!

',""'"!

#!tWIt"

Q!t~75EAHLER f NG

CARDL

AST

MIODLE OR MAIDEN

fiRST

CLEARED BY

CLEARED BY

I

01

!Xl

ADMISSION DENIED

TO REGISTRARS OFFICE

r-l

PROBATION

TO DEAN OF ST' DENTS

I~

REPORT TO DUM Of ARTS, SCIENCES

REPORT

TO DEAN OF MEN

~

REPORT TO DEAN SCHOOL or EDUCATION

REPORT

TO DEAN OF 1 )MEN

~

REPORT TO SCHOOL OF NURSING

~

REPORT TO DEAN SCHOOL or BUSINESS

~

OTHER

c=J

REPORT

c.Q...

~

REPORT

I

I REP

11

c=J

RT

~ORT TO DIRECTOR PHY~ICAl
ct
Z

ct

, 0
t z

I

I

§ _

USI ESS OFF!:

PLAIT

E lRT TO DI' CTOR! UDEIT flNAICIAl AIDS

ACADEMIC

FEE OR STUDENT CONDUCT ENCUMBRANCE
YOUR RIGHT TO REGISTER

!i

TAKE THIS

"l""ARED.

IS

B~ING

CARD IMMEDIATELY TO THE

.. BJVE. RETURN THIS ,;ARD TO
ENCUMBR~'lCE

ABOVE, ~FTER

OFFICE CHECKED

STUDENT ut~ION BALLROOM AFTER

IS CLEARED FOR

ENCUMBRANCE

I. IF ADMISSION DENIED, YOU MAY CONTACT THE DEAN CHECKED

WITHHELD UNTIL YOUR STATUS IS

REGISTRATION DAY, FOR APPOINTMENT.

2. IF PROBATION, CONTACT DEAN

CHECKED ABOVE WITHIN 10 DAYS

TO MAKE APPOINTMENT TO DETERMINE PROBATIONARY CONDITIONS.

PERMIT TO REGISTER.

I

FAILURE TO MAKE AND KEEP YOUR APPOINTMENT WILL RESULT IN

"\ '-

&XHle>JT G

~TUDENT

..J::)

MAJOR

MINOR

uu 1110

1

ILL EO r·.fp U~

CLASSIFICATION:

1&.1

CURRICULUM:

(I)

MAJOR

,/

Fit

SO

MINOR

AREA ~lfl
MAJOR ~ TU•

Ii Cllltil

H.S.

P.G.

GR•

NON

S

COUNTY
STATE

8
......

TEACHING

I

A.G.

,/

V

NO

B"~J
I JDIT

GR D.

MARRIED

6. I. IILL THIS TfRM.,

~

>INGLE

2.

DEGRE~AM

YES

NO -CREDIT

2

BUS.

FIRSl • :RM ON CAMPUS.,

YES

NO

l(

STUDENT MASTER CARD

MS

MALE

D.A

FEMALE

~

EXHleir 3

I ... HIIISI

,-------------------------------------------------------------------------------------------------~

AHLERING

CAROL

III I I I II
I I I
III

EVANSVILLE

CAMPUS

I II I
I I
I II

3~09

WA~HINGTON

I I

I

I

AV~

I III I
II I I EXH'iJI r
I

4

II 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I 0 0 I 0 I 0 0 0 0 I 0 0 0 0 I 0 0 0 0 0 0 0 I 0 0 II 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0
123456 ;89101l~uw~~n~~wnnnM~anaH~~~nM~~~~D~~~~«a%~«~~~~~~~~~~~ W~~~64~"~""ronnn~~~nn~"

1 1 1 1 1 111 1 1 1 1 1 1 1 111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 111 1 1 1 1 1 1 1 111 1 1 1 1 1 1 1 111 1 1 1 1 1 1 1 1 11 11111 1 1 1 1 1 1 1 1 1 1
22222222222222222222222222222222221222222222222222222221222222222222222222222222
3 3 3 3 3 3 3 31 3 3 3 3 3 31 3 3 31 3 3 3 3 3 3 31 3 3 3 3 3 3 3 3 3 3 31 3 3 3 3 3"'3 3 3 3 3 3 3 3 3 3 3 3 311 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

444444444444444444444444444444444444444444444444444444444444444414444444J4444444
5555115551551555555555555555155555555155515511555551151~155515515551555555555555

66666666666666666616666666666666166666661666666666666666666666666666666666666661

o

771177777777717777777777777777777777.77177717777777777717777777777777777777777777
8 8 8 8 8 8 81 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 sl8 8 8 8. 8 8 8 8 8 8 8 8 8 8 8 a 8 8 8 8 8 8 8 8 8 8 8 88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
9 99 9 9 9 9 9 9 911 9 9 9 9 91 9 9 9 9 9 99 9 9 9 9 91 9 9 9 9 91 9 5 5 9 9 9 9 9 9 9 9 ~ 9 9 9 9 9 9 9 91 9 9 9 91 9 91 9 9 9 9 9 9 9 9 9 9 9 9 9 9
I 2 3 45 6 7 8 9 1011 12 13 14 1516 1118 19 20 21 22232425262728293031 323334353637 JB 3~ 40 4: 424344 4546 47 48495051 525354.5565758596061626364 65 &66768697011 121314751677 78 19 80
IIBM

sos}]

15

J

_~I\

b51120T.35H21.jll

i

MATH

I

AREA MAJOR

It

SECONOI n

SUW/rl".

I.

/

DO NOT .'UTE ABOVE THIS LINE

.IR

ELEMENTAR'

Q

!

.i ,;:

~_-'F

l

WILL APPEAR

----

1,3 f~5~

!

PROBATIOt4

GRADE REPORT.

I

I

I
I

CA~OL

-------

EVA N SV

4
Z
4

ON YOUR

-- --

r5EAHLE~tNG

STUDENT
NUMBER

o

3. NOTIFICATION OF ADMISSION DENIED AND

IBM H77418

001

...
...4

IMMEDIATE TERMINATION OF ATTENDANCE AT INDIANA STATE COLLEGE.

uU(

...

f':)t.Rt1Lt.1< I Ma CAImL

~~~-------------

NAME

RESIDENT

*

NOII-RESI DENT

*

.. A.lOR

*

I U ••

ROO ..

GENERAL INSTRUCTIONS
.t-.

PRESENT THIS CARD TO YOUR ADVISOR WHE .. PLANNI ... SCHEDULE.

II. YOU WP_L REPORT AT THE "ORTHEAST ENTRA..CE TO THE ARIE .. A, 5th AND CHESTNUT STREETS, AT THE EXACT TI .. E LISTED ON THE REPORTING

I
-

SCHEDb .. E. HAVE THE .. ONITOR STAMP YOUR ·PERMIT TO REGISTER- AS YOU PASS BY THE TIME CLOCK.
m. GO I.... EDIATELY TO THE COURSE CARD TABLES TO PICK UP 2 CARDS FOR EACH CLASS LISTED ON FOR .. I.
CHOOSE THE SAME CLASS AT ANOTHER HOUR.
TO ASSIST "'llI.

. ~ :m:.
~

AFTER VOII HAVE COLLE" TED AL.. CLASS CARDS, GO TO THE WRITlN8 TABLES TO PUT YOUR NA .. E ON ALL CLASS CARDS AND THE HOUR OF YOUR
CLASSES 0 .. ALL FOR .. S. CHECK EACH OF YOUR CARDS TO SEE THAT NI) INFOR"ATION HAS BEEN O"ITTED.

=

lit

IF YOU FIND A CLASS CLOSED,

IF HELP IS NEEDED IN CASE OF CLASS CONFLICTS, .. ONITORS WILL BE AT THE CLASS CARD TABLES

X.

PROCEED TO THE FEE TABLES TO PAY COLLEGE FEES. IF YOU HAVE A SCHOLARSHIP,

80 TO THE SCHOLAR SHIP TABLE BEFORE PAYING FEES AT THE

FEF -ABLES.

~ JEt.... ltI "ARDS wiLL ISE CHECKED AT DEAN OF "EN'S AND DEAN OF WO .. EN'S TABLE ... EN AND WO .. EN WILL FOR ..
!: :m:. tEAVE ALL RE81STRATION FOr'llS, EXCEPT THE CARDS WHICH ARE LABELED ·CLASS AD ..ISSION CARD· ON THE

SEPARATE LINES HERE.
RI8HT HAND .. ARGIN OF CARD, AT

THE CARD COLLECTIN. TAILES. THE CARDS WHICH YOU KEEP ARE YOUR AD .. ISSION TICKETS TO CLASSES AND ARE TO BE HANDED TO YOUR
't"TRUCTOR THE FI"~T CLASS D'AY.

2m: SlOP AT THE CA"ER"I FOR PICTURE TAKI ....

*

APPLIES O.. LY TO ..IW nEI ....I .

AND NEW TRANS'"

PERMIT TO REGISTER

ITUDENT!

11M H77410

PLANCK

264177,8

KENTON
03

E

25

E
4

41

HOURS ENROLLED THIS SE .. ESTER

EVANSV'LLE

EVANSVILLE CAMPUS

I~'DlANA ITAT~

I.

CAMPUS

I .. DIA .. A STATE COLLEtE

COLLUI
. _ ERRI HAUTE_INDIANA

TERRE HAUTE, INDIANA

c
z
c

Q

a;xH'&IT-

!:

------

---

~--

--

- ----

o

(0

I. FILL OUT ALL INFOR .. ATION IN INK.
2. KEEP ALL SIGNATURES WITHIN BLOCKS.

DO NOT DETACH THIS ITUI ~

3. PRESENT THIS CARD TO PHOTOGRAPHER.

THIS STUB ..UST BE PRESENTED TO RECEIVE
YOUIt PER"ANENT IDENTIFICATION ,CARD.
11M

/

H7741.

PH'YS
ST. NAME
ST. NCl,

r

DEP

1

1855
CODE

0.31
1

IcJcukR,

01

SECT.

I INTRO

11 1
COL ISE

---

----l

COMMENTS-

PHVS
COUf~_

SCI

11

100

.1 T

TIME

T

DAYS

.3

I

GRADE
I

I
PTS.

CR.HRS.

I

INDIANA STATE

r.R~Arr

r

"

EXH,,,,r- 7
GRADE

CARD
r

"-

'"
./
CREDIT HOURS

I
I
I

STUDEN·T PRINT FULL NA.. E BELOW.
I

,NAME:

INSTRUCTOR'S SIGNATURE

11M 646556

16

0

I

'I

I

te.

··f

CAMP~t-\
PLEASE PRINT
IN INK

REGISTRATION FORM
TODAY'S DATE

o

STUDENT NO.

NAME

HOME ADDRESS
STREET

CITY

ST.REET

U.S. CITIZEN

AB.

FR.

M.S.

B.S.

PHONE

PHONE

STATE

CITY

CL.ASSIFICATION

SEX

S,,!,ATE

COUNTY

SO.

JR.

M.B.A.

M.A.

SP.

SR.

GR.

VETERAN

OTHER

ADV.

YES

POST GR.

NO

HIGH SCHOOL.
NAME

NEW STUDENT

YES

COUNTY

NO

STATE

TRANSFER

DATE OF BIRTH

YR. OF GRADUATION

TERM AND YR. ENTERING I.S.U.

MARITAL. STA·TUS

CHURCH PREFERENCE

CHEc,.K ONE ONL.Y

EL.EMENTARY TCHG.

SECONDARY TCHG.

MAJOR

NON-TCHG.

MINOR

ADVISORS SIGNATURE

o

COURSE SCHEDULE
HOUR

DEPARTMENT

FOil BUSINESS OFFICE

COURSE

SEM.

NO.

HilS.

TOTAL

USE ONLY

DEPARTMENt
MON.

TUE.

WED.

THUR.

AMOUNT

HOURS

FRio

SAT

ROOM

AUTHORIZAtiON

FOR REGISTRA~'S OFF"ICE
USE ONLY

!....---

@(HIBI,-B

cONTINGENT FEE

SCHOLAIISHII'

LATE FEE

OTHER
IIEC. NO.

o

OTHEII
8Y _ _ _ _ ._

TOTAL FEES

17
REGISTRAR

CODE

46670

FALL

JOHN T. KLINE

1965-66

201 OAKLAND DRIVE

HIGH SCHOOL CODE. 44-52
MAJOR • MATHEMATICS
COUNTY. VIGO

CLASSIFICATION
MARITAL STATUS

STATE

*

NON-TEACHING CURRICULUM

INDIANA

*

SAT

*

.TERRE HAUTE, IND lANA

*

SEX* MALE

JUNIOR

SINGLE

BIRTH DATE

*

o

08/21/44

PERMANENT NUMBER * 164-9987

VERBAL- 25 MATH- 99

CLASS RANK.

881 99

ACT. ENGLISH -95 MATH-99 SOCIAL STUDIES-84 SCIENCE-98 COMPOSIT-94
ACE * QUANTITATIVE-58 lANGUAGE-89 ENGLISH-17 TOTAL- 90

.. ..

--~

---~

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

---.----~

DEPT COURSE

DAY+HOUR

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

DEPT COURSE

CREDIT

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

DAY+HOUR

CREDIT

MATH 400

MWF

8.00

4 HRS

LANG

112

MTWTF

6.15

3 HRS

MATH 400

MWF

8.00

4

LANG

172

MTWTF

6.15

3

MATH 400

MWF

8.00

4

LANG

172

MTWTF

6.15

3

MATH 400

MWF

8.00

4

LANG

172

MTWTF

6.15

3

MATH 400

MWF

8.00

4

LANG

172

MTWTF

6.15

3

TOTAL HOURS THIS SEMESTER

35

46670
JOHN T.

FALL
KL IHE

MAJOR. MATHEMATICS

r

COUNTY • VIGO

TERRE HAUTE,INOIANA

CLASSIFICATION. JUNIOR
MARITAL STATUS. SINGLE

STATE

*

BIRTH DATE * 08/21/44

PERMANENT NUMBER

*

25 MATH- 99

CUMULATIVE DATA** HOURS* 96.0

DAY+HOUR

SEX. MALE

INDIANA

NON-TEACHING CURRICULUM 'SAT

DEPT COURSE

1965-66

201 OAKLAND DRIVE

HIGH SCHOOL CODE. 44-52

o

VERBAL~

POINTS*258.0

CREDIT

*

164-9981

CLASS RANK*

88/ 99

RATIO. 2.68

DEPT COURSE

DAY+HOUR

CREDIT

MATH 400

M WF

8.00

4 HRS

LANG

172

MTWTF

6.15

3 HRS

MATH 400

M WF

8.00

4

LANG

112

MTWTF

6.15

3

MATH 400

M W F'

8.00

4

LANG

1 72

MTWTF

6.15

3

MATH 400

M WF

8.00

4

LANG

112

MTWTF

6.15

3

o
I

I

I

MATH 400

M WF

8.00

TOTAL HOURS THIS SEMESTER

4

LANG
18

172

MTWTF

EX~'Bt,-g

35

,I

II

I

nt

it

't

j

t tt

1$ tit th'trt

d#ttu Httthbt t

dHtt

'd

&1""

"

'UP

f'"

c

.0775E00280015
1

f;.K H .e,T -10

o

11000011001100000000000000000000000000000000000000000000000000000000000000000800
'2345678910"UnU~nDnH~~n~~~~nn~~~nn~~~n~H~~~~~~U~~~~~~~~~~~~~"~~~M~UvunNnnn~~nnnn.

11111111111111111111111111111111111111 (,,1111111,1111111111111111111111111111111

22222222122222222222222222222222222222222222222222222222222222222222222222222222
3333333333333333333333333333333333333333333333333333333333333333333333333333333

44444444444444444444444444444444444444444444444444444444444444444444444444444444
55551155555551555555555555555555555555555555555555555555555555555555555555555555
6666666666666&666666666666666666666666666666666666666666666666666666666666666666

7711777777777777777777177717717771171777111117177777177717111117177777777177111t
8 8 8 8 8 8 8 8 81 ~ 8 8 8 8 &- 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 B8 8 8 8 8 8 8 8 8 8 8 8 B8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 a99999999999999999999999999999999999999999999999999999999999999999999999999999999
, 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2829 30 31 n 33 34 3536 37 38 394041 42 43
~

o

•

19

~

4546 47 484950 51 52 53 54 5S 56 57 58 5960 61 62 63 M 65 66 67 68 69 70 n

n 13 14 7S 16 n 1819 80

'j

-

ISU TEMPORARY CLASS LIST
To the Instructor: The students listed below registered for this course during the regular registration period. Changes in the roster should be made only upon receipt
of official Notice of Registration or Add or Drop cords. Add the names of those who register late and indicate the date. Draw a line through the names of those who
officially withdraw and indicate the date Please maintain this record accurately
DEPT.

I

COURSE NO.

I

I

SEC.

I

I

I

DESCRIPTIVE COURSE TITLE

HRS.

I

I

I

I

SEM.

I

DAYS

*1'

CODE'~

I

INSTRUCTOR

STUDENTS NO. Be NAME

£XHIB/T

CL.

DATE
ENTERED

DATE
WITHDRAWN

TEMPORARY ATTENDANCE RECORD

MID·TERM
GRADE

i1

0

.t-~
TOTAL

20

STUDENTS

00_INSTRUCTORS SIGNATURE

1

~OMPUTER

CENTER

INSTRUCTOR

TEN DAY REPORT

DEPARTMENT

COURSE
NO.

ART

151

230

__._. _____ Qfl._V LS._

81U

112

700

-4------.~ L~A LEY-- ..... --- .--.

BIG

112

530

1

bUS

140

__.___.... _.K_~.k~~_'f_ . . . ___ ....... ________ .1.

bUS

3

I-j

l"J

.22E

.f.

.~.

400

t'l

~'J

25E

1

~_

201

530

['ij

~~

25E

1

3

038

___...._ ~.X.NCH ___.. ___ .__ .... ____ . +-. E/'JG

101

230

H

~~

7H

1

3

Q??.--.+. --_._-

ENG

101

530

r-.j

~~!

6~·J

5

3

eNG

101

400

T T

7 1.'

..

6

3

ENG

220

400

h

~'J

6 ~'J

GEO

111

700

1",

t·J

26E

1

3

056

... _____ .H._L~I___L _.' t;>l_J __ .___5..3Q

;'i

~J

26E

2

3

051

1

3

053

. - .•

__ . - - 4

-

HARDESTY
.

-

_

.". _ _ _ _

....

tlQ~.~.~Y___ _

KELL

..-

v-iAHi'JSI
EDLER
.... _--_ ..-._--.- .. -' ---.. -

HIST

U L E-ARY

LSCI

-

-

__

.1.

J .. _.. ___ ~AJ}tiABJ: _______ .. ____ ..

261

230

T T

?6E

206

530

T

5~J

I

_J+-lv'lA.TtI-.- 1. .194.

I

.7.QO..

_.. i".L

I 700
6_~-----~-~-~Qli~.RJ ____________ ---L-J~I t\_ItL. --L----.1J-~ --J------ ~;?Q .______ .
LABHART

I

ROBERTS

:-r-----~~~~-~~~:l-~N

HA.tH.

104

___ ._P..~Cl __ L___ . _110 .... L.
N

J

~~
2--~

JJJ .. _..__

__ .

•. _ _ . __ .. ,

T T

__ .. _.Z3_t;_

. ___1_.....1..

-

.

.

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

-------~-

_.

Q.?.2__..-t--_ ....-_._._--

.

_______ ..... _.. _.... _..

9_~~

..Q.2-1---r

9_27. ___ +___ .___ .___ ... __ ._.
066
---- _....

3

. -....

_ __._._---..

. ·i-·

-.. - ----

. 0 Z1_ .. ____. ____ .. __ '..

3

1. _.. 1. ....._ 4____ 1_1t46___ ~ ___________ _

2li-.- ___ --1-__. 2

I

4

039

I

.1_ J-----L .. - ___~:L~ ._______ -1- ______J ____ !____ ~ ___ +-Q].-~--------------I __ J_ .. __ ~ .. _..... __ 2J'i ___ .

T ..

_ .. .7.~L .

--~-.~. .

~'"

3

0

.EX H JB JT ... :1.Z

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

~.

...~.3 Q____

~'J

-

027
..... _-- ... _--

.-~.-

--- ...

.-.t. .... ---l--- t--- .. P--.---t--Q!tQ--------------_ . _:L _I. ... -·i- _._. J}kL. __ -----4 __ ...
..-t-. 3 I 029 I

,!~-Q--.-:-- __

ENG ---t_-.--l..Q.L...J.... , 5.?.Q .. ___

3_-+-______ ~JdJ_~!=_lS _____ .. _. ________ J___ ~. ~~! ___ .__ .

1

Q~5 ...•..

1

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

~

ENROLLMENT

23E

dCDONALD
.-- ----.---

~

SEM.
HOURS

H l·J

LYNCH

7

~

SECTION

2

-=---~--.-.---

(L

T T

•

1

__tl- _...

_~

ROOM &
BUILDING

19 tI5"

1,T

8E

___ ..:. __ . tiE $~_______ .... _.. __ .....

_

SEM.

Q9J~QL6~

TIME AND DAYS

____.... _._ .IJA!3JJN

]

e

INDIANA 15ATE

~ J .. Q.9_~ __ .~_. ___ . ______.

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

_.. -

..

21
•. _ _ .• - ._" ... ~----.--

.1

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

SAT Test

Application

Student

Scores

Address

r

I---~»--t

Parent
~ddress

Predicted
Index
Card

Pu

Predicted
Index Repor

Permit

Master

EXHIBIT -13

Re

III

tt

tt ... t .

ed 'M

"U

jj"-

o
Form 1

Form 2

Academic
(Dean

Business
Office

Student
Personnel

Auto

IBM

Church

School of
Business

o

''',

•

Information
Services

Exhibit-14

23

School of
Education

o
Course

Course

Offering

K. P.

Course
Master
Deck

~
\;1

__________ l....__
c_o_u_r__
s_e__

Master

Offering

Read

Grade
Cards

Class TiCke.~ts
Grade Card

J

~~~ ~
__

Master
Course
List

Exhibit-I5
24

I,
I

,r

It ti !Itt

t

t

tlm'!t
L

'f'

t

t

t!

t tre tttrt
t

r

ttt

t M

&11

H

t

*mt.±tM

ettf"

o
Returning
tudent's
Master

Encumbranc
~ists

Exhibit-16
Encumbranc
Card

•

25

·,*±ittrlrlrlrinirMbtt'rttriiit

Of"JJ

rOT 1 11ft

Off

Master &

------1(

Packet

o

Master

I
Form

Book

,-----

EJj
Grade Card

arm 2

Student

Form 3

Academic
Dean

Personnel

E~hibit

o

-11

26

II.
1,1

II

l~

1

o
Grade Card

~_--JI-_-S:Y
Course
Master

o

•

. Grade Card
Course
Master

Exhibit-18

27

Course
Master

I
~

V

~DIL

I bePr

$8:.

UI2. I ~y I 12b0lW\ '=;1 LIM,.,.

....'TL.E.

09421 MATH445102PRIN DIGIT COMP

100

F~M

207 1 2 1 013

0946 I MATH511

~HEORY

NUMBE.RS

3001 T T J-M 2171 2 1 015

09491 MATH5161

~HEORY

MATRICES

9001 T T LM 208 ,. 2 I 015

09501 MATH525

NON EUCLID GEOM

10001 T T

0951 1 MATH526

TOPOLOGY

1000M W FLM 208' 3 I 015

0952 I MATH530

INTERM ANALYSIS

~M

208 I 2 I 015

200~

w F~M2081

EQUATIONS

900~

W RtH 2081 31015

0954 I MATH533103DIFF EQUATIONS

1100~

W RLM 2171 31015

0953 1 MATH5331

O~DIFF

."..LLV

31015

<'

aH/~/1
~

0955 I MATH5341

IADV DIFF EQUAT

0956 I MATH535

INT VECTOR ANAL

0957 I MATH5361

INUH ANALYSIS 1

20a T T ILM 2081 21 015
120QM W RlM 20al 31 015
aoa T T IHE 2081 31 015

09581 MATH5451 OJPRIN DIGIT COMP

aoo

09"70 I MATH2001

ICALCULUS 1

ARR

ARR

ICALCULUS

ARJ

ARR

-----0972t-MATH2ool

1

},..~

RLM 2171 21 012
4

I I
4

28

- -

..

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

2l:s

LUV
0'

o

o

o

tOur

··:::t!!!I!'.!!

H. S. Header

Header

Master

o
Exhibit-~~O

29

•

Btl" '" .. ?'

4-23-65
1/3

EVANSVILLE -1

A-4
Application
for
Admission

Name &
Address

~

~

0

Jr

S'-

A pplica tion
for

Name &
Address

Registration
Request

Form

o
EXHIBIT-21
30

o

"

1
I,

dt

-urlln '-

'f%Y

4-23-65
2

2/3

EVANSVILLE -2

o

(3~--~---.

Course Req.
Address

Course Mas e r

1620

()

E3
Student
Lists

EXHIBIT-22

31

,/

','I

•
'-

Grade Cards

3

4-23-65
3/3

EVANSVILLE -3

o
92.

B4
1620

Hourly
Equated
Report

C4
Master

.04
Class

Grade Cards

0'

Grade Cards

1620

1620

1 - - -....-1

10-Day
Report

EXHIBIT-23

32

o

.ft:

··11"·

!Ill

HOURS
TAKEN

MEN

o

STUDENTS 22
HOURS

o

1
22

MEN

SOPHOMORES
WOMEN TOTAL.

o

1
22

o

1
22

1

1

21

21

o
o

1

o

HOURL Y EQUATED REPORT
JUNIORS
SENIORS
WOMEN tOTAL
MEN WOMEN TOUL

MEN

GRADUATES
WOMEN TOTAL

2
104

O·

o
o
o
o

6
120

3
60

9
180

o
o
o
o
o
o

10

8

76

152

12
228

19

2'2

1
22

o
o

1
22

44

1

2

1

3

o

21

42

21

63

1

5

20

100

2
100

7
1100

4
76

10
1'90

1

MEN

2

o
o
o
o
o
o
o
o
o
o

o
o
o
o
o
o

AUDITORS/SPECIAL
MEN WOMEN TOTAL

o
o

o
o

66

o

o

o

4

o

o
o

20

4
76

2

1

3

6

76

38

19

57

114

STUDENTS 18
HOURS

13
234

20
360

33
594

35
630

31
558

66
1188

60
1080

105

105

31

19

50

1

810

1890

558

3102

900

18

STUDENTS 17
HOURS

104
1768

109
1853

213
3621

83

102

185

17310

31105

66
1122

163
2771

48
816

27

11011

97
1649

1059

75
l275

STUDENTS 16
HOURS

271
4336

275

5106

132
2112

7810

41
656

1

16610

237
3792

9

107810

133
2128

90

8736

167
2672

1010

101000

14100

144

16

10
160

STUDENTS 15
HOURS

362
5430

227
3405

589
8835

196
2940

137
2055

333
4995

107
1605

85
1275

192
2880

155
2325

186
2790

3101

23

5115

3105

9
135

32
480

STUDENTS 14
HOURS

233
3262

118
1652

351
4914

131
1834

68
952

199
2786

84
1176

55
139
770 ·:19106

810

156
2184.

8

3

1176

72
1008

112

42

11
154

STUDENTS 13
HOURS

132
1716

90
1170

222
2886

71
923

49
637

120
1560

67

32

1016

97
1261

52
676

1"49
1937

22

871

286

j
91

··29
377

o
o
o
o
o
o
o
o
o

STUDENTS 12
HOURS

161
1932

63
756

224
2688

118

52
624

-170
2040

74

32

106

36

11016

888

3810

1272

1032

'19
228

660

38
456

12
1"

50
600

12

1281
903 2184
18775 13618 32393

805
11905

573 1378
8713- 20618

636
9675

1026 1062
6578 16253

512
7592

106
1448

32
428

138
1876

l2

21

STUDENTS 20
HOURS

o
o

STUDENTS 19
_HOURS

HOURS
TAKEN
STUDENTS 11
HOURS

4

MEN

FRESHMEN
WOMEN TOTAL

22
2102

9
99

31
3101

ME.N

o

299

SOPHOMORES
WOMEN TOTAL.

99
1287

49

o
o

18
198

10
110

28
308

12
132

427
939
6371 13963.

7

19

'77

209

19
209

99

9

9

1
19

1

18

404
68
0
68

55

"OURL\' EQUATED REPORT
JUNIORS
SENIORS
WOMEN TOTAL
MEN WOMEN TOTAL

MEN

1

~RADUATES

MEN

WOMEN TOTAL

28
308

~09

6
66

275

19

25

/

STUDENTS, 10
HOURS

15
150

50

20
200

11
110

10
100

21
210

90

90

18
180

9
90

60

15
150

15
150

10
100

25
250

STUDENTS
HOURS

18
162

28
·252

106
10110

10
90

8
72

18
162

7
63

11
99

18
162

8
72

12
108

20
180

25
225

12
108

333

9
7'2

9
72

4
32

13

14
112

10

210

1010

80

192

1
7

42

9

STUDENTS
HOURS
STUDENTS
HOURS

7

STUDENTS
HOURS

6

5

9

11_

6

2

6

3

6

48

17
136

10

88

32

16

48

24

108

10
70

6
42

16
112

21

4
28

1
7

3

18

12

.30

1'6

5

108

72

180

"6

30

21
126

6
36

15
75

5
25

20
100

4
20

10
50

14
70

30

3
12

8
32

2
8

4

4

3·

20

16

16

52
156

51
153 -

10

11

22

STUDENTS
HOURS
SU8TOTAL
STUDENTS
HlilI,lRS

STUDENTS
HOURS
STUDENTS
HOURS

4

STUDENTS
HOURS
STUDENTS

.2

HO~RS

GRANO TOTAL
STUDENTS
HOURS

5

6

5
30

6

G

o

6

o
o

o.

o

o
o
o

.0

17
85

40
200

1
5

2
10

10
40

6
24

16
64·

o
o

33

258

99

7710

235
705

493
1479

39

107
910

47
94

188

1-1
22

o
o

11

o
o

388
1533

8910
3822

26
73·

5

25

2
10

35

7
28

2
8

o

12

o

2
8

12
36

22
66

14
42

19
57

7

18
54

16
48

·34
102

30

13
26

210
108

5

10

5

11.

3

5

8

8

9
18

6

10

12

10

22

6

10

16

o
o

o
o

o
o

o
o

2.
2

·0

o

o

o

o
o

o

o
o

o
o

177
1093

138
779

315
1872

93
641

68
449

161
1090

610
10100

61
1tl9

82
603

-68

150

859

.10107·1050

506
2289

11058

10101

21099

898
12546

6101
1539
9162 21708

700
10115

48~
1187
6997 17112

594
8195

1095 1089
6818 15013

3737

EX l-\l)3/T -

612

24

910

420
1032
19"61·: 5698

1
7·

13

Z,7
85

._-_ .•

84

21

12

5

1~

240

100

3 It<

17
323

13

-··3e

247

57C

140
2520

115
2070

25!
459C

336
5712

5168 IG88C

629
10064

553
118~
8B1t8 1891.

8103
126105

9660

2230~

316

856

30''-

I

10!

640

12· 49407 35708 85115

o
o

o
o
o

11(

1

itlo24 1198'0

389
5057

2990

6i9
8041

12

428
5136

178
2136

606
7272

1

3341

2361

5702

o

o
1

o
o
o
o
o
o
o
o

Q

o

• ALL STUDENTS
MEN WOMEN TOTAL

4t

90
990

45.1

131
1441

59
590

40
400

990

68
612

71
639

139
1.251

101

28
224

69
552

.14
98

35
245

328

99

147

o
o

846

72
432·

213
1278

15

54
270

38
190

92
460

1,,'

39
156

3

2
9

230

1
7

8
.27.

644 -iitS7

540
7560

AUOITORSis'PECIAL
MEN WONEN TOTAL

o

2
1010

o
o

23
115.

8
40

6

o
o
o
o
o
o
o
o
o
o
o
o
o
o
o

3

o
o
o
o
o
o
o
o
o

o
o

89'"

103
309

19868 l't397 34265

O

o

133

18
108

125

1

D-

198

534

6
36

o·

1

o
o
o
o

104

5
35

12
72

2

o
o
o
o
o
o

o
o

264

6

102

66

Id

o
o

o
o
o
o

2

110

11

3?

ALL STUDENTS
MEN WOMEN TOTAl

o

o
o
o
o
o
o

1

STUDENTS 21
HOURS

SUBTOTAL
STUDENTS
HOURS

o

FRESHMEN
WOMEN TOTAL

22.

21

1101

- 23
92

~4-

66

365
1095

14
28

.83
166

77
154

160
320

o

3
3

o
o

3
3

.0

342
707
1026.2121

1.42
,948
739 1687
.51··124513936788817
16
51

43
4289 3100 7389
136· 54546 3.9386 9l9J2

NAME
WOOD SUSAN KAY
WOOD VIRGINIA CAROL
WOODBURY RICHARD
WOODS PAMELA SUE
WOODS PENNY L
WOODWORTH MICHAEL B
WOOLS GERALD LEE
WOOSLEY ERN IE- G
WORTHINGTON JOHN WM
WOZNIAK THOMAS .S
WRAY PATRICIA A
WRIGHT BilLY JOE
WRIGHT CAROL ANN
WRIGHT DEBORAH ANN
WRIGHT DON~LD LEE
WRIGHTDONN~ JEAN
WRIGHT GARY ALLEN
WRIGHT MARY JEAN
WRIGHT SHARON KAY
WUCHN£R ANN LOUISE
WUTHRICH SUSAN LYNN
WYCOFF CAROLYN J
WYLIE ROWENA SUE
WYMAN LARRY EUGENE
WYNDHAM RITA LYNN
WYTHE WM FREDERICK
YACKISH ELIZABETH J
YARNALL CAROL SUE
YEAGER DIANA LYNN
VOMTOUBIAN CYRUS
YORK JULIA ANN
YOUNG ~ARBARA JEAN
YOUNG DENNIS R
YURO SANDRA LfE
ZAITCHICK HOWARD W
ZEHNER RICHARD M
ZENTKO EVELYN MARIE
ZERR ELAINE SUE
ZIMMERMAN WIHELMENA
ZSOLDOS EVELYN MARIE

SAT

V M

66

55

46
89
81
50
59

12
88
76
46
86

88
74
46
81

45
60
08
46

71
01
43
90

69
02
07
57

67 . 87
91 94
58 18
54 49
67
50
48
92
65

61

39

ENG MA

ACT
SS

SCI COMP

36

78

46

46

57

29

74

9

23

28

72

48

65

28

49

75
64
49
91
52

34

H S RANK
086/0230
003/0017
272/0403
002/0026
017/0075
109/0122
109/0122
049/0117
026/0115
069/0162
082/016-3
052/0218
015/0130
064/0161
054/0067
240/0341
054/0109
009/0127
026/0053
009/00-80
096/0496
084/0122
092/0140
088/0129
010/0140
048/0108
131/0174
007/0064
042/0130

()

0

/

65
44

64
82

20
59

33
81

42
70

44

78

71

·46

64

68

044/0164
098/0222

028/0040
118/0182
/

209/0317
023/0108
055./0218
017/0131
052/0178

I
I

I
I

t!!.II~I
~.

EXHIBlr- Z5·
34

I
II·
..'.

I

t "it

. ·11"1 .... ,. ·:c···iWTT·"

0

()

•

NAME
WOOD SUSAN KAY
WOOD VIRGINIA CAROL
WOODBURY RICHARD
WOODS PAMELA SUE
WOODS PENNY L
WOODWORTH MICHAEL B
WOOLS GERALD LEE
WOOSLEY ERNIE G
WORTHINGTON JOHN WM
WOZNIAK THOMAS S
WRAY PATRICIA A
WRIGHT BilLY JOE
WRIGHT CAROL ANN
WRIGHT DEBORAH ANN
WRIGHT DONALD LEE
WRIGHT DONN~ JEAN
WRIGHT GARY ALLEN
WRIGHT MARY JEAN
WRIGHT SHARON KAY
WUCHNER ANN LOUISE
WUTHRICH SUSAN LYNN
WYCOFF CAROLYN J
WYLIE ROWENA SUE
WYMAN LARRY EUGENE
WYNDHAM RITA LYNN
WYTHE WM FREDERICK
YACKISH ELIZABETH J
YARNALL CAROL SUE
YEAGER DIANA LYNN
YOM-TOUBIAN CYRUS
YORK JULIA ANN
YOUNG BARBARA JEAN
YOUNG DENNIS R
YURO SANDRA LEE
ZAITCHICK HOWARD W
ZEHNER RICHARD M
ZENTKO EVELYN MARIE
ZERR ELAINE SUE
ZIMMERMAN WIHELMENA
ZSOLDOS EVELYN MARIE

SAT
V M
66 55
46
89
81
50
59

12
88
76
46
86

88

l~
81

45
60
08
46

71
01
43
90

69
02
07
57

67 87
91 94
58 18
54 49
67
50
48
92
65

36

29

72

75
64
49
91
52

61

34

39

68

H S RANK
ACT
SS SCI COMP
086/0230
78 46 46 57 003/0017
272/0403
002/0026
017/0075
109/0122
109/0122
74
9 23 28 049/0117
026/0115
069/0162
082/0163
052/0218
015/0130
064/0161
054/0067
240/0341
054/0109
009/0127
48 65 28 49 026/0053
009/0080
096/0496
084/0122
092/0140
088/0129
010/0140
048/0108
131/0174
007/0064
042/0130

ENG MA

/

65
44

64
82

20
59

33
81

42
70

44

78

71

46

64

EXHII3IT- z!5
34

044/0164
098/0222
028/0040
118/0' 82
/
209/0317
023/0108
055/0218
017/0131
052/0178

UNION DUGGER

STUOENT

NA~E

VERB

SAT
MATH

ENG

MATH

AtT
SOC

SC I

COMP

ALLEN DIANA KAY
COURSE
ENG
ART
P ED
P ED
P ED
SP
HIST

GRADE

101
151
151
015

0+
D
C+
C+

001

B

101
151

0+
0

11
HOURS

POINTS

3
2
1
1
2
3

4.5
2.0
7.5
2.5
3.0
3.0
3.0

15

25.5

3

TOTAL

BEDWELL RONALD LEE

~
VJ
Ul

335

J:

COURSE

~

I ED 161

F

Z

.0

I ED 132
soc 170
8IOL 112
ENG 101

C
F
F
C

2
3
3
3

I ED 050

0

1

P ED 051B

0

1

4.0
.0
.0
6.0
1.0
1.0

15

12.0

~

J:

t\J
lS'

GRADE

HOURS

TOTAL

~

CJ
~~~~-

25

COURse

GRADE

HOURS

POINTS

ART 151
SIOL 115
P ED 0518

C

2

A
8+

3
1

4.0
12.0
3.5

.-.EN (i__l.QO A

C

1

2 .0

CHEM 105
MATH 104

C

4

8

4

8.0
12.0

15

41.5

_IOTAL

379

ACE
T ENG
L
17

12

29

GPR

RAm<
IN CLASS

ACT.

PRED.

0012/0040

1.70

1.45

0015/0040

0.80

1.91

0007/0039

2.77

1.73

POINTS

SLY GEORGE RUSSELL

.J:..

Q

40

o

53

50

39

~

II

It

II

t

It

t

lit

Sit

1$

o
-

.-._._- ..

..

I
STUDENT
NUMBER

...J::>

uu

'

.,

."'-

\

iii
.a: xci

STUDENT NAME

.

"''''

ClIO

.........

I

_-_

.

....

"-

....

-

I

\

'l

!

!

COMPo
AREA

RESTR.
AREA

SPEC.
AREA

.,.: IV ~ (HURCH
~ TEAll ;I

H.S.

.

-.... _._ .. :.

__•... __ ._ ..•

---_._---:"

27

EXH\13 IT

COUNTY
STATE

J\
0
U

1ooooooooooooooooooooo08oooooooooolooo~oooolooooo~ooooo0000000008000800100000000000

~ 123456781~"~nU~~n~~~~»~~~ava~~~~n~~~,a~~~~~~~~~a~~~~~~~~~~~~~~aMM.o • • ~nnnH~~nn~.
~ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1h1 1 111 1 1 11'1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1·' 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

~

~

2222222222222222222222222 2222222 2:22 2212 222:2222222222222222222122 2222 22222222222 2 ;

~

333 3 3 3 3 3 3 3 3 33 3 3 3 3 3 3 3 3 3 3 3 3 33 3 33 33 3:33 33:333 3i3 3 3 33 33 333 3133 333333333 3 3 33 33 3 33333 3333,
4 4 4 4 4 4 44 4 4 44444 4 4444 4 44 44.4 4 4 4 4 4 4 414 4 4 414 44 414 4 44 4 4 4 4 4 4 44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 444 4 4 4 44 4 4 ~

_

t 5 5 5 5 5 5 555555555555555555555 5 5 5 5 5 5I5 5 5 515I 5 5 5I5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
(PARENT NAM! ANO AODRUI

II:

II :c

)

I

I

8 6 8 6 6 8 8 8 8 88 8 8 8 68 8 6 8 6 6 8 6 8 8 6 6 6 6 6 66 616 6 6 616 6 6 616 BB6 66 6 6 &6 6 &BB6 6 B6 &6 6 6 & 6 6 & 6 6l 6 6 6 6 6 6 6 J't 6

i g7777 77777 777 7 77777777777 7 77 7 7 7 77 7i7 77 +7 7 7:77 7 7 7 7 7 77 7 7 77 7717 777777777 77 77777 7 77 777

11

,~

,

\

8888888888888888888888888888 88 88 8i8.8 8 818 888\88 888 8 8 881881188888 88 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 88 •.
I GRAD! DISTRIBUTION I. INSTRUCTOR NAME
:t ':~ I DEPT. 1 CGUlSE Ism.1
COURSE NAME
I CLASS ME'ns I
ROOM
l' ~ t
999991999999999999999999999991991919919919 9!9 919 91991919119199919991999919999999999 9 9 9 9 9 9 9 9 9 9 999
I 2 3 4 III 7. • I 10 11 12 13 14 15 ,. 11 ,. 11 20 21 » ~ 24 21,2121 2112130131132 3313UII3I 37131 31140 41142 43144141 ..1471.. 41 .\11 52 allu5 51 571111 11110 81 ~ 83 M &5 6& 61 6& H 70 71 n n 74 71 ~ 71 71 71 ill

".. '"---•.. ".'S2

I

PRIN

,. NE VEU

~US

r

FULL

CHECK

NAME.

o 1At D5

CLASS

HAND
w

_.. _ - - - - "

TO YOUR

SECT.

,DEPT.

U
CURfh~CULUM.

015

INSTRU( 'OR

It;
DAY

INSTRUCTOR.

LoAIT

1

&AI

PIt.

10.

..ft.

'III IT

GR.

Sft.

IA."'.

P.Gft.

.IDDUj

P

.AIIII

i'AUO

SPEC.

Co)

&AI
~

~

CURRICULUM
WK. .M
T

U)

.~

~

!

'-..

•

t ..

ELIM.

W 'TH

I

SEC.

F

WI<.

N.TCH•.

y.

T

W

•enen
•S
0

lOR.

TH .-

F

WK.

Y

W

T

I

TH

F

WK.·

16

6

II

2

7

12

17

3

8

13

.8

4

9

14

e

10

15

.1.. H11411

~

1~~
ROOM NUMBER

M

580
couttS,

NAME

" CLASS
:I
·0

12:7

TIM'

M

l'

W

TH~

~

.'_~

~

0
z
n

•:u
0

I

,eXHlJ3J,

Z9

1.I

Total
Total

o

93932
15

= 6262.2

K~nber Students
(on campus)
Se~ester hO~S

7389
FALL '~4

93932

equated (full time) campus enrollment
OFF CAMPUS
No. Students

TOTAL - Off

~~:~us

43. 06
15

= 287.1 equated fu 11 t ime

.&> ,..
O~I

HOUl

817

2382

738
1555

192Lr

Extension Classes
Corresponder. -:2 Courses

Semester

4306

campus

SUMMARY:
(on
::Y~G;._

.::tuder.ts

c~"n:p·I.lS

(off ca.'np".ls

(special and auditors
Total Semester Hours
Equated full time enroJ.lment

o

SE~1ESTER

- 9099
98238
6549.3

HOUR ENROLJ1.lE:~T BY CL.t\SSIFICATION

No. Students

CL.A.SS

2499

Sophomores

1539

21708

Juniors

ll87

171~2

Seniors

J.089

150J.3

Gradua"t .~;

J.032

5698
136

~~c S~ecial (non-credit)

93932

TOTj..~:.

EXJ-IIBIT .30

I

1,1

•

HOll

Fresh-aen

Audi-'.::

:I

Semester

•

38

DO NOT WRITE IN THIS SPACE

I. . .

AUTOMOBILE

REGISTRATION

CARD

o

101.

EXTENDED SERVICES - EVENING AND SATURDAY
MR

LASl

F~~:S~r--------------------~M~IO~~~.f~O.~M~A~'~~E~~------:~~----~S~~M=f=ST=f~R----_19-------

BLUEBOOK INFORMATION
CHURCH PREFERENCE CARD
SCHOOL
~

"R.

~"I~SS

OF

SCHOOL

NAME:

EDUCATION'

____________________________________~~______________~~_______________
OF

19

BUSINESS

MR.

MISS

HOUSING

INFORMATION

1U

SEMESTER _ _ _ _ _ _ __

PLEASE PRINT ALL INFORMATION
DATE

_ _ _ _ _ _ _ _ .19 _ __

INFORMATION SERVICES

NAME·--------LL~U"T------------------_nFMKTr_~------------_~~LE~~~M~AIMD£~.--------------:~S------------_______

B
19 ___ .

DATE _ _ _ _ _ _ _ _ .19 _ _

STUDENT PERSONNEL CARD

Sem'-____

IBM INFORMAflON CARD

7

19_ _
6
5

ACADEMIC DEAN
19 ______

MR.

------------~~----------------F~.~ST~----------------..~IDmOLuE~~~
..&oAIOME~.----~!~ ----..~~-----

4
BUSINESS

OFFICE

REGISTRAR'S CARD FORM 3

3

REGISTRAR'S CARD FORM 2

2

c

------.~r-----------------~FI~R~Sl--------------------~MI~D~DL7f~O~R~M~AI~DE~.~------:~:----~'~£M~£~S~Tf~R-----19------STREET Oi R F 0

CLASSIFICATION

COUATY

CITY

FR. ___ SO. ___ JR. _ _ SR. _ _ GR. _ _ P. G. ___ A.GR ___ SPEC. NON CR. ______----AUDIT NON CR ____________

ELE M, _____..-....;SEC. ________ NON TCHG. ________ MAJOR I ____________________________

w

AREA MAJOR ___________________ MINOR 1.._____________________________

~

w VET.
..J
..J

O.
U

HOUR

G..
~ BILL

DEPARTMENT

WAR ORPHAN
COURSE
NO.

DEGREE
SEIIl
HRS.

MON.

TUES.

AB
WED.

2~.

BS
THUR.

FRJ:

SAT.

2. ___________________

______________________
AM

illS

GRADE

INSTRUCTOR

~

______

ED A

ROOM-

W

t-

~
fI)
C
Z

C

o

Z

I
* CIRCLE COURSE NUMBERS FOR ALL COURSES YOU ARE REPEAT ING
J
~--------------------------------------------------~~/

£XHIBIT-31
39

()

1

•

o
E-Z-OUT®

PLEASE USE A
HARD SURFACE TO
WRITE ON

o
02302

PLEASE BEAR DOWN
YOU ARE MAKING
6 COPIES

PRINT LEGIBLY
UARCO

CHANGE IN COURSE CARD

BUS/NUS 'OIlllS

CHiCMiO

BUSINESS OFFICE COpy

INDIANA STATE UNIVERSITY
FIRST

NAME
lAST
HOUR

(P1.EASE PRINT)

COURSE ADDED

COURSE
NUMBER

NAME
SEMESTER
HOURS

DATE
ENTERED CLASS

INSTRUCTOR'S SIGNATURE

DATE

*I

(PlfASf PR'Nt)

IEGlSl'IAOS OffICE

STUDENTS DO NOT WllTE
IN THIS AREA

FEES

CHANGE
OF
COURSi FEE

$

ADDITIONAL
FEES

$

TOTAL FEES

$

BUSINESS OFFICE
HOUR

COURSE DROPPED

COURSE
NUMBER

SEMESTER
HOURS

INSTRUCTOR'S SIGNATURE

DATE OF LAST I
ATTENDANCE ,
I

DATE FEES PAID
OR ItEFUNDED

AMOUNT PAID

$_ _ _ _ _ __

I

I

RECEIPT NO.

i

~T. REFUNDED

•

"11'$_ _ _ _ __

PROCESSED BY

APPROVED BY COUNSELOR

BUSINESS OFFICE

CHANGE OF COURSE FEE WAIVED-REASON _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

~------~~~~==

APPROVED BY

DETERMINATION OF FEE OR- ·REFUND WILL BE BASED UPON DATE COMPLETED
FORM IS PRESENTED TO BUSINESS OFFICE

REGISTRAR

EX~IBIT-3~

DATE! COMPLETED _ _ _ _ _ _ _ _ _ __
APPROVED BY

40

~
...0

REGISTRAR

o
/

STUDENT NAME

fI

DEPT

1I

COURSE

tT

SEC.

fI

r
T

TIME a DAYS

II

=

I
1&1
~
c(

....

GRADE F'S ONLY

CI)

c(

z

!!

INSTRUCTOR SIGNATURE

0

~

MID TERM REPORT ALL STUDENTS OTHER THAN BEGINNING FRESHMEN

\..

/

11M

./

H64410

STUDENT NAME

1I

1 I

1I

DEPT lCOURSEI SEc.T

I

TIME a DAYS

z

D

0

INSTRUCTOR SIGNATURE

1&1

~

c(
~
CI)

c(

!!

II

=

CI"

"I

~

RECORD ONLY MID TERM FRESHMEN GRADES ON THIS CARD

i/

_H64411

EXHIBIT-33

o
41

•

o

o
VERO BEACH H S
AVERAGE SCHOLARSHIP INDEX Of FRESHMEN FROM YOUR HIGH SCHOOL IN COMPARISON
WITH ALL COLLEGE FRESHMEN AT INDIANA STATE UNIVERSITY, FIRST SEMESTER
CUMULATIVE
FREQUENCY'
PERCENTILE
99
95

I
I
I
I

90

I
I

85

J

80

I
I

75

I
I

70

I

65

I
I

60

I
I

55

*

I

*
*

I
I

45

I
I
I
I

30

I
I

I
25
20
15
10
5
0

~

~~

I
I
I
I
I
I

I
I
I

1*

...
oJ.

*

*

*

*

YOUR SCHOOL (2.13)

*
*
*
*

I

35

*
*

----X----

I
I
I

50

40

.......

*

*

*

*

*
*

*
*

*

*
*
*
*
*

*
*

EXf.4'B'T-3~

----------------------------------------------------------------~-----------------

0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.75 4.00
AVERAGE SCHOLARSHIP INDEX OF ALL COLLEGE FRESHMEN AT INDIANA STATE UNIVERSITY

~
42

o

,r- . --... -- .---.-.---

,Student Grade
Card File

o

Student Index
Card File

Student Index
j
Exception Card,
File

'I

Student Name

grade card

~EJ

( St~~:·'i~; ;~~ur'k_ _ _ _ _

-J

~

~~~hT~~~~ort

port
) updated
•
lndex card

i
I

(To Students and c. c. to
conce rne d ·school authoriMDI~--I

Index
Cards'
E

n ex cardf.
index card
lndex card
index card
ew Student
index card file

t=)thuolof Bus
Names. j

EXt-\ I BJT-36

l
44

~

BY CLASSIFICATION
=================

jv}

NUf~

BER 0 F

STUDENTS
FRESHr'~EN

SOPHOMORES
JUNIORS
SENIORS
O:THERS
TOTAL

EN

CREDIT HOURS
ATTEMPTED
7,959
16,063
9,603
10,096
2,.472

754
1,191
699
766
223

GRADE POINTS
EARNED
12,H56.0
33,315.0
23,857.5
26,256.5
1),930.5

GRADE- PO I NT
RA TID

o

1.615
2.074
2.48 L,-

2.601
2-.80A-

2.234
3,633
46,193
103,215.5
=======================================================
W'Clivi Eht

NUt·H~ER

OF

S TUDEI\!T S
FRESHMEN
SOPHOtv10RE S
JUNIORS
SENIORS
OTHERS
TOTAL

CRED I T HO LJR S

ATTEMPTED

GRAD E PO- I NT S

EARNED

GRADE-POINT
RAT 10

------------------~----------------------~-------------

383

878

581
603
215
2,.659

3,445·
12,593
8,181
7,750
2,122

6.,167.0
29,146.0
21,498.5
22,368.0
6,585.5

1.790
2.3l4
2.628
2.886
3.103

3-4,091

85,765.(}

2.516

o

=======================================================
TOTAL
Nur~1

BE R OF

STUDENTS

JUNIORS
SENIORS
OTHERS
TOTAL

GRAD E PO I NT S

EARNED

GRADF.-PO INT
RATlJ

----------------------~~--------~-~~-------------------

=RESHMEN
SOPHOf~ORE

eRE D r T HU URS
ATTEMPTED

S

1,137
2,069
1,280
1,369
437

11,404
28,656
17,78 Lt
17,846
4,574

19,023.0
62,461.0

45,356~.O

48,.624.5
13,516.0

1.66 P
2.180
2.550
2.725
2.955

-----------------------------~--~--------~---------~--

6,292

80,269

188,930.5

2.354

=======================================================

45

o

o

o
PLEASE USE A

o

PLEASE BEAR DOWN
YOU ARE MAKING
6 COPIES

l.z.oUT~HARD SURFACE TO

WRITE ON

-

CHANGE IN COURSE CARD

02302
PRINT LEGIBLY
UARCO

.~ POMIS
CHICMO

BUSINESS OFFICE COPY

INDIANA STATE UNIVERSITY
NAME
lAST
HOUR

FIRST
NAME

(PlEASE PRINT)

COURSE ADDED

COURSE
NUMBER

SEMESTER
HOURS

(PlfASE PRINT)
DATE
ENTERED CLASS

INSTRUCTOR'S SIGNATURE

DATE
REGlSTIAIS OFFICI!

*I

STUDENTS DO NOT WRITE
IN THIS AREA

FEES

CHANGE
OF
COURSI FEE

$

ADDITIONAL
FEES

$

TOTAL FEES

$

BUSINESS OFFICE
HOUR

COURSE DROPPED

COURSE
NUMBER

SEMESTER
HOURS

INSTRUCTOR'S SIGNATURE

DATE OF LAST
ATTENDANCe

DATE FEES PAID
OR REFUNDED

AMOUNT PAID

$________

RECEIPT NO.
~T.

REFUNDED

OM,$_ _ _ _ __

PROCESSED BY
BUSINESS OFFICE

APPROVED BY COUNSELOR

CHANGE OF COURSE FEE WAIVED-REASON _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

=--------------======::::::::::::::::::::

APPROVED BY

DETERMINATION OF FEE OR ·REFUND WILL BE BASED UPON DATE COMPLETED
FORM IS PRESENTED TO BUSINESS OfFICE
DAte COMPI.£TED _ _ _ _ _ _ _ _- -

APPROVED BY

40

~

....0

REGISTRAR

E/( 1-\ I Bl T- 3~
REGISTRAR

..........

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

"~~~.=
-.=~

~~~""-'-.

o
/

tI

STUDENT NAME

·1
DEPT

1

I COURSE I

SEC.

tI

II

TIME

a

DAYS

II

=

I
...
&IJ

....C

GRADE F'S ONLY

f/)

c

z

C

INSTRUCTOR SIGNATURE

Q

~

MID TERM REPOR.T ALL STUDENTS OTHER THAN BEGINNING FRESHMEN

\.

/

V

.... H64410

STUDENT NAME

t
I

DEPT

1 1

1I

I COURSE I SEC. I

I

..

TIME

a

DAYS

II

=

o

D

&IJ
....

...
C

f/)

c
z

~

INSTRUCTOR SIGNATURE

Q

~

RECORD ONLY MID TERM FRESHMEN GRADES ON THIS CARD

"-

L.I

_H64411

EXHIBIT -.33

41

o

-

o
FRATERNITIES

----------------------PL EDGES

NUMBER OF
STUDENTS

CREDIT HOURS, GRADE POINTS
ATTEMPTED
EARNED

GRAD F-PO INT
RATIO

------------------------------------------------------.000

PI LAjvj~DA PHI
THETA CHI
ALPHA TAU OMEGA
TAU KAPPA EPSILON
S I G~1A PHI EPSILON
LAMBDA CHI ALPHA

0
0
0
0
0
0

0
0
0
0
0
0

.0
.0
.0
.0
.0
.0

.000
.000
.000
.000
.000

.000
o
.0
o
ALL FRATERNITY MEN
==========================================-============

o
I;.)(~ 18

.. ~

I~

0

J,- 37-",

o
FRATERNITIES

-----------COMBINED

NUMBER OF
STUDENTS
PI LAMBDA PHI
THETA CHI
ALPHA TAU OMEGA
TAU KAPPA EPSILON
SIGMA PHI EPSILON
LAr-1BDA CHI ALPHA

CREDIT HOURS
ATTEMPTED

GRADE POINTS
EARNED

GRAD E-PO INT
RAT 10

34

447

52
107
III

676
1,431
1,303
1,283
1,526

1,157.5
1,661.5
3,474.5
3,159.0
3,105.0
3,487.5

2.42R
2.424
2.420
2.285

ALL FRATERNITv MEN 496

6,666

16,042.0

2.407

39,528

87,179.5

2.206

NON FRATERN I TV

96
96

3,137

2.589
2.458

======================================~================

I=>tJilSlr- 37-5

49

o~
I':

1

ri"?,'t

't '!!I!'tr,,' '

W'!!!ItMf'nil!nWlltW'!I8'wiwtltd"WNt"'f'bl"HMo'I'WI"I!WW'!Mt'tj'r' l,ttbrt=rH'trillt' Itt i"'ilWINw.,w,lVHMI!)I!JIlt"iNt'Wv.'tH'tt",*"'",,dwirIJ'W

t ttt'\ "Me.n" ±H"tt!Hfre

I'

W'

"I

gUt.

n *H
t

##t#t¥#Hft1

tbrt

'tHe 't

t'

Ydrt#WbH,'

In

'ttl!

UtI

'1'1\1

SO RO R I TIE S
==========

ACTIVES

NUIVIB ER OF

STUDENTS
ZETA TAU ALPHA
DEL TAG A1"1 tvl A
GAr-1fv1A PH I BE T A
S IGrv1A KAPPA
ALPHA PHI
CHIOlvlEGA
ALPHA OfV1ICRON PI
ALPHA SIGMA ALPHA

62
62
62
61
59
68
63
51

eRE D I T HO URS
ATTEMPTED

GR A 0 E PD I N T S

EARNED

887
845
902
837
829
923

2,503.0
2,384.0
2,528.0
2,3'07.0
2,275.5

860

2,340.0
1,987.5

738

2,516.5

GRAD F -PO 11\1 T
RAT 10

2.R 22
2.821
2.803

2.756
2.745
2.726
2.721
2.693

---------------------------------------~---------------

ALL SORORITY WOMEN 488

o

6,821

50

.~

18',841 .5

2.762

=======================================================

II

,.

HO

t!

It!

j

II

I'

o
SORO RI TIE S

----------

PLEDGES
NUMBER OF
STUDENT S"
ZETA TAU ALPHA
GAMMt, PHI BETA
DELTA GAMf'IIA
CHI OloJiEGA
ALPHA PHI
S I Gf'il A KAPPA
ALPHA SIGMA ALPHA
ALPHA Ot'" ICRON PI

CREDIT HOURS
ATTEMPTED
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

d

GRADE POINTS
EARNED
.0
.0
.0
.0

.0
.0
.0
.0

GRAD E-PO IN T
RATIO
.000
.000
.000
.000
.000
• 000
.000
.000

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

a
o
.0
.000
=======================================================

ALL SORORITY WOMEN

o
EX 104 , " I T - "37- "7
51

ift ""ff":"""!" ted

-*rid

n"r"c""

o
SORORITIES

------------------COM BI NED
NUMBER OF
STUDENTS

GRADE POINTS
EARNED

61
59
68
63
51

2,503.0
2,384.0
2,528.0
2,307.0
2,275.5
2,516.5
2,340.0
1,987.5

2.822
2.821
2.803
2.756
2.745
2.726
2.721

ALL SORORITY WOMEN 488

6,821

18,841.5

2.762

27,270

66,925.5

2.454

J

NON SORORITY

62
62
62

2,171

2.693

========================:==============================
e.xH.&I'- 37- S
52

•

GRAD E-PO INT
RATIO

887
845
902
837
829
923
860
738

ZETA TAU ALPHA
DELTA GAMMA
GAM/vIA PHI BETA
S lGt l A KAPPA
ALPHA PHI
CHI OMEGA
ALPHA Of"1ICRON PI
ALPHA SIGMA ALPHA

o

CREDIT HOURS
ATTEMPTED

,~~~

___

~

_______

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

.......;==:.c,"",,";.".....

:_ .... _.• _.......

1

1I

'.'

"1

RESIDENCE HALL SUMMARY
======================

NUMBER OF
STUDENTS
ERICKSON
BURFORD
PICKERL

CREDIT HOURS
ATTEMPTED

GRADE POINTS
EARNED

GRAD E-pn IN T
RATII]
2.506
2.502

264
252
271
282
362
286
287
257
383
247

3,897
3,629
3,852
4, 120
5,351
4,055
4,035
3,572
5,313
3,496

9,766.5
9,081.5
9,561.0
9,499.0
12,188.5
9,101.5
8,990.5
7,£319.0
11,103.0
7,282.5

2.306
2 .. 278
2.245
2.228

TOTAL

2,891

41,320

9,439.3

.. 22 P,

OTHER

3,401

38,949

94,537.5

2.427

REEVE
8L lH-H3E kG

SANDISON
GILLUM
HULrvi/\I\J
CROMWELL
PARSONS

UTHER

2.482

2 • 1R 9

2.090
2. OR 3

(EXCLUDING FRATERNITIES AND SORORITIES)
2,417

25,462

59,654.0

2.343

=======================================================

EXH/BI T- ..57-9

53

o

I

::

!

,

t

"r!"ttN"""Ut"

tt rib>

t tt

t'

t"terh'.

t

.,

b#bt,fj "t"b ·ft

t

.,.

tdrtt i#tri

t

,,'dttH#±t#:#dj'H"tisrt

it

rit±*f .. "" rit

j

ri#"

r

"t"·

p''''

fHWfw .... w .. t

o
BY RESIDENCE HALL
=================

ERICKSON HALL
HOUSE

NUfV1BER OF
STUDENTS

CREDIT HOURS
A TT Er~ PT ED

GRA0 E PO I NT S

EARNED

GRADE-PO INT
RA T H)

-------------------------------------------------------------------2
3
4

5
6

TOTAL

54
47
55
54
54

780
692
812
806
807

2.547
2.478
2.392
2.519
2.593

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

2.506
3,897
264
===============================================c=======

54

.

1,986.5
1,715.0
1,942.5
2,030.0
2,092.5

, .. "

"WH , ..

'I'~

I

C\
,;'

COURSE
NUMBER

pEPT.

GlADE IEPOIT

CREDIT
HOURS

POINTS

GRADE

~

INDIANA STATE UNIVERSITY
TERRE HAUTE, INDIANA
STATUS

HOURS

POINTS

RATIO

TRANSFER HOURS

COMMENT

Type

THIS SEMESTER

By

MAJOR

Attempted

Accepted

CUMULATIVE
COMMENTS:

EXHJBIT- 38

.,
Date

L

55

,·
C
..

4'1

/'

•

o

o
nD I.1lI.! t\

EJ(H' B,T- 39

I.F'! I VE R S ITY
r.y CUlr·'TY

S TIl. TF

:;Tl!f)r:~'T' r~p;:M:-~"ll,','

".I'IJ,/6:5

COUNTY

ADV GRADUATE
l,rHJ

HG:'-lEi'

FRESlil,A\1
1"O'IEI"

ri;F~

S,) P ;-In j·:n RE
hf!·1

"'n"iE"1

.Jlfi·iVIP
f' Er,\
!·'U: r:1'

r~R

I! P

S
ii F ~..1

/) [Jil/i T r:

fFh

.:;: ',;F'

/

POST

GR,~n

I'OHE;,I

i··E;·!

!!n-"!=f'

SP. STIWEPTS
,..I r:1'i
urv EH

Tf')TlIL

!.\Uf)ITOn
\.In'lFf\'

t-'!E~·I

NOT. IN IND

o

o

97

57

o

(1

n

n

n

o

n

o

o

()

o

o

(j

(j

J "ii,

AOAl-IS

o

c

o

o

o

r:

(I

()

('

o

()

o

o

o

()

()

o

()

o

ALLEN

o

a

5

3

c

c

r.

(\

r

('I

()

o

o

()

o

o

o

o

8

BARTHOLOI·;E

o

a

12

10

o

o

n

n

(1

o

n

o

o

n

()

o

o

o

?2

BENTON

o

o

3

8

o

n

(I

(1

o

()

(I

o

o

o

o

o

o

o

H

BLACKFORO

o

o

2

o

o

('

n

(\

('

o

n

o

o

n

o

o

o

a

?

800NE

o

o

12

1.2

.0

o

"

(1

(\

(1

o

o

o

()

()

o

o

n

24

BROWN

·0

o

2

a

o

o

o

o

o

o

o

()

o

o

o

3

CARROLL.

o

o

5

o

o.

a

"

n

n

o

(\

o

o

o

o

o

()

()

o

o

5

CASS

o

o

20

2

o

o

()

o

n

a

o

o

o

a

o

o

o

o

?2

CLARK

o

Q

7

8

o

o

('

()

r

(l

o

o

:l

()

o

()

o

o

15

CL ",V

o

o

44

56

o

o

o

o

o

[)

o

o

o

o

o

o

o

o

IOO

CUi LH

o

o

7

o

o

G

(I

o

r.

o

n

()

()

o

o

()

8

o

a

o

o

(\

(1

(l

o

n

o

n

I)

o

o

o

o

[,

CRA\'!FORD

16.

~

8

,.

n/VIES
,

J .•

DECArlJl-:.

o

('

(\

~

(,

(1

('

o

o

o

o

o

(')

7

o

()

(\

r·

r-'

o

o

o

o

n

()

n

o

()

1

o

(1

('I

('

('

r

n

o

o

(l

()

()

o

()

2

('0

n

o

()

n

o

o

o

6.

o

o
o

o

2

o

7.1)

o

7

o

o

.(,)

o
o

n

()

o

.0

DEI_. __JL..-'-_o..

....Q ....~ .......JL_ _Q._....
o

_~

._ .. Q __.__ ..0

0

3. _ _ __

0

0

0

0

..... __J2.

o

o

(l

o _.. _._._,Q. _____ ....-'2. ____. _Q_

0

0

0 .

(;

n

. fL__

o

0

.0

-_.-

~

. ___ ._Q _____...1L _ _ .---'-'o'---_ _ __

_0_._ . ____ .O_. ____ .. Q __ ..___..lL.. _ _---L'._ _ _ _ __

o

0·.

0,

0......

o
.Q .... __'

o

o.

.MONTANA

o

o

.--LQl--_ _~_ _ _ __

0.

.•

·~rss

o

._._....!L... ____ -ll.... __ ..__ ..!l...___

'0

.0

~iL

o

Q

o·

o

;~Y: '::T.I·)~: i~.·""

.D_

o

°o

TOT I\L

o

Q•...... ~._.:{L~3..~.:.·

I ANA

SP. STUDENTS
AUDlTnR
!·!Oi'·IEi'L.._J,tHL._.MQl1HL.__ .J.1H! .. _ ~-!m1EN...

o.

... .."29 8 ~'(f

--16

093.0

~_

---

-'0f80U'BONNESS RICHARD R -

- - - - ----_.-

---- - ·--o9-6-~o--·-·-265-~(f·
2.76
._____ ._ _ _ _ _ _ _ ___

------------_._-1_- ._________ . _____

53.0

---------

ff

9?9_!_Q. _. ___ 9?'!'_!_Q__~. 42_. ______ Q2 ~_~Q....__._______ _

2.57

... .

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

f24,~(r----363~2. 93-------124.0 SEM HNO
._-- .. ---_ .. '._--,----_._--- -- - - - - - - - - - - - - -

15
33.0 .. __ 2.20
030.0
--_._--------_
__ ._--_. --------_... -

~

:t-

-- --17 ·--6~-;S__--~68---15

--------

---

-PTS-'-----C-Plf-- - ------t.:fR·S--------p-f'S .. ---·--CPR·----·---HRS ---- ---

01675 ANDERSON WM DAVID
01760 ANDREWS RICHARD

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

TOTAL

._-----

-OlrlO' ALLEN JOHN PATR'ICK-

---~

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

~ P_~!_!i~

INDEX
.

S TUDEN T NAM E

_._.

...

208~5'-2~32-

.-- ---·-087.0-------·--

o
Class
Lists

Official
Enrollment
Report

Residence
Reports

~

v

Exhibit-41

5.9

()

'I',',"

I

'h'!? tttWttttm' tt·ttrt,{,!t#·t.**wW'

.•

I

o

Mid-term
Freshman
~---.ot Index Card

Mid-Term
Up'percIassmen

Name
and
Address

o
Exhibit

~

42

.60

:.

ISU COMPUTER CENTER EQUIPMENT

I-Mod-l

1620, 20 K, IA, Auto-Divide, Edit Instructions

I-Mod-3

1311 Disk Drive

I-Mod-2

1443 Printer -144 Print Positions

I~Mod-2

1622 Card Read/Punch 500/250 w /File Feed

&-026

Keypunches

1

Verifier

1-082

Sorter with Counters

1-083

Sorter

1- 0-77

Collator with Internal Counters

1-088

Collator with Internal Counters

1.557

Inte rpreter

1-403

Accounting Machine

1.514

Reproducer

1

Decollator

1

Burster with Slitters and Imprinter

10

Disk Packs

o

o

(Exhibit 43)
61

I;'
I

I'i

'I

"I

tNt m

tl\tt*ttwtt tetl'

$1",&!

I

'fl'

!

it

'!'III.,

HW'

1

• hf t,fb

rdh. w"htrifri

"±±#r#t±tt# rlritliittrl"j"

-."]

IY

"w!m

lit .. ,.·

o

o

o
Binders courtesy of: H. M. Oshry Co. Inc.
Crawfordsville, Indiana

4-)
!
.
J

o

o

o

II
I

I

itt 6Mrtf'qu

o

rim tb&wt"t&t#

cp .. ··,·

WILKES-BARRE CITY SCHOOLS
COMPUTER CENTER

THE NORTH CAROLINA SUMMER TEACHERS
DATA PROCESSING INSTITUTE

Presented at
1620 USERS GROUP MEETING
NEW YORK, N. Y.
October 8, 1965

A. David Mayer
Coordinator, Data Processing
Wilkes-Barre City Schools
I

'10
I

I

THE NORTH CAROLINA SUMMER TEACHERS
DATA PROCESSING INSTITUTE
The Wall Street Journal for September 21, 1965 carried an article describing
the shortage of computer programmers in this country. According to this article

o

there are about 100,000 programmers employed at the present time and an
additional 25,000 are currently needed b" ,;fficiently handle the nation's 23,000
computers. In the past many programmers .lave been trained on the job, but the
history of this country shows that the

apprent~ceship

system has disappeared in

most work areas and schools take over" .Lth more efficient training methods. This
challenge to the schools of the nation has been handicapped by a lack of teachers
capable of Data Processing'instruction. To eleviate this shortage of trained teachers
the Department of Health, Education, and Welfare of the United States Office of
Education, together with various state Education Departments, in 1963 organized a
series of Summer Teacher Institutes in Data Processing. These Institutes have
been held in California, Wisconsin, Colorada, Florida, and North Carolina.
The 1963 Institute in North Carolina was held at Charlotte. Ashville, fO'r the
first year class, and Burlington, for the second year class, were the locations of
the 1964 Institutes. During the summer of 1965 the first and second year classes
were both held at Raleigh. Successful completion of the institute courses may
entitle the participant to degree or non-degree credit depending upon the

wishe~

and

status of the participants. The course content is designed specifically to meet the
needs of participants in the subject areas of Introduction to Business Data
Processing, Electric Acc.ounting Machines, Data Processing Applications, Computer
Programming I (first year courseR), and Computer Programming II, Proltramming
Systems, Busmess Systems Design and Development, Advanced Programming
Systems, Data Processing Field Project (second year course). A seminar in

o

I

$

q

t

tt

II

Philosophy and Principles of Technical Education was also included. The reader

o

who is interested can get an outline of these courses in the booklet ELECTRONIC
DATA PROCESSING-I, U. S. Government Printing Office. The courses are of
college level.
The major purpose of the institute is to assist in the development of
knowledge and skill essential for teaching specialized courses in preparatory
curriculums in business electronic data processing under Federally-supported
Vocational and Technical Education Acts. One of the purposes of this program
is to determine if successful teachers in the field of Office or Business Education
can be retrained through a series of specially designed summer courses to teach
in a field having some relationship to their previous experience. There were
33 participants in the Raleigh classes, from seven

o

states~

The criteria for selection of applicants included the following:
1.

Bachelor degree in Business Education, Mathematics, or equivalent,
preferably with one year of study in accounting.

2.

At least three years of teaching experience or combination of teaching
and work experience in the field of business or data processing, preferably in accounting, administration, mathematics, or business law.

3.

Currently employed as 'a teac her or department chairman with teaching
responsibilities in the field of business or data processing.

4.

Available for a teaching assignment and capable of qualifying, at the
completion of the institute, under the State plan as a teacher of business
data processing in a curriculum designed to prepare c,.Omputer programmers

;1
,

)
1

•

and application analysts.
5.

Recommended for enrollment by State Director of Vocational Education in,
sen<;ling State.

It

ct$

HW

t

\1'1

I

m
Computer programming comprised about one half of the time in the firstyear course at Raleigh. There were 2 20k IBM 1620 model 1's in the school

C'
,)t"

available to the first-year class. They were available during and outside of
class time from 8 a. m. to 10 p. m. Monday thru Friday and by request on Saturday. The 1620 is an excellent computer for instructional purposes. The first
day of the institute the students were given hands-on instruction. By the third
day members of the first-year class were writing and running simple programs
themselves. The teacher-students made excellent progress in moving up the
scale toward more complex problems and by the end of the fifth week each had
written an involved payroll program with many deciSions, deductions, and computations in machine language. This good background in machine language made
possible very rapid progress during the last three weeks of the institute in SPS.
Again the students started with simple problems, but each day or two saw as much

o

progress as had been made in a week in machine language. In the three weeks of
SP S programming the students wrote many of the same programs which they had
done in machine language for a comparison of time and method, and in addition
they wrote other programs including a complicated program for checking student
test scores and selecting from all the scores certain ones fitting the requirements
of the problem.
The members of this class are teachers and machine language is taught first
so that a thorough understanding is achieved of the way the computer works. Many
I

I,

people hold to the philosophy that a problem -oriented language is quicker and

!,

easier for beginners to learn and we have no disagreement with this philosophy.
But this writer holds that teachers must know machine language for a thoro understanding of the work that they will be called upon to teach. .They also need to

I,'
I,:

o
II

IV

thoroughly understand machine language for debugging purposes in assembler and

()

compiler type languages. A teacher who understands machine language has a big
advantage over one who does not.
The 1620 is one of the most common computers in the nation's schools and
the teachers from this class were returning to teach on the same computer in
their home schools in most cases. Several teachers in the class were returning

to different makes or models and so some time was spent in the class discussing
and explaining variations in techniques needed for different computers. Field
trips also helped in this area.
The second year class was planned primarily for those who had completed
the first year program. Fortran and SPS were the languages used in the second
year class, with greater emphasis on Fortran. This class also used the two

()

1620's in the building where classes were held and in addition had the use of a
1620 disk pack off campus. This made possible a major part of the second year
work in Fortran n D.
William A. Gannon, writing in COMPUTER DESIGN for April, 1964, states
"Perhaps another potential danger is the tendency to rush immediatly to the more
glamorous lessons involving programming and machine operation and thereby
allotting insufficient time to fundamentals. Reducing problems to the problemsolving framework of a specific computer 'and actually executing

student-prep~red

programs is an obvious goal of any computer course. However, this goal should
be approached from the right direction i.il. a well-balanced curriculum. The

successful development of modern computing and information processing systems

•

is largely attributed to the extensive application of digital logic, Boolean algebra,
and. binary arithmetic. Consequently~ these concepts and the techniques used in

v
applying them are recognized as vital areas of knowledge. While the design of
computer equipment and programming techniques are in a constant state of
evolution, these basic concepts remain essentially unchanged." This philosophy
also seems pointed up by the previously mentioned publication of the United
States Office of Education SUGGESTED 2-YEAR POST HIGH SCHOOL CURRICULUM
FOR COMPUTER PROGRAMMERS AND BUSINESS APPLICATION ANALYSTS. We
cannot train our students in a narrow field applicable to only one machine or one
situation. We must train people in fundamentals which will apply in many situations.
No one can predict accurately the course computer techniques will take in the future
and so the courses must be flexibile. Instruction has been given on a 1620

becau~

it is available and because it is presently the most common computer in our
schools. But this computer can be and is being used for simulation of other machines
and as a device to teach basic programming techniques. An excellent simulation
example is to be found in the book by Swallow and Price and in the 141 programming
instruction. Our schools should develop other similar techniques to make the most
of the available equipment and to help overcome the deficiency in trained manpower
which now exists in so many data processing applications.
Most of the teacher-students at Raleigh will return to teach in post...:high
school situations, many of them in technical schools or community colleges. Several
members of the class expected to be teaching in secondary schools. This is another
problem which needs further expl9ration. How much data processing instruction
can or should be given in high school? Certainly for those students who expect to
enter engineering or similar schools we can easily give them a· good start in Fortran
programming in high school. And the 1620 is an excellent toolfor this type of
instruction. But those students who do not expect to go on to college already have

c

ibb#hi#¥fWitMMj! --

---- 2 -

-

-mer

VI

enough to learn without omitting some studies to insert courses in programming.

o

Perhaps the future will see a pattern of unit record instruction in high school,
leaving the major programming instruction to more mature post-high school minds.
Business does not seem anxious to hire our younger graduates. Very few businessmen want to trust the programming of their business to a 17 or 18 year old.
And too many colleges and universities seem to be adding computer programming only as a part of some other course in the curriculum. Certainly it is best
for our students to take a 4-year degree, but many cannot or do not want to. There
are very few colleges or universities where he can specialize in data processing.
In too many cases he has to learn to be an engineer in order to learn to program.
The writer feels that the best place to train programmers is in a 2-year post-high
school course, preferably one offering an associate degree. The U. S. Office of

o

Education has given us a good guide for a 2-year course. Let's follow it.
The following is a list of text material used at Raleigh this summer.
First year course:
IBM Manuals
85 and 87 Collator
513-514 Reproducing punch
82-83-84 Sorter
24-26 Card Punch
402 -403 -419 Accounting Machine
Flow Charting Template

x20 -8020

Flow Charting Techniques

C20 -8152

IBM 1620 CPU, Model I

•

BASIC PROGRAMMING CONCEPTS
Leeson and Dimitry
ELECTRONIC BUSINESS DATA PROCESSING
Schmidt and Meyers

vu

Second year course:
IBM 1620 Monitor I System Reference Manual
INTRODUCTION TO BOOLEAN ALGEBRA AND LOGIC DESIGN

o

Hoernes & HeilweJ.l
LEANEAR PROGRAMMING
Loomba
Modern Business Statistics
Freund and Williams
In conclusion, this paper has tried to show the valuable place the 1620 holds
in instructing business programmers in this country. Perhaps it seems a little
strange that a machine originally built as a scientific type of computer is now being
used so much in training business programmers. But our technical school and
college graduates are finding, and will probably continue to find, the greatest number
of positions in business rather than in other fields. The schools are wise in looking
at where their graduates go, and preparing them to go there. Business teachers

o

of the country are adapting to the age of automation and the new computers just as
they did when Mr. Sholes invented that modern machine called the typewriter or
when Mr. Burroughs started selling that fancy adding machine. They learned to
replace the straight pen with a fountain pen, the fountain pen with a bookkeeping machine,
and now they are learning to replace the ledger page with a punched card or a reel of
tape. The bread we eat today is made of the same kind of wheat as the 5 loaves which
were divided to feed the 5000 in that desert. place. Only now one farmer with his
machines can raise more wheat than was ever thought possible when the ground was
I

I'

tilled with human or animal power. The principles of accounting are about the same
today as they were in 1492 when Friar Luciola wrote the first known account of double
entry bookkeeping. Only the tools have changed. Man always seems to better him-

o

'I

self when he betters his tools. And he has found that the only thing more expensive
'than

~ducation

is ignorance.

I

wt ,,' ww we,

tt'_WHW,ttt.. " '

.

:

It

t

t

t

t!

#*

trl

" " "Tt"'""U

A COMPUTER-AIDED MECHANICAL LINKAGE DESIGN
ANAL YSIS SYSTEM
by
D. N. Frayne and H. H. Hansen

An Abstract only is presented here as the material. has already
appeared in two publications listed below.
A significant portion of mechanical engineering effort is spent in
the kinematic analysis of mechanisms such as gears, cams, and
linkages. Although linkages present a more complex problem of
analysis than most other basic mechanisms, they are widely used
because of their reliability, speed, and force-transmtssion properties. Engineers continually seek improvements in existing
linkages and devise linkages for new mechanical systems. Linkage
analyses have traditionally been performed on the drafting board,
but this is difficult and time consuming, and complete analyses
are not feasible for the more involved linkage systems encountered
in practice.

o

This paper describes an experimental tool for the analysis of proposed two or three- dimensional linkages. Called KAM (Kinematic
Analysis Method), the tool consists of a programmed system for the
IBM 1620. Based on vector mathematics, the system can provide
position, motion, and force analyses for a wide class of linkages.
The user describes a proposed linkage to KAM in a problem oriented
language. This language functions solely as a means of describing
the connectivity of parts in a linkage; the action statements that request calculations are specified by other means. From a linkage description in KAM language, the KAM program builds a tree-organized
model of the linkage within computer memory.
The data required by KAM consist primarily of the coordinates of
points in the linkage at design position and the magnitudes of input
positions, motions, and forces. Position, motion, and force results are displayed in standardized formats. To calculate special
parameters of interest, or to exhibit the results in a special way, the
user can provide supplementary programs that fUrther process the
normal output.

•

Further information may be obtained from the Society of Automotive
Engineers publication SP-272 which is entitled "Kinematic Analysis
Method". The IBM Systems Journal (October, 1965, Vol. 4, No.3)
also contains a discussion of the System.

o

o

o

u

Pi'

wr

I

T

!-

r·

:-

II

o

GRAPHIC DATA PROCESSING
by
S. S. Husson
International Business Machines Corporation
System.s Developm.ent Division. Poughkeepsie, New York

Those of you who attended the t65 IFIP Congress this Spring m.ust have
been im.pressed with the em.phasis given to the time sharing system.s.

The

exhibit area had m.ore rem.ote term.inals than an airline ticket office.

Tim.e

sharing has paved the way for a new dim.ension in com.puter applications.
Basically, the-re are three dim.ensions to hum.an com.m.unications; alphanum.eric, audio, and graphic.

If we apply these three dim.ensions to m.an ..

m.achine com.munication we will find that in the past decade we have concen-

o

trated on alpham.eric com.m.unications.

Som.e achievem.ents have been realized

in the field of audio comm.unication. but that m.ust still 1j>e considered in the
research stage.

Today I will discuss graphic data processing. which now

m.akes it possible to take graphic inform.ation in graphic form., convert it to
digital form. so that it can be operated upon by a com.puter, and bring it back
out into graphic form.
This new dim.ension in m.an-machine comm.unication is designed to help
engineers, designers, m.anagem.ent, and businessmen to work directly with
curves, graphs .. sketches, and engineering drawings at electronic speed.
This instantaneous com.munication of inform.ation in graphic form. reduces the

•

time between conceiving and testing or executing an idea •

- I -

The circuit de signer, with the aid of this graphic input/output can perfonn a dynamic simulation of circuit responses to the variations in component
parameter value s .
The mathematician can display c0mplex functiG>ns and study various functional behavior and surface response.
Business management can graphically infonned of up-to-date developments
in manpower I inventory, scheduling I profit grewth f and other important decisionmaking parameters.
The Graphic Data Processing System is designed to be attached to any
model ot: the IBM System/360. This makes the following three functions of
graphic data processing avatilable:
1.

the ability to read graphics into the computer at high speed and high volume,

2.

the ability to get graphics aut of the computer in graphic form by u sing a

o

high speed recorder,
3.

the ability to manipulate graphic informatien using a display console and
a light pen,
The main components of the IBM Graphic Data Proces sing system are:

1.

the System/360,

2.

the IBM 2250 Display Unit/Light Pen,

3

the IBM 2280 Film Recorder,

I>

4.

the IBM 2281 Film Scanner,

5.

the IBM 2840 Display Control.

Through the use of a 2860 selector channel, one can operate eight 2840 Graphic
Display Control Units, and each 2840 display control unit can service up to
five 2250 display units and one 2281 film scanner. Theoretically, 64 different
Graphic I/O units can share the same System/360 processor.

-2-

o

"iii!

If

t

tHP :

o

WI

"::rMHtlt!

:

I

!

ttirt "it isMl rtft"' •••

_«

tf

b

t·

tOOt

··j"b···

-

r··,-"

The 2250 Display Unit is organized around a 21-inch Cathode Ray Tube
(CRT) having a 12" x 12" display area. All point, alphameric, and graphic
information are displayed at very high speed to provide visual communication
between the computer and the user.

The alphameric keyboard, the light pen

and the program function keyboard allow the user to communicate with the computer. The CRT display area consists of a grid format of 1024 x 1024 addressable
points -- more than one million addressable points. The distance between any
two points is called a raster unit. Thus, by proper combination of these raster
units, the program-mer can display lines, curves, surfaces, or any complex
geometric figure.
Just as in TV tubes, the visable display on the face of the CRT is produced
by the deflected electron beam hitting a phosphor coating, causing it to glow

o

briefly. Therefore, information displayed on the CRT fades within a fraction
of a second. In order to maintain the image displayed, it is necessary to regenerate or repaint that image approximately 30 times per second.
A vector of any length can be displayed between any two points on the display area by giving the addresses of the two end points. Each vector requires
four eight-bit characters of storage. Any alphameric character can be
f?ynthronized by any number of vectors or strokes.
A character generator feature is available on the system. This permits the
display of anyone of 64 alphameric characters in one of two character sizes
B or L.

I

In Size B each character is generated over an area of 28 x 28 raster

units l thus providing 52 lines of 74 characters each. In Size L the area allocated
•

for any character is 56 x 56 units, thus reducing the display to a maximum of
35 lines of 49 characters each.

Consequently, the display can be performed in

-3-

either a graphic mode or a character mode. In the graphic mode, a line is either
blanked or unblanked to allow tracing with the light pen without painting unneces sary lines. The width of a stroke can be either 1. 8 or O. 75 mils, with

o

the beam density being specified as 0.6 or a density visibly less than this.
Hence with the use of the line width and the beam density one can generate
four combinations of lines with four different shades of gray.
The 2250 display unit is available in two models.. Model 1 has the control
circuitry and buffer memory, while model 2 has to be attached to a 2840 multiple display control unit. The 2840 control unit contains the multiplexing circuitry, the character generator, and an 8192- or 16384-byte core storage. In
the case of multiple display, the 2280 provides each display unit with a local
buffer for storing the image for generation. Thus it is pos sible to generate
different images simultaneously on each display.
Due to time delay considerations, the display console has to be located
no further than 2000 feet from the control unit.

Data is transferred between the

2280 and the CPU under program control.
There are three optional manual inputs. These allow the user to retrieve
alphameric or graphic information from memory for display to create new
I

images, to add and delete, to rearrange, and to store in memory or record on
film.
The first and perhaps the most fascinating manual input is the light pen.
It is a pen-like device, containing a photo cell that enables the user to delete
or trace information on the face of the CRT. The light pen is a light detecting
device. It must be held very close to and also perpendicular to the face of
the CRT.

Maximum tracking speed is about 15 inches per second.

-4-

o

t\

boo IfW!

"f"'

"I

["'"r

'tt"'

The second manual input option is the alphameric keyboard, which is a

o

standard IBM 1052 alphameric keyboard. It can be used to compose messages
or revise alphameric information on the face of the CRT. When the entire
message is composed, it is displayed on the screen for verifications and then
transferred to the main storage. A special, arrow-like symbol called a curser
is used to identify the position where the next character is to be displayed.
The third input device is a Program Function Keyboard. It consists of 32
pushbutton keys with indicator lights, and eight overlay selector switches.
This overlay arrangement allows up to 256 distinct functional subroutines
stored in memory to be called into action by the appropriate switch. For exampIe, a subroutine might be written to shrink, enlarge, rotate, delete, record,
or scan an image.

C',
.

.

The next major component of Graphic Data Processing equipment is the

~

IBM 2282 Recorder/Scanner -- actually two totally independent units. The
primary mode of graphic output from the system is the recorder. Graphic inf0fmationstored digitally in the computer is brought out onto 35-mm microfilm by
using a high-precision cathode ray tube. In this way sketches, drawings, and
graphs can be the output from a computer. The 35-mm film can then be developed
and displayed on the enclosed display screen; it can be puf intCi> the familiar
aperture cards; or it can be used to prepare hard-copy drawings.
This recorder has the capability of printing alphameric infonnatien of Ul>
to 40,000 characters per second or 20,000 pages per hour. The recerder is
built around a high-precision#

•

higb~resolution,

5-inch cathode ray tube with

4096 x 4096 addressable points. Digital and analog control circuitry 1s used

-5-

to project a light beam onto the unexposed, silver-emulsion film used to record
images. The exposed film is transported through developing, fixing, rinsing,

c

and air drying stations, so that it is immediately available for projection on a
large screen before it is stored. The following options are available: one of
two different line densities, one of two different line widths, and one of four
options of distance s between recorded frames.
The third component is the IBM 2281 Scanner. It is ba sically a high- sp~ed,
high-volume graphic-input device. It operates in the reverse sequence of the
Recorder. Existing drawing s and sketches can be photographed onto 35-mm film.
Each photograph is scanned, again using the same high-precision CRT in the
Recorder. Thus, graphic information is converted to digital form and stored in
the computer.
The light beam from a CRT is directed along two paths: one path leads

o

directly to a photomultiplier tube; the second path is directed through the film
to be scanned before going to another photomultiplier tube. The intensity of
the light passing through the second photomultiplier tube is compared to the light
intensity passing through the first, and if the ratio exceeds a preselected threshold,
the machine registers a hit. This hit, no-hit pattern is stored.Ln a matrix form
in memory -- one fora hit and zero for a no-hit. A variety of program scanning
techniques can be used to register the digitized image in a minimum storage
space.
A variety of scanning techniques have been devised and programmed; among
them are edge following and vector scanning. This area in graphic data proces-

o
-6-

sing is still very much in the research stage.

0

1

More sophisticated scanning

algorithm s are needed to handle the wide range of scanning applications one
can encounter.
A second topic of interest in graphic data processinq is the application area
in research, engineering J manufacturing, finance, and management. The list of
potential application areas for graphic data processing is extensive and impressive.
It might be used in electrical, mechanical, structural, and civil engineering
analysis deSign and engineering drawings, in ship and aircraft missiles and
satellite course plotting, in kinematic analysis, in meteorological.studies, and
in petroleum and chemical procesSes. In management, one can display and
modify the PERT netword drawings.

Business graphs, including sales analysis,

cost analysis, production control, manpower forecasts, and sales forecasts may

o

also be displayred. In the field of mathematics, Fourier analysis and functional
analysis are possibilitie"s for application. One can go on and on listing application areas that can effiCiently utilize this new concept.
I have selected two examples to examine: personnel records retrieval and
analysis, and the electronic .circuit analysis and design field. In the first
application,

th~

problem is to asses a file of personnel data efficiently 'iri order·to:

1. 'retrieve and display personnel file data,
2. update a personnel fife,
3. :have graphical statistics immediately available concerning personnel
manpower, education, salaries, and benefits.
We all recognize the limitations of the present .computing facilities in this field.

o

We also recognize the time lag before these files are updated and before the
proper statistical information is obtained .and. hanet plotted on .graph paper.

-7-

Updating 1s a batch operation and is done periodically • This problem can be
handled on the IBM 2250 by using the functional keyboard; the personnel
specialist w(])uld select any ate a of an employees record file. The personnel
files can be arrayed in frames pertaining to an over-all personnel summary of
school training, special skills, past assignments, and any other pertinent data.
T.he light pen can be used to uIDdate, add to, or delete from the records. This
area is relatively simple; however, the concepts, problem s, and problem solutions derived can be aI!>plicable to a.ny similar alphameric information-retrieval
and updating area.
The next example is in the area of electrG>nic circuit analysis and de sign. In
the area of nonlinear switching circuitry I which is the basic building block of any
computer system, the present simulatie;>n techniques are inadequate and too expensive. In designing a switching circuit, the engineer has to satisfy constraints,
such as the logic ca,ability, maximum fan-in, fan-out, minimum turn-on and
tw-n-off delays, minimam !Dower GiissilDation, and up and down d-c levels. From
an analysis 0f these constraints, one will realize the conflicting specifications
given to an engineer. A coincidental problem is that the system of equations of
the d-c or transient behavior of the system is an underdetermined system. The
present method of solving this problem is to apply" engineering intuition in
ll

assigning values to :some unknown parameters in order to have a determined
system of equations, and then prcoceed to analyze the problem. While many
circuit families have been designed this way, they were not necessarily the best
circuits.

o

mt

OJ"

ai'!

tttr"f¥

tt

tNfttb"rtttir"j(b"Hb

jJ"""

j"lr"

!

I'"

To obtain an optimum circuit design one must have a good understanding of

o

the trade-offs between these circuit specifications and the effect of the changein for every component parameter on each specification and on the total circuit
response. Also, the designer must minimize his assumptions, and thus allow
himself to deal with the whole region of feasible solutions before selecting any
specific design. IBM Graphic Data Processing can be an excellent toel here.
The engineer can retrieve the circuit configuration he is working with

I

study its

transient response, display a three-dimensional plot of the time delay, power
dissipation, and up or down d-c levels, and then proceed to optimize his circuit.
The designer

I

by merely pushing the correct switch on the functional keyboard,

could perform anyone of the many different computations on this configuration.
When the circuit is designed, the circuit configuration component listing and

o

specifications can be recorded on the Recorder, thus automatically producing a
circuit flyer that can be transmitted to hundreds of personnel and locations
throughout the corporation.
The IBM ECAP program has been converted to a demonstration package for
internal use. This application of Graphic Data Processing will result in:
1. reduction of the prqblem-solution time from months to days or from
da ys to hours;
2.

giving more position feedback and more insight to the circuit operation
and parameter trade -offs;

3. reducing the need for the design to work through· scientific centers and
programmers (the designer will have complete control over hi s . problem) .

o
-9-

o

o

o

Ill'

H!'t:ttt:

t

UtI

riz1ft(·t"rtdrb

>1 re t

tet

H
•

o
GAMMAMERIC COOING

Presen~e~
at the 1620 Users Group
JoInt Eastern-MIdwestern MeetIng
October 8, 1965

o
by

Howard G t vner

Brooklyn College of
The CIty UnIversIty of New York

•

Gammamertc Coding

o

The purpose of thts paper Is to announce and describe
the Invention, by the wrtter, of a new code, cal led
gam rna mer' c

~•

the

Th f s cod e rna k e s ,t po s s ,t b (e for the use r

0

fan

IBM 1620 system to store, tn a g1ven storage area wIthin hts

system,

60%

more alphamerIc characters then he could have stored

had he used only the alpha-merle code Incorporated tnto the
hardware of hIs system.

FIrst the need and value of new codes

for storIng data are established.
method~ are examined briefly.

Then two possible new coding

FInally, gammamerlc codtng~ whIch

was an outOrowth of the other two, Is presented.
pro 9 r a mm t n g

Oeta i Is on the

needed for Its ImplementatIon are Included tn an

o

appendix.
A storage problem exists If you must use your IBM 1620
to store, for reference, a ftle nf 20000 names and addresses, on
a disk pack with a storage capacity of 20000 laO-digit sectors
when the source of data Is 20000 fully punch.d BO-column cards,
that Is, 80 columns are requIred to contain the entire name and
address.

Restated, this Is the problem of putt Ing 3.2 mt Iiton

dIgIts tnto 2 million loca tlons.

By

codIng the raw data as It

enters the system, thIs problem of storIng In a Itmited on-lIne
storage area a relatively large amount of raw data can be solved.
SInce the codIng system offered automatfcalry by the
hardware of the IBM 1620, alphameric codlng, although powerful
for sortIng or comparing alphamerIc fields, Is Ineff Icfe.nt when
only the storage of InformatIon for later retrieval Is the ta'sk,
a look for alternatlve codes whIch make better utilIzation of

ti!,

·'·n

•• -

-·Il·it ..

. IHr"....

[""' ......

'i"lIf!

o

-2-

the available space began.

If there is any fear that attemptIng

better utilization of the available storage area by means of a new
code might possibly lead to additional costs due to the encoding
time used during the Initial loa ding of the Informatton tnto
storage,

or to the decodIng time used for each subsequent refer-

ence to the stored tnformation, that fear may be

t

erased by

knowIng that those transformation times can be absorbed by overlappIng the coding tImes wIth the buffered input and output
operatton times.

Provided no additional transformation time will

be needed to process the stored Information internaf Iy, as ts the
case with a reference ftle, a new code offers compactness at
merely the cost of developing the software tn handle the new code.
The selection of an alternative to the alphameric code
depends to

some~extent

on the nature of the data to be stored,

~n

one l s preference to flxed or variable length records, and on the
ulttmate use of the stored Informatton.

One thIng sacrIfIced by

each of the data codIng methods discussed tn thIs paper Is the
ability to cot late the stored data wTthout decoding, unless an
uncoded key Is associated wIth ea ch Item of data to be stored.

-

The augmented character set codes to be discussed first
save space In a manner stmllar to the method used by people when
they use abbreviations and acron~mso

Since only

48

of (00

posstble 2-dTgft numbers are used In the alphamertc code, some
or al I of the remaining 52 possible 2-digft numbers may be •

•

a5stgned a meanIng by the user.

For Instance, If the data to

be stored t5 a Fortran source deck, then 15 could be used to
replace each occurrence of

l414

(exponent tat ion), and 07 could

be used to repJace each occurrence of 62585963 (the square
functton).

r~ot

The sa vtng from this method Is apprecIable only If

a variable length record ftle Is being used and the raw data
contains multiple occurrences of lengthy character sequences.
Several augmented character sets, cnntatning as many
as 400 2.-dlgit symbols eac-h, may be adopted, each set adapted
for use wIth a spectf tc body of raw data to be stored.

A 400-

character set may be created by utlltzlng the flag, whIch normally carries no tnformatton in the alphameric code.

01 might stand for B, oT for P, UI for V,

~and

nT

for

F~r

F~

tnstance l
In one

appl 'catton, that of student record keeping, we use an augmented
character set In whtch a 2-digtt number represents a phrase Tn
some cases;

a glossary ts used for translation.

To create an

augmented character set, replace the notion of being Itmtted to

48

o

valId alphameric code numbers where the flag bit contafns no

informatton, with the not ton that there

are 100 val fd code

numbers where the f lag does contain informatton.
The alpha-shift code, whIch wi I I be discussed next,
does not require a

glo~sary,

or special conversion table, tn

order to produce space saving.

Let us assume that the normal

48-cha raeter set is sufficient for representIng the data to be
store~,

but that the repetitton of groups of characters fA the

raw data Is not one that would suggest usrng an augmented character SQt.
numbers,

For eaample, nne might have to store a lIst of pa rt

rt~ense

plate numbers, or house addresses, aff of which

contaIn many strings of consecutive numeraJs, but intermittently,
tetters or other alphamertc characters.

If onry numerals wer9

c

II
I

-4~

used In the raw data, we would use TNS (Transmit Numeric Strip)
hardware, or software, to yleld a
alphameric coding.

50%

storage saving over pure

But the zone digits discarded wi II not always

be sevens tf we used TNS on license plate numbers.

Spac'savlng

can stili be achIeved by a comprOmise of storIng the zone dlg't
the first time it occurs and flagging It, followed by all the
numerical dIgits havIng that same zone digit until the zone dIgIt
changes.
new

When the zone digit shifts, that 1s t changes, store the

zone digit and f lag It.

Do not f lag the numerica I digits, and

do not store success i ve occurrences of J den t I ca I zone d t

g' t s.

For

example, the raw data "175-12ST" would be stored as '7175~0'712b2~.
The Idea of a shIft character Is not new; It appears
In the 5-channel teletype code where 30 of the 32 possIble code

characters may have one of two meanings depending on whIch of the
remaining two (\shlft) characters occurred most recently.

This

space savlng technique requIres variable length data records,
and has no guaranteed storage saving unless the da ta Is "suitable".
We deduce from the dtscusslon so far that when

d~velop­

tng a spacing saving code, the motto Is DO NOT WASTE BITS.

ThIs

means use the f lag-bit, and use all digit combinatIons.
The gammameric code, a code to handle a reduced
character set was developed after we examined ·the names and
addresses we wanted to store,and found that special characters
such as asterisks, perentheses, at signs, and the Ilke,d'd not
occur.

•

In fact, except for numerals, letters of the alphabet.

and the blank, the only special characters occurring were the
p~rtod,

the comma, and the hyphen.

Thus we were really usIng

-5a

40~character

o

set. KnowIng that tn a stngle storage posItion

In an IBM 1620 you can store any of 20 bit combInations of a
posstbt I tty of 32"'comblnat tons, If you use a II 5 data bIts

(F,

~,

4,

2, and 1), but restrict yourse,lf to combtnations on

whIch arithmetic can be performed.

WIth or without binary

capabtl tties, the only bits that may legitimately be set or cleared
Independently of each other In a sIngle memory position are the
F,

4,

2, and I;

the 8-bit cannot be set and cleared Independently.

We assigned to each of the twenty selected bit combinations a paIr of characters from our 40-character set.

In order

to resolve any ambiguity, one of the four bits ts set on or off tn
another memory posttion.

ThIs other memory positIon is used to

resolve four ambiguIties.

Thl.s, we are able to pack

4

char,acters

from o,ut 40-character set Iflto 5 me'mory positions, a saving of 3

0

memory positions for every S that would be used by the alphamerIc
code.

ThIs allows

an SO-column card, containing

only characters from some 40-character set, to be stored as 100
digits tn a sector of dIsk storage.
would b-e stored as
gammameric codIng.
r~cords

"

n61~1"

For example, the word "WALK"

using this codIng system, called

It may be used with fixed or variable length

since the space savIng rat10 is constant.
Whether you chose an' augmented, norma I, or reduced

character set code, by thlnktng of the

flag~blt

as more

th~n

a

field mark or algebraIc sign indicator, but as a bit just as
capable of storing the ktnd of Information normally stored by
the 1-.2-,4-, and 8-bits, you to,o wllJ dIscover new w-ays of

t

storIng data in fewer memory posItIons In your IBM i620 system.

~

I

I

o

-6We were able, for Instance, to store tn less than 32000 memory
positions In an IBM 1620 a 500 by 500 symmetric matrtx whose
entries were either zero or one.

Only through clever programmIng

can we hope to exploit all features of the machine.

The appendix contaIns listings of two macros-TGS (Transmit Gamma StrIp) and TgI (Transmit Gamma FII f ) wh

Ich may be added to the SPS?D subrout fne set 01 and ca I Jed

upon to perform the conversions.
a mixture of TNS and TGS.

o

a core

du~p,

We have found It best to use

The gammamertc code, as it appears In

can be read almost as easily as the alphamerIc code

by anyone faml I tar with the code.

Although the gammamerlc code

Is applIcable only to data written wIth characters chosen only
from some 40-character set, this Is rarely a serious restriction
to Its use •

•

-7APPEND 1X
What Is the Gammamerlc Code?

o

Gammamertc coding facT I itates compact storage of large texts
of alphameric data (such as a name and address ftle). The character set that can be handled can have at most 40 characters.
One version of the code uses the 26 letters of the alphabet, the
10 numerals, a nd the blank~ period, comma, and hyphen. Any other
character wIll be treated as blank by thIs versIon of the code.
The code will allow one to store 4 alphamerIc characters
Tn 5 memory pas i t ions, :3 t'n 4, 2 In 3 and I in 2.
The alphameric text to be converted Into gammamertc code ts
scanned from the left and divided tnto "words" of 4 characters
each, and any remaining characters (from I to 3) form, 'a "wcrd".
40
then subtracted from ea ch alphameric code. 1f the result
is negative, a substitution is performed. For thIs versIon of
the code -l7 becomes 21, -37 becomes 10, -20 becomes 20 and
anythIng else becomes
A gammameric "word" Is produced as follows. The numerIc parts
of the alphameric "word" become the first digits of the gammamertc
"word". A flag Is placed over the digit In the gammamerlc "word!'
Tf the zone dIgit of the alphamerIc character from whIch It came
had a I-bit. To complete the gammameric "word", a (ast dIgIt Is
appended whose I-bit, 2-btt, 4-btt and flag-bIt respectively
are used to Indtcate the presence of a 2-btt In the zone dIgit
of the 1st, 2nd, 3rd, or 4th character of the alphamerfc"word tt
being converted into gammamerlc code. See diagram ~n page 12.

o

'5

nO.

Examples:

WALK becomes 61,

~l

RUST becomes

9423b

Hl3 becomes 83'2

Gammamerfc Conversion Macros
TGS

A,G,N

(to convert alphameriC tnto gammameric)

TGF

A,G,N

(to convert gammamertc Into alphamerIc)

N is the number of characters to be converted.
A Is the even core storage address of the teft-most character
In the alphamertc data. Flags In the alphameriC data do not
affect the result produced by TGS. The flag status In the
area to receive the alphamerlc result produced by TGF wlll
be unaltered.
G Is the address of the left~most digit 4n the gammamertc data.
This may be tn an odd or even memory posit1en.
In no case should the da ta 1n elth~r the gammameric or
alphameric records "wrap-around tl the end of memory I or e I S8 the
macros wI I t "hang-up" with a MAR CHECK. 'See lIst tngs (pp8-ll).

c'!

-8..

o
7ZJOR '50
SPSllr",

ZZXFQ

*DI='F I r--~r OP CODE
Tr,~

*r~·'DL

Iq

Z17l
77JOR

'1

-181

77C;PS
*".~C;I='\·RL!=' RFL0Cl\TflPtF
*LJ'1,R
* I f') 1\JU""IlFR n118
*STORE RELOADAGLf

*OIJT PUT C:'R!,)

*

L I .s T P R I f\1 T E f~
**
(! r (~ 1 () *
(ASSUVFD CALLI~~ ~TATEME~T)
TGC; A,G,N
TF:/. 2 '1 7 5 , + 1 9 , , s p S 2 f) r: F U F R.\ T ,- J') l I ~\~ K !\ CF
Q0n2(,)*
00r,,,*
87 Tr,C;
0n0.4(HtDSA At G t~!

*

()

('''05'1*

f)S(

1,-"FNJ') OF 0FNFRATFn

nnf'6()
Or'r:70TG5

f)SA

TG~

TR

8nr'8()
Q(H"'90LQ

A.~·1

A-4,-2375"FETCH PARftvcTFRS
2~75,17,1~,CAl(ULfT[ RFTURN AnrRFSS

(V

N,

'1~il"'n

~NP

C~110

00120

tIt;

i'

- 2,75 , , ,~~ f TtF< f...' T(' C LL I \!G P I~ or! ~
TFr"1 C ," ~ , 1~)
TF"ll P,'"ll,lO

f)0130

TF

K ,1\'

~('14n

C~"

K,4,lO

nn150

RNH *+24

r:n]6n
0n17()
00181'11(

TF'·""

!( , II- ,

C; \~

~., t

f)~;

5,

0n190lP

TD

T-l,-A"PICK

()'"' 2:) ()
("'(; 210
OO?2n
0('730
O('~240

00?5()

•

:.'~

LI~KA~F

"TD
~..~

AM
CF

J0

*-*

* , (0 U 1\' T

II P

TJ

4

uP zeNF. Dr(=IT

,II,.I,!;)

T.-A.,PICK UP

~U~FRICAl

!\,191~~

T • • , S ." F I: T Y

O~: L Y

R I\! R *+24,T
TFM T"lC,.sUPPRFSS TROIJl~LE

DIGIT

(\ :.;;

-9TF~~

o

*+47,TPl

0?6n
()?7n

A

*+~'i,T

0?80

,I'!.,

*+2'3,T

'"'290

TF

T.*-*"FN(O~F

r"c(,

TD

-(-", , ,PUT OI'T THE CODE

~\I!

G,l.lO
-*+24, T-1
(,P

('!;1n
r'32"

~D

("33n
"i34n

1\:".:1

~;5()P

DS

*+11,*--*,ln,GFT Nf.XT POh'ER OF 2
2,*"PO~FR 0F ?
K,l,lO

r,6()

S~/

n-:"70

l'1,P

LP

0,80

(,08,10

n~9('

(V
!ll

rt4""

~~J

(,08,1f"
(

'~~+36

"41"

.c:!='

("42n

T [) ~'1 - (1 •

n4'30C

f)

"440
''''45('

.I\H
8,

G,1.10

f"I46"T

f)C

3, C , , "-lOlD or'~F AL Pllf\;·TR I C (H!\RACT fR
PER I 0 D ( () 3 5 ,. ) ,B l l\ ~! K,,( n r' = 4 r. ) ,C 0 i'} ~I A ( 23 = 6 1 ) ,H Y P H F N (

S

*- * , ,P UT

0 U T T H F SU F F I X

2 , * , C1\ ~" :'/ A~'1 ERIC SUF F I X

l.Q

=

{1'520
Qf.)3n

2 r) =60 )
10,2, 10,2. 10,2. 10,2, 10,2, 1/
1~',2. 10,2, 1n,2, 1n~2, 10,2. 10,2, 10,2, 1~
1(~/,?, "],7., In,2,10,2, lrY,2, !O.2, 10,2, 1:.
nVLC,2, 1 ,\,2, 1(',2,1'),7.1('.2.10,2, In,? • .10,2. 10~2, 1(),2, 1;'
~VLC,2, lJ.?, 11,2~ 17.7, ,~,?, 14.?, 15.2, JA,2. 17.2, 18,2, l'
DV L C ,2. l~),?, -11 ,2 • -12. , ? • -1 1 , ? • -14, ? ,-1 5 , Z ,-'16 ,2 , -11 • 2, -18 ,? ,-1 (

054n

DV L C , 2.

()550

DC

r560
0570
nr;8n

, 2 , - f' 1 , 2 ,.,.., ~ 2-, 2 , - 0.3 , 2 ,'- r, 4 , 2 ,- 0 5 , 2, - 06 , 2 , - 0 7 • 2 , - 0 8 , 2 ,- 0 .
DV LC ,2, 1~;. 2, 1 ~ . ,,2, 1 f ' , 2,- 1 (), 2 ,. 10,2, 1/),2, 10,2, '10,2, 10,2, lr
DVL(,2. 'J',j,?, 1(',2. 1':',2~ l0!2, 10,2.10,7., ,10,2.10,2'-10,2, Ii

0590t',
("600G
,r:610N

DS

~470*

n48()TRL
r-.490
(' I) r.

n

0')1('1

C62()
'r.63~

'777.

DVLC,2, 10,2, }(,2,
nVlC,2, 10,2, '1~,2,
f)VlC,2, t'~·,2., 1""1,?,

1~,2,~1~.2,

1

l~),

2, 1". {'. '" 2 , 2

9

('

3 , 2,

nl~ , 2.

05. 2, '()6,2, 01, 2. 08.2, 0'.

2,-no

DVl C

5"SENDING 0DDRFSS

DS
5.,RECEIVING ADDRESS
D5
5 , l NU 'll'~ E R 0 Fe: V\ !~ tl C T .. R~
DS
1 •• eft T ( H RF COR ["l 'A ;~ r~ K /\ T
DFr\lf) '01181 ",TG5'

J:" \1 TRY

T p.:' E

0'

tt"t""1!"

n.

r,u,"!,'j

r,,"'I''tt'''Stt"y

-10-0

o

7ZJOR '50

?7xrr: 5PSLYn.
r-~FF

I ~.It= OP ((',,"',F

T(;F -191
~~. E~' DL

IR

7777·

7lJOR 1:)0
'.7

Z SP ~

~~~~FMRLE

RrLOCATARLF

·:L J BR
~II"\

NuvnfR 0119

~,T()Pr.

RELO!\f)t\PLF

:ntITPIIT (/\Rf)
. '- T.C;T PR r "!TFI~

'~01n*
*

(i " ~ ~ ,~ .A.

n('lJ.()*

n~.A

nsc
f) S."

TGF

nC70TGF
'~:·()80
'~r9nL0

f"\lno
011n
('170
'f'l 3 f'l
.''l4()
,n150
'()16n~,

'C] 7'.1
:,0180
'0}9(1

)0200
"t(1210
l0?20

1('\730
.") f')?4r.

TF\~

87

TR

~-4.-2375"FtTCH

;'.1 K.\ r)

PARA\[TFRS

r

r:

2 :3 7 5 , 1 7 , 1 (, , C l\ Leu L ,'" T r R F T II ::< 1'\ A. r r. i~ s s
N ,0 r} , 1 ~:
.(""
Rl\lP - 2 3 7 5 , , , R F T U R~,j T 1) CAL L T f\! G p~ .::-: c:; ,.11(1- I·,.ENT( L)

909

VALUE(L-l)=VALUECL-l)*SDfl)/SOtTDNl)

C

COMPUTE TH:E EXPLAINED VARIATION AND COMPARE IT, WITH THE LARGEST SF
TH:E PREVIOUS EXPLAINED VARIATION FOR THE SAME NtlMBEROF vARIABLES

C

o

XPL=O.O
DO 97 IZ=2,KK

IDN-IOEHT( IZ·:)
97

XPL-VALUE( IZ-l) *VAR ( ION )+XP'L
I':F (EXPL-XPL) 101,126,1·26

101

EXPt-XPL
10-1

DO 77 1'2--1tKl
77
126

SE C12) -R ( 12.12 )
ANSl12)-VALWEl12 •
,(QNTINtJE
UN EXs:\lA R ( 1 .,·EX P'L

lDENTf"K)=IO
COEF-G.O
XK:;K-KK

S,TERR- C·;'UNEXICCOUHT"'XI.K) ) *'*.5
DO 8866 L-l.Kl
8.866
C
C

ION= lDENT( L+l;)
Sf!'( l) aSTERiR/SD ( 1.014 )*SE·C L )·.*.5
COEF=SUMX"( IDN)*ANS( L l+:CO'EF
CO E:F:= tSt1JMX'{ 1 )·-CO EF1/COtlNT
COMPUTE F AND PUNCH OUT F AaO THE COEF'FICI:ERTSO·F TH.E.8ES.T
EQUATI014 WITH Tff,E Gl VENNUMBER OF UNJt:NOWNS
F=EXPl*(COUNT-XKK) It(XKK-l •.J *fUNEX)'

IF(KK-2)201.201.200'
200

Fl-(EXPl-XPLN)*(COUNT-XKK)'UNEX

o

9

201
1802

XPL~'=EXPL

PUNCH 1802.1(1
FO:RMA Tt·:/lI011S:T'EP'fU) •

o

PUNCH 1001
Ptl'NCH 11.( lDENT:( L+'l ),AMS( L) ,SE (L) ,L-l, K1
IF (K:K-2) 202.202,203
203

PUNCH 209,F,Fl

FO~MAT'(;.l10XIIHVARIABLE NO.15.X4HCOE'Fl5X17HSTD ER'R8R' OF COE'F,
FOR,MAT'( 3ft'F- tEl'S. 8, 5X15H'IMPROVEMENT Fe • E15.8)

202

GO TO 1"
PUNCH.208,F

208

FORMAT. 3HF= ElS.8.)

136
1002

17

CONTINUE
FORMAT ( 8HCOftST AN T. 5XE lit.·a.)
FORMAT'( 15 X 12,1.'3 XE14. 8 ,1;::1')( E14'.8)

3'1'1

PUNC!H 249

249
2·830

IF (:SENSESWITCH 1) 300,614-

FO"RMAT( 79XIH-',
PAU'SE

GO TO 300
41

FORMAT'15El·6.8)

END

o

~

1001
209

614

o

I 2)

PUNCH 22'J:4, STe: RR
PUNCH 10,02. Co-EF

10
C
C

SUBROUT INE FOR SO'LVING SIMULTANEOUS EQUAl I C),NS BY MATRIX I NY·ERS lOft
METHOD 10 UNK:MOWNS MAXIMUM
SUBROUT I HE SOLUTN (R, ER.'K.,VALUE·,KERR)

KERR=l
DIMENSION R(IO.l.l),ER(10).VALUEC10)
COMMO'N VALUE.ER.R
K'X=K+l

o

DO 33 t-1.K
DO 48 L-l.K
4:8

R ( L • KX ) =0.0

R(I.KX).l.O
34

IF ( R· CI. 1·'):·,34,101 .• 34
T I-RtI . ,l J
DO J5 ;-1.K·X

35

TRzRfr,J)ITl
R(I,J)-TR
IX=O
IF( I-I( ) 37 .38 ,1 0 1

38
37

MX=I-l
MY-I
GO TO 39
MY-I+l
~'X=K

39

DQ 40 L=MV.MX

IX=IX+l
TI--R fl.l)

DO 40 J-l,KX
TR=RCI.J)*T1

40
4'5

44

R(L.Jl-R(L.J)-TR
1Ft 1-1) 101.44.45
IF (:{ K-l »-'IX) 101,44.38

DO 46 L=ltl{
00 4,6 J*l.K

NU-J+l
4·'
3'3

R ( L,J ) -R 4L;,NU)
CONTI HUE

0054 I =Itre

53

VALUE(lt-O.O
ll)O 54 J=l.K
Tl-RC!,Jl*ERCJ.

54

VALUE( I "-VALUE ( 11+T1

RETUFU4
101

KER:R-2

RETtJR:N
END

o

II,m II

!

tttttl!Imgree

~

WI

SAMP'LE

3

64.
71.
53.
67.

0

:

55.
58.

1i.
57.
56.

51.
76.
6,8.

t

!

t

:

il

I

lIt"

11

** bittt'

[f"i#*

tit

11

DATA

57.
59.
49.
62.
51.
50.
55.

8.
10.
6.
11.
8.

4,8.

9.

52.
42.
61.

10.
6.
12.
9.

7.
10.

57.
SAMPLE

I

DATA

12 OBSERVATIONS
SUMS

OF

VARIA;8LES

.64300000E+03

.7'5300000E+03

SQUARES AND

CROSS

.106000·00E+03

PRODUCTS
.40830:000E+05
• 57790000E+04

.4813'900·OE+05
.348ft:3000E+05
.97600000E+03

.67'96 OOO:OE+O 4

AVERAGES

.62750:000E+02
STANDARD

.5358333:3E+02

DEVIATION
.1~720977E+02

.29803522E+02

o

.629'8147'8 E+ 01

RES IDUAL SQUARES AND CROSS, PftODUCTS

.88825000E+03
.38891700E+03
.39666670E+02

.481150'OOE+03
.99166700£+02

.14450'O'OOE+03

.8'196,4483 E+ 00

.76981'687E+OO

Co"~RELATIONS

.10000000E+01
.10000000E+01
.10000000E+Ol

.79840751£+00

STO ERR OF DEP VAR·

• 898:610'05E+O 1

5TO ERR OF O'EP VAR 1&
.539'91481E+Ol
CONSTANT
-.3'6,23:47.6'6E+01

F=

CO;NSTANT

=

• 53'6,32176E+O 1

.36512741E+01
VARIABLE NO

2
3

F=

• 2737'1690E+O

2

STD ERR OF DEP VAR

•

.12386963E+01

2
.20470855E+02

STEP NO.

STO ERROR OF COEF

COEF

VARIABLE NO

.10940248E+02

.8:5460836E+OO

STO ER:R:OR OF COEF
• 4516,64,2:3 E+ 0

.15063353E+01

• 1414'2:6:65 E+0

(OEF

IMPROVEMENT F-

.11344373E+Ol

12

Mathematical Discussion
The following is a list of the output available along with
some of the formulas used
N

K = number of observations

o

= number

of dependent
plus independent
variables

Sums of variables
Averages
Sums of squares and cross products
Residual sums of squares and cross products

Lx-x- Lx1

J

=

1

X _ - LXi •

J

K

L

Xj

Standard deviation

Coefficient of correlations

r·1J.

Ix-x1

J

o

Standard error of the dependent variable

The following calculations are repeated for each entering variable
at each step.
The partial regression coefficien ts bl i 'are computed by inverting the ma~rix of the_ correlation coeff1cients included in the
regression and multiplying this by the matrix consisting of the
corre_ation coefficients of the dependent variable and each independent variable included in the regression.
thus

o

13

0

and

b·1

61
= b 1 ,1. . Q.i

b1

= Xl

Constant

-

L

b-X1 1

i~2

i

=

2

The explained variation for step i is computed as follows
N

V'

1

~

= b-1 . 2
1=

2

Xi •

The unexplained variation for step i is given by

ui=Lx12_V
Standard error of the dependent variable at each step
M = the number of variables in the regression
at the given step.
Of the vaiiab1es remaining at each step only the variable providing
the largest explained variation is included in the regressiq,n.

()

The following calculations are made once for each step.
Standard error of the regression coefficients
sbi

= ti jQii

=

Qii
the ith main diagonal element of the inverted matrix of
the correlation coefficients.
Fisher F test
F = Vi/(M-l)
Ui/(K-M)

Fi

= improvement

F for the entering v~riab1e

Vi+l - Vi
F1 = Ui+l/(K-M)

o

All output ftom the program is in_the for.m of cards. If an error
should appear in the header card any transformation card or in a
data card, a card will be punched out indicating the type of error
and then the remaining cards will be read in at full reader speed
until the header card fo.r the next batch of data is encountered.
The last output card for each run will contain a minus sign in
card column 80. This may be used to cause- the IBM 407 to start
a new page.

14

In order to save as much space in memory as possible the same
array was used in storing averages and standard deviation. Also
the same array was used to store the sums of squares and cross
products, residual sums of squares and cross products and correlation coefficients. In addition, a common area was set up for
some of the arrays used in the subroutines and the main program.
The calculation time for the program is approximately 5 minutes
for five variables and about 20 minutes for 10 variables. This
does not include the time needed to read the input data.

0

Bibliography
Anthony Ralston and Herbert S. Wi1f, Mathematical Methods for
Digital Computers, Wiley Publishing Co., 1960.
Murray R. Spiegel, Theory and Problems of Statistics, Schaum
Publishing Co., 1961.

o

o
S3~

I

bCM

ruT?

ijj'"!

f"

--

m·T!"·:.r.: ..... .

W't!

.

·mfljlT

. 'W""VrdltT

.

rrr

"","Util

A NEW APPROACH TO INVESTMENT ANALYSIS

o

There are three commonly used approaches to investment analysis:
1)

The Accounting Method

2)

The Discounted Cash Flow Method

3)

The Present Value Method

These three approaches meet most of the standards which can be set for a complete and logical approach to investment analysis. However, they are lacking
in t't'110 areas:

o

1)

The treatment of the Cost of Money, which is unique for each
approach and causes the three methods to rank projects in
different relative orders.

2)

The nature of the final result or index figure generated, which
causes the absolute values computed to differ sharply from method
to method.

The Equivalent Annual Amount (EAA) method offers the needed improvement. It
permits the user to 'select that Cost of Money which will correctly reflect
the financial setting of a project. EAA further expresses its answer in
terms of the Rate of Return which is the most commonly used and most widely
understood measure of economic performance.
The basis of the EAA approach is the "Equivalent Annual Amount", a value which
may be understood as the time adjusted average of a series of values. Mathematically the ~~ can be expressed as:
It

fAA
where

n
i
Rj

:

.

Jan

f.i

i Ct +i) '"
CI+i)n-1

R--'~

J(I+ i)j

= life

of the project
cost of capital
= values in the time series to be averaged.

=

To calculate the EAA Rate of Retur~, it is first necessary to calculate the
EAA for the projected time series describing Net Income, Depreciation, and
Unrecovered Investment Balance. The EAAs are then related to each other as
if they were the values of an income statement to expre,ss the EAA Rate of
Return.
An analysis of the mathematical realtionships between the different methods
reveals that EAA ranks projects basically in agreement with the Present Value
method. The superiority of this ranking pattern has been discussed in several
publications.

o

- 2 -

The Rate of Return as computed by the EAA method is identical- to the Accounting
Rate of Return when the cost of money is selected to be 0%. The Rate of Return
as computed by the EAA method is identical to the Discounted Cash Flow answer
when the cost of money is selected to equal the Project Rate of Return. This
means EAA is not in disagreement with the methods now in use but simply adds a
new .dimension of flexibility by giving the user the choice of selecting the Cost
of Money.

o

EAA thus proves to be a concept on a level one step above the Accounting Method

and the Discounted Cash Flow Method, because EAA can describe the general
investment analysis model and can express the Accounting Method and the Discounted Cash Flow Method as special cases within the general framework. EAA
could well be the first step to a unified and comprehensive theory of investment analysis.
For a more detailed description of the EAA system, refer to "The Equivalent
Annual Amount Method - A New Approach to Investment Analysis" by L. C. Raney,
K. A. Rist, and H. A. Wiebe, NAA Bulletin, April 1965, Section 1.

K. A. Rist

o

o

mn.N!!W*' Ittt"nt"Wt¥f"'mt"'W!!L'tt 'f

o

Nt' j

tt

:

j

tt

¥ )" ·ttr»

fLtt t 't M.

f t... *, trl ""rrl

!.

il" ....

roo

I"

r"'"

00

A RELOCATABLE SPS SUBROUTINE FOR EDITING AND ROUNDING OUTPUT DATA FOR
SCIENTIFIC TABLES AND SIMILAR APPLICATIONS

w.

N. Tuttle, General Radio Company

ABSTRACT

The need is discussed for a general-purpose subroutine for
fitting an output quantity to an allocated space and rounding to the
required number of digits. An SPS subroutine is described which
gives unbiased rounding and shifts the decimal point to handle as wide
a range of values as possible without resorting to exponential format.
The subroutine is relocatable and is added to the regular fixed-length
subroutine deck.

o

•

A RELOCATABLE SPS SUBROUTINE FOR EDITING AND ROUNDING OUTPUT DATA FOR
SCIENTIFIC TABLES AND SIMILAR APPLICATIONS

o

W. N. Tuttle, General Radio Company

Introduction:

The Need for a General-Purpose Subroutine for Editing OUtput
Data

It seems to me that it is no longer enough for a computer to gi ve
us the right answer. It should put the answer in the form we want it in,
either for transmittal to a non-programming reader, or for publication. The
form of the output should, without editing, meet the standards of the
scientists and of the professional journals. I think that by now we should
be able to publish a book of tables directly from the computer output and
avoid the danger of introducing errors in a separate editorial process.
Let's look at some of the problems we run into when we make a
table of computed quanti ties and don It want to resort to exponents. One
of the most bothersome is that we have to allow more space than we like,
either because of uncertainty about the range that will be required, or
because of the limitations of the available formats. If we use the Fortran
conversion specification 10F4 we would get, over the range of exponents
that can be covered,

~}

.0000

.0001
.0012
.0123

.1234
1.2345
12.3456
123.45b7

1234.5678
As a first improvement we can make it possible to maintain
precision with small values by shifting the decimal point to the left when
there are leading zeros. This keeps the same nrunber of significant figures
until the available width is used up,
.00001234
.0001234
.001234

.01234
.1234

1.2345
12.3456

123.4567
1234.5678

I

C'

II
i.

rI

t't'HtHxtrrNf tu't'tttttMtrtMtWti\eW' ,

''D't'!)

1't

tt 1t1

t

t

1.

N

** 4ft t

&#tC"

It

¥....

Page 2

SPS SUBROUTL1\fE

o

We can make a second improvement by reducing the number of
decimal places for large numbers to keep within the specified width.
This means shifting the decimal point to the right. This avoids excess
figures and greatly extends the range of values that can be covered •

•000000000
.000000001
.000000012
.000000123
.000001235
.000012346
.00012346
.0012346
.012346
.12346
1.23457
12.34568
123.45678
1234.56780
12345.6780
123456.780
1234567.80
12345678.0
J.23456780.

o

ov

This shows the range of outputs when both left and right shifts are used
together. Here the nominal number of. decimal places is 5. For small
numbers the left shift keeps 5 significant figures until the width is used
up and then a constant number of decimal places until the field is all
zeros. For large numbers a constant number 01' decimal places is kept as
long as possible, and then the decimal point is shifted to the right until
the decimal point occupies the last position in the output area. Note
the enormous range of values that can be covered.
A particularly useful specification is available in the common
case where the left shift is not needed. If, for example, four places is
enough for small numbers and four significant figures for ~arge numbers,
we can use the right shift only and allow a width of only 5 positions.
This gives

.0000
.0001
.0012
.0123

•

.1234
1.234
12.34
123.4
1234 •
This specification is particularly useful. when many columns of data are
required on a page and fuli use must be made of the entire width.

Page 3

SPS SUBROUTINE

This last example would require a width of 6 positions for
negative numbers. A minor feature of the program is that it checks for
the sign and allows an extra space for positive numbers. The Fortran
F specification does not do this.

o

For many applications in a~cineering, science and statistics
tables are needed with only 3 or 4 significant figures, but these. figures
must be accurate, and proper rounding rather than truncation is essential.
It is not satisfactory to give more figures than needed and let the user
do his own rounding. This wastes the user's time in addition to vlasting
space.
Many of you have used the rounding system in which 5 is added
in the first remaind.er column. This is not hard to do for a fixed number
of retained digits, but it becomes messy when the number of retained
digits may vary from 1 to 7 with an 8-digit mantissa, as in a g.eneralpurpose output data conversion program. For this reason truncation is
the rule in the IBM subroutines.
Since rounding is needed, let's do the job right. The I1halfaddu rounding procedure tends to make the average of the rounded values
slightly greater than the average of the unrounded values. All changes
are upwards so the method has been called "up-rounding". Small differences
in averages are fre~uently important, particularly in statistics, and
rounding should be done in such a way that the rounded values are not
biased, either up or down. Unbiased rounding is the same as tlup-rounding"
except when the remainder is exactly one half. In this case the rounding
is up when the next digit is even, but down. when the next digit is odd.
Original Number

0.5
1.-5
2.5

3.5
4.5
5.5
6.5
7.5
8.5
9.5
Total
50.0
Average
5.0

Biased Rounding

1.
2.

Unbiased Rounding

o.
2.
2.

3.
4.
5.
6.
7.
8.
9.

4.
4.
6.
6.
8.
8.

10.

~

55.

50.

5.5

0'

5.0

Here the average with biased rounding is 10 per cent greater
than the average of 'the originaJ. numbers·,. This is an extreme case because
the remainder is not usually exactly .5 and because more than one figure
is usually retained, but the difference is sometimes significant in
practice, and unbiased rounding is desirable both in scientific work
and.in statistics. In accounting it is a matter of convention, and
biased rounding is traditionaJ. •

!

c
'I

I,

~I· .
I'",

Page

SPS SUBROUTINE

o

4

One final capability would be desirable in an output dataconversion subroutine. This is a means for rounding to the nearest integer
and omitting the decimal point in t?e output.
Description of the Subroutine
A flexible general-purpose SPS II subroutine has been written
in which the features described above have been incorporated. The subroutine performs, optionally, under control of a code operand, the
desired combination of the following operations:

a. Determining the number of significant figures that can be used
with the specified width of the output area. If the number is positive
or the decimaJ. point omitted, additional space is made available.
b. Rounding the mantissa to the required number 01: figures using
either conventional ttup-rounding lt or unbiased rounding.
c. Moving the decimal point to the right when the specified position
would cause an overflow.
d. Moving the decimal point to the left when the specified position
would result in loss of significant figures because of leading zeros.

()

e. Alternatively omitting the decimal point and rounding to the
nearest integer.
Converting the edi ted vaJ..ue to aJ.phameric form and transmitting
to the specified output area.
:f •

g. Transmitting "OVIl to the output area wben the specified conversion
causes an overflow.
Use of the

Subro~tine

The subroutine is added to the regular fixed-length subroutine
deck and a library card is added to the processor. The subroutine is
loaded automatically whenever the macro FLA (float-to-alphameric) is
used in the program. Five operands are used as follows:
FLA A,B,C,D,E '

where,

•

A is
B is
C is
D is
E is

the
the
the
the
the

address of the aJ.phameric field,
address of the floa.ting-point number,
alphameric width of the",outp~t area,
nominal or uncorrected number of decimal places, and
code speci~ying the type of conversion.

If the code operand is zero, or omitted, then unbiased rounding
is used, and both right and left decimal point shifts occur if the specified
decimal. places cause overflow or loss of significant figures. Thus

SPS SUBROUTINE

Page 5
FLA OUTl,NMBRl,10,5,0

o

specifies that the output area, OUTl, is of alphameric width 10, the
quantity NNBRI is to be converted and transmitted to OUTl, and that 5
decimal places will normally be used. The code operand is 0, so the
decimal point will be shifted as required to accommodate as wide a range
of numbers as possible.
The code operand handles other specifications by a figure 1
in the tens, hundreds, or thousands positions. Code 10 causes omission
of the left shift of the decimal point when there are leading zeros,
code 100 causes omission of the right shift on overflow, and code 1000
calls for conventional lIup-rounding" instead of unbiased rounding. Tbe
digits can be combined as desired, so that, for example, code 1010 calls
for up-rounding with right shift only. Note that the code digit in the
units position must always be zero.
The decimal point is omitted by making the decimal point
operand negative. (Zero calls for a decimal point with no figures
following.) Thus
FLA OUT5,NMBR5,10,-1,
calls for omission of the decimal point and rounding to the nearest
integer, In this example the code operand is omitted, so is taken as
0. Note that the fourth comma is always required.

o

Additional Information
The subroutine is for use with fixed-length 8-digit mantissas
only. Considerable rewrl ting would be n~cessary to adapt it to variablelength mantissas, because the PICK subroutine, which is used throughout
to save storage, is quite different in the variaole-length subroutine
set. For the same reason rewriting would be necessary for SPS II-D. Two
versions are available, one requiring no special features and the other
requiring only indirect addressing. The fonmer uses 2145 core positions
and the latter 1977. Several approaches were tried in the programming
in order to reduce the storage requirements to as low a value as possible
with the options provided.
WNT:mao

()

¢'f'r .. it t'

t

t·....

t'j

t#trrttrt riM

:"

rett>

"":Ir

¥::drtlrlr±:!

I t t - "I"

{": ":

-TNT'

----

,,"'r

o

C

L
E
A
R
T

R
A
N

Francis W. Winn
COMPUTER LANGU-AGE RESEARCH
2501 Cedar Springs Road
Dallas, Texas
Area Code 214 RIverside 7-1621

o

© October,

1965

ABSTRACT

o

CLEARTRAN is a system for compiling FORTRAN statements to
yield an object program having maximum efficiency. The object program
generally occupies less than one-half the core space and usually executes
twice as fast as the MONITOR II system. Programs involving substantial
amounts of subscripted variables may execute in as little as one tenth the
usual time.
"Infinite" programs may be compiled by virtue of "instant" linkage
from disk and the use of optional advanced language concepts.
liMy 1620 can draw circles around your 1620" aptly describes the
Format capability. Equations can be "plotted" on the printer. Information
can be extracted from a card read or a card may be re-read by any Format
number. Complete printer control is available with FORMA T statements.
Printing of the results of one problem may be obtained while computing the
next set of answers.
Error analyses are exceedingly thorough afboth the compile and
execution stage. For example unidentified variables and out-of-range
subscripts are called out at both compile and execute time. The object
program seldom blows up during execution. A tract routine is available
for presentation of both the name of the variable and its value as calculated.
l

l

o

o

o

o

CLEARTRAN VERBS

ACCEPT
ASSIGN
BRANCH BACK
CALL
EXIT
INTERRUPT
LINK
PDUMP
COMMON
CONTINUE
DEFINE
ADDRESSES
DISK
DISK ADDRESS
FAST LOG
SIZE
START
DIMENSION
DO
DO BACK
END
EQUIVALENCE
FETCH
FIND
FORMAT
FUNCTION
GO TO
HOLD
CARD IMAGE
ERROR MESSA GE
PRINT SKIP
PRINT ROUNDING

IF
INTEGER
PAGE
PAUSE
PERFORM
PRINT
PUNCH
READ
REAL
RECORD
RELEASE
CARD IMAGE
ERROR MESSAGE
PRINT SKIP
PRINT ROUNDING
RETURN
ROUTINE
SET
STACK
STOP
STORE
ADDRESSES
CONSTANTS
NAMES
SUBROUTINE
TAG
TRACE
PRINT, TYPE, PUNCH
OFF
TYPE
ZIP

o
Page 1

IN -LINE ROUTINE

o

A group of FORTRAN statements prefaced by ROUTINE is defined
as an in-line routine. The routine is given a name with up to six alphanurneric characteristics, the first of which must be alphabetic. A routine
is normally entered by means of the PERFORM comrr..and and the normal
exit is by BRANCH BACK.

The PERFORM command generates a BTM (branch and transmit
immediate) type of instruction, with the return address b-eing carried to
the routine for use when a BRANCH BACK instruction is encountered. If
the PERFORM command includes a statement number, the BRANCH BACK
will be to the address of the statement number specified; otherwise, the
return address will be that of the statement following PERFORM.
The data and variables used in a routine are identical to those of a
mainline program. A routine may be located anywhere in the program except within the confines of another routine. The normal exit from a routine
is by the BRANCH BACK command, of which several may be used if desired.
A direct entry to any numbered statement of the routine rnay be used. In
this event, the BRANCH BACK exit address from the routine will be that
specified by the PERFORM command last used to enter the routine.

0

The address of a routine may be stored in a subscripted array by
the STORE ADDRESSES command. This makes it possible to PERFORM
a computed address, e. g., PERFORM RUTEN(J).
While within a routine, one may PERFORM other routines provided
the chain of addresses required to return to the mainline program is not
broken. If there is a need to break the chain, the address of the ROUTINE
whe re the break is to occur may be saved by including the. name of the
routine as the third operand of the PERFORM command.
By this means, one may perform a ROUTINE from within the routine
itself, if desired. Examples are illustrated in the sample programs.

I

()
Page 2

L

I

I

let

t'NI'

Iq

o

t

t #

trt

:t#'*ith bftfdh

'We."·"

"fbtttt""fF fWtf'bilf" "

'j

I'lt

1!""l

.n"j"

Te-"Wi

r""

j

"wn

DEFINITION OF VARIABLES AND ASSIGNMENT OF ADDRESSES
A variable is "defined" if it is encountered to the left of an equal
sign, in a REA.D, ACCEPT or FETCH statement, or in one of the
following: COMMON, DIMENSION, EQUIVALENCE, INTEGER, !tEAL,
STACK.
DIMENSION
The DIMENSION statement is used to define the size and the number of words in an array. The number of subscripts which may be used is
not limited to three. The length of the fields in an array can be made
different from normal by placing an intergal number in front of each element of the list. The minimum length field is two. There is no m.aximum
limit to the length of the field; however, the practical limit for use in
conjunction with printer commands is 288.
COMMON
This command is identical to IBM's.
STACK

o

The STA.CK command is the opposite of COMMON; i. e., the variables in the list are assigned sequentially ascending addresses .. while those
in COMMON have descending addresses. A. dimensioned variable can be
equivalenced to the first element of a list previously stacked making it
possible .. thereby, to refer to the list as an array. The STACK command
is especially convenient for use in conjunction with the deferred PRINT
command described later.
TAG
If it is desired to determine all the positions in a program where
reference to a particular variable is made .. the TA.G command may be
used. Up to five variables may be tagged at one time; e. g.
TA.G, V, VOICE, A20 .. I,YOU
REAL
This verb defines a variable as a floating point type even 'though
the initial letter might be I, J, K, L, M or N.
INTEGER

o

This command defines a variable as a fixed point type even if the
initial letter is other tha~ I, J, K, L, M or N.
Page 3

FIELD LENGTH
A.s with the DIMENSION command" the length of a variable can be
changed from the normal length by placing a number immediately after the
STACK" REA.L or INTEGER commands.

o

ALTERNA.TE DIMENSIONING
The list in the COMMON" STACK" REAL or INTEGER commands
can be subscripted as in a DIMENSION statement if the variable is to be
dimensioned. (The variable must not then appear in a DIMENSION statement. )
STORE
The STORE command may be used to store at compile time three
types of data: addresses" fixed or floating constants with sign, or alphanumeric data. The name of the field where the data are to be stored in
core is the first element of the list; the remaining elements are stored in
first and successively higher addresses.
ASSIGN
This command may be used to move addresses in core at object
time.

o

DEFINE
The DEFINE ADDRESSES command may be used to specify indirect
addresses where the actual address of a subroutine" routine, statement
number, constant,· etc., may be found. This command is very useful for
a communication link between two programs which may be in core simultaneously.
TRACE
The commands TRACE PRINT" TRA.CE TYPR" TRACE PUNCH" and
TRACE OFF may be used to follow the path of a problem through a program.
The TRACE PRINT statement calls ina reloeatable subroutine which prints
the name of the variable on the lefthand side of the equal sign in each arithmetic statement, together with its numerical value. Three variables and
their values are printed on each line. Switch 4 activates the TRACE sub,...
routine at object time.
CALL INTERRUPT
The CALL INTERRUPT statement results in storage on disk of the
core immage of the program and data, together with the .address at which
the interrupt occurred. The CALL INTERRUPT command may be selected
Page 4

o

\,

o

by program calculations or by turning on a programmed sense switch. The
program may be restored and execution continued by loading a single
INTERRUPT RESTART card. If data remain to be read, the last card
read, together with cards not yet read, should be set aside for reloading.
Obviously, data stored by RECORD r.ommands may be lost unless the disk
pack is' set aside.
PRINTER DUMP
If it is desired to dump the contents of core on the printer dur,ing
the execution of a program, one may use the following command:
CALL PDUMP (N1, N2)
N1 and N2 may be absolute addresses or they may be the names of variables.
CALL PDUMP pulls in a disk utility program which prints core between the
limits specified, with 100 digits per line grouped by tens, with core addresses
conveniently shown. Control returns to the program after execution.
ZIP
The ZIP statement used immediately preceding a 00 will speed up
the evaluation of arithmetic expressions involving subscripted variables.
The conditions where ZIP may be used are:

o

1. Indexing must be under DO loop control only.
2. Each arithmetic statement must be complete without
having to use more than one continuation" card.
3. DO's may be nested not more thanthreedeep.
4. The number of subscripted words may not exceed 20.
(The above limits are tentative.)
Example:
ZIP
11 00 3 J=l, 10
12 00 3 K=3, 5
13 00 3 L=l, JIM,2
1 A(J) = A.(J) + B(J, K, L) +AB(I)
IF (C(J, K, L) -·50. )2, 3, 2
2 C(J "K, L) = D(J ,K+1, L-1) +F +A.(J)
3 CONTINUE
Note there are four subscripted "words" in the above, under ZIP
control. A(J) is one word, B(J,K"L), C(J"K,L) and D(J,K+1" L-1) are the
others. Each word must consist of not more than 12 characters including
the two parentheses. AB(I) is not a "word" because its index" I, is not
under 00 control.

•

Another ZIP could be used after statement No.3. The OO's must
have numerical starts and numerical increments. The DO's may have variable
upper limits; i. e." JIM in statement 13.
Page 5

S/,Z)

I/O FEATURES
The input or output achieved by execution of conventional I/O FORTRAN statements is identical to that from IBM compilers. Certain additional features are available, as follows:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

o

B-TYPE, G-TYPE, and J-TYPE FORMAT
ALPHABETIC SUBSTITUTION IN E & F OUTPUT
AUTOMATIC' E & F ROUNDING
AUTOMATIC PAGE SKIP
CARD IMAGE REREAD
DEFERRED PRINTING
FORMAT OVERRIDE
NON FORMAT READ
PLOTTER SIMULA,TION
PLUS SIGN (+) SPACE IGNORE
COMPLETE PRINTER CONTROL
B- TYPE FORMAT

B-type words (B for Beta) can be read or written with a non- standard
length designated by the FORMA,T statement. The length may be a single
characte r, B 1, or up to 80 characte rs for reading the entire card, B 80, or ~
B144 for printing 144 characters. The variable where such a word is stored
normally is dimensioned so as to have its word length equivale'nt to that used
in the FORMAT. For example B1 words could be read into a·dimensioned
variable with a word length of at least 2. B80 words should be read into
fields which are at least 160 digits long.

0

A single B-type character is st.ored as two digits in core, the left
one of which is flagged. If stored in a standard fixed-point field of four digits,
only the two positions to the right side of the four are used. When printing or
punching such a word, by a B-type FORMAT which is identical in length to
that used to read the word, conventional output is obtained. However, iftbe
length designated by the FORMAT statement used to read the word is less
than the length used in output, the character will be positioned incorrectly
by the difference in the two lengths. This can be corrected by changing the
output FORMAT statement so that the two lengths are equal, using X-type
FORMAT to make up the differences where required for spacin.g purposes.
G-TYPE FORMAT
This is identical to F-type FORMAT except that the firet blank following the field is considered as a decimal. G-type FORMAT is,norIrially used,
for reading only.

Page 6

o

"t ttt

Itt

o

$'1'

.tNt rirtti"Z± ."" hret

.th."'.»#±" • • " Hrim& ..

"'t_

'*$

t

$Mhstt

sW

eft

#*

rt± Mtbtr. tiM

t tri" t±tr

ttHrifvtMtt#

#t ""&tnt tt

ft rl

',*

tt

MM. t

J - TYPE FORMAT

This is identical to I -type FORMAT except that the first blank to
the right of the field terminates reading. This permits left-justified~
fixed-point fields.
ALPHA.BETIC SUBSTITUTION IN E & F OUTPUT
On occasions it may be desirable to substitute a short word or
blanks in place of an E or F output field. This can be done by setting the
floating-point variable to be listed equal to a special alphabetic field. The
two leftmost characters of the alphabetic field must be the decimal point
equivalent (03). The decimal point is not printed but the alphabetic characters.'which represent the remaining portion of the word will be printed.
As an illustration~
IF (A) 2, 1, 2
1 A = WORD(l)
2 PRINT 100, A
100 FORMAT (Fla. 0)
STORE NAMES (WORD(l), . NONE,.

o

, . ALL)

will cause the word NONE to be printed if A were zero at the IF statement.
Blanks would be printed if A were set equal to WORD(2) and the word ALL
would be printed if set ~qual to WORD(3).
A.UTOMA.TIC E & F ROUNDING
Rounding of E and F output is automatic. If automatic rounding is
not desired~ it can be bypassed by the command: HOLD ROUNDING; and
restored later if desired by: RELEASE ROUNDING.
AUTOMATIC PAGE SKIP
A. skip to a new page is automatic when the bottom line of the page
is sensed (printer indicator 34). This feature can be eliminated by the
command: HOLD SKIP (and restored by RELEASE SKIP). This might be
desirable when using plotter simulation, or when page skip is under program
control.
CA.RD IMA.GE REREA.D

•

The usual READ statement with a FORMAT number will cause a
new card to be read and data extracted therefrom in accordance with the
FORMAT specifications. It is possible to "read" the same card again~
using different FORMAT statements if desired, by two different methods:

Page 7

ft.#

h it $ it">>>

hrt

t

1.

Place an X (for extra) after the FORMAT number
in the READ statement.
2. Use the command, HOLD CARD IMAGE, followed
by a conventional READ statement.

o

The latter causes a one-time skip of the normal procedure whereby a new
card is read for each READ statement, making it possible to reread the
last read card. The HOLD CA.RD IMAGE command can be nullified by the
command RELEASE CARD IMA.GE.
DEFERRED PRINTING
Some problems require that all or almost all of the calculations
be completed prior to doing any output. With CLEARTRA.N It is possible
to print the results of one set of calculations while calculating the following
set. By this means, printing and calculations can go on simultaneously
with a considerable savings in time. Deferred output can be obtained by
placing the letter "s" (for Save) after the FORMA.T number 'of an output
statement; e. g., PRINT 102S, List. This command will be ignored at object
time prior to execution of a. SAVE command.
The output commands utilizing this feature can be placed at selected
positions in the main1:ine of the program where recycling does not occur.
Alternately, all PRINT S commands can be placed in a ROUTINE using a computed GO TO to execute successive statements. The ROUTINE could be
executed by randomly placed PERFORM statements. When used in a
ROUTINE, the "printer busy" indicator should be tested to save time (if the
printer is busy an immediate exit from the ROUTINE shoUld be made. )

0

The SAVE (V1, V2) commands result in a transfer of that portion of
core image lying between the address of variable V1 and variable V2 to a
safe place in memory. This includes Vl, but not V2, The variables to be
listed by S type output commands should be in contiguous memory locations
for the least space requirements. The STA.CK or COMMON commands are
used to achieve the desired order. All the variables to be listed should be
in either COMMON or STA.CK, but not part in one and part in the other.
The deferred output command can be made to list current values
if a zero is used in a SA.VE statement; i. e. I SA.VE (0). The original status
can be restored by using a negative number in a SA.VE statement; e. g.
SAVE (-1).
I

FORMAT OVERRIDE
The list of an 110 statement is under control of the specifications
set up in the FORMAT statement. This normally require's that the number
of items in a subscripted list be identical to the "repeat" number of the
corresponding element in the FORMA.T statement.
Page' 8

0

It

t$

o

tt{trt'trt

t"fcirit"tFi:.·ti·fbtri.""{'d5*tt·TI-w ·ITr:n·'Y'Iff·1!··'"f("·!!"IT
u

[·r ....

With CLEARTRAN, an I/O list may involve subscripts using a
variable index. The corresponding "repeat" number of the FORMAT
specification should be greater than the maximum possible value of the
index(99 is tops). If the repeat number happens to be less than the index
variable, FORMA T control will pass to the next element of the FORMA T
statement.
NON FORM.A TREAD
The preparation of input data to be read under FORMAT control
requires extra care to insure proper positioning of data on the punched
card. This problem can be circumvented by using the REA D statement
without a FORMAT number. Data of the E, F, I and A type can be read
without a FORMAT number. One or several spaces are used to separate
data fields. All 80 columns of a card may be used. A relocatable library
subroutine examines the input data and discriminates between E~ F" I or
A data. The F-type conversion results from a decimal point in a numeric
data field. The E -type results if a decimal point and the letter E are found.
The I-type is generated when there is no decimal point in a numeric field.
The A -type is obtained if none of the above conditions are met.

o

An "input error" is called out if the variable being read is in the
wrong mode. The unread portion of the card is typed and a BRANCH TO
the program starting address occurs.
One card may contain information which is read by several REA D
statements. After all the fields on a card are read the next item on a
list will cause a new card to be read even if the item is in the middle of
a list. A record mark in column one of a card calls· EXIT.
J

J

PLOTTER SIMULATION
The SET command is identical to the PRINT command with the
exception that printing does not occur. The SET command is normally used
to build an image which is to be held in position for additional m:::>difications.
1f an X follows the FORMA T number of a SET commandJ "extra" information can be placed in tHe image without destruction of information previously
placed (except that which is overlaid). By this means, it is 'Possibie to
build up a complex line of information which is to be printed after all the
information is in place.

•

The X specification in a FORMAT statement is used to position or
space adjacent fields. In CLEARTRAN one may uSe the X specification
followed by a fixed point variable in parenthesis; e. g. J X(Nt). This
specification will result in a number of spaces equal to the value of the
fixed point variable Nl .

Page 9

One may use the space supress character (+) in column one to
print one set of characters on top of another. This character should be
erased (1HO) prior to the final PRINT command.

o

After a line of data is in position, it is printed by a PRINT command,
the FORMAT number of which is followed by the letter X.
The first 80 characters of an image can be punched by placing the
letter X after the FORMAT number of punch statement.
A program to illustrate these. features is attached. This program
plots three equations, coordinate grids, and prints alphabetic information
simultaneously. Another program "draws" a picture of a heat exchanger
tubesheet.
PLUS SIGN (+) SPACE IGNORE
It is not necessary to provide space for the plus sign when printing
or punching. This makes it possible to put additional information on a card
when punching, or to pack E or F fields adjacent to other fields when printing. An error may occur if the E or F fields are negative, since space must
be provided for the minus sign.
COMPLETE PRINTER CONTROL
A complete set of printer controls is available with CLEARTRAN.
The following is a list of the printer controls which are achieved by placing
a Hollirith character in column one:
Before Printin!::,
+ Space supress
J one space
K two spaces
L three spaces
1 skip to channel
2- skip to channel
3 skip to channel
4 skip to channel
5 skip to channel
6
skip to channel
7
skip to channel
8 skip to channel
9 skip to channel
= skip to channel
@ skip to channel

Afte r

1
2
3
4
5
6
7

8
9
11
12

Printin~

S
T

one space
two spaces

A

to
to
to
to
to
to
to
to
to
to
to

skip
skip
C skip
D skip
E skip
F skip
G skip
H skip
I skip
skip
skip
B

o

channel
channel
channel
channel
channel
channel
channel
channel
channel
channel
channel

1
2
3
4
5
6
7

8
9
11

12
I

o

(Any other character may result in a runaway carriage. )
Page 10

td

o

j..

t

..

hi

t

"trW

ri pm ft. Ht t

. "t!
!

!

.""

"t" "}" [""" -

.. "'

FORMAT statements with multiple slashes which are executed
only by PRINT commands are automatically compiled so as to take advantage of fast printer spacing insofar as possible.
The "printer busy" indicator (35) can be sensed by use of the
statement: IF (SENSE SWITCH 35) N1, N2. A BRANCH TO statement N1
occurs if the indicator is on (buffer is unavailable for loading); N2 if off
(buffer can be loaded).
Similarly, 33, 34 and 25 can be used to sense respectively channel
9, channel 12, and printer check indicator on the 1443.

o

o

o

o

()

AN APPROACH TOTJlm SERIES ANALYSIS

o

by R. Mennell and J. Turney
"Management Researc h Department
H. P. Hood & Sons
Boston, Mass.

One approach to time seri~s analysis is to state hypotheses
and test thelr validity. This is generally an undirected, subjective method. What is really needed is a method which tells
what relationships are significant, the method not to be dependent
on the analyst's ability to hypothesize. To a large degree
spectral analysis, when carefully constructed and int~rpreted,
provides a way of pointing out relationships within and between
time series. This paper discusses time series analysi.s in
general, describes the use of spectral analysis to develop .models,
describes a new computer program for spectral analysis, and presents
the first step in the analysis of an example series.
Introduction

o

It is a simple task to propose situations Wherein a researcher has available a series of data and wishes to accurately estimate J or forecast, the value
of additional terms in the series. Within the firm there is a need to estimate
what demand for a product line will be in the coming month for profit planni.ng,
what demand for a product will be during the next day or week for production
scheduling, and what demand for a prodl~t on a route will be for the next c~y
for vehicle loading.
Hopefully, at the least, the available times series is the correct one
with which to work. l If analysis is confined to the series and a rore~asting
method is used, the result is a ftnaive" forecast in the sense that neither
causal factors nor even simply correlated factors are included in the model.
The fundamental premise of this paper is that the basic and first step in
developing a forecast for a series is to understand the serit='s itself.

AnalysiS should be performed which Will lead directly to a model of the series
that is "near best". By best is meant a model that removes relationships to
the extent thatt he residuals (differences between the series and estimates of
the series) contain no more systematic relationships which can be removed. The
'~Biduals are _then "white noise" -- a random, series; in other word~, a time ?
series of uncorrelated random variables with zero means and common variance.-

•

lUnfortunately, one may often have only the system's response rather than the
prime seriesjfor example, sales or shipments rather than customer demand~
In this case the researcher musteither find some way to. c ollectthe prime
series, or establish that the response series is closely·enough related to
the prime series to bea solid foundation for analysis.
20£ course, a polynomial model can always be found whiCh fits the t.ime series
arbitrarily well. In time series analysis, we d.o not go that far. We '1£itn

only'those components of the series-that one has a right to; i.e. the
components that have relationship and will therefore be helpfUl in forecasting.

- 2 -

Near best gives expression to the fact that significance (not necessarily in
the statistical sense) must be established in a relati.onshtp before it is
included in the model. Therefore, the near best model gives residuals that
are nearly white noise.

o

Our tntention herein is to describe an approach to analyzing time series
and present some tools with which to work. Before doing so, we should explore
the environment within which time series analysis is useful.
A first thought is that a non-Itnaive" forBcast may be an improvement over
a "naive" forecast. By consid.ering other series for inclusion in a model of
the prime series, one may be able to achieve a white noise residual with 10we~
variance. For exa~ple, product sales in tre futi~e may be partially dependent
on population, income, and weather. The met-hod used here can 'be extended to
incorporate other series rather than simply the prime series. If the residuals
then have lower variance than those resulting from the analysis of the prime
series, the neW model will give better forecasts. The residuals of the prime
series are the standard for comparison.
The analysis of time series leads to a model to be used in developing a
The model is not a foree asting t ec hnique itself. Another way to
say this 1.s that the Model of a time series ean be applied very well to the
sample of the series already observed. However, when one forecasts, he wishes
to estimate terms in the se-ries that have not yet been observed. This fact
leads to interesting q'J.estions. Since thetenns have not been observed, bow
can one be assnred that the cansal system i tsel! will not be ditferent? For
instance, the product rri.ce may change with respect to the competitor's price,
or the product may enter a d1.fferent phase in its life--froJn a new prodUct to
a "mature" product.. The p~i.ce change, if temporary, results in a transient
series s~lperimposed on the prime series.
f oree ast.

0

Mechanical methods of forecasting usually accept new terms in a time
series to improve the estimates of coefficients in the underly1ngmodel. This
device automa.t:l.cally includes some abil1.ty to respond to changes in the causal
system. ~v~;n a simple moving aY~rage :f'orect'-.tst grad1)ally tracks a change in
t"'e a\Te~ace level. The forecaster must make a compromise between obtaining
quick response to real changes and stability if there is no real change. How-'
ever, if the model of the time series employed in the forecasting method is
incor:rect, the forecast cannot be expected to give good results. Foreoasting
must start with time 'series analysis to ensure a sound. base.

o

- IT BltW'"t rllt!

'f!

j""['

s",'

nr

"lftlt'

- 3 -

o
LIST OF TERMS

x

Average value of series

c

Constant

tv

0

•

Frequency

.v

Lag in number of terms of series

nV

Lag window of the windowed spectrum - also referred to as a kernel

met)'

l-!ean value function

1\(4J)

Norma.lized sample spectral density for frequency

N

Number of values in series

P

Period measured in number of terms of the series

y(t)

Residu.als

e(V)

Sample Autocorrelation coefficient for lag v

R(v)

Sample AutocovB.riance for lag v

Q

SP'F C tral

M

Truncation point number of sample autocorrelations used in
computing the spectrum

x(t)

Value of series at time t

C omputa tion

(or period~)

number - number of points in interval 0 to

ofw that spectral density is computed for

'rr

- 4-

o

to Time Series Analysis:

App~oach

1;Je have stated that we

T'1ant

to construct a model of the relationships
existence. The absolute

in a time sprie~~ to the extent they have meaningful
l:i.rrd.t of relationship occurs ~J'h€n the residuals are
the limit is Tt)oched IN'hen there are no additions to
demonstrated as 8i~n:i.ricnnt in making the residuals

white noise. PracticalJ.y,
the model which can be
more ,.vhite. A..t that,

point, all the instght the series itself can provide for our understanding will
htl.ve been obtatn.pd.

The st8.ndard rr.odp.l used for timE! series is

x(t)

= met)

+

(1)

y(t)

l,Tlv:''''p the n:f:an V31.'A:? functicn (m(t)) is the observed relationship in the data,

and the ref ere
(2)

Y(t) • x(t) - m(t) •
\rtT~ pr(J<:'e~d

n01ne.

(3)

staEm'rise to improve the model (m(t)) such that y(t) approaches white
resi.dual is defined by

f::.. ~mi..t.e no~_se

[y(t~

E

:s [y2(t
E [Y(t)

(4)

= 0

il

o

=q-2

y(t+v~

II:

0

for v

= 0,

1 - - -

N

That is, the residuals have 0 mean, varianceu 2 and no autocovariance
(or 2utocorrelation).
The analysis is based on the assumption that the residuals are always
covariance stationary.
Cov [:(t) - m(t), y(t+v) - m(t+v?] • R(v)

for all values of t and

~

(5)

That is, only v, and not t, determines t~e covariance. In practice the
series may not be covariance stationary. However, the time series analysis
will still provide insight into the series.
Knowing something about the system which generated the series and by
plotting and objserving the series a model can be proposed" albeit partial and
possibly faulty. One approach then is to state hypotheses after observation
and test their validity_ Our original statement of intent is a rejection of
this approach. We want to have a method of analysis which tells us what
relationships are significant. We should not need to depend on our ability to
hypothesize. To a large degree spectral analys"is, when carefully constructed
and interpreted, provides a method of digging out the significant relationships
for examina.tion.

SSJ
--------

-

--~----

.

-~---~~---

I

i

o

I

- 5 -

o

As a first step we ferm th.e sample autoco"J"nriance for la.g pp.riod v
1\l-v

R(v)

=~ ~

x(t) x (t+v)

t=l

(6)

v :: 0, 1, 2, - - - - M

and the sample autocorrelatj.on coefficient for lag v

N-v

:E.. x (t )x (t+v )

F(v)

tal

(v) • R (0) :: -N--v-'"- - - - - ~ x 2 (t)
tlCl

(7)

v • 1, 2, - - - - M

The autocovariance and autocorrelation are analogous to the

SUl'lS

of squares

and correlation c~~r-rj.cient respectively_ Here, though, the calculations
are performed on a~l pairs of data 'trl th a time difference of v periods.
lA1hen either R(v) or e(v) are plotted, rela.t1vely high a.bso1ute values indicate
a relationship b·etween terms t and t+v.

Actually the contribution (po~r) of each lag (frequ~ncy) can be viewed
more readily by calculating the normalized lo.rindowed sample spectral density
(or simply spec tral ~nsi ty) ;

o

(8)

The s!,ectral den~i.t,y is obtained bjr representing the sample 8.utocorrelation
runcti~n as the Fourier transform. Then by inversion the spectral density is
expressed as a ~lnction of the sample autocorrelation. The autocorrelation
has been used rather than the autocovariance so that the results obtained
from different ~ime series can be portrayed in a standard form. 'The frequency
~is equal to 2Q Where k is denotes an interval for computation (k-l, 2, Q).
-j

M is the truncation poin~ 'of computation and ~v is the lag 'window; in
our case the Par zen ~iindow;
+

3
6 M ; {Vi'
H ~ 0.5

(l-I~\~

; o.s ~ JR) 5.1.0

>tv • 1-6 (~2 )
.. 2

/v/

All plots of spectral density are the!!atural logarithm of 1000 times ?T(W>.
For white noise the expected value of ~T(-W) is S.Or •

•

- 6 -

Development of Computer Programs

o

Early in our study of spectral analysis, a search was made for available
programs. We could only consider programs which could be run, or adapted to
run, on a 20K 1620 with one disk drive. The libraries of larger computer
systems were examined, but did not yield programs Which seemed analytically
correct or mechanically practical. The basis for developing tools had to be
adapted from the three spec tral. analysi.s programs available in the 1620 Users t
Group library. The programs are l:i.sted and described in Figure 1.

Only program 6.0.126 could be run without any modification, so it was
the first to be evaluated. The autocort:'clation. coefficient is unbiased and
in the traditional stat1clan l s form. However, there are several objections
to using it for time series analysis. The first objection is that it includes
automatic mean subtraction. In general, one would like to perform spectral
analysis on the raw data and/or the detrended data. Mean detrending is, of
course, only one form of dp.trending. One may want to subtract aqy mean value
function --- linear, Sinusoid, etc. Therefore, de.trending should be perfoIJned
separately; an operation on the data rather than a specific adjustment in the
analysis routine.
A second objection to this program is that the divisor N - v is used
rather than N. While the ob,ject of the uSe of N - v is to· give an unbiased
estimate of the true covariance, the more important fact is that the use of
N leads to non-nega.tive estimates of the spectral density function. ~n
addition, the use o.f· N gives a positive definite ·function to be used to
estiInate a positive definit.e function and thus allol-Ts one to interpret the
Fourier transform of the covariance flIDction as a spectral deDsity fllnction.
Fina.lly, the "biased" estimate (using the d.ivisor of N) seems' to give smaller
mean square error t. han the unbiased esti.mate.

o

Program 6.0.l.5l, like 6.0.126, uses the "unbiasedtt estimate of autocovariance and does not calculate thp. autocorrelation coefficient. It was felt
that the autocorrelation gives important information by itself and shOlud be
imluded. At least it is easy to understand, even t hough it does not give an
altogether cllear idea of the frequencies present nor their .power. This'
program, like the other two, does not permit more than one trl.1ncation point
to be used. It does use a lag window (Blaclanan and Tukey).q

I

While program 6.0.147 suffers from deficiencies of the order of importance
of those in 6.0.151, it seemed easiAr to work with and modify. The first 'change'
remo~~d the mean detrending.
The second step was to replace the autoc.ovariance
term in the spe~tral density function by the sampleautocorrelat.ion. This
.
change normalized the spectral ~ensity so that results of' different time
.series analyses can be compared. The normalization is, of course, scaling
by d ~viding all R (v) by R (0) --- the sample varie.nce.

II

I'j
"I

'Reference 1, p. 940
if'Program 6.0.126 computes spectral density without any lag window. In addition
to other deficiencies, this resulted in the program being completely abandoned.

0

il
I~I

I
i

- 7-

o

It was also decided to w-ite general purpose routines for plotting to
graphically present results as a very useftu adjunct to the program.
Natural logarithms of the spectral density were plotted for two reasons. 5
First, log plotting magnifies the result where values are small as an aid to
interpretation. Second, a confidence band about the log of spectral density
is linear. Before taking logarithms the spectral density was multiplied by
1000 so that the graph would have a standard range of 0 to 10.

The variance of esttmate of the spectral density function depends on
the lag window selected, the sample size, and the truncation point. For a
high truncation point the variance is high, but the bias is low, and conversely
for a low truncation point. One way to get more information for this situation
of conflict is to use several truncation points. In the revised program the
denSity functions for up to three truncation points are calculated and the
three functions are plotted together.

o

The .first analysis computed by the revised program was for a test series
composed of a pure constant plus a 12 period sine (N-148). The Bartlett Lag
Window O\v.l-~) from the original program was used. With the exception of the
lag window, tne formulae were those given for the new progran 6.0.166 in
Figure 1. Figure 2 is a plot of the density functions for this series. The
density is computed for each frequency in terms of K, where K is an interval
betweenW -0 'and lr', K-1, 2, ---,Q. Intervals can be converted into period,
P-2Q/K, or frequency, w =K/2Q. The abscissa or K is cumbersome, so it was
decided to convert to period. In Figure 2 there is indication of high po~~r
at 12 months (2 x 48/8 • 12). The constant shows up as high power at low
frequency, K-l and 2. Most surprising is the systematic oscillation at
higher frequencies. For the next analysis the Parzen lag window was used,
with the- result shown in Figure 3. Now the spurious power at the higher
frequeney is eliminated. Next the pure constant term was removed from the
sine test dat.a. Thu.s Figure 4 shows the spectral density for a pure si.ne
series with a period of 12. This reference will be belpful for comparison
with spectral densities of seasonal monthly data.
T~other standard spectral densities are included for reference.
Figure 5is an analysis ot random data, or white nOise, and Figure 6 depicts
a constant series. For the case ot random dati ~e expected value of the
spectral density (for .811 frequencies) is in (~) • 5.07, which is L.."
agreement with the test result.
. lr

After perf.onning the test analyses just described, which indicated that
the.program.was workingproperlYJ attention was directed to improving the
computational efficiency. Before performing the summation

M
r:.

v-I

Av0 0a

Tr

~

e(v), all 'J\v

for all K -1, 2, ---, Q.

o

SReference 1, p. 941

f

(v) are computed .once and tabled to use

- 8 -

In addition, before calculating any density points the values of cos (.11:.)
and sin (-It..) are determined, t hen all subsequent cosine terms are computed Q
recrl.r3ivel~. The recursion is ba.sed on the relations:

cos (A+B)
sin (A+3)

= cos
= sin

o

A cos B - sin A sin B, and
A cos B + cos A sin B,

~here A is the previous phase angle and B is the const~nt increment ~.
Since the values of A and B tenns are known at each inte~/al, the new term
A+B can be computed directly. This is much faster than a method iI.rhich must

redefine the cosine term for each interval.
These two features)along with other small~r improvements, resulted in
running times 1/3 as long as 'Were requi~d in the origi.nal version. Several
rlIDS

have been made with 1Ll data points,

48 lag intervals, 48

density pOints,

and truncation points of 12, 24, and 48. For these dimensions, the autocorrelation calcu.lations take five minutes, and the spectral analysis takes
fifteen minutes, inc1uding plot output. On a model II 1620 with fioating
point hardware these times could be expected to be reduced again by 2/3, to a bout
two and five munutes respectively.
The separation of the plotting portion into a set of general routines,
each of which was designed for maximum efficiency, resulted in very rapid
plot output. Other parts of the program, such as computation of inner products,
could be slrrllal"ly separated and improved. Such additional refinements may be
implemented if use of the program b~c ome~ extensive. The program and plot
routj.nesare available from the IBH 1620 Users' Group library as 6.0.166 and
1.6.123 respectively.

0.

o

o

Example Series
A sample of 141 observations x(t) was used in testing of the described
approach. The data are monthly product sales, which may be exper.ted to
contain both trend and seasonal components. Figure 7 is a plot which includes
the raw data (plot character D), the linear trend (plot c harac ter T), and
the residual (plot character R). The residual is on an enlarged scale relative to the data and trend. Examination of the residual indicates a definite
12 month seasonal component" as expected.
Figure 8 includes the autocovariance and autocorrelation of the data with
itself at each of 48 lag periods. Figure 9 lists spectral density for
truncations of 12, 24, and 48 at each lag interval. Frequency (F) for each
point is computed as F = 2M::/I (in this example F • 96/I), with F • 999. l.ndicati.ng the ~ero lag term. The frequency thus represents the number of time
units per cycle.

Figure 10 is a plot of the. spectral densities, with conversions as
described earlier. Truncation points of 12, ?h, and h8 are plotted as A, B,
and Crespeetive1y. Numbers. at the left are the frequencies with their
fractional part trunca.ted. This plot clearly indicates density peaks at
frequencies or 12 and 3, and lesser peaks at 6 and ~~. This suggests investigation of a model of the time series taking/into account 12 and 3 month prior
data. After several stages of model formulation, use of regression analysis
to derive coefficients for the model, and spectral analysis of residuals, a
satis:f'~'" ~.ory model with near-white noise residuals was achieved.
This model
containeci sine and cos;.ne terms for a 12 month seasonal component with
increasing amplitude, plus weight.ing factors for 1, ), and 6 month prior data
points.
The use of spectral analysis to develop time series models is still largely
empirical. For example, a 12 period denSity peak could lead to a simple weighting factor for 12 month prior data pOints, to a sine-coside model with a 12
month period, or . .to a double' sine-cosine model which includes changing
amplitude. This does at least narrow the search, and experience in analysis
should lead to good individual judgment in particular cases •

•

o

References:
1. E.
2.

"An Approach to Empirical Time Series Analysis", Radio Science
Journal of Research, Vol. 68D No. 9, September~ 1964.

Parz~n,

R. G. Brown, "Smoothing, Forecasting, and Prediction", Prentice-Hall,

Englewood Cliffs, N.

J.,

1963.

3. T. Yamane, "Statistics, An Introductory Analysis·, Harper and Rowe,
New York, 196L ..

4. R.

M. Stephenson, "Autocorrelation and Spectral Analysis for a 20K 1620",
1620 General Program Library No. 6.0.126.

5.

S. R. Kimbleton, tt1620 Spectral Analysis Programtt , 1620 General Program
Library No. 6.0.151.

6.

w.

7.

J. E. Turney, nAutocorrelat~ion - Spectral Analysis Program" .. 1620
General Program Library No. 6.0.166.

8.

J. Wa.rshawsky, "Autocorrelation and PO\<1er Spectra.l Density", 1620 Users

Lawton and F. Puff, ttAutocorrelation and 'Power Spectrrumtt , 1620

General Program Library No. 6.0.147.

Group Meeting, September, 1961.

o

o

•

Program No.

Al.ltoc ovariance

N-v

6.0.126

If. (v)

in Ralsti.'n :-.- Hi If
2Cr.

=,,/v t.,~

lie (~) -x~

e(>f):

~" [jr(t)-)C.j &CNto/)-JC*]
J.

V,

X*' ':. ._'
III-v

I.. x it)

't":,

*t:.,

N-'I

R Lv):.
~-Jindotrl

L [)(.It) -

il [)(It+~)- ~J

N-v

~here.

ee

v

X.. ::...L I.
/II-v

r.,

).::.

_

~-., [>c{t) -~J [1 +2.

R (,,)

hOK Storare

wI.

J,.

1-...

,,~v

6.0.1h7

,.-v

€~[~Lt)-i1 L [x(r"''')-x11..1~
.... ,

wit ......

Spectral Density

Autocorrelation Coef fic lent
($ample Correlation Function)
N-'V

[x (t) -,c*]

3tO!~age

Bartlett Lag

o

o

-

(u»=.#rRlO)+2~"
L
.,=, Y' R,,,)~(~")l
I'f 1
j

T

J\y=I-~

w=

;1 z.

-XJ

III

)( :.~~ '!ott)

comment; for one value of M,
no plot

eel

Il-v

L

r~1

x (t)

.:L

2./lif

X {t.,..,,)

fT (W)=

.2.3

Fr _, (w)
-+-

1

+,S1F-r (c.JJ)

~:2..3 fT~1 (w)

f

1

f (w)' ·:;Rlo)+-)..:" ~(rr;.,I(") R.t.'I)

hot( Storage

T

ft,

comment; for one value of M,
no
(v) calculated, no pl=>t

e

~

6.0.166

R{"):=-k-~ xlt))«(t+'1)
"t"-::.I

Pa.r.zen

LA~

etv)

;

R ('I)
R (0)

Fr (uJ)=~f'(o) +-#~

¥c,

H-'I

Windml

=

s: xlt)xlt,.,,)
e.,
14-'(

~

[1<[t)]

2-

~

Figure 1.

J.~V)p(V)
"'1[.\

}',,= J-I.o(~)1."'J~J3.)
:; 4 (/-

"t=1

(/\

Ja v

".1 _
\,V

-

JL.
'-Q

J~J)3

J

J~J ~ ()~S'
o,~~J~J~/,~

DENSITY PLOT
MIN
MAX

II
11

.11498900E-02
.45255369E&01

001.
002.
003.
004.
005.
006.
007.
008.

•

•
•
•

•

•
•

•
•

•

C

•

(B •

.c

BA

ACB

•

C •

A(B

•

B

•

C B

•

(

•

A

• (B

(

BA

•

A( B
(

A(B
•
(B.

B

A
A

•

CB •

A

ACB •

•
•

.B

C B

A

•

A

•

CB

A

•
BA

A(B

•
•
•

A(B

•
•

CB

•

BA

AC9
Figure 2.

•
•

A •

B •
•

A
A

A
A
A

•
•
•
•
•

•
•
•
•

•
•

•
•

•
•
•

•

•
•

•

•

•
•
•
•
•
•

A

(B

A •
A •

•

SA

CB

•

•
•
•
•

• SA

ACB

•
•
•

•

•

(

A.

(.

•
•

C

B

A. BC

•

•
•

•
•
•
•
•
•

•

A

A

• A

•
•

•

•

•

(B

.(

•

AB

•

CB

•

A

•

(

(

•

009.

010.
011.
012.
013.
014.
015.
016.
017.
018.
019.
020.
021.
022.
023.
024.
025.
026.
027.
(
028.
029.
(
030.
031.
032. C
033.
034. C
035.
036. C
037.
038. (
039.
040.(
041.
042.(
043.
044.(
045.
046.(
047.
048.(

o

B
C

c

Be •
•
•
•
•
•
•

•

•
•
•

•

•
•
•
•
•

•
•
•
•

•
•
•
•
•

•
•

•
•
•
•
•

•
•
•
•
•
•
•
•
•

o

•

•
•
•
•
•

•

•
•

•

•
•
•

•

•
•
•
•
•
•

•

•

•
•

•

•

•
•

•

•
•
•
•
•
•
•

12 Period Sine, Bartlett Lag Window

•
•

•

•
•
•
•

•
•
•
•

•
•
•
•
•
•
•
•
•

•
•

•
•
•
•
•
•

•
•

•

•

•

•
•
•
•
•

I

I

i'
I

•
•

o

I

I
I

~

DFNSIT"V PLOT

0

96.
48.
32.
24.
.19.
16.
14.
12.
11.
10.
9.
8.

•

•
•

•

•

(.

(B
(
(

(

B

.A

B

(

B

B

C

A

A

(B

A

A
A
A

A

4.( A
3.( A
3.( A
3.( A
3.( A
3.(A
3.(
3.(
3.(
3.(
3.(
3.(
2.(
2.(
2.(
2.(
2.(
2.(
2.(
2.(
2.(
2.(

•
~

•
•
•

•
•

•
•

•
•

•
•
•
•

•
•
•
•
•
•
•
•
•
•

•

A
A

•
•
•

(

B

B

B.

(

(

RA
B

•

A

A
A

.A
A •

•

•
•
•
•
•

•
•

•
•

•
•

•
•
•

•
•
•

•

•
•
•

•
•
•
•
•

•

•

•
•
•
•

•
•

..

•
•
•

•

•

•
•
•
•
•

12 Period Sine, Parzen Lag Window

•
•

•
•

•
•
•
•

•

•

•
•
•
•
•

•
•

•
•

•
•

•

•
•
•
•

•
•

•
•
•
•

•
•

•
•

•

•
•

•

(

c.

•

•

•

•
•
•
•
•
•
•

SA
A
A
A

B

•

•
•
•

•

A
A B

C

.1:3 C
A.B
A b
C
At3 •

•
•
•

•
•

Figure 3.

B

•
•
•
•

CB
(

4.(

•

(

(

4. (
4.(B
4.(

0

(

•

7.
6.
6.
6.

4,.

(

•
•
•
•
•

7.

5.
5.
5.
5.

•
•
•

•

•
•
•
•
•

•
•
•
•

•

•
•
•
•
•
•
•
•

•
•

•

•

•
•
•

~~-------------------------------------------~~~~~~--------

DENSITY PLOT

o
PARZEN BETAS
096.
048.
032.
024.
019.
016.
013.
012.
010.
009.
008.
008.
007.
006.
006.
C
006.
C R
005.
CB
(
B
005.
005.(
B
004.(
B
004.(
B A
004.(
004.(
004.(
003.(
003.(
003.(
003.(
003.( A
003.( A
003.(
A
003.( A
002.( A
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(
002.(

Figure 4.

( B

•

•

C
C

•
•

B

•
•
•

.C
•

•
•

B

•
•
•
•
•

•
•
•
•
•
•
•
•
•
•
•
•
•

•
•

•
•
•

•
•
•
•
•

•
•
•
•

B

•
A
A

A

A
A

•

•
•

•

• A

•
•

•
•

•
•

•
•
•
•
•
•

•
•
•

•

•
•
•

•
•
•

•

•
•

•

•

•
•

•

•
•

•

•
•
•

•
•

•

•
•
•

CA B
A
A
A

.A
A.

B

•
•
•

•
•
•
•
•

•
•

•
•
•

•

•
•

•

•

•
•

t3

• CAB
• SA

•

•

.A
•

•

•
•

•

C

•

c

•
•
•

A

B

•

B •

A

B

•

•
•
• C
• C

•
•
•
•
•

(

•

•
•

A •
A •

•

•

12 Period Sine, Zero Mean, Parzen Lag Window

B

C

B

B C

•
•

c.

•

•

•

•
•
•

•
•

•
•
•
•
•

•
•
•

•
•
•
•
•
•
•

•

•

•
•
•
•
•
•
•

•
•

•
•
•
•
•
•
•

•
•
•
•
•
•
•
•

•
•
•

•
•

•

•

•

•

•

•

•

•

•
•
•

•
•
•

•
•
•
•
•

•
•
•
•

•
•
•
•
•
•
•

o
/1

dENSITY PLOT

096.
048.032.
024.
019.
016.
013.
012.
UICJ.
009.
008.
008.
007.
006.
006.
006.
005.
005.
005.
004.
004.
004.
004.
004.

•
•
•

•
•
•
•
•
•
•
•
•

•
•

•
•

•

•

•
•
•
•

•

•

~03.

•

'ltlJ0 3.
003.
003.
003.
003.
003.
003.
002.

•
•

..•
•

•
•
•

002.
002.
002.
002.
002.
002.
002.
002.
002.
002.
002.
002.
002.
002.
002.

.'

•
•

•

•
•
•

..
•

•
•

•

•

•

•
•
Figure

5.

"White Noise"

CB

•
•
•
•
•

AC

c

•

C B
SA

c

BA

•

C

•

R C

•
•
•
•
•
•
•

•
•
•
•
•
•
•

•
•
•
•

·

B C

•
(

B

• C B

BAC
BAC
(A
.C B A
C.
B A

•
•
•

•
•
•
•

•
•

•

..

It

•
•
•
•
•

•
•
•

B(
(8

•

.C

•
•
•

AC
CB
AC
AB C •
AB C •
BC
•
•
CB
C BA
•
C BA
•
BC
•
BAC
•
BC
•
CB
•
CB
•
CA
•
CA
•
(BA
•
C BA
•
(
•

•

·

•

B C.
B C •

•

8A

(B

A BC
AB (
AB (
(AB

CB

C8
CA

BC

•
•
•
•

•
•

•
•

•
•
•
•
•

•
•

•
•

(Normally Distributed Random Numbers)'

•

•
•

•
•
•
•
•

•

•

•

•

•
•

•

•

•

•
•

•

•

•

•
•
•

•
•

•
•
•
•

•
•

•
•
•
•
•
•

•
•

•
•

•

•
•
•

•
•
•

•
•

•
•

•
•

•
•

•

•
•
•
•
•
•
•
•
•

•

•
•

•
•
•

•
•
•

•

•
•
•

•
•
•
•

•

•

•

•
•
•
•
•

•
•
•
/1

11
I
I

o

DENSITY PLOT
096.
•
048.
•
032.
•
024.
•
019.
•
016.
•
013.
•
(S
.( B
012.
010 •.
(B
(.8
009.
(
008.
• 8
(
A
008.
• B
(
S.A
007.
( SA
006.
•
( A
006.
•
(A
006.
•
(A
005.
•
(A
005.
•
005. C BA
•
004. C 8 A
•
004. ( B
A
•
A
004. C
•
A
004.(
•
004.(
A
•
003.(
A
•
003.(
A
•
003.( A
•
003.(A
•
003.(
•
003.(
•
003.C
•
003.(
•
002.(
•
002 •. (
•
00_2. (

_002 ~ ~
002.(
002.(

-002:(
002.(
_~92.(

002.(
002.(
002.(

-cfoZ-;(
002.C
002.(

ooz.(

•

•
•
•
•
•
•

•

•
•

•
•
•

•
•

(
(

.

(

•

• B
•
• A

B

•

9.

(

•
•
•
A

•
•
•
•
•

•
•
•
•

..

•
•
•

•
•

•
•

•
•
•
•
•

•
•

•
•

•
•

•
•
•
•

•
•
•
•

•
•

A

A
A
A

A
(A
B

•
•
•

•
•
•
•
•
•

•
•
•
•

•

•

•
•
•

•
•
•
•

•
•
•

•
•
•
•
•
•
•
•
•
•
•
•

•
•

•
•
•
•

A
A

a

B. (

•

•

•
•

•
•
•

•

•
•
•
•
•

•

•
•
•
•
•
•

•

•

•
•
•
•

•

•
•
•
•

•

•

•
•

•
•
•

•

•
•
•
•
•
•
•
•
•
•

•
•
•

•
•
•
•
•
•

•

•
•
•

•
•

•
•
•
•

•

o
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

•
•
•
•
•

•
•

•

o

"!ltr

~UTOCC~P~LATION-POWE~
T~ST

0

DATA FOR

OOL..

DT

·JC~.

1)T

006.

D T

1')07.
~09.

T

D

TS
010.
D T
'')11.
T
012. D
T
013. C'
01L!..
r:'ol 5 •

016.
017.
018.

019.
020.
021 •
022.
023.
024.

•
•

•
•
•

•

R

•

•

•

R

•

•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

R
R

•
R

•
•

R.
R

•
•
•
•

•
•
•

R

•

::T
DT
TD
T D
T

T

D

D

T

T

T
T
T

D

•
•
•
•

•
•
•
•
•
•
•
T.
T.

D

•

R

•

•

•
•

D T
DT

R

•
•

•
•
•
•

R
R
R

R

R

•

•

•

•
•
•
•
•

•
•
•
•
•
•

.R

T

033.
03 4 •
03:::.
036.
037.
033.

D

(J:3 9.

D

p

.T
.T

•

t<

T

•
•
•

.::

OLe.

e L. 1 •

D.

R

•
R

R

T

04L!..
CL. ~ •

C'47.

R

T

.D

TR
PT

.G

R

QL!.9.

R

T

050.
051 •
052.

D

T

•
•

053.
,
05L!..

•

055.
056.

•
•
•
Figure 1.

•

T

Q

D
D

R

•

T
R

-r
I

Sample Series Data

•

•
•
•
•
•
•
•
•
•

•
•
•
•

•
•

•
•
•

•
•

•
•
•
•
•
•

•
•
•
•
•
•

•
•
•

•
•
•

•
•
•
•
•
•
•
•
•
•

•
•
•
•
•
•

•

•

R

•
•
•

•

•
•
•
•

•

•

•

•

•

•
•
•

•
•

•
•

•

•

•

•

•

•

•

•
•

•
•
•

•

•
•

•
•
•
•

•
•
•

•

•
•

.R

•

•

•

•

•

•

•

•

D T
D

•
•

•

R

TR

•
•

•

'R

•
•
•
•

P
T

D

•

•
•
•
•
•

T

•

•

•

.C'

•

•
•

•

DT
DT
DT

•
•

•
•
•
•

R

T
T

•

043.

R

•

•
•

R

T

•
•

•

•

032.

•

.q

031 •

'!'I'

•
•
•
•

R

•

•

027.

•

•
•

R

•
•
•
•

•

02~.

029.
030.

•

•
T

D

12/1S/6A

•

•

02:::.

002S.

PROGRA~

•

T

C'

ANALYSIS

•
•
•
•

aoe.

df' ..• '

SP~CTRUM

SP~CTRAL

002. T
003.

r

~

,I

I'
Ii'

.R

058.
059.
060.
061.
062.
063.
064.
065.
066.
067.
068.
069.
070.
071.
072.
073.
074.
075.
076.
077.
07S.
079.
080.

•

R

R

•

D

•

•
•

T
T

D

•
•

D

•

D

RT
T
DT

D
R

•

•
•
•
•

•

R D

R

•

D

•
•

R

.R

R

OS8.
089.
090.
091.
092.
093.
096..
0 0 5.

R.O
.D
.R

,. D

R

R

R

R

R
R

D

T

D

•

•

R

R

R

•
•
•
•

•
•

D

•
•
•

R

•

•
•
•
•

T

D

•
•
T •
T •

D

•
•
•

c

o

.DT
R.

R

D

D

D

•

R

•
•
.R

•

o

.RT

•
R

.T
.T
.T

R.

R

•
•
•

Sample Series Data (continued)

•
•
•

•

D
T D
D T
T

T

T
T

T D
•
D
T
•
D
T
•
o T
•

•

•
•

•
•
•

•
•
•
•
•

•
•
•
•

•
•
•

•
•

•
•
•
•

R

•

•

T
T
D

•

•
•
•
•

•

D

•

•

•

T.
D

R.

•

•
•

D

•
•

•

T.

D

•
•

•

•
•

D T

•
•

•
•
•
•
•
•
•
•

•
•

T

•
•
•

•
•

•

•
•

•
•
•

'Figure 7.

•

•

T
T

D

D T

•
•
•

1 15.
116.

D

R

•
•
•
•
•

.R

.,

111 •
112.
113.
114.

•
•

D
D

•

•

p

D

•
O.
O.

•
•

R

T
TDR
T
T
T
T

•

•

109.
110.

T

•

•

les.

.'•

T

R

106.
107.

o

•

•

•

•
T
T

:0

•
•
•
•
•

•
•

•

•

100.
1 01 •
1 02.
1 03.
1 OLJ...
1 C5.

T
T

•

•
•
R

T
T

•

'.

097.
098.

•

•

I

•

•
•
•
•

T

•

•
•

0
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:05 15:15:30-08:00
Modify Date                     : 2014:03:05 15:25:23-08:00
Metadata Date                   : 2014:03:05 15:25:23-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:7ac1ab40-7424-0448-bf5b-27986d2a56ea
Instance ID                     : uuid:9b48cf59-b310-1847-b0e8-f966185dd38f
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 599
EXIF Metadata provided by EXIF.tools

Navigation menu