Skip to main content

Full text of "univac :: univac2 :: U-1568 MATH-MATIC PgmgSys 1958"

See other formats


^ X 



a* 



# & 



£ » «i 



£ & 



Q & 



* & 



^ 3 



S^.-N 






{v e /# v r 

■ T 

"A o r v -i. \ 



/ U 



d . 



r z * 



t lf4lVAC'malh-maiic programm|ng «■ 



* *k? 



c# 



I95B- SPERRY RAND CORPORATION 



ANOTHER SERVICE OF . . . 

MANAGEMENT SERVICES AND OPERATIONS RESEARCH DEPARTMENT 



DIVISION OF SPERRY RAND CORPORATION 



FOREWORD 
INTRODUCTION 
Chapter I 
Chapter II 
Chapter III 



Chapter IV 



Chapter V 



Chapter VI 



Appendix 



The Univac II Data Automation System i 

1 

What is MATH-MATIC Pseudo-code 2 

How to Write MATH-MATIC Pseudo-code 8 

MATH-MATIC Repertoire 13 

Functional Call Words „ 14 

Control Sentences 15 

Input-Output Sentences 20 

Data Preparation and Formats 27 

Data Preparation 27 

Arrangement of Elements Within an Array. 28 

Use of the Data Conversion Routine 29 

Formats 31 

Computer and Compiler Sections 35 

Purpose 35 

Computer and Compiler Sentences 35 

The Directory 36 

Compiler Section 37 

Computer Section 38 

Operating Instructions and Service Routines 41 

Operating Instructions 41 

Edited Record 42 

Service Routines 44 

46 

Definitions 46 

Repertoire of ARITH-MATIC Operations 47 

Repertoire of MATH-MATIC Sentences 51 

Modified Unityper Keyboard 53 

MATH-MATIC Printouts 55 



THE TTISJTVAC 1 1 DATA AUTOMATION SYSTEM 



he Univac II Data Automation 
System is a complete and well 
balanced data processing sys- 
tem. It will accept and prepare in- 
formation through a wide variety of 
standard data- recording media. The 
user gains versatility most economi- 
cally since the Central Computer, 
that unit which performs the actual 
processing, can read and write infor- 
mation directly through the magnetic 
tape which is one of the most rapid 
input-output media in use today. Pe- 
ripheral equipments convert all re- 
corded data into the form acceptable 
to the Central Computer, or from the 
form prepared by the Central Com- 
puter (Univac II System code on mag- 
netic tape) to the desired form. In 
this way, the system has a dual ad- 
vantage. First, the Central Compu- 
ter need not be hampered in its pro- 
cessingtask by the necessity of work- 
ing directly with input-output media 
unworthy of its lightning-fast internal 
operating speeds. Secondly, the Cen- 
tral Computer need not be involved 
in conversionprocess which can most 
economically be handled by peripheral 
equipments on an off-line basis. 

From a wide variety of available 
equipments each Univac II System 
user chooses the units which, when 
molded into a system, best meet his 



overall data p r o c e s s ing require- 
ments. 



AVAILABLE EQUIPMENTS AND 
THEIR FUNCTIONS 

The Univac II Central Computer 



,^d^^^^€S0^MS^±2^MS-. 



1 




FIGURE 1 

The Univac II Central Computer in 
Figure 1 is the heart of the Univac II 
Data Automation System. It per- 
forms all arithmetic and logical oper- 
ations. 

In the execution of a typical data pro- 
cessing task the Central Computer 
performs the following basic opera- 
tions: 

1. Step-by- step instructions, stat- 
ing specifically the operations to 
be performed on the data, are 



read by the Central Computer 
from magnetic tape and stored 
inte rnally within the Central 
Computer. Obeying the stored 
instructions, the Central Com- 
puter then automatically .... 

2. Reads the data from magnetic 
tape and stores it internally. 

3. Performs all operations upon the 
data indicated by t h e instruc- 
tions, and stores the results in- 
ternally. 

4. Reads the results from storage 
and writes them on magnetic 
tape. 

All operations are self-checked to en- 
sure that they are performed with the 
unwavering accuracy and dependabi- 
lity that has become associated with 
the name UNIVAC. 

The Univac II Control Group 



The Univac Supervisory Control Con- 
sole (Figure 2) provides the operator 
with a continuous picture of the oper- 
ations taking place within the Central 
Computer. It also provides visual 
indication whenever an error occurs 
in any operation, identifying the faulty 
circuit for the maintenance techni- 
cian. 

Although the Central Computer is de- 
signed to operate automatically, there 
are occasions when manual interven- 
tion may be desirable. The Univac 
Supervisory Control Console includes 
a keyboard by means of which the op- 
erator can type information directly 
into the Central Computer. A group 
of switches and buttons on the Con- 
sole allows the interruption of auto- 
matic operations and the institution of 
changes in their course or the sub- 
stitution or insertion of other oper- 
ations. 

Univac Supervisory Control Printer 



Two control units are directly con- 
nected to the Central Computer, and 
each in its own way, provides some 
indication of the actions of the Central 
Computer. 



Univac Supervisory Control Console 





FIGURE 2 



FIGURE 3 

The Univac Supervisory Control Prin- 
ter (Figure 3) is a modified electric 
typewriter which prints information 
directly from the Central Computer. 
Its primary function is to provide the 
operator, in easily readable form, in- 
formation concerning the processing 
being performed within the Central 
Computer. This unit is sometimes 
employed for printing processing re- 



li 



suits; however, it is used for this pur- 
pose only when the information to be 
printed is not lengthy. 

Univac Input Devices 

The function of Univac II input devices 
is to convert information from its ori- 
ginal form into Univac II System code 
recorded on magnetic tape. These 
devices are completely independent 
of the Central Computer, so that 
while the input devices prepare data 
for future use by the computer, the 
computer.itself.is free to carry on the 
current processing problems. This 
ability to ove rlap input preparation and 
computer processing represents a 
large saving of time and thus money, 
for the user. 

Univac Unityper II 




FIGURE 4 

The Univac Unityper II (Figure 4) is a 
device by means of which information 
legible to its human operator can be 
recorded on magnetic tape. This de- 
vice is somewhat larger than, though 
similar in appearance to, an electric 
typewriter. The 26 letters of the al- 



phabet, 10 numerals, and some spe- 
cial Univac II System Symbols are 
represented on the keyboard of this 
device in an array similar to the fa- 
miliar typewriter keyboard pattern. 
Striking a Unityper II key causes: 

1. A pattern of magnetic spots re- 
presenting the Univac II System 
Code for the character repre- 
sented on the key to be recorded 
on a magnetic tape mounted in 
the upper portion of the device, 
and 

2. That character to be printed on a 
piece of copy paper mounted on 
the carriage. 

Thus, recording information on mag- 
netic tape with the Unityper II involves 
little more than a retyping of the in- 
formation. Information is tape-re- 
corded by the Unityper II at a density 
of 50 characters per inch with a 2.4 
inch spacing between each consecutive 
120 characters. 



Univac Verifier 




FIGURE 5 

The Univac Verifier (Figure 5) is a 
unit of peripheral equipment which 
can operate in any one of two capa- 
citities: 



in 



1. As a primary input device which 
records information on magnetic 
tape by means of a typewriter 
keyboard in very much the same 
manner as the Unityper II. 

2. As a proof reading device which 
corroborates information recor- 
ded on tape and permits the cor- 
rection of detected errors. 

Its primary use is as a proof reading 
and correcting device. Information is 
recorded by the Verifier at a record- 
ing density of 50 characters per inch 
with a 2. 4 inch spacing between each 
120 characters. 

Univac Punc h e d Card-to-Magnetic 
Tape Converter 




FIGURE 6 



The Univac Punched Card-to-Magnetic 
Tape Converter (Figure 6) consisting 
of a card Reading Unit, a Control Unit 
and a Tape Unit, allows the entry of 
information into the Univac System 
in punched card form. Cards are 
loaded into the intake bin of the Card 
Reading Unit, and the information 
read from the cards is recorded on 
magnetic tape. The entire process is 
accomplished automatically and its 
operation is completely self-checked 
to ensure complete accuracy of the re- 
corded information. The Converter 
is equipped with a removable plug- 



board which allows automatic rear- 
ranging of information during the con- 
version process. 

Univac Punched Card-to-Magnetic 
Tape Converters are offered in two 
models. One handles standard 90- 
column punched cards; the other 
handles standard 80-column punched 
cards. Both models operate at a max- 
imum conversion rate of 240 cards 
per minute and record information 
at a density of 128 characters per inch 
with a 1. 8 inch space between each 
120 characters, and a 2. 4 inch space 
between each 720 characters. 



Univac Paper Tape-to-Magnetic Tape 
Converter 




FIGURE 7 

The Univac Paper Tape-to-Magnetic 
Tape Converter (Figure 7) is a de- 
vice consisting of a Perforated Tape 
Reader, a Translator and Control 
Unit, and a Magnetic Tape Recorder. 
This equipment allows information 
recorded on paper tape to be entered 
directly into the Univac II System. 
Reels or message lengths of punched 
paper tape generated by teletypewri- 
ters, automatic typewriters, adding 
or bookkeeping machines with tape 
punchers attached, and punched card 
to perforated tape converters may be 
mounted on the Tape Reader. Infor- 



IV 



mation contained on tapes is au- 
tomatically translated into Univac II 
System Code and recorded on mag- 
netic tape . Deletion of certain 
punched paper tape symbols, and ad- 
dition of some Univac II System Sym- 
bols may be accomplished automati- 
cally during the conversion process. 
The entire operation is completely 
self-checked to ensure complete ac- 
curacy of the conversionprocess. The 
Univac Paper Tape -to -Magnetic Tape 
Converter operates at a maximum 
conversion rate of ZOO characters per 
second and records information at a 
density of 128 characters per inch, 
placing a one inch space between each 
1Z0 characters, and a 2. 4 inch space 
between each 720 characters. 

Univac Input-Output Devices 
Univac Uniservo 



\ O 




FIGURE 8 

The Univac Uniservo (Figure 8) is the 
device through which the Central Com- 
puter communicates with its magnetic 
tapes. A maximum of 16 Uniservo s 
may be directly connected to the Uni- 
vac II Central Computer. Each Uni- 



servo contains a "read-write" head 
and mechanism for moving the mag- 
netic tape past the head at a speed of 
100 inches per second. Each Uniser- 
vo is capable of reading tape moving 
in the forward direction, reading tape 
moving in the backward direction, 
writing on tape moving in the forward 
direction, and rewinding its tape. 
Reading from any one Uniservo, writ- 
ing on any other Uniservo, rewinding 
the tape on any number of the remain- 
ing Uniservos may be carried on si- 
multaneously with Central Computer 
processing. Uniservo operations are 
controlled by the Central Computer 
through programmed instructions. 

Univac Output Devices 

Univac II output device s allow the sys- 
tem to prepare processed results in 
a wide variety of forms. They auto- 
matically convert information con- 
tained on tapes produced by Central 
Computer processing into the desired 
form. All of these output devices op- 
erate with complete independence of 
the Central Computer. Thus, the 
computer is free to handle furthe r 
processing while the results of the 
previous problem are being conver- 
ted. This ability to overlap conver- 
sion and processing operations repre- 
sents a great saving in time and mon- 
ey for the user. 

Univac Uniprinter 




FIGURE 9 



The Univac Uniprinter (Figure 9) con- 
sists of a Tape Reader and a Printing 
Unit which is a modified electric type- 
writer. A reel of magnetic tape, con- 
taining the information to be printed, 
is mounted on the Tape Reader. As 
information is read from the tape, it 
is printed by the electric typewriter. 
The Univac Uniprinter, which accepts 
tapes recorded at 25 characters per 
inch, prints at a rate of 10 characters 
per second, and is usually used for 
low volume output printing, such as 
the preparation of management re- 
ports. 

Univac High-Speed Printer 




FIGURE 10 

The Univac High- Speed Printer (Fig- 
ure 10) is used for Targe volume print- 
ing. This four unit assembly, con- 
sisting of a Tape Reader, a Storage 
Unit, a control Unit, and a Printer, 
reads magnetic tape and converts the 
information recorded thereon into 
printed copy. The High-Speed Prin- 
ter prints an entire line at a time. 
Each line may contain as many as 130 
characters, and printing is accom- 
plished at a maximum rate of 600 line s 
per minute. A removable plugboard 
mounted in the control Unit controls 
the format of the printed page and 
affords wide flexibility in the arrange- 
ment of the printed information, re- 
ducing the editing and thus the proces- 



sing time required of the Central Com- 
puter. The entire operation of this 
device is completely self-checked to 
ensure that each character printed is 
the exact one recorded on the magne- 
tic tape. It accepts information tape- 
recorded at a density of from 50 to 128 
characters per inch with at least one 
inch space between each 120 charac- 
ters. 

Univac Magnetic Tape-to-Card Con- 
verter 



■P 
mm 



&....: 



I II 




FIGURE 11 



The jUnivac Magnetic Tape-to-Card 
Converter (Figure 11) consists of 
three units: a Tape Unit, aCardPunch 
Unit and an Electronic Cabinet con- 
taining the circuitry necessary to con- 
trol and check the Tape and Card 
Punch Units. This piece of equipment 
reads information from magnetic tape 
and converts the information into 
standard punched cards at a rate of 
120 cards per minute. A removable 
plugboard permits the selection and 
rearrangement of information during 
the conversion process. The Univac 
Magnetic Tape-to-Card Converter ac- 
cepts information tape-recorded at a 
density of 128 characters per inch with 
at least one tenth inch space between 
each 120 characters and 2. 4 inch space 
between each 720 characters. Its en- 
tire operation is c o mp 1 e t e ly self- 
checked to ensure proper conversion. 



VI 



Univac Magnetic Tape-to-Paper Tape 
Converter 




FIGURE 12 

The Univac Magnetic Tape-to-Paper 
Tape Converter (Figure 12) consists 



of a Magnetic Tape Unit, a Translator 
and Control Unit, and a Paper Tape 
Punch. It punches information re- 
corded on magnetic tape into paper 
tape. The punched paper tapes may 
then be used directly to send infor- 
mation via a teletypewriter. 

As with all Univac II equipment the 
operation of the Magnetic Tape-to- 
Paper Tape Converter is completely 
self-checked to ensure accurate con- 
version. This conversion is accom- 
plished at a maximum rate of 60 char- 
acters per second. It accepts infor- 
mation recorded at a density of 128 
characters per inch with at least a 1 
inch space between each 120 charac- 
ters. 



vn 



The MATH-MATIC system v/as 
developed in response to the 
need for an algebraic language 
compiler for Univac. Today vast and 
complex mathematical problems may 
be solved in hours or minutes by the 
computer, once the many lines of com- 
puter code are prepared. The length 
of time consumed in learning to write 
a specialized computer code and then 
in producing and debugging a fin- 
ished program was a major obstacle 
to efficiency. MATH-MATIC is de- 
signed to overcome this obstacle and 
make UNIVAC easily available to pro- 
grammer and non-programmer alike 
for a wide range of mathematical ap- 
plications. The system accepts as its 
input an orderly presentation of the 
problem in apseudo-code which close- 
ly resembles English sentences and 
mathematical equations. Anyone who 
can state his problem logically can 
write a MATH-MATIC program for it. 
The system relieves the user of the 
burdensome details of storage allo- 
cation, keeping track of addresses, 
and arranging for segments of code 
on the running tape. The system has 
access to an extensive library of com- 
puter- coded subroutines for quickly 
calculating mathematical functions, 
and performing the necessary input- 
out put and control operations. The 
system assembles these subroutines 
into a running program which will pro- 
duce the desired results without fur- 
ther human intervention. 

This manual is a complete practical 



guide for the user of the system. For 
details on the internal operation of the 
system and pertinent information on 
how to add to the subroutine library, 
see the M A T H -MATIC PROGRAM- 
MER'S MANUAL. (Tobe issued 
later). In the first chapter of the pre- 
sent manual, we have tried to impart 
over-all familiarity with the use of the 
system and its pseudocode. Chapter 
II follows with the specific formats and 
rules for the sentences and Chapter III 
contains the complete repertoire 
of MATH-MATIC expressions, and 
their formats and rules. This re- 
pertoire is extensive, and may be ex- 
panded very easily. Chapter IV pro- 
vides all the information needed in the 
preparation of input data. Chapter V 
gives procedures to follow if a special 
problem goes beyond the present re- 
pertoire; in most cases, this chap- 
ter may be omitted. Chapter VI 
contains the operating instructions for 
a MATH-MATIC compilation and pro- 
blem run, and other general informa- 
tion about the system. Normal and 
error printouts which occur during 
compilations and problem runs are 
found in the Appendix. 

We feel that this approach will lead 
to quick and efficient utilization of the 
system by people with mathematical 
training who have had little or no pro- 
gramming experience. Those with 
more training in the programming 
field will find the flexibility and scope 
of the pseudo-code adequate to handle 
the most intricate problem. 



WHAT IS MATH-MATIC PSEUDO CODE 



MATH-MATIC pseudo-code is 
a set of words, numbers, and 
symbols arranged to give a com- 
plete, logical statement of a problem. 
The primary unit of pseudo-code is 
the sentence. There are three types 
of sentences; input-output, control, 
and equation. Input- output sentences 
cause data to be read into the memory 
from tape, or information in the mem- 
ory to be written on tape. Control 
sentences determine the various paths 
taken through the program during run- 
ning. Ordinarily, the sentences, 
which are numbered in ascending or- 
der, are executed in that order. Con- 
trol sentences can alter this chain of 
executionin any way theuser desires. 



being given. The remaining words in 
the input-output or control sentence 
give further details about this com- 
mand, and supply the names of rele- 
vant parameters and variables. Some 
examples of input-output and control 
sentences follow; 

(1) READ A B C . 

(20) IF X > Y JUMP TO SENTENCE 
8 . 

(12) EXECUTE SENTENCE 4 
THRU 8 . 

(6) VARY J 1 (1) 20 SENTENCE 
11 THRU 15 . 



Equation sentences are stated as ex- 
plicit algebraic equations subject to 
certain conventions listed in Chapter 
II. The left member of the equation 
must be the dependent variable, fol- 
lowed by an equal sign. On the right 
side of the equation appear the va- 
rious mathematical functions of the 
independent variables that are needed 
to calculate the value of the dependent 
variable. Some examples of equation 
sentences follow; 

(10) X = (15*Y+3*Z)/SIN A . 
(6) X(I) = A(I)+B(J, I) . 

(11) VARIANCE = SUM SQUARES/ 
10-MEAN 2 . 

Input-output and control sentences take 
the form of English imperative state- 
ments. The first word of the input- 
output or control sentence tells the 
system the general type of command 



Certain conventions and rules regard- 
ing the insertion of spaces, paren- 
theses, and periods into input-output 
and control sentences are necessary 
for the system to interpret the pseudo- 
code correctly. These rules are listed 
in detail in Chapter II. The user should 
note the flexibility in naming a vari- 
able; any single letter or combination 
of letters and numbers (starting with 
a letter) up to 12 digits can be handled. 
Constants may be stated as integers, 
fractions, decimals, or in power of 
ten form. One, two or three dimen- 
sional arrays of numbers can be read 
in from tape or constructed in mem- 
ory. The elements of the array are 
referred to by the familiar notation 
of subscripts; these, in turn, may be 

variables or constants. Four exam- 
ples follow in which typical problems 
are described and the Math-Matic 
pseudo-code statements of the prob- 
lems are given. 



Sample Problem 1; 

Solve: 

-3 



Y X^(2+X) _ «vrp- 
X ~3 Cos A V ^ 



for P running from 0.2 to 0. 8 in 
increments of 0.2, A running from 
0. 35 to 1. 05 in increments of . 175 
and X running from 1.8 to 3. 8 in 
increments of 0. 5 

A MATH -MAT I C pseudo-cude 
statement of this problem is as fol- 
lows; 



(1) V ARY P 0.2 (0.2) 
SENTENCES 2 THRU 5 . 



0. 8 



(2) VARY A 0.35 (0.175) 1.05 
SENTENCES 3 THRU 5 . 



(3) V A RY X 1.8 (0.5) 
SENTENCES 4 THRU 5 . 



3. 8 



(4) Y = X 3 *(2+X)/(3*COS A)-4 
ROOT (3*P) . 

(5) WRITE AND EDIT Y X A P . 

(6) STOP . 

Sentence 1 will set P to its initial va- 
lue, 0.2, and will insert following sen- 
tence 5 a control operation which will 
add the increment, 0.2, to P and re- 
turn control to sentence 2. When P 
exceeds its limit value of 0. 8, control 
will jump to the next operation fol- 
lowing this control, in this case sen- 
tence 6. Sentences 2 and 3 will per- 
form similar functions for A and X. 
The range components in these three 
sentences indicate that sentence 3 lies 
within the range of sentence 2, and 
sentence 2 lies within the range of sen- 
tence 1. This nesting of loops means 
that X, the variable of the innermost 
loop, will take on all of its values, 



for each value of A and P. When the 
value of X exceeds its limit value, A 
will be incremented and X will be re- 
set to its initial value. P will be in- 
cremented and A and X will be reset, 
each time A exceeds its limit. In this 
way 100 values of Y will be computed 
and written. Sentence 6 will supply 
the necessary sentinels for the output 
and stop the program. 

Sample Problem 2: 

We have m samples of 10 values each 
of a statistical variate. A sentinel of 
Z 's follows the last sample on the tape. 
We wish to calculate the mean and va- 
riance of each sample and edit the out- 
put for a unipr inter. 
10 

i=i 



MEAN 



10 



VARIANCE 



10 



(MEAN) 



We will let the system allocate the 
input and output servos. The Math- 
Matic pseudo-code for this problem 
would be: 

(1) READ-ITEM X(10) IF SENTINEL 
JUMP TO SENTENCE 11 . 

(2) SUM = . 

(3) SUMSQUARES = . 

(4) VARY I 1 (1) 10 SENTENCE 5 
THRU 6 . 

(5) SUM = SUM+X(I) . 

(6) SUMSQUARES =SUMSQUARES + 
X(I) 2 . 

(7) MEAN = SUM/10 . 



(8) VARIANCE = S UMSQUARES /10- 
MEAN 2 



(9) WRITE AND EDIT FOR UNIPRIN- 
TER MEAN VARIANCE . 

(10) JUMP TO SENTENCE 1 . 

(11) STOP . 

Sentences 1 and 9 are input-output 
statements; sentences 4, 10, and 11 
are control statements. The rest are 
all equations. The 10-quantity array 
read in by sentence 1 will occupy 20 
words of storage, since all numbers 
inside the Math-Matic system are in 
2 word floating decimal form. There- 
fore, every time sentence 1 is execu- 
ted, the next 20 word item is moved 
to the current item position. These 
items are automatically read from the 
input tape in 60 word blocks, when- 
ever necessary. The user should con- 
sider the input items available one at 
a time as the READ sentence is execu- 
ted. 

The VARY in sentence 4 gives I an 
initial value of 1 and i n s e r t s after 
sentence 6 a routine which will incre- 
ment I by 1 and return control to sen- 
tence 5, until I exceeds the limit, 10; 
then control passes to sentence 7. 
That is, sentences 5 and 6 are execu- 
ted 10 times, with 1=1, 2, . . . , 10. 
The system automatically places a 
sentinel on the output tape following 
the last valid output item, checks the 
readability of the o ut pu t tape, and 
prints out the number of blocks of out- 
put on the tape. The superscript sym- 
bol 2 which appears in sentences 6 and 
8 can beunityped. The method of uni- 
typing them is discussed later in the 
chapter. 

Sample Problem 3: 

A is a 50X12 matrix, and B is a 12X20 
matrix. We want to calculate matrix 



D = AxB. We wish to produce two sets 
of output, one edited for printing and 
the other unedited for future calcula- 
tions. We also wish to print out the 
element of D with the largest absolute 
value. We prepare the 240 elements 
of B on a tape arranged continuously, 
one row after another. The individu- 
al rows of A follow on the same tape 
and a sentinel of Z's is placed in the 
first word after the last valid item. 
We have arbitrarily chosen Servo 3 
for the input tape, and we will allow the 
system to select the output servos for 
us. The following is a Math-matic 
pseudo-code for this problem; 

(1) READ- ARRAY B(12,20) SERVO 
3 . 

(2) LARGEST = . 

(3) READ-ITEM A(12) SERVO 3 IF 
SENTINEL JUMP TO SENTENCE 
15. 

(4) VARY I 1 (1) 20 SENTENCE 5 
THRU 9. 

(5) D(I) = . 

(6) VARY J 1 (1) 12 SENTENCE 7 . 

(7) D(I) = D(I)+A(J)*B(J, I) . 

(8) IF JD(I)| > LARGEST, JUMP TO 
SENTENCE 13. 

(9) IGNORE . 

(10) WRITE-ARRAY D(20) . 

(11) WRITE-ARRAY CO NVE RTED 
D(20) 

(12) JUMP TO SENTENCE 3 . 

(13) LARGEST = D(I) . 

(14) JUMP TO SENTENCE 9 . 



(15) PRINT-OUT LARGEST . 

(16) STOP . 

Sentences 1, 3, 10, and 11 are input- 
output sentences; 2, 5, 7, and 13 are 
equations, and the rest are control 
sentences. Sentence 1 reads in the 
entire B matrix; sentence 3 reads in 
one row at a time of the A matrix. 
When the sentinel item of A is reached 
the computer shifts to finishing up op- 
erations. Sentence 2 gives an initial 
value to the current largest element. 
Sentences 8, 13, and 14 keep "LAR- 
GEST" up-to-date by substituting for 
it any element whose absolute value 
is greater. Sentence 5 gives each 
"D" element a starting value of zero 
before the summation in sentence 7 
calculates the true value. Sentence 4 
gives I an initial value of 1, and places 
after sentence 9 a routine which will 
increment I by 1 and return to sen- 
tence 5 until I exceeds the limit, 20; 
then this routine lets control pass to 
the next sentence. That is, sentences 
5 to 8 are repeated for 1=1,2, ... 20. 
Similarly, sentence 7 is repeated for 
J=l, before controlmoves on to sen- 
tence 8. Sentence 15 prints out, in 
floating decimal form, the largest 
element of D and sentence 16 tells the 
system the problem is finished. The 
system then automatically checks the 
readability of the information on the 
output tapes and prints out the num- 
ber of b 1 o c k s on each. The word 
"CONVERTED" in sentence 10 means 
edited with a properly placed decimal 
point. The system assumes WRITE' s 
(WRITE-ITEM's W RI T E -ARRAY' s) 
are for high speed printer unless 
otherwise specified. 
Sample Problem 4: 

We have 2 input tapes; one contains 
n sets of values of A, B and C with a 
sentinel of Z's after the last set. Be- 
ginning with the block after the senti- 



nel, this same tape contains m sets 
of values of F, G, H and N. Again 
a sentinel follows the last set. The 
other input tape contains p sets of va- 
lues of D and E; p = max(m, n). We 
wish to evaluate Xj where, 



X, 



(700Q*Y*A*Sinq) 3 



B D + C E 



where the value of a is typed in during 
the problem run. Y assumes all the 
values 1.0, 1.1, 1.2, ... 3. for each 
set of values of A, B, C, D, and E, 
and the first set of values of D andE 
goes with the first set of A, B, and C, 



We also wish to evaluate X^ where, 



X- 



^ / E-G+log 10 (D+N) 



p2. 6* e H 



where the first set of values of D and 
E now goes with the first set of va- 
lues of F, G, H, and N. Edited output 
is desired, consisting of A, Y, D, E 
and X^ in the first case, and F, D, E, 
and X-, in the second. Only one output 
tape is to be used. 

The following is a M ath-M at ic pseudo- 
code for this problem; 

(1) TYPE -IN ALPHA . 

(2) READ A, B, C SERVO 4 STORAGE 
A IF SENTINEL JUMP TO SEN- 
TENCE 8 . 

(3) READ D E SERVO 5 . 

(4) VARY Y 1 (0. 1) 3 SENTENCE 5 
THRU 6 . 

(5) XI = (7*10 3 *Y*A*SIN ALPHA) 3 / 
(B POW D+C POW E) . 

(6) WRITE AND EDIT A, Y, D, E XI 
SERVO 6 . 

(7) JUMP TO SENTENCE 2 . 



(8) CLOSE-INPUT AND REWIND 
SENTENCE 3 . 

(9) CLOSE-OUTPUT SENTENCE 6 . 

(10) READ F G H N SERVO 4 
STORAGE A IF SENTINEL 
JUMP TO SENTENCE15. 

(11) EXECUTE SENTENCE 3 . 



(12) X2 = (3 ROOT (E-G)+LOG (D+N) / 
( F 2. 6* EXp H) # 



(13) WRITE EDIT FDE X2 SERVO 6 



(14) JUMP TO SENTENCE 10 . 



(15) STOP . 



Sentences 1, 4, 7, 14 and 15 are control 
statements. Sentences 5 and 12 are 
equations; the rest are input-output 
statements. Sentence 8 will rewind 
servo 5 and reset Sentence 3 so that 
the next time it is executed the first 
D, E pairwill be brought into storage. 
Sentence 9 clears whatever output 
items remain in memory on to servo 
6 and places a sentinel on that tape, 
so that another output may be written 
on it. Sentence 11 causes sentence 3 
to be executed, after which control 
goes to sentence 12. It would have 
been permissible, and more efficient 
to repeat the READ instruction of sen- 
tence 3 at sentence 11. READ'S in 
this pseudo-code are ordinary 
READ'S, not READ-ITEM's or READ- 
ARRAY's because the variables are 
listed singly rather than being grouped 
in subscripted arrays. 



A number in power of ten form appears 
at the beginning of sentence 5 and a 
decimal exponent appears at the end 
of sentence 12. The unityping of these 
superscript exponents is discussed in 
the next section of this chapter. The 
specific rules for the expressions in 
control, input-output, and equation 
sentences appear in the next chapter. 

The letters, digits and symbols ap- 
pearing in the sentences of the sample 
problems are all on the ordinary uni- 
typer keyboard in the same form ex- 
cept for the superscripts and the 
greaterthan (>) and less than (<) sym- 
bols. These 15 symbols (including 
superscript minus, decimal point and 
slash) have equivalents on the ordinary 
keyboard whose pulse patterns will be 
correctly interpreted by the system. 
For example, superscript 2 is repre- 
sented by a "j." on the keyboard. A 
list of these equivalents appears in 
the appendix to this manual. How- 
ever, a modified keyboard may be ob- 
tained from Remington Rand Univac 
which will produce the intended super- 
script or other special symbol on the 
typed copy. The use of the list of 
equivalent for >, <, and numerical 
exponents brings every MATH-MATIC 
pseudo-code within range of the or- 
dinary Unityper keyboard. No special 
training is required to type pseudo- 
code or to check it. 



The experienced programmer will 
occasionally desire to write aprogram 
for a special problem which goes be- 
yond the present MATH-MATIC re- 
pertoire. There are two types of code 
other than MATH-MATIC pseudo-code 
which may be employed; the interme- 
diate code of MATH-MATIC, known 
as Arith-Matic pseudo-code, and the 
familiar Univac code, called C-10. 
A group of lines of Arith-Matic 
pseudo-code may be inserted into the 



body of a MATH-MATIC pseudo-code 
by means of a "COMPILER" sentence. 
A "COMPUTER" sentence causes a 
similar insertion of any number of 
lines of Univac C- 10 code. These are 
discussed thoroughly in Chapter V. 
Both COMPUTER and COMPILER 
sections may refer to any variable ap- 
pearing elsewhere in the problem or 



to any constant, by means of a direc- 
tory. Examples and rules of the two 
sections and the directory appear in 
Chapter V. Because of the flexibili- 
ty and scope of the MATH-MATIC 
pseudo-code, these special sections 
will rarely be needed, and the Chap- 
ter on them may be safely omitted by 
those not familiar with UNIVAC. 



II 



PICTVV TO "WRITE MATH-MATIC PSBUDO-CODB 



Certain formal rules must be fol- 
lowed in writing Math-Matic 
pseudo-code. These rules are 
the minimum consistent with the two 
objectives of the pseudo-code; avoid- 
ing logical ambiguity in the system and 
stating the problem intelligibly for the 
future reference of the user. Those 
rules and formats which apply to par- 
ticular sentences and functional call 
words are given in Chapter III along 
with a complete repertoire of the sen- 
tences and functional call words. 

All rules and formats must be strictly 
adhered to, or error printouts or mis- 
interpretations by MATH-MATIC will 
result. Some of the errors can be 
rectified by type -ins but the user 
should not depend on this. Thorough 
study of the rules, and a careful check 
of the pseudo-code are strongly rec- 
ommended for efficient use of compi- 
ling time. We repeat the last example 
of the previous chapter with some mi- 
nor changes in the numbering of the 
sentences. 



(6) WRITE AND EDIT A Y D E XI 
SERVO 6 . 

(7) JUMP TO SENTENCE 2A . 

(8) CLOSE -INPUT AND REWIND 
SENTENCE 3 . 

(9) CLOSE-OUTPUT SENTENCE 6 . 

(10) READ F G H N SERVO 4 
STORAGE A IF SENTINEL 
JUMP TO SENTENCE 20. 

(11) EXECUTE SENTENCE 3 . 

(12) X2 = (3 ROOT (E-G)+LOG(D+N))/ 
(F Z - 6 *EXP H) . 

(13) WRITE EDIT FDFXZ SERVO 6 . 
(16) JUMP TO SENTENCE 10 . 

(20) STOP . 

The following rules apply to all sen- 
tences: 



(2) TYPE -IN ALPHA . 

(2A) READ ABC SERVO 4 STOR- 
AGE A IF SENTINEL JUMP TO 
SENTENCE 8. 

(3) READ D F SERVO 5 . 

(4) VARY Y 1 (0. 1) 3 SENTENCE 5 
THRU 6 . 

(5) XI = (7*10 3 *Y*A*SIN ALPHA) 3 / 
(B POW D+C POW E) . 



1. Every sentence must start with a 
sentence number enclosed in pa- 
rentheses and followed by a space. 
The sentence number may be any 
integer from 1 to 99 9, with or 
without an appended alphabetic, 
e.g., (65) , (270) , (3A) , (91Q) , 
(810N). 

2. The sentence numbers must be in 
ascending order, but need not be 
consecutive. (Note the last two 
sentences of the example). Sen- 



tence 3 precedes sentence 3A, and 
sentence 3A precedes sentence 4. 



3. When writing MATH-MATIC 
pseudo-code, the user may ignore 
entirely the positions of the words 
and sentences within UNIVAC 
words and blockettes. Sentence, 
words and names of variables may 
begin in any part of a word or 
blockette, and may overlap the 
following word or blockette. 



4. Every sentence must end with a 
space, followed by a period, 
"A. ". Any number of spaces may 
appear directly before the period 
and any number of spaces may 
come between the period of one 
sentence and the left parenthesis 
of the next sentence number. In 
the example, each line is filled 
with spaces after the period, so 
that the sentences may appear one 
under another. 

5. The last sentence in a pseudo-code 
must be "ASTOPA. ". 

6. When sentence numbers appear as 
references, as in sentence 5, 8, 
and 9, they should not be sur- 
rounded by parentheses. 

7. A decimal quantity with no integral 
part should be stated with a zero 
precedingthe decimal point; e. g. , 
0.3561, and 0.0024, not .356 and 
. 0024. This rule avoids the unin- 
tentional use of a space -period 
combination which would tell the 
system to end the sentence. 

8. A variable may be any letter, or 
any combination of letters and di- 
gits beginning with a letter. A va- 
riable may not consist of more 
than 12 digits and letters. 



9. A constant may appear as an inte- 
ger, decimal, fraction, or in pow- 
er of ten notation. 300, 300.00, 
3000/10 and 3*10 2 are all legi- 
timate forms of the same number, 
No more than 11 digits may be 
written in any one number. 

RULES FOR WRITING EQUATIONS 

1. Every equation must begin with 
AXA=A. . . , where "X" is any one 
variable (with o r without sub- 
scripts). Spaces must surround 
both the variable and the equal 
sign. 



2. The rest of the equation consists 
of operation signs, functional call 
words, variables, numbers, and 
exponents. Spaces must not be 
used except to separate functional 
call words from their arguments, 
as "SlNAALPHA" and "BAPOWAD" 
in sentence 5. 

3. Allowable operation signs are +, 
-, * (Multiplication), /(division), 
j. .| (absolute value sign), and 
pairs of parentheses, which have 
the usual algebraic significance 
of causing the operations inside 
them to be performed first. One 
equation may contain up to 100 
operation signs, functional call 
words and exponents. 

4. The asterisk (*) for multiplication 
must appear wherever a product 
is desired. The system cannot 
infer a product from the position 
of the number and variables, 
e.g., 5*A must be written, not 
5A or 5. A. 

5. Whenever in the absence of paren- 
theses a choice exists regarding 
the order in which to perform in- 
dicated operations (e.g., should 



A*B+C be considered (A*B)+C or 
A*(B+C)?), the system gives pri- 
ority to these 3 classes in order. 

a. functional call words and ex- 
ponentiation. 

b. * and /. 

c. + and -. 

Within each class the order of ex- 
ecution is left to right. Two brief 
examples will illustrate: 

X/Y*Z means (X/Y)*Z 



LOGAA*B+C 
+ C. 



means (B*LOGAA) 



6. Parentheses should always be used 
to clarify the order of execution. 
No harm results from the inclu- 
sion of unnecessary parentheses 
as long as they are properly 
paired. 

7. Positive or negative numerical ex- 
ponents are expressed directly as 
superscripted integers, decimals 
or fractions; e.g., X 5 , X" , 
X 3,47 , X 3/ . Literal exponents 
require functional call words, like 
"POW" in sentence 5. 

8. Any variable appearing on the 
right side of an equation must have 
been given a value by a previous 
sentence. Y, ALPHA, A, B, C, 
D and E are right hand variables 
in sentence 5. Y was defined by 
the VARY in sentence 4, ALPHA 
by the TYPE-IN of sentence 1, 
and A through E by the READ's of 
sentences 2 A and 3. Sentence 5 
itself defines XI. 

9. The one variable on the left side, 
or any of the variables on the 
right side, may be subscripted as 



long as the array (from which an 
element is being selected) is de- 
fined elsewhere by a READ- 
ARRAY, READ-ITEM, WRITE- 
ARRAY, WRITE-ITEM or CON- 
TAIN sentence. 

10. The MATH-MATIC system will 
consider a variable subscripted if 
a left parentheses immediately 
follows the variable. The sub- 
scripts are assumed to follow in 
order, separated by commas, with 
a right parenthesis following the 
last subscript. The subscripts 
may be constants, variables, oi 
functions of variables involving 
only the four basic arithmetic op- 
erations. 



Examples: 
X(I, J,K) 

X(J, 3,1) 

X(2*I) 



Y(3*A+1, 5) 
Y(A+B+C+2, D) 
Y(Q*R) 



11. The subscripted variable, inclu- 
ding the parentheses and the sub- 
script functions may not exceed 12 
digits. 

Rules for input-output sentences 

1. If the variables are listed indivi- 
dually, as in sentences 2A, 3, 6, 
10, and 13, a READ or a WRITE 
sentence must be used. If the va- 
riables appear as a subscripted ar- 
ray, as in the second sample prob- 
lem of the previous chapter, a 
READ- ARRAY,, RE AD -IT EM, 
WRITE-ARRAY, WRITE-ITEM, 
or CONTAIN sentence must be 
used. These are called the sub- 
script input-output sentences. 

2. In any ordinary input-output sen- 
tence, up to 50 variables may be 
listed. 



10 



3. The subscripts in a subscript in- 
put-output sentence must be inte- 
gers, and not variables. There 
may be one, two or three sub- 
scripts; their product, which de- 
termines the number of elements 
in the array, must not exceed 250.* 

4. SERVOAU through 9 or-) or 
STORAGEA (A through Z, but not 
W) or both SERVOA and STOR- 
AGEA, either one first, may be 
specified in any input-output sen- 
tence. Both specifications must 
appear after the list of variables, 
or after the subscript array. 

5. The system will assign anew servo 
to any input or output sentence in 
whichno servo is specified. Since 
one servo must be reserved for the 
running program tape, a maximum 
of nine servos are available to the 
input-output sentences. Unless 
the user desires to give two input - 
output sentences the same servo, 
there is no need to specify servos. 

6. The user may put several inputs on 
the servo, several outputs on one 
servo, or he may use an output as 
an input later in the problem. He 
may also use the same input more 
than once. To accomplish any of 
these duplications, the same servo 
must be specified in the sentence 
involved. Also the appropriate "IF 
SENTINEL" option or CLOSE-IN- 
PUT or CLOSE-OUTPUT sentence 
must be used to position tapes or 
insert sentinels. See the next 
chapter for details. 

7. The system will assign an adequate 
storage area to every input-output 
or CONTAIN sentence regardless 
of whether "STORAGE" is speci- 
fied in the sentence. There is a 
maximum of 660 words (330 quan- 
tities) available for storage 



However, the system requires an 
indeterminate amount of storage 
for constants and partial results. 
The user must establish a safe 
limit under 660 words for all in- 
put-output and CONTAIN sen- 
tences combined. An error print- 
out during compilation will inform 
the user if the pseudo-code has 
exceeded the limit of 660 words. 
If the Univac II Master tape is em- 
ployed, the storage maximum is 
increased to 1700 words. 

8. If two input, output, or CONTAIN 
sentences can be safely assigned 
the same storage area, then the 
user should specify the same stor- 
age because this will save memory 
space and increase tape handling 
efficiency. Sentence 2 and 10 of 
the sample problem at the begin- 
ning of this chapter illustrate this 
point. 

9. Except in the case of edited output, 
the storage letter named by the 
user applies to the entire area that 
the system reserves for the sen- 
tence. Where 15 or fewer quanti- 
ties are being edited, a storage 
letter named by the user applies 
to the edit block, and not to the 
storage area of the quantities. 
Where 16 or more quantities are 
being edited, the storage letter 
applies to the storage area of the 
quantities, and not to the edit 
block. In this case one edit block 
is shared by all edit sentences (of 
16 or more quantities) regardless 
of storage designations by the 
user. 

10. Whenever two output sentences of 
16 or more quantities, edited or 
unedited, have the same list of 
variables or the same subscript 
array, the system assigns the 
same storage area to the set of 
quantities in the two sentences un- 



*For UNIVAC II, this limit is increased to 800. 



11 



less the user specifies different 
areas. 

11. AlF SENTINEL JUMP..., IF 
SENTINEL RESET AND JUMP... , 
or AIF SENTINEL REWIND AND 
JUMP. . . , option may be inclu- 
ded in any RE ADA or RE AD-ITEMA 
sentence. If present, this phrase 
must appear at the end of the sen- 
tence. 

12. The dash in the middle of the ex- 
pressions RE AD- ARRAY, READ- 
ITEM, WRITE-ARRAY, WRITE- 
ITEM, CLOSE -INPUT, and 
CLOSE-OUTPUT must not be 
omitted or changed to a space. 

13. A space must appear between all 
words and all variables in any in- 
put-output sentence. Any number 
of unnecessary spaces may be in- 
cluded, and commas may be subs- 
tituted for spaces at any time. 

14. A maximum of 40 input-output sen- 
tences in one pseudo-code is per- 
mitted.. 

15. In any WRITE, WRITE-ITEM, or 



WRITE-ARRAY sentence, whether 
edited or not, the output will be 
written for the high speed printer 
unless the phrase "FOR UNIPRIN- 
TER" appears in the sentence. 

16, "CONVERT" and "FOR UNIPRIN- 
TER" may not appear in the same 
output sentence. 

Rules governing control sentences 

1. All words, variables, and signs of 
comparison must be preceded and 
followed by spaces. Commas or 
semicolons may be substituted for 
spaces at any time, except im- 
mediately following the first word 
in the sentence. 



2. A variable used as a subscript may 
appear in any sentence whose for- 
mat includes variables. X(3, 4) 
and X(I, J) are subscripted vari- 
ables. I and J in the latter ex- 
pression are variables used as 
subscripts. Subscripted varia- 
bles may appear only in IF and 
PRINT-OUT sentences. 



12 



Ill 



3Ue.a.t:h:-3U[ia.tic rejpertoire 



The first part of this chapter is de- 
voted to a complete list of formats 
of the functional call words, con- 
trol sentences, and input-output sen- 
tences presently available to the 
MATH-MATIC system. In this list no 
attempt has been made to indicate all 
the options and parameters allowed in 
each call word or sentence. In the 
second part of this chapter, contain- 
ing the functions and rules of each call 
word and sentence, the range of allow- 
able options and parameters is dis- 
cussed in detail. A list in the appendix 
shows every individual option avail- 
able in the pseudo-code. The user is 
advised to refer to ChapterlV on "Data 
Preparation and Formats" when writ- 
ing input-output sentences in pseudo- 
code. Otherwise, the discussions of 
functions and rules of call-words and 
sentences and the general rules given 
in Chapter II contain all the necessary 
information for writing pseudo-code. 

FUNCTIONAL CALL WORDS 

TRIGONOMETRIC FUNCTIONS 
Pseudo-code Call-word Function 



1. SINAA 

2. COSAA 

3. TANAALPHA 

4. COTAA 

5. SECAB 

6. CSCAB 



sine A 
cosine A 
tangent a 
cotangent A 
secant B 
cosecant B 



7. ARCTANAX tan" 1 X 
HYPERBOLIC FUNCTIONS 
Pseudo-code Call-word Function 

8. SINHAA sinh A 

9. COSHAA cosh A 

10. TANHAA tanh A 

EXPONENTIAL AND LOGARI- 
THMIC FUNCTIONS 

Pseudo-code Call-word Function 



11. AAPOWAB 

12. AAINTPOWAB 

13. NAROOTAA 

14. SQRAA 

15. EXPAA 

16. LOGAA 

17. LNAA 



AB 

(B integral) 

va~ 

e A 

log 10 A 

log e A 



CONTROL SENTENCES 

1. CONTAIN X(m,n). 

2. EXECUTE SENTENCE F THRU 
L. 

3. IF X = Y JUMP TO SENTENCE 
F. 

4. JUMP TO SENTENCE F. 



13 



5. PRINT-OUT X Y Z. 

6. TYPE-IN ABC. 

7. VARY X X (Xi) X L SENTENCE 
F THRU L, (increment type). 

8. VARY X Y Z X ,Y , ZQ.Xi.Yj, 

Zj x n » Y • Z n» SENTENCE F 

THRU L.(list n type). 

9. IGNORE. 

10. STOP. 
INPUT-OUTPUT SENTENCES 

1. READ ABC. 

2. READ- ARRAY X(m, n) . 

3. READ-ITEM X(m,n,p). 

4. WRITE ABC. 

5. WRITE- ARRAY X(m, n, p) . 

6. WRITE-ITEM X(m,n). 

7. WRITE EDIT ABC. 

8. WRITE- ARRAY EDIT X(m, n) . 

9. WRITE-ITEM EDIT X(m, n, p) . 

10. CLOSE-INPUT SENTENCE F. 

11. CLOSE-OUTPUT SENTENCEF. 
FUNCTIONAL CALL WORDS 
Trigonometric Functions : 

Call word Function 

SINAA sine A 

COSAA cosine A 



TANAA 

COTAA 

SECAA 
CSCAA 

ARC TANAA 
Rules: 



tangent A 
cotangent A 
secant A 
cosecant A 

arctan A 



1. A is expected to be in radians, ex- 
cept in the case of ARC TANAA, 
where the result will be in radians. 

2. If A is a function rather than a sin- 
gle variable, it must be in paren- 
theses, e.g., SINA(A+B), TAN£ 
(2* A). 

3. The user is responsible for seeing 
that the parameters of functional 
call words do not take on values 
during the problem run which would 
cause the function to become infi- 
nite, such as A=0 in CSCAA. An 
error printout will occur and the 
computer will stop. 

Hyperbolic Functions : 

Call-word Function 

SINHAA sinh A 

COSHAA cosh A 

TANHAA tanh A 

Rules : 

1. A is expected to be in radians. 

2, If A is a function rather than a sin- 
gle variable, it must be in paren- 
theses e. g. , SINHA(A+B*C). 

Exponential and Logarithmic 
Functions : 



14 



Call-word 

AAPOWAB 

AAINTPOWAB 

NAROOTAA 

SQRAA 

EXPAA 

LOGAA 

LNAA 

Rules: 



Function 

AB 

A B 

e A 

log 10 A 
log e A 



1. B, with the call word INTPOW, 
must take on integral values, with 
|B| < 100. N must be a positive in- 
teger o r must take on integral 
values, with N < 10. 



2. If A, B, or N is a function rather 
than a single variable or constant, 
it must be in parentheses: e.g. , 

(3*A)APO WA(B+C), EXPA((A)2 + 
(B) 2 ). 

3. The user is responsible for seeing 
that the parameters of functional 
call words do not take on values 
during the problem run for which 
the function is infinite or under- 
fined, such as A= -3 in SQRAA or 
LOGAA. An error printout will 
occur and the computer will stop. 

CONTROL SENTENCES 

CONTAIN 

Formats : 

(n) CONTAIN X(m, n) . 

(n) CONTAIN X(m,n, p) STORAGE A. 



Exam.pl e: 

(5) CONTAIN X(20) STORAGE A. 

Functions : 

This sentence causes MATH-MATIC 
to set aside adequate storage for the 
subscript array in the sentence. If 
the elements of a subscript array are 
referred to in an equation without the 
subscript array appearing in any 
READ-ITEM, READ-ARRAY, 
WRITE-ITEM or WRITE-ARRAY sen- 
tence, a CONTAIN sentence must be 
written for the subscript array. 

Conventions : 

1. The CONTAIN sentence may ap- 
pear anywhere in the pseudo-code 
before the STOP sentence. 

Rules: 



1. The subscript array in a CONTAIN 
sentence may imply from one up to 
250 elements. A list of variables 
may not appear in a CONTAIN sen- 
tence. 

EXECUTE 

Formats : 

(n) EXECUTE SENTENCE F. 

(n) EXECUTE SENTENCES F THRU 
L. 

Example : 

(15) EXECUTE SENTENCE 23 THRU 
30. 

Function: 

When sentence n is executed, control 
is transferred to sentence F. In the 
"EXECUTE SENTENCE F" case, af- 



15 



ter sentence F is executed, control is 
transferred to the sentence follow- 
ing n. In the "F THRU L" case, af- 
ter sentence L is executed, control is 
transferred to. the sentence following 
n. 

Conventions; 

1. The ranges of two EXECUTE sen- 
tences may overlap each other. 



2. 



If two EXECUTE ranges have the 
same last sentence, the one exe- 
cuted, last during running deter- 
mines what sentence control re- 
turns to after sentence L is exe- 
cuted. An example follows: 



(2) 



EXECUTE 
THRU 10. 



S ENTENCE 5 



(3) 

(4) .... 

(5) 

(7) IF A> B JUMP TO SENTENCE 
12. 



(10) 



• • « • 



(12) EXECUTE SENTENCE 10. 

(13) 

If at sentence 7 control is transferred 
to sentence 12, then after sentence 10 
is executed, control returns to sen- 
tence 13, not sentence 3. 

Rules : 

1. Sentence n, F and L may occur in 
any order in the pseudo-code but 
in order of execution F must pre- 
cede L and n must be outside the 
range F to L. 



IF 

Formats: 

(n) IFX> Y JUMP TO SENTENCE F. 

(n) IFX< Y JUMP TO SENTENCE F. 

(n) IFX=Y JUMP TO SENTENCE F. 

(n) IF X > = Y JUMP TO SENTENCE 
FIF V < W JUMP TO SENTENCE 
G. 

(n) IF X = < Y JUMP TO SENTENCE 
F IF V = W JUMP TO S ENTENCE 
G IF P > Q JUMP TO SENTENCE 
H. 
Examples : 

(6) IF Z > = 10 JUMP TO SENTENCE 
13. 

(9) IF A(7, 7) < B(7, 7) JUMP TO SEN- 
TENCE 11 IF X > = 7.175*10* 9 
JUMP TO SENTENCE 17. 

(39B) IF Z > W JUMP TO SENTENCE 
24C. 

(107Q) IF P(2, 4,4) = > 6. 66479*10 U 
JUMP TO SENTENCE 79. 

(41) IF A > B JUMP TO SENTENCE 
47 IF H < 0.759431 JUMP TO 
S ENTENCE 23AIF A = B 
JUMP TO SENTENCE 26. 

Functions : 

When an "IF" sentence with one "if" 
clause is executed, a test is perform- 
ed for the indicated condition. If the 
condition is met (e.g., in the first ex- 
ample, if X is greater than Y) control 
is transferred to sentence F. If the 
condition is not met, control moves to 
the next sentence after n. If there is 
more than one clause in the "IF" sen- 
tence, the conditions indicated in the 



16 



clauses are tested in the order in which 
the clauses are written. With each 
one, if the condition is met, control 
is transferred to sentence F (or G, 
H, etc.). If the condition is not met, 
the next clause is tested until the 
clauses are exhausted. Then control 
moves to the next sentence after n. 
The phrase " I F AX A > A = A Y A " in 
pseudo- code means "IF X > Y"or if X 
is equal to or greater than Y h 

Conventions : 

1. Any number of "if" clauses maybe 
included in an "IF" sentence. 

2. The two quantities being compared 
in an if clause may be any ordinary 
or subscripted variable with or 
without absolute value signs or any 
integer, decimal, or power of ten 
form. 

3. The comparison symbol between 
the two compared quantities may 
consist of any one or any two of the 
three symbols, <, =, or > . If two 
of these symbols are used, they 
may appear in either order. 

4. If either of the compared quantities 
has absolute value signs, MATH- 
MATIC takes the absolute value of 
both when it performs the compar- 
ison; e.g., "IFA|XJA>AY A" functions 
like M IFA(x|A>AtY|A. M "IFAJxlA^OA" 
functions the way it appears. 

Rules : 

1. The sentences F, G, H, etc., may 
come before or after sentence n, 
but they must appear somewhere 
in the pseudo-code. 

JUMP 

Format: 

(n) JUMP TO SENTENCE F. 



Example: 

(10) JUMP TO SENTENCE 3A. 

Function : 

When this sentence is executed, con- 
trol is transferred to sentence F. 

Rules : 

1. Sentence F may come before or 
after sentence n but it must ap- 
pear somewhere in the pseudo- 
code. 

PRINT-OUT 

Format: 

(n) PRINT-OUT A B C. . . N. 

Example : 

(10) PRINT-OUT ALPHA BETA X(K). 

Function : 

When this sentence is executed, the 
values of listed variables will be print- 
ed out on the supervisory control 
printer in two word floating decimal 
form. See Chapter IV on "Formats" 
for a discussion of two word floating 
decimal form. 

Rules : 

1. Any number of ordinary or sub- 
scripted variables up to 50 may be 
listed in a PRINT-OUT sentence. 

TYPE-IN 

Format : 

(n) TYPE-IN A B C. . . N. 

Example : 

(10) TYPE-IN X Y Z. 



17 



Function; 

When this sentence is executed, two 
type-ins will be set up on the super- 
visory control printer for each of the 
listed variables. The operator is ex- 
pected to type-in the values of the list - 
ed variables in two word floating dec - 
imal form. See Chapter IV on "For- 
mats" for a discussion of two word 
floating decimal form. 

Rules : 

1. Any number of ordinary (not sub- 
scripted) variables up to 50 may be 
listed in a TYPE-IN sentence. 

VARY (increment type) 

Formats: 

(n) VARY XX (Xj) X SENTENCES 
F THRU L. 

(n) VARY X X Q (X 4 ) X L Y Y Q (y.) Y L 
SENTENCES F THRU L. 

(n) VARYX X Q (Xj) X L Y Y (Yj) Y L 

Z Z (Zj) Z L SENTENCES F 
THRU L. 

Examples : 

(27C) VARY X 5 (0.01) 10 SENTEN - 
CES 31 THRU 34. 

(9) VARY DX 3. 17493 (3. 1414*10 " 8 ) 
A SENTENCES 17 THRU 20. 

(18) VARY Y7 (5) 100 Y8 100 (10) 
300 Y9 50 (2) 90 SENTENCES 
51 THRU 51B. 

(3) VARY Y I (10- 7 )|Cl SENTENCES 
5 THRU 6. 

Functions: 

The "VARY" sentence of the incre- 



ment type whose formats are given 
above creates the mechanismby which 
sentences F through L are executed 
repeatedly, each time for different 
values of X, XandY, or X, Y and Z. 
The first time sentences F through L 
are executed, X = Xq, Y = Y n and Z = 
Zq. Each time sentences F through 
L are repeated, X. is added to X, Y^ 
is added to Y and Z^ is added to Z, 
Sentences F through L are repeated 
until the values of the variables ex- 
ceed their limits, i.e., until X > X, , 
Y > Y L , and Z > Z L . Then control 
passes to the sentence after L. 

When sentence n is executed, the var- 
iables are given their initial values; 
X is set equal to X_, and if Y and Z 
are also being varied, Y is set equal 
to Yq and Z equal to Zq. Control then 
goes to the next sentence after n. Af- 
ter sentence L is executed, each var- 
iable is incremented; X is set equal 
to X+X^, and if Y and Z are being var- 
ied, Y is set equal to Y+Y i and Z is 
set equal to Z+Z.. The variable X is 

then tested against its limit Xj^. If 
more than one variable is being var- 
ied, the variable named last in the 
sentence is tested against its limit. 
IfX <^_ X-^, control is transferredback 
to sentence F so that sentences F 
through L may be repeated. If X > 
Xj^, control moves to the next sen- 
tence after L. If X^ is negative, or if 
Xj^ is less thanXQ, the above inequal- 
ities are reversed; that is, when X > 
X-^, control is returned to sentence F 
and when X < X]_,, control passes to 
the next sentence after L. 

Conventions : 

1. The initial value Xq, increment 
X-l, and limit Xl, of the variable 
X may themselves be any previ- 
ously defined variable with or with r 
out absolute value signs, or any in- 
teger, decimal or power of ten 
form. 



Rules : 

1. No more than three variables may 
be varied by a VARY sentence. 

2. Sentences n, F and L may be in 
any order in the pseudo-code but 
in order of execution L must come 
after F and n must be outside the 
range F to L. 

3. A VARY sentence and its range of 
execution sentences F through L 
may be executed any number of 
times. The range of one VARY 
sentence may be entirely included 
in the range of another vary sen- 
tence, but two ranges of execution 
should not overlap each other. 

VARY (list type) 

Formats: 



(n) VARYXX Q X 1 X 2 . 
CES F THRU L. 



X n SENTEN- 



(n) VARY X Y Z X Q Y Z X x Y x Z Y 
X 2 Y 2 Z 2 ....X n Y n Z n SENTEN- 
CES F THRU L. 

Examples : 

(3) VARY XI 1. 1 1. 3 1. 6 1. 85 1. 95 

2. 2 2. 7 4. 1 SENTENCES 7 THRU 
12. 



(21) VARY P Q R -4 -1 2 -1 3 7 5 1 9 

SENTENCES 25 THRU 25 E. 

Functions: 

The VARY sentence of the list type sets 
up the mechanism by which sentences 
F through L are executed repeatedly, 
eachtime for a different set of values 
of the variables X, Y, and Z. After 
the last set of v a 1 u e s , X Y n , and 
Z n , has been used, control passes to 
the sentence after L. 



When sentence n is executed, X, Y, 
and Z are given their initial values 
Xq, Yq and Zq. After sentence Lis 

executed, the next set of values is 
moved into the positions of the varia- 
bles and control returns to sentence 
F. When the sets of values are ex- 
hausted, control moves to the next 
sentence after L. 

Rules : 

1. The values of the variables, Xq, 
Yq, Zo, X^, Yj, etc. mustbe num- 
bers, not variables. The values 
may be in integer, decimal or 
power of ten form. 

2. One, two, or three variables may 
be varied by a VARY sentence of 
the list type. 

3. A maximum of 50 values of all the 
variables may be listed. 

4. It is the user's responsibility to 
have an integral number of sets of 
values listed, i. e. , the number of 
values mustbe evenly divisible by 
the number of variables. 

5. Sentences n, F, and L may appear 
in any order in the problem state- 
ment, but in order of execution 
sentence n must precede sentence 
F and sentence F must precede 
sentence L. 

IGNORE 

Example : 

(10) IGNORE. 

Function: 

This sentence is not executed during 
the problem run. It is used in con- 
junction with a VARY sentence as an 



19 



artificial last sentence of the range of 
execution of the VARY sentence. It 
is needed only when it is desired to 
transfer control to a point beyond the 
last functioning sentence of the range 
but before the incrementation of the 
VARY sentence. Sample problem 3 
of Chapter I illustrates the use of an 
IGNORE statement. 

STOP 

Example : 

(27B) STOP. 

Function : 

This sentence must be the last sen- 
tence of the MATH-MATIC pseudo- 
code. When this sentence is executed, 
MATH-MATIC places an appropriate 
sentinel on each output tape, and 
prints out the number of blocks of 
output on each tape. Every servo used 
in the problem is rewound and "END 
OF RUNAA"is printed out. The com- 
puter stops. 

Rules : 

1. The STOP sentence must be the 
last sentence in the pseudo-code. 
Only the special COMPUTER and 
COMPILER sections, if any are 
used, may follow the STOP sen- 
tence. 

INPUT-OUTPUT SENTENCES 

READ 

Formats : 

(n) READ ABC. 

(n) READ ABC IF SENTINEL JUMP 
TO SENTENCE F. 

(n) READ A B C IF SENTINEL RE- 



SET AND JUMP TO SENTENCE 
F. 

(n) READ A B C IF SENTINEL RE- 
WIND AND JUMP TO SENTENCE 
F. 
Example : 

(5) READ A B C SERVO 3 STORAGE 
A IF SENTINEL REWIND AND 
JUMP TO SENTENCE 20. 

Functions : 

This sentence will assign a new set of 
values to the listed variables each time 
it is executed. These sets of values, 
or input items, must be on tape. The 
user must read Chapter IV for instruc- 
tions on how to prepare his input data. 
During compilation a print-Out will 
tell the user which servo to mount the 
input tape on; if a servo has been 
specified, such as SERVOA3 in the 
example, this specified servo num- 
ber will be printed out. Each of the 
three "I F A S EN TIN ELA " options 
means that every time the sentence is 
executed, the first word of the new 
input item is compared with a word of 
Z. . Z's the u su al UNIV AC sentinel. 
If the first word does not equal Z. . Z's, 
control moves to the next sentence af- 
ter (n) . If the first word does equal 
Z. .Z's, what occurs before control 
goes to sentence F depends on which 
of the three options was employed. 
With "RESETAANDAJUMP" MATH- 
MATIC expects to find further input 
on the same tape, and the next time 
this READ sentence is executed, a 
new set of values for the listed varia- 
bles will be read into the m e mo r y 
starting with the next block on the tape. 
With "REWINDAANDAJUMP" MATH- 
MATIC expects the same input, whose 
sentinel has just been reached, to be 
used again. Accordingly, the servo 
is rewound, and the next time this 
READ sentence is executed, the first 



20 



set of values will be read in again. 
With "JUMP" MATH-MATIC does not 
expect the READ sentence to be ex- 
ecuted again and therefore take s no 
action. However, a subsequent READ 
or READ-ITEM sentence specifying 
the same servo will automatically 
start reading v alu e s from the next 
block on the tape, or from the first 
block if the servo has been rewound. 
In all three "IFASENTINELA. . . " 
cases, when the sentinel is reached, 
control is transferred to sentence F. 

Rules : 

1. Sentence F may come before or af- 
ter sentence n, but it must appear 
somewhere in the pseudo-code. 

2. A list of from one up to 50 varia- 
bles may appear in a READ sen- 
tence. No subscript arrays may 
be used with a READ sentence. 

3. If servo or storage is specified, 
the words must appear after the 
list of variables. 

4. If one of the "IFASENTINELA. . . " 
options is used, the words must 
appear at the end of the sentence. 

5. Two READ sentences having any 
variables in common must specify 
the same storage area and the 
common variables must occupy the 
same relative position in the two 
areas. READ A X B STORAGE A 
and READ A X C STORAGE A is 
permissible; READ ABC and 
READ D A F, regardless of stor- 
age specification, is not permiss- 
ible. 

READ-ARRAY 

Format : 

(n) READ-ARRAY X(m, n). 



Examples: 

(1) READ-ARRAY X(10,10). 

(6) READ - ARRAY X( 2, 3,-4) SERVO 4 
STORAGE B. 

Functions : 

Regardless of where this sentence ap- 
pears in pseudo-code, it will be ex- 
ecuted before the running program 
begins. It will read from tape into 
memory, the values of the number of 
elements implied by the subscript ar- 
ray. In the first example there are 
10x10 = 100 elements of 200 words; in 
the second example there are 24 ele- 
ments or 48 words implied by the 
array. The user must read Chapter 
IV for instructions on how to prepare 
his input data, and how to arrange the 
elements within an array. During 
compilation MATH-MATIC will print 
out the servo reserved for the array; 
if a servo is specified in the pseudo- 
code, as SERVOA4 is in the second 
example, this servo number will be 
printed out. 

Rules : 

1. Each READ-ARRAY sentence may 
be executed only once. 

2. Any subscripted array with one, 
two, or three subscripts, implying 
from one to 250 elements, may ap- 
pear in a READ- ARRAY sentence. 
A list of variables may not appear 
in a READ-ARRAY sentence. 

3. If servo is specified, the words 
must appear after the subscript 
array. 

4. No "IFASENTINELA" options are 
allowed with a READ- ARRAY sen- 
tence. 



21 



5. Amaximum of seven READ- 
ARRAY ' s in one problem statement 
is allowed. 

6. The complete name of the subscript 
array, including the parentheses 
and commas, must not exceed 12 
digits in length. 

READ-ITEM 

Formats : 

(n) READ-ITEM X(m, n) . 

(n) READ-ITEMX(p) IF SENTINEL 
JUMP TO SENTENCE F. 

(n) READ-ITEM ALPHA (m, n, p) IF 
SENTINEL RESET AND JUMP 
TO SENTENCE F. 

(n) READ-ITEM B(m, n) IF SENTI- 
NEL REWIND AND JUMP TO 
SENTENCE F. 

Example : 

(22A) RE AD-ITEM MATRIX(3, 12) 
SERV0 8STORAGE EIF 
SENTINEL REWIND AND 
JUMP TO SENTENCE 60. 

Functions: 

Each time this sentence is executed, 
it will assign a new set of values to 
the elements of the subscript array. 
These sets of values, or input items, 
mustbe on tape. The user must read 
Chapter IV for instructions on how to 
prepare his input data, and on how to 
arrange the elements within an array. 
During compilation, a printout tells 
the user on which servo to mount the 
inputtape;if a servo is specified, as 
in the example, the specified servo 
number is printed out. Each of the 
three "IFASENTINELA. . . " options 
means that every time the sentence is 



executed, the first word of the new in- 
put item is compared with a word of 
Z. . Z's, the usual UNIVAC sentinel. 
If the first word does not equal Z. . Z's, 
control moves to the sentence follow- 
ing n. IF the first word does equal 
Z. . Z's, what occurs before control 
goes to sentence F depends on which 
of the three options was employed. 

With "RESETAANDAJUMP" MATH- 
MATIC expects to find further input on 
the same tape, and the next time this 
READ-ITEM sentence is executed, a 
new set of values for the elements of 
the array will be read into memory 
starting from the next block o n the 
tape. With "REWIND AND JUMP". . . 
MATH-MATIC expects the same in- 
put, whose sentinel has just been 
reached, to be used again. Accord- 
ingly the servo is rewound, and the 
next time this READ-ITEM sentence 
is executed, the first set of values for 
the elements of the array will be read 
in again. Wi t h "JUMP", "MATH - 
MATIC does not expect this READ- 
ITEM sentence to be executed again 
and does nothing. However, a subse- 
quent READ or READ-ITEM sentence 
specifying the same servo will auto- 
matically start reading values from 
the next block on the tape, or from the 
first block if the servo has been re- 
wound. In all three "IFASENTINEL" 
...cases control is transferred to 
sentence F. 

Rules : 

1. Sentence F may come before or 
after sentence n, but sentence F 
must appear somewhere in the 
pseudo-code. 

2. If servo or storage is specified, 
the words must appear after the 
name of the subscript array. 

3. The complete name of the sub- 



22 



script array, including the paren- 
theses and commas, must not ex- 
ceed 12 digits in length. 

4. Any subscripted array with one, 
two, or three subscripts implying 
from one to 250 elements, may 
appear in READ-ITEM sentence. 
A list of variables may not appear 
in a READ-ITEM sentence. 

WRITE 
Formats: 

(n) WRITE X Y Z. 

(n) WRITE FOR UNIPRINTERX Y Z. 

(n) WRITE EDIT X Y Z. 

(n) WRITE EDIT FOR UNIPRINTER 
X Y Z. 

(n) WRITE CONVERT X Y Z. 

Examples: 

(12) WRITE CONVERT A B X Y N 
SERVO 5 STORAGE G. 

(5B) WRITE ALPHA SERVO 9. 

Functions: 

Each time the WRITE sentence is ex- 
ecuted, the current values of the listed 
variables are written on tape. The 
writing is for the high speed printer 
unless the "FORAUNIPRINTER" op- 
tion is used. The values of the var- 
iables are in two word floating decimal 
form unless "EDIT" or "CONVERT" 
has been specified in the sentence. 
"EDIT" and "CONVERT" cause the 
values of the variable to be edited into 
special forms before being written on 
tape. During compilation, MATH- 
MATIC prints out the number of the 
servo assigned to this output sentence. 



If a servo has been specifed in the 
sentence, the specified servo number 
is printed out. MATH-MATIC ar- 
ranges to place sentinels on the output 
tape when the problem run is com- 
pleted. The information on the tape 
is checked for readability and the num- 
ber of output blocks on the tapeis 
printed out. The sentinel operation 
fills the last block on the tape with 
Z. . . Z's for unedited output and with 
printers stops (Z's) for edited out- 
put. The last section of Chapter IV 
discusses output item sizes and edited 
forms. 

Rules : 

1. Any number of variables up to 50 
maybe listed in a WRITE sentence. 
A subscript array may not be used 
in a WRITE sentence. 

2. If servo or storage is specified, 
the specification must appear after 
the list of variables. 

WRITE-ITEM 

Formats: 

(n) WRITE-ITEM X(m, n, p) . 

(n) WRITE-ITEM FOR UNIPRINTER 
X(m, n, p) . 

(n) WRITE-ITEM EDIT X(m, n, p) . 

(n) WRITE-ITEM CONVERT X(m, n, 
P). 

(n) WRITE-ITEM EDIT FOR UNI- 
PRINTER X(m, n, p). 

Examples: 

(17) WRITE-ITEM A(8, 9) SERVO 6. 

(23B) WRITE-ITEM EDIT Z(5, 5, 5) 
STORAGE F SERVO 3. 



23 



Functions: 

Each time the WRITE-ITEM sentence 
is executed, the current values of the 
elements of the subscript array are 
written on tape. The writing is for 
high speed printer unless the "FORA 
UNIPRINTER" option is u s ed . The 
values of the elements are in two word 
floating decimal form unless "EDIT" 
or "CONVERT" has been specified in 
the sentence. "EDIT" and "CON- 
VERT" cause the values of the ele- 
ments to be edited into special forms 
before being written on tape. During 
compilation, MATH- MATIC prints out 
the number of the servo assigned to 
this output sentence. If a servo has 
been specified in the sentence, the 
specified servo number is printed out. 

MATH-MATIC arranges to place sen- 
tinels on the output tape when the pro- 
blem run is completed. The informa- 
tion on the tape is checked for reada - 
bility and the number of output blocks 
on the tape is printed out. The sentinel 
operation fills the last block on the 
tape with Z. . . Z's for unedited output 
and with printer's stops ( 2 's) for edited 
output. Output item sizes, edited 
forms, and the arrangement of ele- 
ments within an array are all dis- 
cussed in Chapter IV. 

Rules : 

1. Any subscripted array with one, 
two, or three subscripts, implying 
from one to 250 elements, may ap- 
pear in a WRITE-ITEM sentence. 
A list of variables may not appear 
in a WRITE-ITEM sentence. 

2. The complete name of the subscript 
array, including the parentheses 
and commas, must not exceed 12 
digits in length. 

3. If servo or storage is specified, 



the specification must appear after 
the name of the subscript array. 

WRITE- ARRAY 

Formats: 

(n) WRITE- ARRAY X(m, n, p) . 

(n) WRITE- ARRAY FOR UNIPRINTER 
X(m, n, p). 

(n) WRITE-ARRAY EDIT X(m, n, p) . 

(n) WRITE-ARRAY CONVERT X(m, n, 
P). 

(n) WRITE-ARRAY EDIT FOR UNI- 
PRINTER X(m, n, p). 

(n) WRITE-ARRAY EDIT AND CON- 
TAIN X(m, n.p). 

Examples: 

(8) WRITE-ARRAY A(10,12) STOR- 
AGE A SERVO 6. 

(16) WRITE-ARRAY CONVERTED 
RT(25) SERVO 2. 

Functions: 

Each time the WRITE-ARRAY sen- 
tence is executed, the current values 
of the elements of the subscript array 
are written on tape. The writing is 
for the high speed printer unless the 
"FORAUNIPRINTER" option is used. 
The values of the elements are in two 
word floating d e c i m al form unless 
"EDIT" or "CONVERT" has been 
specified in the sentence. "EDIT" and 
"CONVERT" cause the values of the 
elements to be edited into special 
forms before being written on tape. 
During compilation, MATH-MATIC 
prints out the number of the servo as- 
signed to this output sentence. If a 
servo has been specified in the sen- 
tence, the specified servo number is 
printed out. 



24 



MATH-MATIC arranges toplace sen- 
tinels on the output tape when the pro- 
blem run is completed. The informa- 
tion on the tape is checked for reada- 
bility and the number of output blocks 
on the tape is printed out. The sen- 
tinel operation fills the last block on 
the tape with Z. . . Z 's for unedited out- 
put and with printer's stops (2's) for 
edited output. Output item sizes, 
(particularly when WRITE- ARRAY 
differs from WRITE-ITEM) , edited 
forms, and arrangements of elements 
within an array are all discussed in 
Chapter IV. If the user desires to 
perform further calculations on ele- 
ments which have been edited and 
written, he must use a WRITE-ITEM 
EDIT sentence or a WRITE-ARRAY 
EDIT AND CONTAIN sentence. If the 
user does not wish to perform further 
calculations on the elements, a 
WRITE-ARRAY EDIT s entenc e is 
permissible and will save storage 
space. 

Rules : 

1. Any subscripted array with one, 
two, or three subscripts, implying 
from one to 250 elements, may ap- 
pear in a WRITE-ARRAY sen- 
tence. A list of variables may 
not appear in a WRITE-ARRAY 
sentence. 

2. The complete name of the subscript 
array, including the parentheses 
and commas, must not exceed 12 
digits in length. 

3. If servo or storage is specified, 
the specification must appear after 
the name of the subscript array. 

4. Further calculations may not be 
performed on elements which have 
been edited and w r i 1 1 e n in a 
WRITE-ARRAY EDIT or WRITE- 
ARRAY CONVERT sentence. 



CLOSE-INPUT 

Formats : 

(n) CLOSE-INPUT SENTENCE F. 

(n) CLOSE-INPUT AND REWIND 
SENTENCE F. 

Example: 

(6) CLOSE-INPUT AND REWIND 
SENTENCE 2. 

Function: 

When the "CLOSE-INPUT" sentence 
with no "REWIND" is executed, 
MATH-MATIC expects further input 
on the servo assigned to the input sen- 
tence F. The next time input sentence 
Fis executed, values willbe read into 
the memory starting with the next 
block on the tape. 

When the "CLOSE-INPUT AND RE- 
WINDA" sentence is executed, MATH- 
MATIC expects the input of sentence 
F to be used again. Accordingly, the 
servo assigned to sentence F is re- 
wound and, the next time sentence F 
or another input sentence with the 
same servo is executed, values will 
be read into memory starting with the 
first block on the tape. 

Rules : 

1. Sentence F may come before or 
after sentence n, but it must be an 
input sentence. 

CLOSE-OUTPUT 

Formats: 

(n) CLOSE-OUTPUT SENTENCE F. 

(n) CLOSE- OUTPUT AND REWIND 
SENTENCE F. 



25 



Example: 

(17A) CLOSE-OUTPUT AND REWIND 
SENTENCE 11. 

Functions: 

When a "CLOSE-OUTPUT" sentence 
withno "REWIND" is executed, a sen- 
tinel item filled with Z. . . Z'sis placed 
on the output tape of sentence F. 
MATH-MATIC then prints out the 
number of blocks of output, writtenby 
sentence F. A later output sentence 
may now add data to the same tape. 

When a "CLOSE-OUTPUT AND RE- 
WIND" sentence is executed, a sen- 
tinel it em filled with Z. . . Z'sis placed 
on the output tape of sentence F, and 
the output servo is rewound. MATH- 
MATIC checks the readability of the 
information writtenby sentence F, and 
prints out the number of blocks of out- 



put written by sentence F. The data 
on this servo may now be used as in- 
put by a later READ or READ-ITEM 
sentence. Any of the three "IF SEN- 
TINEL. . . "options may be included in 
this later READ or READ-ITEM sen- 
tence since a sentinel item of Z. . . Z's 
was placed on the output (now the in- 
put) tape. 



Rules : 

1. Sentence F may come before or af- 
ter sentence n in the pseudo-code, 
but sentence F must be an output 
sentence. 

2. If theuser desires to use an output 
later as an input, the original out- 
put sentence must be a WRITE or 
a WRITE-ITEM sentence, not a 
WRITE- ARRAY sentence, and it 
must be unedited. 



Note: When using MATH-MATIC with UNIVAC II, the limit on input and out- 
put subscript arrays is increased from 250 to 800 quantities. 



26 



IV 



DATA PREPARATION A3>TD FORMATS 



I. DATA PREPARATION: 

The MATH-MATIC system uses a 
two word floating decimal mode of 
computation. The user may write 
the input data for the READ, READ- 
ITEM and READ- ARRAY sentences 
directly in the two word floating de- 
cimal form, or he may prepare his 
input data in a simpler form and use 
the Data Conversion routine to con- 
vert the data into the two word float- 
ing decimal form. For the purpose 
of input data preparation, the ele- 
ments of an array in a 'READ-ITEM' 
of a 'READ- ARRAY' sentence may be 
considered input variables, and an in- 
put array of n elements may be con- 
sidered an n- variable input item. 

There are three forms in which the 
values of input variables maybe pre- 
pared before entering the Data Con- 
version routine: integer, decimal, 
and power of ten form. Except for 
one special case of the power of ten 
form, each value occupies one UNI- 
VAC word space -filled to the right. 

Some examples of integer input va- 
lues are: 



Some examples of decimal input va- 
lues are: 

17. 8AAAAAAAA 

-.00384AAAAA 

+160.249AAAA 

.00552AAAAAA 

0. 1663AAAAAA 

129546.87312 

A power of ten form value may occupy 
one or two UNI VAC words. If two 
words are used, the first word con- 
tains the significant digits and the sec- 
ond word contains the ten and its ex- 
ponent. The exponent must be a posi- 
tive or negative integer. The first di- 
git of the second word must be a mul- 
tiplication sign (*). Some examples 
of power of ten form are; 

278*10 3 AAAAA 
-91.45*10 6 AA 



5AAAAAAAAAAA 
163AAAAAAAAA 
81515AAAAAAA 
-36AAAAAAAAA 
2100000000AA 
+6893AAAAAAA 
QAAAAAAAAAAA 



+. 134*10" 12 A 



64831. 259AAA 
*10 U AAAAAAA 
-3.5917266AA 

*10" 8 AAAAAAA 



!2 word 
power of 
ten form 

!2 word 
power of 
ten form 



The following rules apply to all three 
forms: 



27 



1. No more than 11 significant digits 
may be written in one U N I V A C 
word. 

2. A plus sign may be placed in the 
first digit of the UNIV AG word con- 
taining the significant digits. The 
plus sign, however, is not neces- 
sary. 

3. No spaces may be written in front 
of or between the significant digits, 
the decimal point, the ten and its 
exponent, and any +, - or * signs. 

4. Spaces must fill each word to the 
right; if the digits and symbols fill 
the UNIV AC word, space -filling is 
not needed. 

Each set of data is prepared one input 
item followed directly by another. No 
space is left between the items, and 
items maybe divided between blocks. 
Two items in one set of data must con- 
tain the same number of input values 
but are not necessarily written in the 
same number of UNIV AC words, be- 
cause of the variable size power of ten 
form. 

Each set of data must have a sentinel 
word of Z. . Z's in the word following 
the last valid item. Each additional 
set of data on the same tape must be- 
gin in new block. 

The user may prepare his sets of data 
on different tapes. The converted da- 
ta may be written all on one tape, or 
on as many tapes as is desired. 

The user is cautioned that the pro- 
cess of converting input data may ex- 
pand the data to as much as 4 times 
its original length on tape. Since a 
full UNIV AC tape holds approximately 
2000 blocks (at high density), the user 
should not convert more prepared data 
blocks on to one tape than the tape can 
hold. 



If the input sentence is a READ sen- 
tence, calling for a list of variables, 
the values in each prepared input item 
should be in the same order as the 
variables. For example, if the input 
sentence says READAAAXAB, each 
input item consists of 3 values; the 
first value represents A, the second 
value X, and the third value B. 

II. Arrangement of elements within 
an array 

This discussion applies to all sub- 
script arrays whether input, unedited 
output or edited output. Item padding, 
overlay blocks, and forms of the num- 
bers depend on the pseudo-code sen- 
tence and are all discussed elsewhere 
in this chapter, but the elements are 
always arranged within the array in 
the same order. 

In a subscript array with one subscript 
the elements are arranged in ascend- 
ing order. In any reference to a sub- 
scripted variable with one subscript 
the subscript denotes the position of 
the element in the array; i. e. , X(15) 
is the 15th element. 

In a subscript array with two sub- 
scripts, the values of the elements are 
arranged one complete row after an- 
other. In any reference to a subscrip- 
ted variable with two subscripts, the 
first subscript represents the row, 
and the second subscript represents 
the column in the array. 

In a subscript array with three sub- 
scripts, the values of the elements 
are arranged one complete plane after 
another, and within each plane, one 
complete row after another. In any 
reference to a subscripted variable 
with three subscripts the first sub- 
script represents the plane, the sec- 
ond subscript represents the row, and 
the third subscript represents the col- 
umn in the array. 



28 



In the case of the array X(20), there 
are 20 elements arranged as follows; 
X(l), X(2), X(3),..., X(20). 

In the case of the array B (8, 7), there 
are 8 rows and 7 columns, or 56 ele- 
ments running from B(l, 1) to B(8, 7). 
The 56 values are arranged in the fol- 
lowing order: B(l, 1), B(l, 2), ...B(l, 7); 
B(2,l), B(2, 2)...B(2, 7) B(3, 1) . . . 
B(8, 1)...B(8, 7). 

In the case of the array ALPHA(3, 4, 5) 
there are 3 planes, 4 rows, and 5 col- 
umns, or 60 elements running from 
ALPHAU, 1, 1) to ALPHA(3, 4, 5). The 
60 values are arranged within the to- 
tal array as follows: ALPHA(1, 1, 1), 
ALPHAU, 1, 2) . . . ALPHAU, 1, 5) ; AL- 
PHAU, 2, 1). .. ALPHAU, 2, 5), AL- 
PHAU, 3,1). . . ALPHA(2, 1, 1). . .AL- 
PHAS, 1, 1). . . ALPHA(3, 4, 5). 

III. Use of the Data Conversion Rou- 
tine 

The Data Conversion routine takes in- 
put in integer, decimal, and power of 
ten form and converts it to the two 
word floating decimal form MATH- 
MATIC requires for its internal oper- 
ations. The-Data Conversion routine 
also arranges the input items for the 
system by padding the incomplete item 
sizes, establishing overlay block in 
the large input items, and providing 
sentinels for each set of input data. 
If the user does not want to make use 
of the Data Conversion routine, he 
must prepare his data in the two word 
floating decimal form and he must in- 
clude the necessary padding, overlays 
and sentinels himself. 

The user may convert his data any 
time prior to the problem run. For 
convenience, the Data C o nv e r s io n 
routine will appear at the beginning of 
every compiled program, as well as 
being separately available. Thus the 



user may convert and properly dis- 
tribute his data immediately before 
running. The control words for the 
data conversion routine may be typed 
in at the supervisory control at the 
time of conversion, or may be pre- 
pared on tape. In all cases, the rou- 
tine prints out the number of blocks in 
each set of c o n v e r t e d input data, 
checks the readability of each con- 
verted tape and rewinds all tapes. 

To convert data independently of the 
problem run mount the Data Conver- 
sion routine on any servo t, and de- 
press servo selector key t. Initial 
read servo t. Immediately upon 
starting the program the follow print- 
out occurs. 



CONTROL AT APE 

A type -in is set up. If the tape con- 
trol option is being used, type in: 



XXXXXXXXXXXX 



where X is the number of the servo 
containing the control tape. 



The Data Conversion routine converts 
all the data and goes into the Conver- 
sion Ending routine. 



If the type -in control option is being 
used, type in 



SCPACONTROLA 



29 



These print-outs and type-ins follow: 
PRINT -OUT 



READASENTNCE 



ITEMASIZE AAA 



SERVOS AAAAAA 



XXXXABLOCKS A 
ONASERVOAP A A 



TYPE-IN 



READAAAAAMA or READ- ARRAYAA or READ- 

ITEMAAA; ZZZZZZZZZZZZ if there are no fur- 
ther data. 

yAAAAAAAAAAA where X is the number of vari- 
ables or elements in each input item; if X > 9, 
type in X XAAAAAAAAAA or XXXAAAAAAAM. 

AAAAAABBBBBB where A is the servo con- 
taining the prepared data and B is the servo 
desired for the converted data; A ^ B. 

No type-in called for; the routine has finished 
converting the set of data and is ready for an- 
other one. 



One set of these printouts and type-ins 
takes place for each set of input data. 
The printouts and type -ins continue 
until a word of Z. . . Z's is typed in 
after READASENTNCE has printed 
out. Then the Conversion Ending rou- 
tine is entered. 



If more than one set of prepared input 
data is on one tape, the same servo 
A will be typed in more than once. If 
the userdesires to put more than one 
set of converted data on one tape, the 
same servo B will be typed in more 
than once. 



If tape control is used, the first block on the control tape must be in the form: 



HEADERAAAAAA 
HEADERAAAAAA 
HEADERAAAAAA 
READAAAAAAAA 
XAAAAAAAAAAA 
AAAAAABBBBBB 



3 word 
header 
item; 
may be 
anything 

as many of these / Type of read sentence 

groups are there I item size 

are sets of data (up to 18)] Servo A for prepared 

data 

Servo B for converted 

data. 



30 



AAAAAABBBBBB ) 

zzzzzzzzzzzz 

A A 



last group 

sentinel 

insignificant words for the rest of the block. 



The first 3 words in the block may be 
any header the user wishes. The 
three word groups are the same as 
the three type -ins described above. 
The following printouts occur each 
time a three word group is processed: 

XXXXABLOCKSA 

ONASERVOABAA 

The Conversion Ending routine func- 
tions automatically after the last set 
of data has been converted. Every 
tape which has had converted data 
written on it is checked for readability 
and all tapes are rewound. The Com- 
puter stops after "ENDACONVERTA" 
is printed out. 

To run the Data Conversion routine 
on the compiled running tape, mount 
the running tape on any servo, t, and 
depress the servo selector key for 
servo t. Set break point #1 and ini- 
tial read servo t. Force transfer on 
breakpoint #1 and the following print- 
out occurs: 

CONTROL AT APE 

If transfer is not forced, the problem 
run will be started immediately. 
From this point the options printouts 
and type-ins are the same as when the 
Data Conversion routine is run sepa- 
rately. 



Again, after the Conversion Ending 
routine takes place, "ENDACON- 
VERTA" print out and the computer 
stops, leaving the running tape posi- 
tioned for the problem run. All other 
servos are rewound. At this point the 
user need remove only those tapes 
which should be blank in order to re- 
ceive output during the problem run. 
The user should select the servo B's 
of the control words so that each set 
of converted data is placed on the ser- 
vo specified for it in the pseudo-code 
or in the compilation. Then those 
tapes may remain where they are at 
the end of the Conversion Ending rou- 
tine. After the servo set-up is 
checked for conformity with the com- 
pilation printouts, the start bar should 
be hit to begin the problem run. 

IV. Formats 

The MATH-MATIC system expects 
all values which are read in or used 
in calculation during the problem run 
to be in two word floating decimal 
form: 
OXXXXXXXXXXX 11 significant digits 

0000000000EEE ten's exponent 

This form r ep r e s e nt s the number 
+. XXXXXXXXXXX * 1 ± E E E . The 
first digit after the sign in the first 



31 



word must be non-zero, unless the 
value itself is zero. Some exam- 
ples of two word f 1 o ati n g decimal 
form follow: 



036100000000 



000000000002 



}=3, 



017487000000s 

[•= .00017487 



-00000000003 
-84666137191 
000000000002 
000000000000 
000000000000 



}■ 



■84. 666137191 



-15400000000 
0000000000 



00. 

U -15,400, 
11' 



000,000 



Unedited output is also in two word 
floating decimal form. 

All inputs and outputs handled in 
READ, READ-ITEM, unedited 
WRITE and unedited WRITE -ITEM 
sentences are arranged in allowable 
item sizes by means of padding and 
block overlays. If the Data Conver- 
sion routine is bypassed, the user 
must arrange the padding and block 
overlays in his input data. In all other 
cases MATH-MATIC arranges the 
items according to the following rules; 

1) The numbers of variables which 
make up allowable item sizes are 1, 
2, 3, 4, 5, 6, 10, 15, 30, 35, 40, 45, 50, 55 

60, 65, 70, 75, 80 235, 240, 245 and 

250. If the number of variables in 
the actual item is not one of the al- 
lowable item size, the item is padded 
at the end with the number of dummy 
variables needed to make it an allow- 
able item size; e.g., a 7 variable item 



will have 3 dummy variables at the 
end to make up a 10 variable item. 
Each dummy variable consists of 2 
words of zeroes since the values are 
expected to be in two word floating 
decimal form. A 74 variable item 
will be padded at the end with one 
dummy variable (2 words) to make up 
a 75 variable item, which is an allow- 
able item size. 

2) If the number of variables in the 
item is 30 or less, the following chart 
gives the distribution of items per 
block; 



No. 


of 


No. of 


No. 


of items 


variables 


words 


pe 


r block 


1 




2 




30 


2 




4 




15 


3 




6 




10 


4 




8 




7 


5 




10 




6 


6 




12 




5 


10 




20 




3 


15 




30 




2 


30 




60 




1 



In the 4 variable (8 word) case the 7 
items occupy the first 56 words of the 
block, leaving 4 insignificant words 
at the end of the block. In the other 
cases on the above chart the items 
fill each block entirely. 

3) If the number of variables in the 
item is greater than 30, each item 
will occupy more than one block. To 
determine the number of blocks oc- 
cupied by each item, divide the num- 
ber of variables, n, by 30. Call the 
quotient of the division q and the re- 
mainder r. For example, if n = 85, 
q = 2 and r = 25. If n is evenly divi- 
sible by 30, (r=0), the item entirely 
fills q blocks and no overlay is used. 
If r ^ 0, the item occupies q+1 blocks. 
Every block in the item except the 
next to last block is filled with 30 va- 



32 



lues of variables. The next to last 
block contains r values of variables 
at the beginning of the block and in- 
significant words in the remainder 
of the block. When the items are read 
into the memory, the last block will 
overlay the insignificant words ofthe 
next to last block. For example, an 
85 variable item would be arranged in 
3 blocks as follows; the first 30 vari- 
ables in the first block, the next 25 
variables in the second block, and the 
last 30 variables in the third and last 
block. The third block will overlay 
the last 10 words of the second block. 

For READ-ARRAY and unedited 
WRITE -ARRAY sentence the values 
of the variables are in two word float- 
ing decimal form. The values of the 
one set of data for a RE AD- ARRAY 
sentence are arranged consecutively 
on tape without padding or overlays. 
The first 30 values in the set of data 
fill the first block. Any further va- 
lues start from the beginning of the 
second block. Any values in excess 
of 60 start in the third block, and so 
forth. The values in each output item 
of an edited or an unedited WRITE- 
ARRAY sentence are arranged con- 
secutively on tape without overlays. 
Each of them occupies an integral 
number of blocks on tape. Any item 
size from one up to 30 variables is 
padded to 30 variables to fill one 
block. Any item size from 31 to 60 
variables is padded to 60 variables 
to fill two blocks, and so forth. If 
the item size is multiple of 30, such 
as 30, 60, 90, 120 etc. , no padding 
is needed. In an unedited WRITE- 
ARRAY sentence the padding consists 
of irrelevant value s from anothe r 
storage area. The padding in an edi- 
ted WRITE -ARRAY item occupying 
one block, also consists of irrelevant 
numbers, but if the item occupies 
more than a block, the padding con- 
sists of spaces. 



The values of the variables in each 
item of an edited WRITE or edited 
WRITE-ITEM sentence are written 
consecutively without overlays. 
There will be padding at the end of 
each item if the number of variables 
is not an allowable edited item size. 
The padding consists of spaces regard- 
less of item size. The allowable 
edited item sizes are 5,10,15,30,60, 
90, 120, 150, 180, 210, 240, and 270. 
The number of items per block for the 
item sizes of 30 or less are given in 

the following chart: 



No. 


of 


No. of 


No. 


of items 


variables 


words 


pe 


r block 


5 




10 




6 


10 




20 




3 


15 




30 




2 


30 




60 




1 



Each item size greater than 30 oc- 
cupies the integral number of blocks 
required at 30 values per block. For 
example, a 130 variable item is given 
20 variables of padding (40 words of 
spaces) to make an allowable 150 va- 
riable item which will occupy 5 
blocks. The user is reminded of the 
50 variable limit in a list of variables 
and the 250 variable limit in a sub- 
script array. 

If it is desired to perform further 
calculations with values of variables 
which have been edited a WRITE- 
EDIT, WRITE-ITEM EDIT or WRITE - 
ARRAY EDIT AND CONTAIN sentence 
must be used. AW RITE-ARRAY 
EDIT sentence may not be used if fur- 
ther calculations are desired. If fur- 
ther calculations are not desired, a 
WRITE- ARRAY EDIT sentence is re- 
commended for efficiency in use of 
storage space. 



33 



For WRITE EDIT FOR UNIPRINTER 
and WRITE-ITEM EDIT FOR UNI- 
PRINTER sentences, there are five 
additional allowable edited item sizes 
1, 2, 3, 5 and 6. The following chart 
gives the number of edited items per 
output block; 



No. 


of 


No. of 


No. of items 


varial 


bles 


words 
2 


per block 


1 




30 


2 




4 


15 


3 




6 


10 


4 




8 


7 


6 




12 


5 



In the case of a 4 variable item, the 
7 items occupy the first 56 words of 
each block, leaving four words of 
spaces at the end of each block. In 
each of the other cases the block is 
filled with edited values. 

The "EDIT" form is: 
+. XXXXXXXXXXX(+EE) 

This form represents the number 
+. XXXXXXXXXXX * 10± EE . Some 
examples of the "EDIT" form are: 

+. 16543397800(+3) 

-.81654000000(+0) 

+. 50041913644(-10) 



If EE > 99 in the floating decimal 
value, an error printout occurs and 
the value is transf e rred to output stor- 
age unmodified. 

The "CONVERT" form is; 

+XXXX. XXXXXXX(if EE >0) or 

+. 000XXXXXXXXXXX(if EE < 0) 

Some examples of the "CONVERT" 
form are: 

+75.163000000 

-.26499300000 

+.00000817143000 



If EE > 10 in the floating decimal va- 
lue, an error printout occurs and the 
value is transferred to output storage 
unmodified. 



If non-numeric words are picked up 
by either the EDIT or the CONVERT 
routines, the words will be transfer- 
red to output storage unmodified. 



Note: When using MATH-MATIC with UNIVAC II, the limit on input and out- 
put subscript arrays is increased from 250 quantities to 800 quantities. Also 
the maximum input -output storage is increased from 660 words to 1700 words. 



34 



V 



COMFTXTEJI^ -A.ND OOM3PILE1IS, SECTIONS 



I Purpose 

Occasionally a problem will go be- 
yond the present MATH-MATIC 
repertoire. The user can write 
COMPUTER or COMPILER sentences 
in his pseudo-code to handle these 
special problems. Each COMPILER 
sentence calls for the insertion of a 
number of ARITHMATIC operations 
into the problem statement. Each 
COMPUTER sentence calls for the in- 
sertion of a number of UNI VAC in- 
structions into the problem statement. 
The sets of inserted instructions are 
called the COMPUTER or COMPILER 
sections. For each COMPUTER or 
COMPILER sentence in the pseudo- 
code there must be a corresponding 
COMPUTER or COMPILER section. 
These sections of UNIVAC instruc- 
tions and ARITH-MATIC operations 
are prepared on the pseudo-code tape 
following the STOP sentence, and af- 
ter the DIRECTORY, if one is needed. 
Each COMPUTER or COMPILER sec- 
tion must begin in a new block and may 
be any number of blocks in length. A 
sentinel block with Z. . . Z's in the first 
and last words must follow the last 
COMPUTER or COMPILER section. 
The DIRECTORY is a list of constants 
and variables referred to in the COM- 
PUTER and COMPILER sections. The 
DIRECTORY begins the next block af- 
ter the STOP sentence and precedes 
the COMPUTER and COMPILER sec- 
tions. The next part of this chapter 
gives the rules and conventions of 
COMPUTER and COMPILER sen- 
tences. The rest of this chapter gives 
rules and ex a mp 1 e s of the DIREC- 



TORY, COMPUTER Sections, and 
COMPILER Sections. The repertoire 
of ARITH-MATIC operations appears 
in the appendix of this manual. 

II COMPUTER and COMPILER Sen- 
tences 

A. FORMAT 

(n) COMPUTER -XXX. 

(n) COMPUTER-XXX STORAGE Y 
(ttt) STORAGE Y(ttt) SERVO s. 

(n) COMPILER-XXX. 

(n) COMPILER-XXX STORAGE Y( ttt) 
SERVO s STORAGE Y(ttt). 

where XXX is the C O M P U T ER or 
COMPILER label, Y the storage area 
designation, ttt the storage area size, 
and s the servo number. 

B. EXAMPLES 

(3) COMPUTER-3B STORAGE A(60) 
SERVO 7 STORAGE B(10) STORAGE 
C(60) SERVO - . 

(46) COMPILER- SB7 STORAGE 1(60) 
SERVO 3. 

C. FUNCTION 

A COMPUTER or COMPILER sen- 
tence informs MATH-MATIC that a 
COMPUTER or COMPILER section 
appears after the STOP sentence. 
The machine code produced by the sys- 
tem for these sections will be inserted 



35 



in the running program for execution 
as sentence (n). Storage areas and 
associated servos, if needed in the 
COMPUTER or COMPILER sections, 
must be specified in the sentences. 

D. CONVENTIONS 

1. For each COMPUTER or COM- 
PILER section there must be a 
corresponding COMPUTER or 
COMPILER sentence. 

2. The label (XXX) of the COMPU- 
TER or COMPILER sentence 
must match the label of the head- 
er of the COMPUTER or COM- 
PILER Section. 

3. The storage area (Y), if one is 
used, is designated by analpha- 
betic character other than W. 

4. The storage area size (ttt) is the 
number of UNIVAC words needed 
for storage, (ttt) maybe any 
even number up to 500.* 

5. The servo number (s) may be any 
available servo froml through 9 
and - . 

6. The label (XXX) may be num- 
eric, alphabetic, or a combina- 
tion of numerics and alpha - 
betics. The label may be one, 
two, or three digits in length. 

7. If a read or write order appears 
in the COMPUTER or COM- 
PILER section, the stora,ge area 
and the servo must be specified 
in the corresponding sentence. 

8. Any amount of English descrip- 
tion may be used in these sen- 
tences to describe the function 
of the COMPUTER and COM- 
PILER sections. This descrip- 
tionfollows the storage area and 



servo assignment, but comes 
before the space period (A.) which 
ends the sentence. In writing 
this description, care must be 
taken not to use words of more 
than 12 digits. 

Ill The DIRECTORY 

The DIRECTORY is a list of constants 
and variables referred to in COMPU- 
TER and COMPILER sections. Any 
variable, which the user wishes to re- 
fer to in a COMPUTER or COMPILER 
section and which appears elsewhere 
in the pseudo-code, must be listed in 
the DIRECTORY. The first entry in 
the DIRECTORY after the header is 
referred toby the address "W01" in the 
COMPUTER and COMPILER sections; 
the second entry is "W02, " and so 
forth. Each one word entry in the 
DIRECTORY represents a two word 
floating decimal quantity. 

Address in COM- 





PUTER and COM- 


Example 


PILER sections 


DIRECTORY AAA 


Header 


6AAAAAAAAAAA 


W01 


-27.74 AAA AAA 


WO 2 


XAAAAAAAAAAA 


WO 3 


YAAAAAAAAAAA 


WO 4 


81*10" 8 A A A A A 


W05 


ALPHA AAAAAAA 


WO 6 


ENDADIRECTRY 


Sentinel 



A. CONVENTIONS 

1. The DIRECTORY is a means of 
cross-referencing variables and 
constants among COMPUTER 



*On UNIVAC II, this limit is raised to 1600. 



36 



and COMPILER sections and the 
pseudo-code sentences. One 
DIRECTORY must suffice for all 
cross- referencing needs in each 
problem statement. 

2. The DIRECTORY must begin in 
anew block immediately follow- 
ing the pseudo-code sentences 
and must precede the COMPU- 
TER and COMPILER sections. 

3. The DIRECTORY must start 
with the header, "DIRECTORY 
AAA, " and must finish with the 
sentinel, "END ADIRECTRY. " 
(Note the missing O). The sen- 
tinel must immediately follow 
the last valid entry in the DIR- 
ECTORY. 

4. A maximum of 99 entries, cor- 
responding to the address W01 
to W99, are p e r mi 1 1 e d in the 
DIRECTORY. In the above ex- 
ample the last entry, "ALPHA, " 
has the address W06. 

5. All entries in the DIRECTORY 
must begin at the 1 e f t of the 
UNI VAC word and must be 
space-filled to the right. 

6. The c on st ant s in the DIREC- 
TORY may be integers, deci- 
mals, or in power of ten form. 

7. A set of consecutive entries in 
the DIRECTORY are not always 
given consecutive storage loca- 
tions by MATH-MATIC, and the 
user is cautioned against de- 
pending on this. A set of con- 
secutive entries in the DIREC- 
TORY will be given consecutive 
storage locations only if none of 
the entries in the set appears in 
an input or output sentence else- 
where in the pseudo-code state- 
ment. 



The user should regard the DIR- 
ECTORY as across-referencing 
device rather than as a storage 
area. 

IV COMPILER section 

A COMPILER section consists of 
ARITH-MATIC operations. The rep- 
ertoire of ARITH-MATIC operations 
appears in the appendix of this manu- 
al. The operations in the COMPILER 
section will be executed during the 
problem run at the point in the pseudo- 
code where the corresponding COM- 
PILER sentence appears. 

EXAMPLE 

The COMPILER sentence is given 
first, then the COMPILER section 
corresponding to the sentence. 

The sentence 

(10) COMPILER-ABC SERVO 3 
STORAGE D(80). 

Operation number 
for reference in 
the COMPILER 
The section section k 

COMPILER-ABC 

GMI003080D00 M000 

TS W04000W05 M001 

AA0D16W02W06 M002 

ALLD20D76W04 M003 

01CN0000 35AA 

02CN00M002AA 

AM0D5 0D40D30 M004 

ENDACOMPILER 



37 



CONVENTIONS 

1. Each COMPILER section must 
begin in a new block and must 
come after the pseudo-code sen- 
tences and after the DIREC - 
TORY. 

2. The first word of the COMPILER 
section must be a header which 
is exactly the same as the first 
word of the corresponding COM- 
PILER sentence. 

3. The COMPILER section may in- 
clude any number of blocks, and 
the first word after the last valid 
operation must be the sentinel, 
"ENDACOMPILER. " 

4. The symbolic addresses in the 
ARITH-MATIC operations must 
be one of the following: 

a) W address referring to 
entries in the DIRECTORY. 

b) symbolic address referring 
to the storage area(s) speci- 
fied anywhere in the pseudo- 
code. "D16" in operation 
M002 is an example of this. 

5. The operations in a COMPILER 
section are numbered consecu- 
tively relative to the first opera- 
tion. The first op e r a t i o n is 
numbered M000. The XXCN's 
do not take operation numbers. 
The operation numbers are for 
user's reference only, and should 
not appear in the COMPILER 
section. 

6. An M XXCN"with a "0" in the 7th 
digit position calls for a trans- 
fer of control to the pseudo-code 
sentence whose number appears 
in the 8th through the 10th digit 



positions. The 01CN in the ex- 
ample transfers control to sen- 
tence 35. If the sentence num- 
ber has an appended alphabetic, 
the alphabetic will be in the 11th 
digit position. For example, a 
transfer to sentence 7B would be 
written as XXCN000007BA. 

7. An "XXCN" with an "M" in the 
7th digit p o s i ti on calls for a 
transfer of control to another op- 
eration within the COMPILER 
section. The operation number 
to which control is being trans- 
ferred appears in the 8th through 
the 10th digits of the "XXCN. " 
The "02CN" inthe example 
transfers control to operation 
M002 in the COMPILER section, 
the AAO operation. 

V COMPUTER sections 

A COMPUTER section consists of 
UNIVAC instructions. The instruc- 
tions in a COMPUTER section will be 
executed during the problem run at the 
point in the pseudo-code wh e r e the 
corresponding COMPUTER sentence 
appears. 

EXAMPLE: 

The COMPUTER sentence is given 
first, then the COMPUTER section 
corresponding to the sentence. 

The sentence 

(17) COMPUTER-2 SERVO 6 STOR- 
AGE B(70). 



Line number for 
reference in the 
COMPUTER sec- 
tion 



The section 

COMPUTER-2AA 



38 



M001 

M002 

M003 

The two following 
lines remain u n - 
modified. 

MO 04 unmodified 

during 
M005 compilation 

MOOb 

M007 

M008 

M009 

M010 

M011 

M012 

MOB 

M014 

ARITH-MATIC 
sentinel 

number of "ST" 
lines reserved 



V0W001W0B0 1 
B0M001A0M0 04 
A0M00 1U0M006 
CONSTANTS0 2 

00000000000 2 
111111111000 
L00 S TQ0M001 
00OOOOTOO 1CN 
000000000000 
56B010B0B005 
H0W1 03F0W006 
GO W0 3 1 0B009 
00 0OO0QOO2CN 
000000000000 
B0B004C000ST 
ENDAOWNAAAAA 

STORAGE0 1 

01CN000030AA 
02CN000006AA 
ENDACOMPUTER 

CONVENTIONS; 



1. EachCOMPUTER section must 
begin in a new block and must come 



MATH-MATIC 
sentinel 



after the pseudo-code sentences 
and after the DIRECTORY. 

2. The first word of the COMPUTER 
section must be a header which is 
exactly the same as the first word 
of the COMPUTER sentence. 

3. The COMPUTER section may in- 
clude any number of blocks. 

4. Thetwo s entinels , "ENDAOWN 
AAAAA" and "ENDACOMPUTER" 
must immediately follow the last 
valid instruction of the COMPU- 
TER section. "STORAGEOOnnn" 
and XXCN references, it needed, 
are placed between the two sen- 
tinels. 

5. The symbolic addresses in the 
UNIVAC instructions lie in the 3rd 
through 6th digit positions and the 
9th through 12th digit positions of 

instruction. Each symbolic ad- 
dress must be one of the follow ~ 
ing three types; 

a) M in the 3rd or 9th digit posi- 
tion; the reference is to another 
line in the COMPUTER section. 
The conditional transfer in line 
M0 06 of the example is to line 
M001. 

b) W in the 3rd or 9th digit posi- 
tion; The reference is to an 
entry in the DIRECTORY. If 
"W" is in the 3rd digit position, 
the 5th and 6th digit positions 
will contain the DIRECTORY 
reference. For example, the 
left half of line M001 refers to 
W01. The 4th digit position must 
be "0" or "1. " A "0" refers to 
the first word in the two word 
floating decimal value of the 
DIRECTORY entry. A "1" re- 
fers to the second word (the 
ten's exponent) of the two word 
floating decimal value of the DI - 
RECTORY entry. The "\V103"in 



39 



line M010 refers to the ten 1 s ex- 
ponent of WO 3 in the DIREC- 
TORY. The "WOO 3" in line 
M011 refers to the significant 
digits of WO 3 in the DIREC- 
TORY. Similarly, if the 9th 
digit is W, the 11th and 12th 
digits contain the DIRECTORY 
reference, and the 10th digit 
must be "0" or "1. " 

c) Any other letter in the 3rd or 
9th digit positions must be the 
same as a storage area that has 
been specified somewhere in 
the pseudo-code. The two B's 
inlineM009 of the example re- 
fer to the storage area reserved 
by the COMPUTER sentence. 

6. Any transfers of control to within 
the COMPUTER section are made 
with M references, as in line 
M006. 

Any transfers of control to other 
pseudo-code sentences call forthe 
useofXXCN, as inlines M007 and 
M012. Wherever an XXCN appears 
in a COMPUTER section before the 
"ENDAOWNAAAM" sentinel, the 
left half of the word containing the 
XXCN must be a skip instruction, 
and the entire word following must 
be skip instructions. 

Each XXCN referred to in the 
COMPUTER section before the 

"ENDAOWNAAAM" sentinel must 
appear at the beginning of a word 
placedbetweenthe ENDAOWNAAAM 



and the ENDAC OMPUTER sen- 
tinels. In the 8th through the 10th 
digit positions of these words ap- 
pears the number of the sentence 
to which control is to be trans- 
ferred. If the number of the sen- 
tence to which control is trans- 
ferred has an appended alphabetic, 
the appended alphabetic appears in 
the 11th digit position. 

8. If the user wishes to maintain a 
UNIVAC word undisturbed by seg- 
mentationhe shoulduse an "XXST" 
address. Lines M006 and M014 in 
the example refer to "00ST. " If 
more than one "XXST" is desired 
in one COMPUTER s ecti on, the 
"XXST's" must be numbered in or- 
der; 00ST, 01ST, 02ST, etc. If 
any "XXST's" are used, the word 
"STORAGEOOOnn" must appear 
immediately following the sentinel 
"ENDAOWNAAAM." The "nn" in 
"STORAGEOOOnn" is the number of 
XXST's in the COMPUTER sec- 
tion. 



If theuser desires tokeep several 
consecutive lines anywhere in his 
COMPUTER section unmodified 
throughout compilation, he should 
insert the word "CONSTANTS 
XXX " just before the unmodified 
lines. The word "CONSTANTS 
XXX" does not take an "M" refer- 
ence and will not appear on the 
compiled running tape. "XXX" is 
the number of lines following that 
are not to be modified. 



40 



VI 



OFER-A-TING- INSTRUCTIONS -A.2ST3D SERVICE :R,0"LTTTN-E3S 



I OPERATING INSTRUCTIONS 

To perform a MATH-MATIC compila- 
tion mount tapes on the following ser- 
vos: 



SERVO 


TAPE 


1 


MATH-MATIC MASTER 


2 


BLANK 


3 


BLANK 


4 


BLANK 


5 


BLANK 


6 


MATH-MATIC LIBRARY 


7 


BLANK 


8 


PROBLEM STATEMENT 



IN MATH-MATIC PSEU- 
DO-CODE 

9 BLANK 

No breakpoints 

Block subdivide Servo 3 

Set Supervisory Control Printer on 

Normal 



Initial read Servo 1 

The following normal printouts will 
take place; 



END PHASE 1 
END PHASE 2 

SENTENCE #nnnn SERVO t 



one for 
each in- 
put- ou t- 
put sen- 
tence 



END PHASE 3 

END PHASE 4 

END SWEEP 1 

END SWEEP 2 

END SWEEP 3 

END SWEEP 4 

XXX BLOCKS OF RUNNING TAPE ON 
SERVO 7. 



BLOCK SUBDIVIDE SERVO 3 FOR 
EDITED RECORD 



XXX BLOCKS OF EDITED RECORD 
ON SERVO 3. 

END MATH-MATIC COMPILATION 

The edited record should be removed 
from Servo 3 for printing. The com- 
piled running tape may be left on Ser- 
vo 7 or it may be mounted on any other 
servo for the problem run. 



41 



To perform the problem run, the user 
should mount his prepared input tapes 
and blanks for his output tapes accord- 
ing to the compilation printouts. Out- 
put servos should be block subdivided 
if high speed printing is intended. The 
servo selector key for the servo on 
which the running tape is mounted 
should be depressed. This servo is 
then initial read to begin the problem 
run. The only normal printouts dur- 
ing the problem run are those re- 
quested Dy the pseudo-code. At the 
completion of the problem run, the fol- 
lowing printouts will take place: 

0OOO00000XXX 



Upon completion of compilation t h e 
following will be printed out on the 
Supervisory Control typewriter: 



XXX BLOCKS OF EDITED RECORD 
ON SERVO 3. 



(XXX specifies the number of blocks 
on the tape). The tape on s e r v o 3 
should thenbe removed and printed on 
the High Speed Printer. 

The general format of the record is 
as follows: 



BLOCKS OF OUTPUT SERVO T 



1. The following header identifies 
the print-out itself: 

MATH-MATIC RECORD 



END OF RUN. 
(One set for each completed output. ) 

Each output tape is backward read and 
checked for readability, and all tapes 
are rewound. 



2. The second header indicates the 
MATH-MATIC input: 



MATH-MATIC PS EUDO CODE 



All error printouts and correction op- 
tions during compilation and during 
the problem run are discussed in the 
appendix of this manual. 



Under this header, the MATH-MATIC 
pseudo-code appears as written by the 
user. 



II THE EDITED RECORD 



3. The third header is: 



The Edited Record provides a com- 
plete record of the transition from 
MATH-MATIC pseudo-code sentences 
through ARITH-MATIC pseudo-code 
operations into the final Univac C-10 
running program. This Record will 
aid the user in detecting logical flaws 
in his program, and enable him to 
trace them back to the original pseudo- 
code sentences. 



INPUT AND OUTPUT STORAGE 
AND SERVO ALLOCATION 



Under this designation is given input 
and output sentences of the system as 
well as the variables contained in them 
as listed for storage purposes. This 
part of the record is divided into two 
sections. 



42 



A. The first section contains a list of 
all the input and output information 
broken down into five columns. 

Column 1: Specifies the sentence 
number of the input or out- 
put pseudo-code sentence. 

Column 2: The header of this column 
is SENT. NAME. The 
first word of every input or 
output sentence is listed in 
this column. 

Column 3: This is headed SYMBOLIC 
ADDRESS and given the 
symbolic name of the area 
in memory in which the in- 
put or output data will be 
stored. 

Column 4: This column is headed 
ACTUAL ADDRESS and 
under it is the actual ad- 
dress in Univac memory in 
which the data will be 
stored during the Univac 
run. 

Column 5: The header of this column 
is SERVO ALLOCATION 
In this columnis listed the 
servo number from which 
data will be read or to 
which data will be written 
during the Univac run. 

B. The second sectionof INPUT AND 
OUTPUT STORAGE AND SERVO AL- 
LOCATION will contain the storage 
address for every variable or constant 
used in the problem. These will be 
listed in three columns. 



Column 1: 



This is headed PARAM- 
ETER. In this column is 
listed the name of each 
variable or constant. 



Column 2: The header of this column 



is SYMBOLIC ADDRESS. 
Under it, the symbolic line 
number of the variable will 
be listed. 

Column 3: ACTUAL ADDRESS is the 
header of the third column. 

This is a list of the line as- 
signed to the parameter in 
the memory of Univac dur- 
ing the problem run. 

4. The fourth of the main headers is 
"PERMANENT ARITH-MATIC 
CONTROLS. " 

Under this header is listed the Univac 
code which is turned out by the ARITH- 
MATIC compiler for every problem. 
This coding is used to control the pro- 
blem during the problem run. The 
four different parts of the control sec- 
tion are labeled: 

A. MEMORY CLEAR. 

B. SPECIAL READS FOR DATA 

C. SEGMENT CONTROL 

D. FLOATING DECIMAL ARITH- 
METIC 

E. CONSTANTS 



In the next section of the record, the 
MATH-MATIC sentence is listed with 
its corresponding ARITH-MATIC and 
Univac code. 



Each sentence will begin a new half 
page of High Speed Printer paper. At 
the top of the page the MATH-MATIC 
sentence number and the first word of 
the sentence will appear. Following 
the sentence number and name are two 
columns with the following headers: 



43 



ARITH-MATIC OPERATIONS 

UNIVAC CODE 

In column one the ARITH-MATIC op- 
erations which correspond to the 
MATH-MATIC sentence are listed and 
numbered. 

In column two the Univac instructions 
which correspond to the MATH- 
MATIC sentence will be listed with 
their line numbers. 

On the right side of the page substitu- 
tion information will be listed only 
when two similar ARITH-MATIC op- 
erations appear in the same segment. 
The format of this information is: 

SUBSTITUTION FOR XXX 

BEGINS YYY 

ENDS ZZZ 

XXX is the call-word of the ARITH- 
MATIC operation. 

YYY is the line number of the Univac 
coding where the operation begins, 

ZZZ is the line number of the Univac 
where the operation ends. 

The only coding that is listed in col- 
umn 2 for a substituted operation will 
be coding to transfer the parameters 
to the proper storage locations and ef- 
fect a transfer to the actual routine. 
This routine to perform the desired 
function is located at the end of the 
segment. 

The ARITH-MATIC operations are 
numbered consecutively from zero to 
99999. Univac instructions are num- 
bered consecutively up to 999. The 
Univac addresses begin after the last 
address assigned to the storage 



blocks. When the number of instruc- 
tions exceed 999 a new segment be- 
gins. Each segment is labeled. 
SEGMENT XXX appears under the 
header UNIVAC CODE and the line 
numbering will begin anew. 

When a MATH-MATIC sentence in- 
volves an iterative loop or specifies 
a range of sentences for any other 
reason, part of the coding produced 
for that sentence is of necessity in- 
serted at the end of the specified 
range, rather than in normal se- 
quence. When this occurs, the word 
INSERT identifies the disassociated 
section of coding at the end of the spec- 
ified range and a description of the na- 
ture of the ARITH-MATIC operations 
and U NI V A C instructions associated 
with the wordlNSERT appears next to 
it. Under this heading, the usual 
three-column listings of the ARITH- 
MATIC pseudo-code and Univac code 
is presented. 

Ill SERVICE ROUTINES 

Service routines associated with the 
MATH-MATIC system are described 
briefly in this section. Details and 
operating instructions for these ser- 
vice routines will appear in the MATH- 
MATIC PROGRAMMER'S MANUAL. 
The PROGRAMMER'S MANUAL will 
also contain the rules and conventions 
of writing glossaries and subroutines 
for the MATH-MATIC Library, and a 
detailed description of the Master and 
Library tapes and the present library 
glossaries and subroutines. With the 
information in the PROGRAMMER'S 
MANUAL the user can take advantage 
of the service routines to get more 
efficient use of the system. 

a. Librarian 

The Librarian routine is part of the 
MATH-MATIC Library tape. It per- 
mits the user to make changes, ad- 



44 



ditions, and deletions in the glossaries 
and subroutines of the MATH-MATIC 
Library. The user must write the new 
glossaries and subroutines according 
to the rules of the MATH-MATIC sys- 
tem. The Librarian routine automat- 
ically inserts the new glossaries and 
subroutines into the Library at the ap- 
propriate positions. With the Librar- 
ian the user may expand the MATH- 
MATIC and ARITH-MATIC reper- 
toires to facilitate h andl i ng of his 
special problems. The Librarian 
routine produces a complete new 
Library tape ready for use in compil- 
ation. 

b. Pseudo-code Edit 

The Pseudo-code Edit routine edits 
the problem statement in MATH- 
MATIC pseudo-code into a form 
which, when printed on the high speed 
printer, may be read and understood 
easily. Superscript symbols are 
translated into the actual numerical 
exponents and the pseudo-code sen- 
tences are lined u p on the printed 
page. The Pseudo-code Edit routine 
will simplify the task of checking the 
problem statement on the tape. This 
routine is available separately. 

c. Error Bypass 

The MATH-MATIC system is equipped 
with the ability to detect various types 
of errors that might appear in a 
pseudo-code problem statement. In 
most cases these errors can be cor- 
rected during compilation by super - 
visory control type-ins. There are, 
however, certain errors which cannot 
be corrected convenientlyduring com- 
pilation, but necessitate correction of 
the original problem statement. This 
requires that compilation b e inter- 
rupted, and restarted f r om the be- 
ginning after the problem statement 
has been corrected. 



Phases I and II of the system contain 
options which permit the user to by- 
pass errors that require rewriting the 
problem, and continue compilation 
through that phase. The user must, 
however, stop at the end of that phase 
and correct the pseudo-code. These 
error bypass options save the user 
from making several attempts to com- 
pile in order to locate all of his pseudo- 
code errors. 

d. Locator 

The locator routine will appear at the 
beginning of the MATH-MATIC master 
tape. It will enable the user to inter- 
rupt and to restart compilation at any 
phase or sweep. With instructions 
typed in by the user on the supervisory 
control, the locator will collect all of 
the intermediate output lists on one 
tape when compilation is interrupted, 
and redistribute these lists to the ap- 
propriate servos at the restart of com- 
pilation. 



e. Automonitor 

Occasionally the existence of a logical 
error in the pseudo-code p r ob 1 e m 
statement is revealed only by the in- 
correct output produced by the pro- 
blem run. In order to locate the er- 
ror, the user will want to see the re- 
sults of intermediate calculations dur- 
ing the problem run. The Automonitor 
routine on the MATH-MATIC Master 
tape will permit the user to compile a 
special running tape in which specified 
ranges of coding will be monitored 
during the problem run. Theusercan 
select which ranges he wishes moni- 
tored and whether the intermediate re- 
sults should come out on tape or on the 
supervisory control. 



45 



I DEFINITIONS 

The following is a set of definitions of terms used frequently in the text. 

1. ARGUMENT - A quantity or symbol of a quantity which is the subject of 
a mathematical or logical operation. An Argument is also called an oper- 
and. 

Examples; 

SIN ALPHA ALPHA is an argument 

IF A = 10 A and 10 are arguments 

2. BINARY OPERATION - An operation symbol which operates on two ar- 
guments. 

Examples: 

A + B + is a binary operation 

A - B - is a binary operation 

A * B * is a binary operation 

3. CHARACTER- Any of the 63 symbols recognized by UNIVAC. Those in- 
cludethe letters of the alphabet, the cardinal numbers, punctuation marks, 
and some other symbols. 

4. CONSTANT - Any integer, decimal number, or number in a power of ten 
form containing 11 or less numeric characters. 

5. CONTROL WORD - The first word in any input - output o r control sentence. 

6. EXPRESSION - A group of constants, variables and operations having 
mathematical meaning. Expressions are usually enclosed in parentheses. 

7. FUNCTIONAL CALL-WORD - A symbol of a mathematical function appear- 
ing in an equation sentence. 

Examples: 

COS BETA COS is the functional call word for the function co- 

sine. 

8. OPERAND - See ARGUMENT 

9. SENTENCE - A collection of words and symbols expressing a command 
which MATH-MATIC can execute. There are three types of sentences: 



46 



a. EQUATION - A collection of constants, variables, operations, and 
functional call words which define a new value of a variable in the. 

MATH-MATIC SYSTEM. 

b. CONTROL - A group of words, operands and symbols which deter- 
mine the path through the MATH-MATIC pseudo- code. 

c. INPUT-OUTPUT - A collection of words and variables interpreted by 
MATH-MATIC as a command involving tapes and/or data. 

10. SUBSCRIPT - An integer or variable, enclosed by parentheses or com- 
mas, used to index another variable. 

Examples: 



X(I, 5) 



I and 5 are subscripts 



11. SUBSCRIPTED VARIABLE - Any variable with one, two, or three sub- 
scripts attached to it. 

A(6, J) is a subscripted variable. 



II REPERTOIRE OF ARITH-MATIC OPERATIONS 



MATHEMATICAL OPERATIONS 



DESCRIPTION 



AA0(A)(B)(C) 

AS0(A)(B)(C) 

AM0(A)(B)(C) 

AD0(A)(B)(C) 

TS0(A)000(B) 

TC0(A)000(B) 

TT0(A)000(B) 

TAT(A)000(B) 

HS0(A)000(B) 

HC0(A)000(B) 

HT0(A)000(B) 

ANKA)OOO(B) 

EXP(A)000(B) 

APN(A)(N)(B) 

GPN(A)nnn(B) 

X+A(N)(log 10 A)(B) 

SQR(A)000(B) 

RNA(A)(N)(B) 

GRN(A)nnn(B) 

LAU(A)(log 10 B)(C) 




log Q A' 



A in radians 
A in radians 
A in radians 
5 B in radians 
A in radians 
A in radians 
A in radians 



N integral and N < 100 
n positive and integral 



N integral and < 100 
nnn integral 
A>0 



In all the above operations, (A) means the relative address of A. 



47 



CONTROL OPERATIONS 



DESCRIPTION 



AAL(Xi)(AX)(L x ) 
01CN00(K)M 



ALL(Xi)(AX)(L x ) 

01CN00(K)AA 

02CN00(N)AA 

ATL(Xi)(AX)(L x ) 
01CN00(K)AA 



AGLfXiMAXHLx) 
01CN00(K)M 



QU0(AHB)000 
01CN00(K)AA 



QUA(A)(B)000 
01CN00(K)AA 

QT0(A)(B)000 
01CN00(K)M 

QTA(A)(B)000 
01CN00(K)AA 


QZ0AAAt(W)0000 

R 
01CN00(K)AA 
02CN00(N)AA 



U000O00O0O00 
01CN00(K)AA 

JTC000000000 

01CN00(K)M 

02CN00(N)AA 



Xi + AX — Xi 

If X.[ < L x , transfer control to Opn. K 

If Xj^L x transfer control to next 

Opn. 

Xj+AX — Xj 

If X^>Lx transfer control to Opn. K 

If Xj < Lx transfer control to Opn. N 

Xi + AX — X t 

If Xj <_L X transfer control to Opn. K 

If Xi > L x transfer control to next 

Opn. 

Xi + AX— c 
If Xi >L X and 
and 



c > L 



x» 



Xi>L x 



„. or if 
c < L x , c— Xi 
transfer control to next Opn, ; other- 
wise c— Xi and transfer control to 
Opn. K. 

If A = B transfer control to Opn. K 
If A^B transfer control to the next 
operation. 

If the|A| = |B|transfer control toOpn. K 
If the |A| = |B| transfer control to the 
next operation. 

If A>B transfer control to Opn, K 
If A<.B transfer control to the next 
operation. 

If |A|> |b| transfer control to Opn, K 
If | A|< |B| transfer control to the next 
operation. 

AAAis the address of the input, t is 
the servo of the input, (K) is the Opn. 
number of the input GMI, W is used 
to rewind servo t, R is used to reset 
servo t, Control is transferred to 
Opn. N if Z. . . Z's are detected on 
the input tape; otherwise, control 
passes to the next operation. 

Transfer control to Opn. K 

Control is transferred to Opn. Kupon 
entering a JTC. Computation then 
proceeds from Opn. K to Opn. N. 



48 



CONTROL OPERATIONS 



DESCRIPTION 



03CN00(P)AA 
R00000000000 



INPUT -OUTPUT OPERATIONS 

R R 

G TH( Wj) t( F ) NNNMMM 



GMIBBtSSSAAA 



GMNO^tSSSAAA 



GMO0(g)tSSSAAA 



GMSBBtXXXAAA 



GMTBBtXXXAAA 



Operation N must b e a special 
pseudo-operation whose call word is 
ROO. The ROO is set to transfer 
control to Opn. P only upon entering 
the JTC; if the ROO operationis ex- 
ecuted other than going through a 
JTC, it will act as a skip. If set by 
a JTC, the operating containing the 
ROO is reset to a skip upon trans- 
ferring control to Opn. P. 

DESCRIPTION 

(R) read, (W) write, or ( S) skip NNN 
blocks (B) backward or (F) forward 
on servo t, starting address MMM. 

Read from servo t into storage area 
BB SS S words and place the current 
SSS word item in AAA. 

Write the array of item size SSS 
beginning with address AAA on ser- 
vo t at (H) high density or (L) low 
density. 

Write SSS words starting with ad- 
dress AAA on servo t at (H) high or 
(L) low density. 

Pick up XXX words beginning with 
address AAA edit them and place 
them in an output block beginning with 
address BB. When the output block 
is filled, write it on servo t. 

Pick up XXX words beginning with 
address AAA. Convert them and 
place them in output block beginning 
with address BB. When the output 
block is filled, write it on servo t. 



GMUBBtXXXAAA 



Pick up XXX words beginning with 
address AAA edit them for uniprin- 
ter and place them in output block 
beginning with address BB. When 



49 



GASBBtXXXAAA 



GATBBtXXXAAA 



FILBBtSSSO(^)Z 
01CN00(K)AA 



CLOO(^)tOOOOOO 
01CN00(K)AA 



SPECIAL OPERATIONS 
GMMAAAOSSBBB 

GTOAAA(gg§)(?S& 
GTIAAAlgggxSSS) 



the output block is filled, write it 
on servo t. 

Pick up the array of item size XXX 
beginning with address AAA. Edit 
it and place it in output area begin- 
ning with address BB. Write the 
array from output area to servo t. 

Pick up the array of item size XXX 
beginning with address AAA. Con- 
vert it and place it in output area be- 
ginning wth address BB. Write the 
array from the output area on servo 
t. 

Z = 1; high speed printer unedited. 
Z •= 2; high speed printer edited. 
Z = 3;uniprinter unedited. 
Z = 4;uniprinter edited. 
BB is the output area, t is the servo, 
and S S S is the output item size. The 
remainder of the output block or an 
entire output item, whichever is lar- 
ger, is filled with sentinels and writ- 
ten on servo t. The sentinels are 
Z. . . Z's for unedited output and 's 
for edited output. The number of 
blocks on the output tape is printed 
out and the output tape is backward 
read, checked, and rewound. Oper- 
ation K is the write operation. 

The GMI in Opn. K is reset to start 
reading from the beginning of the 
block. If W is used, servo t is re- 
wound. 

DESCRIPTION 

Pick up SS words beginning with 
memory add r e s s AAA and place 
them in an area beginning with ad- 
dress BBB. 

Print out in two word floating deci- 
mal form one, two, or three values 
with addresses AAA, BBB, CCC. 

Type in two word floating decimal 
form into addresses AAA, BBB, or 
CCC one, two, or three values. 



50 



GWSttttt. . . 00 
SBIAAAIIISSS 



SBOAAAIIISSS 



Rewind servos ttt. . . and stop. 

Pick up the AAA-1 element of the 
subscripted array that begins with 
address III and place it in storage 

address SSS. 

Pickup from SSS the AAA-1 ele- 
ment and place it in the subscripted 
array beginning with address III. 



NON-OPERATIONAL SENTINELS 

XXXBLKASTGAA 
A00000000040 
B000000 00 05 
F00000000120 



PREASTGAONAt 

B0000000000 
WKGA STORAGE A 

F00000000120 
ENDASTORAGEA 



BEGINLOOPXXX 



ENDALOOPAXXX 



DESCRIPTION 

XXX=numb er of storage areas 
listed. A, B, etc. are the storage 
areas. The last three digits give the 
size in number of words of the area. 

t is the servo containing pre-read 

input 

Storage area for pre-read 



Storage area for working storage 
data 

No further storage listings; next line 
is operation #0. 

Indicates the beginning of an itera- 
tive loop and is to precede the first 
operation constituting the loop. XXX 
represents the loop number. 

Indicates the end of an iterative loop 
and is inserted following the last 
operation of the loop. XXX is the 
loop number. 



ENDACODINGAA 



Indicates the end of ARITH-MATIC 
pseudo-code. 



Ill REPERTOIRE OF MATH-MATIC SENTENCES 

The following is list of sample MATH-MATIC pseudo-code sentences illus- 
trating most of the combinations of options available in the input-output and 



51 



control sentences. The rule sin chapter II and III are recommended whenever 
a question arises in writing pseudo-code. 

1. READ ABC. 

2. READ A B C IF SENTINEL JUMP TO SENTENCE 8 . 

3. READ A B C D E IF SENTINEL RESET AND JUMP TO SENTENCE 10 . 

4. READ C D E F IF SENTINEL REWIND AND JUMP TO SENTENCE 24 . 

5. READ X Y SERVO 4 . 

6. READ X Y Z A B F D STORAGE A . 

7. READ A X B Y SERVO 1 STORAGE Q . 

8. READ ABC STORAGE Z SERVO - IF SENTINEL RESET AND JUMP 
TO SENTENCE 73E . 

9. READ- ARRAY X(6, 6) . 

10. READ- ARRAY X(6, 8) SERVO 2 STORAGE C . 

11. READ-ITEM X(8, 10) , 

12. READ-ITEM A(5, 5, 5) IF SENTINEL JUMP TO SENTENCE 10A . 

13. READ-ITEM BETA(40) SERVO 8 STORAGE B IF SENTINEL REWIND 
AND JUMP TO SENTENCE 3 . 

14. WRITE ABC. 

15. WRITE FOR UNIPRINTER ABC. 

16. WRITE EDIT ABC. 

17. WRITE CONVERT ABC. 

18. WRITE EDIT FOR UNIPRINTER ABC. 

19. WRITE ABC SERVO 6 . 

20. WRITE FOR UNIPRINTER A X B Y STORAGE F . 

21. WRITE AND EDIT X Y Z SERVO 4 STORAGE Y . 

22. WRITE CONVERTED A B D G F L N STORAGE K SERVO 3 . 

23. WRITE-ARRAY X(20) . 

24. WRITE-ARRAY FOR UNIPRINTER MATRIX(5, 10) . 

25. WRITE-ARRAY EDIT Z(5, 5, 3) . 

26. WRITE-ARRAY CONVERT AB(7, 4) . 

27. WRITE-ARRAY EDIT FOR UNIPRINTER C(9) . 

28. WRITE-ARRAY EDIT AND CONTAIN X( 5) 

29. WRITE-ARRAY CONVERT AND CONTAIN A(10, 10) . 

30. WRITE-ARRAY EDIT FOR UNIPRINTER AND CONTAIN B(25). 

31. WRITE-ARRAY A(6, 6, 6) SERVO 1 . 

32. WRITE-ARRAY EDITED Z(5, 5) STORAGE A . 

33. WRITE-ARRAY AND CONVERT Z(4, 2, 2) SERVO 6 . 

34. WRITE-ARRAY EDIT FOR UNIPRINTER AND CONTAIN X(8, 8) SERVO 
3 STORAGE N . 

35. WRITE-ITEM X(10, 10) . 

36. WRITE-ITEM FOR UNIPRINTER X(5, 5) . 

37. WRITE-ITEM EDIT A( 110) . 

38. WRITE-ITEM CONVERT B(65) . 

39. WRITE-ITEM EDIT FOR UNIPRINTER C(50, 3) . 

40. WRITE-ITEM X(10, 10) SERVO 5 . 

41. WRITE-ITEM FOR UNIPRINTER X(10, 5) SERVO 7 . 

42. WRITE-ITEM EDITED C(40) STORAGE L . 

43. WRITE-ITEM AND CONVERT F(4, 4, 4) SERVO 4 STORAGE D . 

44. WRITE-ITEM EDIT FOR UNIPRINTER X(6, 6) STORAGE P SERVO 6 . 



52 



45. CLOSE -INPUT SENTENCE 10 . 

46. CLOSE-INPUT AND REWIND SENTENCE 1 . 

47. CLOSE-OUTPUT SENTENCE 24D . 

48. CLOSE-OUTPUT AND REWIND SENTENCE 6 . 

Control sentences 

1. CONTAIN X(25) . 

2. CONTAIN A(7, 7) STORAGE A . 

3. EXECUTE SENTENCE 24 . 

4. EXECUTE SENTENCE 3 TO 10 . 

5. IF A < 17. 3, JUMP TO SENTENCE 17 . 

6. IF A = B, JUMP TO SENTENCE 12A . 

7. IF A > 10, JUMP TO SENTENCE 14 . 

8. IF A < B JUMP TO SENTENCE 3, IF A = B, JUMP TO SENTENCE 6, 
IF A > B JUMP TO SENTENCE 35 . 

9. IF ALPHA = BETA JUMP TO SENTENCE 15 IF ALPHA > BETA JUMP 
TO SENTENCE 29 . 

10. IF|A|< |B|JUMP TO SENTENCE 5. 

11. IF|AI = |B|JUMP TO SENTENCE 6. 

12. IFlB|>|A|lJUMP TO SENTENCE 29. 

13. IF|ALPHA|= |BETA[JUMP TO SENTENCE 6 IF|ALPHA|> |BETA|jUMP 
TO SENTENCE 24. 

14. IF A(I) < B JUMP TO SENTENCE 25 . 

15. IF A(5, 4) = 23 JUMP TO SENTENCE 7 . 

16. IF C > X(4, 3, J) JUMP TO SENTENCE 5 . 

17. IF A(I) < B(J) JUMP TO SENTENCE 34 IF A(I) = B(J) JUMP TO SEN- 
TENCE 51 IF A(I) > B(J) JUMP TO SENTENCE 68 . 

18. IF A = > B JUMP TO SENTENCE 10 . 

19. IF A(I) = < B(J) JUMP TO SENTENCE 10 . 

20. JUMP TO SENTENCE 3G . 

21. PRINT -OUT A B X Y . 

22. TYPE -IN ALPHA, BETA, K . 

23. VARY X 10 (0. 05) 25 SENTENCE 7 TO 15 . 

24. VARY X 10 (D) 25 Y (L) ALPHA SENTENCE 20 THRU 21 . 

25. VARY I 1 (1) 10 J 11 (1) 20 K 1 (1) LASTVALUE SENTENCE 10 THRU 15 . 

26. VARY X 1, 3, 6, 10, 11. 5, 15 SENTENCE 6 TO 19E . 

27. VARY XYZ1 2324759 26 SENTENCE 1 TO 25 . 

28. STOP . 

29. IGNORE . 

IV MODIFIED UNITYPER KEYBOARD 

With a modified UNITYPER keyboard, the digit or symbol in the first column 
may be unityped directly on the tape, and the typed digit or symbol appears on 
the hard copy. The modified UNITYPER keyboard may be obtained from 
Remington Rand Univac at nominal cost. These digits and symbols do not ap- 
pear on the ordinary UNITYPER Keyboard. The character in the second column 
must be typed in this case. MATH-MATIC interprets the characters as the 
digit or symbol in the first column. 



53 



INTENDED DIGIT OR SYMBOL 
ON MODIFIED KEYBOARD 


CHARACTER ON 
ORDINARY KEYBOARD 


superscript 





2 


superscript 


1 


fi 


superscript 


2 


1 


superscript 


3 


t 


superscript 


4 


it 


superscript 


5 


# 


superscript 


6 


S 


superscript 


7 


% 


superscript 


8 


i 


superscript 


9 


? 


superscript 


- 


% 


superscript 


• 


: 


superscript 


/ 


i 


> (greater than] 




& 


< (less than) 




@ 

_____________ ________^^^^^__ 



54 



V MATH-MATIC PRINT-OUTS 



This section contains both the normal and error print-outs which may occur 
during compilation and running of the program tape. Each print-out contains 
a carriage return in the first digit position of the first word so that the Sup- 
ervisory Control Printer may be operated on normal. The print-outs are 
listed according to Phase, Glossary, Sweep, A- 3 Routines, System Restric- 
tions, and Running Program Tape Errors. The exact form of the print-out, 
except for the carriage return, is listed in the first column. The second col- 
umn contains a description of the error that caused the print-out, and the third 
column the procedure that must be taken in order to correct the error. 



The print-outs of Phase 1 are cataloged and will always begin with the word 
PRT-OUT XX followed by SENT. NO. nnnn, where XX is the number of the 
print-out and nnnn the number of the sentence where the error occurred. A 
breakpoint option permits the user to by-pass those errors that require a re- 
writing of the pseudo code. Selecting this option allows the user to error 
check the remaining sentences of his problem, but does not allow him to go on 
to Phase 2. 



The print-outs of Phase 2 are listed as main body and Glossary. The print- 
outs cataloged as main body are those which are common to all types of sen- 
tences.. Glossary print-outs are those which are common to a particular sen- 
tence type. The first word of a Glossary print-out will contain the name of the 
Glossary in which the error occured and the second word the number of the 
sentence.. A breakpoint option is provided for those print-outs that require a 
rewriting of the pseudo code. In selecting this option the user may not go on 
to Phase 3 before correcting his errors. 



Since there are few error print-outs in Phase 3, Phase 4, and Sweep 1, the 
print-outs are listed only by Phase and Sweeps. Sweeps 2, 3, and 4 have no 
error print-outs. A- 3 Routine print-outs only occur from compiler sections. 
Running program errors arise from the improper manipulation of data, that 
is, calculations that lead to division by zero, taking the arc sine of a quantity 
greater than one, etc. 



The user is strongly advised to carefully analyze his error before taking steps 
to correct it and to examine the pseudo code to ascertain whether or not other 
portions of the problem will be affected by any changes made. 



55 



NORMAL PRINT-OUTS 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



1. END PHASE 1 



Phase 1 of compilation has been 
completed. 



NONE 



2. NO DIRECTORY 
LISTED 



A computer or compiler sen- 
tence is listed in the pseudo 
coding but the COMP sections do 
not have an accompanying DIR- 
ECTORY. 



NONE 



3. END PHASE 2 



Phase 2 of compilation has been 
completed. 



NONE 



4. SENT. NO. nnnh 
SERVO t 



The prepared input or output 
data required by sentence num- 
ber nnnn will be either mounted 
or written on servo t. 



Mount data on servo 
t if input is required, 
or mount a blank on 
servo t if output is 
being written on ser- 
vo t during the pro- 
blem run. 



5. REMOVE SERVO During compilation data, which 
4 MOUNT BLANK is needed for the running pro- 
gram tape, is now on servo 4. 



Remove the tape on 
Servo 4 aiid save it 
for the problem run, 
and mount a blank 
tape to continue com- 
pilation. 



6. END PHASE 3 



Phase 3 of compilation has been 
completed. 



NONE 



7. END SWEEP 1 



SWEEP 1 of compilation has been 
completed. 



NONE 



8. END SWEEP 2 



Sweep 2 of compilation has been 
completed. 



NONE 



56 



9. END SWEEP 3 



Sweep 3 of compilation has been NONE 
completed. 



10. END SWEEP 4 



Sweep 4 of compilation has been NONE 
completed. 



11. XX BLOCKS OF 
RUNNING TAPE 
ON SERVO 7 



Servo 7 which is now the running NONE 
program tape contains XX blocks 
of C-10 coding. 



12. XX BLOCKS 
OF EDITED 
RECORD ON 
SERVO 3 



Servo 3 contains XX blocks 
of the EDITED RECORD. 



NONE 



13. END MATH- 
MATIC COM- 
PILATION 



Compilation has been completed. NONE 



PHASE 1 

PRINT-OUT 



DESCRIPTION 



ERROR PRINT-OUTS 



PROCEDURE 



1. PRT-OUT 01 

SENT. NO. nnnn 
NO PAREN 



The first sentence in the pseudo 
code has no left paren; nnnn will 
be spaces and not the number of 
the first sentence. 



Hit start bar to con- 
tinue. 



2. PRT-OUT 02 
SENT. NO. nnnn 
NXT SENT NO. 
PAREN MSNG 



The sentence number of the sen- 
tence following nnnn has no 
right paren after the sentence 
number. 



Hit start bar to con- 
tinue. 



3. PRT-OUT 03 

SENT. NO. nnnn 
NXT SENT. NO. 
PAREN BUT NO 
SPACE 



The sentence number of the sen- 
tence following nnnn has no 
space after the right paren of 
the sentence number. 



Hit start bar to con- 
tinue. 



4. PRT-OUT 04 

SENT. NO. nnnn 
NXT SENT. NO. 
EQUAL SIGN 
SPACE MSNG 



A space is missing either before 
or after the equal sign of sen- 
tence number nnnn. This print- 
out occurs only in sentences 
that are equations. 



Hit start bar to con- 
tinue. 



57 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



or 



PRT-OUT 04 
SENT. NO. nnnn 
EQUAL SIGN 
SPACE MSNG 



5. PRT-OUT 05 

SENT. NO. nnnn 

SPACE PERID 

NO PAREN 

( XXXXXXXXXXXX) 

(YYYYYYYYYYYY) 

where X. . . X: 
and Y. . . Y- is that 
portion of the 
pseudo-code where 
the error occurred. 



A space period (A.) signifying 
the end of the pseudo-code sen- 
tence is found by MATH-MATIC, 
but a left paren indicating the 
beginning of a new sentence has 
not been found. Therefore, 
either the left paren of the sen- 
tence number following nnnn has 
been omitted, or a decimal 
point exists within SENT. NO. 
nnnn. 

If the left paren is missing. . . . 



Hit start bar to begin 
processing the sen- 
tence after SENT. 
NO. nnnn. 



If a decimal point exists within 
sentence nnnn, that is, between 
the sentence number and the 
space period which indicates 
the end of the sentence. . , 



Set breakpoint 8 and 
force transfer. 
MATH-MATIC will 
continue processing 
SENT. NO. nnnn. 



6. PRT-OUT 06 

SENT. NO. nnnn 
NXT SENT. NO. 
(OOOOOOOOnnnn) 
or 

INCORRECT 
TYP-IN CORR 



The sentence number following 
sentence nnnn is either less 
than or equal to nnnn; or it con- 
tains an alphabetic as its first 
digit; or it is greater that 999Z. 



Type in: 

X XAAAAAAAAA 

where X is the cor- 
rect form of the sen- 
tence number. 



7. PRT-OUT 07 

SENT. NO. nnnn 
SENT. NAME 

INCORRECT 
TYP-IN CORR 

NEXT WORD 



This print-out results only from 
errors associated with the first 
word of a statement. The word 
X. . . X AAAAA AA was not found in 
the MATH-MATIC catalog, and, 
therefore, must be incorrectly 
spelled or a word which is not 
yet part of the repertoire. 



58 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



If the print-out resulted from the 
latter, the problem must be re- 
written within the present reper- 
toire. 



If the sentence name is incorr- 
ectly spelled, the corrections 
are to be typed in a word at a 
time in answer to the print- out 
"NEXT WORD. " Upon typing in 
the last correction and in answer 
to "NEXT WORD, " a word of 
spaces must be typed in to term- 
inate |he correction routine. 



If, for example, 
is printed out. . . 



EXECTEAAAAAA Type in: 



EXECUTEAAAAA 
AAAAAAAAAAAA 



If, however, READXAAMAAA is 
printed out and resulted from 
ommitting the space between 
READ and X. . . 



Type in: 

READAAAAAAAA 
XAAAAAAAAAAA 
AAAAAAAAAAAA 



8. PRT-OUT 08 

SENT. NO. nnnn 
PSEUDO WORD 

INCORRECT 
TYP-IN CORR 

NEXT WORD 



This print-out results only from 
errors associated with functional 
call words. The word printed 
out was interpreted as a func- 
tional call word and was not found 
in the catalog. To continue the 
problem run, the correct form of 
the call word and in some cases 
its associated arguments must be 
typed in. It is of utmost impor- 
tance to check the original pseudo 
coding to determine the exact 
cause of the error. 



Corrections are to be typed in a 
word at a time in answer to 
"NEXT WORD". Upon making the 
last correction and in answer to 
"NEXT WORD", type in a word of 
spaces to terminate the correction 
routine. 



59 



PRINT -OUT 



DESCRIPTION 



PROCEDURE 



Examples of common errors as- 
sociated with funcitonal call 
words. 



PSEUDO WORD 
PRINTED OUT 



(1) CSSAMMAMA 



A mispelled func- 
tional call word. 



CORRECT FORM 
OF THE PSEUDO 
WOR D 

(1) COSAALPHA 



(1) Type in 

COSAAAAAAAAA 
AAAAAAAAAAAA 



(2) 0.123EXPAAAA (2) 0. 123+EXPAO. 5 (2) Type in: 



Operation sign 
missing between 
0. 123 and EXP 



0. 123AAAAAAA 
+AAAAAAAAAAA 
EXPAAAAAAAAA 
AAAAAAAAAAAA 



(3) -0.779AAAAA 

-0.7794 is the 
converted expon- 
ent and the error 
resulted from 
omitting the op- 
eration sign be- 
tween the expon- 
ent and the func- 
tional call -word. 



(3) X-0.7794+ 

SINAB 



(3) Type in: 

-0 . 7794AAAAA 
+AAAAAAAAAAA 
SINAAAAAAAAA 
AAAAAAAAAAAA 



(4) ALPHAROOTAAA (4) ALPHAAROOTAX (4) Type in: 



Omitting a space 
between the first 
argument of a two 
argument functional 
call word. 



ALPHAAAAAAAA 
ROOTAAAAAAAA 
AAAAAAAAAAAA 



NOTE: 

The omission of a space between the 
second argument of a two argument 
call word cannot be corrected by 
type -ins, that is, if AAAAAAAAAAAA 
is printed out and the intended form 



60 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



9. 



PRT-OUT 09 
SENT. NO. 
nnnn TYPE- 
IN INCOR- 
RECT TYP- 
IN CORR 
AGAIN 



NEXT WORD 



is AAPOWAB, this would indicate a 
space was omitted between POW 
and B. To by-pass this error, SCICR 
to the error by-pass routine. Setting 
breakpoint 1 and forcing transfer will 
permit an error check of the remain- 
ing sentences. The memory location 
of the error by-pass routine is pro- 
vided with the MATH-MATIC master 
tape. 

This print-out will result only from 
incorrectly typing in the sentence 
name or functional call word related 
to PRT-OUT 07 and PRT-OUT 08 
above. 



Check the 
pseudo-code 
and make cer- 
tain the error 
has been pro- 
perly analyzed, 
and then type- 
in again the 
correction as- 
sociated with 
the error. 



10. PRT-OUT 10 
SENT. NO. 
nnnn DECI 
ALPHA 

(. X. . . XAAAAAA) 
TYP-IN CORR 



The pseudo word . X. . ,XAAAAAA has 
an alphabetic after the decimal point. 
All decimaled quantities must be 
numeric. 



Type in: 

0. X. . . XAAAAA 



This print- out will also result when a 
pseudo word appearing in a statement 
contains as its first digit a decimal 
point. 



11. PRT-OUT 11 

SENT. NO. nnnn 
LFT NUMBER 
NUMERIC 
TYP-IN CORR 



The left member of an equation 
is a numeric quantity, that is, 
it contains a numeric in its 
first digit position. 



Type in: 

X. . . XAAAAAAA 




12. PRT-OUT 12 

SENT. NO. nnnn 
PAR EN NOT 
PAIRED 
REWRITE 



The parens of sentence nnnn 
not properly paired. To insure 
accurate results in the other 
phases, the pseudo-code must 
be re-written before continuing. 



Hit Start bar and 
MATH-MATIC will 
rewind all tapes 

or 

Set breakpoint 1; 



61 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



force transfer; and 
MATH-MATIC will 
begin processing the 
sentence following 
nnnn. 



13. PRT-OUT 13 

SENT. NO. nnnn 
ABS SIGN 
NOT PAIRED 
REWRITE 



The absolute signs of sentence 
nnnn are not properly paired. 



Hit start bar and 
MATH-MATIC will 
wind all tapes 



or 



Set breakpoint I*, 
force transfer; and 
MATH-MATIC will 
begin processing the 
sentence following 
nnnn. 



14. PRT-OUT 14 MATH-MATIC has detected a 

SENT. NO. nnnn pseudo word of more than 12 
PSEUDO WORD digits in sentence nnnn. A 
(XXXXXXXXXXXX) common error associated with 
(YYYYYYYYYYYY)this print- out is the omission 
TOO LONG of a space or operation sign be- 

REWRITE tween pseudo words. X. . . X and 

and Y. . . Y will give that portion 
of the pseudo code where the 
error occurred. 



Hit start bar and 
MATH-MATIC will 
rewind all tapes. 

or 

Set breakpoint 1; 
force transfer; and 
MATH-MATIC will 
begin processing the 
sentence following 
nnnn. 



15. 



16. 



PRT-OUT 15 
SENT. NO. nnnn 
SUB VARBLE 

NUMERIC 
REWRITE 



PRT-OUT 16 
SENT. NO. nnnn 



The subscripted variable of sen- 
tence nnnn is numeric instead of 
alphabetic. 



The numerical exponent of sen- 
tence nnnn is not of the power of 



Hit start bar and 
MATH-MATIC will 
rewind all tapes 

or 

Set breakpoint 1; 
force transfer; and 
MATH-MATIC will 
begin processing the 
sentence following 
nnnn. 

Hit start bar and 
MATH-MATIC will 



62 



PRINT -OUT 

NUM. EXP. 

INCORRECT 

REWRITE 



DESCRIPTION 

ten form. The only exponents 
permitted in statements are 
those in the power of ten notation. 



PROCEDURE 
rewind all tapes. 

or 

Set breakpoint 1; 
force transfer; and 
MATH-MATIC will 
begin processing the 
sentence after nnnn. 



17. 



18. 



19. 



PRT-OUT 17 
SENT. NO. nnnn 
REWRITE 
PSEUDO CODE 
END PHASE 01 



WRONG TAPE 
ON SERVO -6 
MOUNT AT- 3 
LIBRARY 



PRT-OUT 19 
DIRECTORY 
OR COMP 
SECT MISSING 
REWRITE 



20. PRT-OUT 20 
DIRECTORY 
TOO LONG 
REWRITE 



21. PRT-OUT 21 
DIRECTORY 
WORD XXX 
NUM. EXP. 
INCORRECT 



This print-out will result only 
when an error requiring a re- 
writing of the pseudo-code has 
been encountered, and the pro- 
grammer by using breakpoint 1 
decided to error check the re- 
maining pseudo-code. 

Make necessary corrections and 
begin a new MATH-MATIC com- 
pilation. 

The MATH-MATIC library tape 
is not mounted on Servo 6. 



Hit start bar to re- 
wind all tapes. 



Hit start bar to re- 
wind all tapes. 
Mount the library 
tape and begin a new 
compilation. 

Hit start bar to re- 
wind tapes. 



A computer and/or compiler sen- 
tence is listed in the pseudo code 
sentences, signifying that a direct- 
ory and/or COMP section will fol- 
low the pseudo code. Neither the 
directory or the COMP section was 
found in the first block following 
the pseudo code sentences. 



The directory contains more than Hit start bar to re- 
99 entries, exclusive of header and wind tapes, 
sentinel. The directory may be 
shortened by listing some of the 
constants within a COMP section. 

The only exponents permitted in 
the directory are those of the 
power of ten notation. 

If the error can be corrected by Type in: 



63 



PRINT -OUT 



DESCRIPTION 



PROCEDURE 



(X...X ) 
TYP-IN CORR 



where X... X is 
incorrect word 



22. PRT-OUT 22 
DIRECTORY 
REWRITE 
DIRECTORY 



23. PRT-OUT 23 
DIRECTORY 
BREAKPOINT 
OPTION 



typing in the correct power of 
ten format. . . 



If the error cannot be corrected 
by typing in a new word . . . 



This print- out will occur only 
if the programmer elected to 
force transfer on breakpoint 
option in order to check the 
remainder of the directory. 

This print-out will result only 
if a word of spaces is typed in 
instead of a new word in PRT- 
OUT 21. 

If the breakpoint option is elect- 
ed, PRT-OUT 22 will result after 
the directory is error checked. 



X. . , xz 

where X. . . Xis the 

corrected word. 

Type in: 

AAAAAMAAAAA 

PRT-OUT 23 will 
occur giving the 
programmer a 
breakpoint option. 

Hit start bar to re- 
wind tapes. 



Hit start bar to re- 
wind tapes. 



PHASE 2 



or 

Set breakpoint 1; 
force transfer to 
continue error 
checking the DIREC- 
TORY. 

ERROR PRINTOUTS 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



1. ARGMT MSNG 
SENT. NO. nnnn 
REWRITE 



The argument before or after an 
operation symbol of the equation 
listed as sentence number nnnn 
is missing; s is the operation 
symbol that has a missing argu- 
ment. 

NOTE: In selecting the break- 
point 2 option, set comma break- 
point to stop compilation at the 
end of Phase 2. The breakpoint 
option permits the user to error 
check his pseudo coding. The 
errors must be corrected before 
a new compilation may be attempt- 
ed. 



Hit start bar to 
wind tapes. 



re- 



or 



Set breakpoint 2; 
force transfer to 
by-pass the error. 



64 



PRINT OUT 



DESCRIPTION 



PROCEDURE 



2. WORD MSNG 

SENT. NO. nnnn 
REWRITE 



3. PAREN MSNG 
SENT. NO. 
nnnn REWRITE 



The sentence listed as number 
nnn is incomplete in that the 
GLOSSARY required by the 
sentence expects more infor- 
mation than is contained in the 
statement. 

See NOTE of Print-Out 1 for 
breakpoint option. 



The parentheses of sentence num- 
ber nnnn are improperly paired, 
that is, they are not closed. 



Hit start bar to re- 
wind tapes. 



or 



Set breakpoint 2; 
force transfer to by- 
pass the error. 

Hit start bar to re- 
wind tapes. 

or 



See NOTE of Print-Out 1 for 
breakpoint option. 



Set breakpoint 2; 
force transfer to by- 
pass the error. 



4. OPERATION 

SYMBOL MSNG 
SENT. NO. nnnn 
REWRITE 



An operation symbol is missing 
between two arguments of the 
equation listed as sentence num- 
ber nnnn. 



Hit start bar to re- 
wind tapes. 



or 



See NOTE of Print-Out 1 for 
breakpoint option. 



Set breakpoint 2; 
force transfer to by- 
pass the error. 



5. WORD AFTER 
STORAGE 
MISSING 
SENT. NO. nnnn 
TYP-IN CORR 



The pseudo word STORAGE of 
sentence number nnnn is not 
followed by a storage area 
designation. 




where X is the 
alphabetic storage 
area designated. 



6. WORD AFTER 
SERVO 
MISSING 
SENT. NO. nnnn 
TYP-IN CORR 



The pseudo word SERVO of sen- 
tence number nnnn is not followed 
by a servo number. 



Type in: 



where X is the cor- 
rect servo number. 



65 



GLOSSARY 



ERROR PRINTOUTS 



PRINT-OUT 

1. CLOSE-INPUT 

or 

CLOSE-OUTPUT 
SENT. NO. nnnn 
SENT. REF. 
MISSING 
TYP-IN CORR 



DESCRIPTION 

A CLOSE-OtJTPUT sentence 
must make a reference to some 
output sentence. This print-out 
will result when the sentence 
number of an output sentence is 
omitted from the CLOSE-OUT- 
PUT sentence. 



PROCEDURE 
Type in: 

X. . . XAAAAAAA 

where X. . . X is the 
sentence number that 
is referred to by the 
CLOSE-OUT sen- 
tence. 



2. CLOSE-INPUT 

or 

CLOSE-OUTPUT 
SENT. NO. nnnn 
WORD AFTER 
AND MSNG 
TYP-IN CORR 

3. CLOSE-INPUT 

or 

CLOSE-OUTPUT 
SENT. NO. nnnn 
FORMAT 
INCORRECT 
TYP-IN CORR 



The word AND is not followed by 
REWIND indicating either an un- 
intentional omission of the word 
REWIND or possibly an incom- 
plete deletibn. 



The sentence does not conform to 
the prescribed format. 



Type in: 

(1) REWIND AAAAAA 
if the word was 
omitted, or 

(2) AAAAAAAAAAAA 

if the REWIND option 
is not desired. 

Type in the entire 
sentence, omitting 
the name of the sen- 
tence, a pseudo-word 
per Univac word. 

When finished type in 
a word of spaces. 



4. CONTAIN 



or 



The variable is not alphabetic. 



Type in: 

X. . . XAAAAAAA 



READ -ARRAY 
SENT. NO. nnnn 
VARIABLE 
!X. . . X) 
NOT ALPHA 
TYP-IN CORR 



where X, . . X is the 
correct form of the 
variable. 



5. CONTAIN 



The variable of the subscripted 
array is missing. 



or 




66 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



READ -ARRAY 
SENT. NO. nnnn 
VARIABLE 
MISSING 
TYP-IN CORR 

6. CONTAIN 

or 

READ-ARRAY 
SENT. NO. nnnn 
PAREN MSNG 
TYP-IN CORR 



where X. . . X is the 
intended variable. 



7. CONTAIN 

or 

READ -ARRAY 
SENT. NO. nnnn 
ARRAY SIZE 
(X. . . X) 
ALPHABETIC 
TYP-IN CORR 

8. CONTAIN 

or 

READ -ARRAY 
SENT. NO. nnnn 
MORE THAN 3 
SUBSCRIPTS 
REWRITE 

9. CONTAIN 

or 



A paren is missing from the 
subscripted array 



The size of the array is X. . . X, 
and it is alphabetic. In a 
READ-ARRAY sentence the array 
size must be numeric. 



There are more than three sub- 
scripts in the array of sentence 
number nnnn. 



See NOTE of Print-Out 1 of Phase 
2 for explanation of breakpoint 
option. 



Type in: 

(1) (variable)? AAAA 

(2) (first sub script) A 

(3) (second sub script) A 

(4) (third subscript) A 

If there are no sec- 
ond and /or third 
subscripts type in a 
word of spaces for 
the third and fourth 
words of the four 
word type-in. 

Type in: 

X. ..XAAAAAAA 

where X. . . X is the 
correct array size. 



Hit start bar to re- 
wind tapes. 



or 



Set breakpoint 2; 
force transfer to 
by pass the error. 



There are more than 250 elements Hit start bar to re- 
of the array in sentence number wind tapes, 
nnnn. 

or 



67 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



READ- ARRAY See NOTE of Print-Out 1 of Phase Set breakpoint 2; 
SENT. NO. nnnn 2 for an explanation of the break- force transfer to 
ARRAY SIZE point option. by pass the error. 

TOO LARGE 
REWRITE 



10. COMP The label of COMPUTER or COM- Type in: 

LABEL OF PILER is missing. This error 

SENT. NO.- nnnn usually comes about from omitting COMPUTER- 
MISSING the dash in the label. 
(COMPUTERAAAA) or 



xx: 



or 



COMPILER-XXX 



(COMPILERAAAA) 
TYP-IN CORR 



where XXX is the 
correct label. 



11. COMP The size of the storage area 
SENT. NO. nnnn requested by the COMP sentence 
ALPHABETIC is an alphabetic character in- 

S TO RAGE SIZE stead of a numeric. 
(X. . . X) 
TYP-IN CORR 

12. COMP A paren is missing from the 
SENT. NO. nnnn storage area size requested by 
PAREN OF sentence number nnnn. 
STORG SIZE 

MISSING If X. . .X is the intended storage 

(X. . . X) size, , . 




where XXX is the 
correct storage size. 



Set breakpoint 2; 
force transfer to 
continue. 



13. COMP 



14. 



If X. . ,X is not the intended stor- Hit start bar to re- 
age size. . . wind the tapes. 

The storage area symbol X is not Type in: 



SENT. NO. nnnn an alphabetic character. 

STORG AREA 

(XAAAAAAAAAAA) 

NOT ALPHA 

TYP-IN CORR 



COMP The servo being assigned by the 

SENT. NO. nnnn COMP sentence is not 1 thru 9 or 
SERVO NO. minus (-). 

(X AAAAAAAAAAA) 



XAAAAAAAAAAA 

where X is an 
alphabetic storage 
area symbol. 

Type in: 

XAAAAAAAAAAA 



68 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



INCORRECT 
TYP-IN CORR 



where X is the proper 
servo number. 



15, EXECUTE The sentence range over which 

SENT. NO. nnnn the sequence of execution is to 
SENT REF be altered is missing in sentence 

MISSING number nnnn. 

TYP-IN CORR 



Type in: 
X. . . XAAAAAAA 
Y. . . YAAAAAAA 
where X. , . X and Y, . . Y 
is the sentence range. 
If the range is one sen- 
tence only, type in a 
word of spaces for 
Y...Y. 



16. 



17. 



IF OPTN xx 
SENT. NO. nnnn 
SIGN MSNG 
TYP-IN CORR 



The relation sign is missing from 
clause xx of the IF statement list- 
ed as sentence number nnnn. 



IF OPTN xx 
SENT. NO. nnnn 
FORMAT 
INCORRECT 
TYP-IN CORR 



Type in: 
X. . . XAAAAAAA 
Y.. . YAAAAAAA 
Z. . . ZAAAAAAA 
where X. . . X and Z. . . Z 
are the intended var- 
iables or numbers and 
Y. . . Y is the intended 
relation sign or con- 
bination of relation signs. 



The xx clause of the IF statement Type in IFAAAAAAAAAA 
listed as sentence number nnnn is if there is another 
not of the format prescribed in the "IF" clause in the sen- 
manual, tence. Otherwise 

type in spaces. 



18. IF The sentence number to which 

SENT. NO. nnnn control is to be transferred is 
SENT REF missing. 

MISSING 
TYP-IN CORR 



Type in: 
X. . . XAAAAAAA 
where X. . . X is the 
number of the sentence 
to which control is to 
be transferred. 



19. POW This print-out will result only 

SENT. NO. nnnn where there is an argument 

ARGMT MSNG missing from the multiplication 

REWRITE sign (*) in a numeric written as 

■*V\AAAAAAAAAA a power of ten. 

See NOTE of Print-Out 1 of Phase 



Hit start bar to re- 
wind tapes; 



or 



Set breakpoint 2; 
force transfer to uy- 



2 for an explanation of the break- pass the error, 
point option. 



69 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



20. READ 



There are more than 50 variables Hit start bar to re- 



21. 



22. 



23. 



SENT. NO. nnnn listed in the READ statement. 
TOO MANY- 
VARIABLES 
REWRITE 

See Note of Print-Out 1 of Phase 2 
for an explanation of the break- 
point option. 

The READ statement listed as 
sentence number nnnn used the IF 
SENTINEL JUMP option but does 
not list the sentence number to 
which control is to be transferred. 



READ 

SENT. NO. nnnn 

SENT REF 

MISSING 

TYP-IN CORR 



READ 

SENT. NO. nnnn 

VARIABLE 

(X. ..X) 

NOT ALPHA 

TYP-IN CORR 



READ 

SENT. NO. nnnn 

INCORRECT 

ITEM SIZE 

TYPE-IN CORR 



Variable X. . .X is not alphabetic. 



The variables of the READ sen- 
tence make up an incorrect item 
size. The user may type in any 
larger acceptable item size. He 
must be sure, however, that his 
input data items are padded to 
this size. If the Data Conversion 
routine is used to prepare the 
data, the items will be padded to 
the next larger acceptable size. 



wind tapes; 

or 

Set breakpoint 2; 
force transfer to 
by-pass the error. 

Type in: 

X. . . XAAAAAAA 

where X. . . X is the 
missing sentence 
number. 

Type in: 

X. . . XAAAAAAA 

where X. . . X is the 
correct form of the 
variable. 

Type in: 

where X. . . X is the 
number of words 
including any 
padding of the pre- 
pared input item. 



24. READ The sentence does not conform to 

SENT. NO. nnnn the format prescribed in the man- 
FORMAT ual. 

INCORRECT 
TYP-IN CORR 



Type in the entire 
sentence, omitting 
the name of the sen- 
tence, one pseudo- 
word per Univac 
word. 

X. ..XAAAAAAA 

When finished type 
in a word of spaces. 



70 



PRINT- OUT 



DESCRIPTION 



PROCEDURE 



25. 



26. 



27. 



READ-ITEM The variable x. . . x is not alpha- 

SENT. NO.nnnn betic. 

VARIABLE 

(X. . . X) 

NOT ALPHA 

TYP-IN CORR 




where X. . . X is the 
correct form of the 
variable. 



READ -ITEM 
SENT. NO.nnnn 
PSEUDO WORD 
MISSING 
TYP-IN CORR 



Type in: 

IFAAAAAAAAAA 



Sentence number nnnn does not 
conform to the READ-ITEM for- 
mat in that the pseudo word IF is 
missing and there appears to be 
additional information in the sen- 
tence, signifying the sentence was 
intended to be a RE AD- IT EM with AAAAAAAAAAAA 
an IF option. 



or 



READ-ITEM The variable of the subscripted 

SENT. NO. nnnn array is missing. 

VARIABLE 

MISSING 

TYP-IN CORR. 



If the IF option is 
not desired. 




where X. . . X is the 
intended variable. 



28. 



29. 



READ-ITEM The parens are missing from the 

SENT. NO.nnnn subscripted variable. 
PAREN MISSING 
(X. . . X) 
TYP-IN CORR 



READ-ITEM 
SENT. NO. nnnn 
ARRAY SIZE 
ALPHABETIC 
(X. . . X) 
TYP-IN CORR 



The size of the array is X. , . X 
and it is alphabetic. In a READ- 
ITEM sentence the array size 
must be numeric. 



Type in: 

(1) (Variable)AAAA 

(2) (first subscript) A 

(3) (second subscript) A 

(4) (third subscript) A 

If there are no second 
and/or third sub- 
scripts type in a word 
of spaces for the 
third and fourth 
words of the four 
word type in. 




where X. . . X is the 
array size. 



71 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



30. READ-ITEM 

SENT. NO. nnnn 
MORE THAN 3 
SUBSCRIPTS 
REWRITE 



The array of sentence nnnn con- 
tains more than three subscripts. 



See NOTE of Print-Out 1 of Phase 
2 for an explanation of the break- 
point option. 



Hit start bar to re- 
wind tape; 



or 



Set breakpoint 2; 
force transfer to by- 
pass the error. 



31. READ-ITEM There are more than 250 elements Hit start bar to re- 



SENT. NO. nnnn 
ARRAY SIZE 
TOO LARGE 
REWRITE 



in the array listed in sentence 
number nnnn. 



See NOTE of Print-out 1 of 
Phase 2 for an explanation of 
the breakpoint option. 



wind tapes; 



or 



Set breakpoint 2; 
force transfer to by- 
pass the error. 



32. READ-ITEM 

SENT. NO. nnnn 
SENT REF 
MISSING 
TYP-IN CORR 



The sentence number to which 
control is to be transferred if 
missing. 




where X. . . X is the 
sentence number to 
which control is to 
be transferred. 



33. 



READ-ITEM 
SENT. NO. nnnn 
INCORRECT 
ITEM SIZE 
TYP-IN CORR 



34. 



The item size of the array of 
sentence number nnnn is not an 
acceptable size. See manual for 
acceptable item sizes. The user 
may type in any larger acceptable 
item size. He must be sure, 
however, that his input data 
items are padded to this size. 
If the data conversion routine 
is used to prepare the data, the 
items will be padded to the next 
larger acceptable size. 



SUBSCRIPT Variable X. 

SENT. NO. nnnn phabetic. 

VARIABLE 

(X. . . X) 

NOT ALPHA 

TYP-IN CORR 



X is not an al- 




where X. . . X is the 
number of words 
including any padding 
of the prepared input. 



Type in: 

X. . . XAAAAAAA 

where X. . . X is the 
correct form of the 
variable. 



72 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



35. 



36. 



SUBSCRIPT 
SENT. NO. nnnn 
MORE THAN 3 
SUBSCRIPTS 
REWRITE 



WRITE 

SENT. NO. nnnn 

VARIABLE 

(X. . . X) 

NOT ALPHA 

TYP-IN CORR 



The array contains more than 
three subscripts. 



See NOTE of Print-Out 1 of Phase 
2 for an explanation of the break- 



point option. 

The variable X. 
betic. 



. X is not alpha- 



Hit start bar to re- 
wind tapes; 



or 



Set breakpoint 2; 
force transfer to by- 
pass the error. 




where X. . . X is the 
correct form of the 
variable. 



37. WRITE 

SENT NO. nnnn 
WORD AFTER 
(X. . . X) 
MISSING 
TYP-IN CORR 



X. . . X will be either AND or FOR, Type in: 
and the word following either of 
these is missing. The omitted (1) X. . , XZ 

word will be either EDIT, CON- 
VERT, or UNIPRINTER. 



where X. . . X is the 
missing word 
or 



(2) AAAAAAAAAAAA 

If none of the options 
is desired. 



38. 



39. 



WRITE 

SENT. NO. nnnn 

TOO MANY 

VARIABLES 

REWRITE 



WRITE- ARRAY 

or 
WRITE-ITEM 
SENT. NO. nnnn 
VARIABLE 
(X. . . X) 
NOT ALPHA 
TYP-IN CORR 



More than 50 variables are listed 
in the WRITE statement of sen- 
tence number nnnn. 



See NOTE of Print-Out 1 of Phase 
2 for an explanation of the break- 
point option. 

The variable X. . . X is not alpha- 
betic. 



Hit start bar to re- 
wind tapes; 



or 



Set breakpoint 2; 
force transfer to 
by-pass the error 




where X. . . X is the 
correot form of the 
variable. 



73 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



40. WRITE- ARRAY X. . . X will be either AND or FOR, Type in: 



or 

WRITE-ITEM 
SENT. NO. nnnn 
WORD AFTER 
(X. . . X) 
MISSING 
TYP-IN CORR 



and the word following either of 
these is missing. The omitted 
word should be either EDIT, CON- 
VERT, or UNIPRINTER 



(1) X. . . XAAAAAAA 

where X. . . X is the 
missing word 

or 

(2) AAAAAAAAAAAA 

If none of the options 
is desired. 



41. WRITE- ARRAY The variable of the subscripted 
SENT. NO. nnnn array is missing. 
VARIABLE 
MISSING 
TYP-IN CORR 



42. WRITE-ARRAY 
or 

WRITE-ITEM 

SENT. NO. nnnn 
PAR EN MSNG 
TYP-IN CORR 



43. WRITE-ARRAY 

or 

WRITE-ITEM 
SENT. NO. nnnn 
ARRAY SIZE 
(X. . . X) 
ALPHABETIC 
TYP-IN CORR 



A paren is missing from the sub- 
scripted array. 



The size of the array is X. . . X 
and it is alphabetic. In a 
WRITE-ITEM sentence the array 
size must be numeric. 



Type in: 

X. . . XAAAAAAA 

where X. . . X is the 
proper variable. 

Type in: 

(1) (variable) AAAAA 

(2) (first subscript) A 

(3) (second subscript)A' 

(4) (third subscript) A 

If there are no sec- 
one and /or third 
subscripts type in 
a word of spaces for 
the third and fourth 
word of the four 
word type in. 

Type in: 

X. . . XAAAAAAAA 

where X. . . X is the 
correct array size. 



74 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



44. WRITE-ARRAY 

or 

WRITE-ITEM 
SENT. NO. nnnn 
MORE THAN 3 
SUBSCRIPTS 
REWRITE 



The array contains more than 
three subscripts. 



See NOTE of Print-Out 1 of Phase 
2 for an explanation of the break- 
point option. 



Hit start bar to re- 
wind tapes; 



or 



Set breakpoint 2; 
force transfer to by- 
pass the error. 



45. WRITE-ARRAY There are more than 250 elements Hit start bar to re- 



or 

WRITE-ITEM 
SENT. NO. nnnn 
ARRAY SIZE 
TOO LARGE 
REWRITE 



of the array. 



See NOTE of Print-Out 1 of Phase 
2 for an explanation of the break- 
point option. 



wind tapes j 



or 



Set breakpoint 2; 
force transfer to by- 
pass error. 



46. VARY Sentence number nnnn is a VARY Type in: 

SENT. NO. nnnn increment type sentence and X. . ,X 

NUMERIC the variable is numeric instead of X. . . XAAAAAAA 

VARIABLE alphabetic. 

(X. . . X) where X. . . X is the 

TYP-IN CORR correct form of the 

variable. 



47. VARY 

SENT. NO. nnnn 
SENT REF 
MISSING 
TYP-IN CORR 



The range of sentences or sen- 
tence over which the VARY is to 
be executed is missing. 



Type in: 

X. , . XZ. 

Y. . . YAAAAAAA 

where X. . . X is the 
first sentence num- 
ber of the range and 
Y. . . Y the second. 
If the range consists 
of only one sentence 
type in 

AAAAAAAAAAAA 



48. VARY Sentence number nnnn is a VARY 

SENT. NO. nnnn list type sentence and the var- 



for Y. . . Y the second 
sentence number. 

Hit start bar to re- 
wind tapes; 



75 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



ITEM SIZE 

INCORRECT 

REWRITE 



iables have an incorrect number 
of values listed for them. 



49. VARY 

SENT. NO. nnnn 
VARBLE HAS 
ALPHA VALUE 
(X. . . X) 
TYP-IN CORR 



50. VARY 

SENT. NO. nnnn 
ABS VALUE 
NUMERIC 
(X. . . X) 
TYP-IN CORR 

51. VARY 

SENT. NO. nnnn 
ABS SIGN 
MISSING 
(X. . . X) 



Sentence number nnnn is a VARY 
list type sentence. The value 
X. . . X of one of the variables is 
alphabetic instead of numeric. A 
two word type in is provided for 
the correction. 



Absolute values may be taken of 
alphabetic variables when they 
appear in the pseudo code. 



At least two absolute signs are 
missing from sentence number 
nnnn. X. . . X should have been 
an absolute sign. However, if 
X. . . X is the pseudo word im- 
mediately following the missing 
absolute sign and if the user feels 
that other errors resulting from 
the missing sign will not develop, 



The quantity from which the 
absolute sign is missing will be 
considered as a variable for 
which the absolute value is to be 
taken. 



or 

Set breakpoint 2; 
force transfer to by- 
pass the error. 

Type in: 

(1) X. . . XAAAAAAA 

(2) (°}oooaooooeee 

where X. . .X is the 
base of the number 
and eee is its ex- 
ponent. If the num- 
ber is not in the 
power of ten notation 
type in a word of 
zeros for the second 
type in. 

Type in: 

X. . . XAAAAAAA 

where X. . . X is the 
correct form of the 
variable. 



Set breakpoint 2; 
force transfer to 
continue; 

otherwise; 



Hit start bar to re- 
wind tapes and re- 
write the sentence. 



76 



PHASE III 
PRINT OUT 



1. 



SENT. REF 
(X. . . X) 
INCORRECT 
SENT. NO. nnnn 
TYP-IN CORR 



DESCRIPTION 

Sentence number nnnn is a 
CLOSE-OUTPUT statement 
making reference to sentence 
number X. . . X, but X. . . X is 
not a WRITE statement. 



ERROR PRINT OUT 
PROCEDURE 



2. 



VARIABLE 
(X. . . X) 
INCORRECT 
SENT. NO. nnnn 
TYP-IN CORR 



If X. . . X has not been previously 
defined, the error can only be 
corrected by rewriting the pro- 
blem and defining the variable. 



3. SENT. NO. nnnn Variable X. . . X is used as an 



VARIABLE 
(X. . . X) 

NOT DEFINED 
TYP-IN CORR 



argument either in sentence num- 
ber nnnn or in the sentence fol- 
lowing nnnn and has not been 
defined in any of the other pseudo 
code sentences. 

The variable can be defined by a 
three word type-in according to 
the following options. 




where X. . . X is the 
sentence number of 
the intended WRITE 
statement. 



Variable X. . . X has not been 
previously defined in any of the 
pseudo code sentences. Sen- 
tence number nnnn is a VARY 
statement X. . .X is either an 
alphabetic lower limit, incre- 
ment, or upper limit. The reason 
for X. . . X's not being defined is 
due to an incorrectly spelled var- 
iable or unintentionally not 
defining the variable. 

If X. . ,X is misspelled and pre- 
viously defined. . . 



Type in: 

X.. . XAAAAAAA 

where X. . . X is the 
correct form of the 
variable. 

Type in: 

AAAAAAAAAAAA 

and the system will 
rewind all tapes. 



77 



PRINT OUT 
3. cont. 



DESCRIPTION 

(1) If the variable X. . . X is mis- 
spelled in sentence nnnn but 
defined elsewhere. . . . 



(2) If X. . . X should be a numeric 
instead of a variable. . . . 



PROCEDURE 
Type in: 

X. . .XAAAAAAA 
AAAAAAAAAAAA 
AAAAAAAAAAAA 

where X. . . X is the 
correct spelling of 
the variable. 

Type in: 

Y. . . YAAAAAAA 
AAAAAAAAAAAA 
AAAAAAAAAAAA 



(3) If X. . . X should be a numeric 
written as a power of ten. 



where Y. . . Y is the 
numeric 

Type in: 

POWAOFATENAA 
Y. . .YAAAAAAA 
(°) o o o o o e. . . e 

where e. . . e is the 
exponent. 



(4) If X. .. X is correctly spelled 
and not previously defined, but 
can be defined by the three word 
type -in. . . 

However, if it cannot be defined, 
type in three words of spaces and 
the system will rewind all tapes. 



Type in: 

X. . . XAAAAAAA 
Y. . . YAAAAAAA 
AAAAAAAAAAAA 

or 

(£)oooooe. . . e 

if the numeric is a 
power of ten. 



4. SENT. NO. nnnn 
TOO MANY 
INPUT OUTPUT 
SENTENCES 
REWRITE 



There are more than 40 input, 
output and contain statements in 
the problem. 



Hit start bar to re- 
wind tapes. 



78 



PRINT OUT 



DESCRIPTION 



PROCEDURE 



5. SENT. NO. nnnn 
ALL SERVOS 
PRE- AS SIGNED 
REWRITE 



6. 



7. 



8. 



SENT. NO. nnnn 
SENT. NO. 
mmmm 
2 INPUTS 
(X. . . X) 



SENT. NO. nnnn 
SENT. NO. 
mmmm 
2 EDITED 
WRITE- ARRAYS 
(X. . . X) 



SENT. NO. nnnn 

SENT. NO. 

mmmm 

WRNG PREREAD 

REWRITE 



SENT. NO. nnnn 
SENT. NO. 
mmmm 

OUTPUT ITEM 
TOO BIG 



At least one servo must be left 
unas signed for the running pro- 
gram tape. Compilation can be 
continued by using the breakpoint 
option. 



Two input statements have been 
found for the same variable, 
X. . .X. mmmm and nnnn are the 
sentence numbers of the two 
input statements. 



The variable, X. . . X, has been 
mentioned in two write- array 
edit statements with contain 
statements, nnnn and mmmm are 
the sentence numbers of the 
respective statements. 



The same variable has been 
mentioned in two riead- array 
statements, or in an input 
statement and a read- array, 
mmmm and nnnn are the num- 
bers of the sentences involved 
in the error. 



A write- array or write-item 
statement specifies an item size 
larger than that of the matching 
input or read- array statement 
listed as sentence number mmmm. 
This is not an error if there is 
another input area of sufficient 
size. If this is not the case, 
compilation must be terminated 
at the end of Phase 3. 



Hit start bar to re- 
wind tapes; 

or 

Set breakpoint 3 ; 
force transfer to 
continue compilation. 

Hit start bar to re- 
wind tapes; 

or 



Set breakpoint 3; 
force transfer to 
assign the same 
storage area. 

Hit start bar to re- 
wind tapes; 

or 

Set breakpoint 3; 
force transfer to 
assign the same 
storage and servos 
to both sentences. 
Hit start Taar to re- 
wind tapes; 

or 

Set breakpoint 3; 
force transfer to 
omit the read- array 
being processed. 

Hit start bar to re- 
wind tapes; 

or 

Set breakpoint 3; 
to continue process- 
ing the same state- 
ment. 



79 



PRINT OUT 



DESCRIPTION 



PROCEDURE 



10. SENT. NO. nnnn A contain statement specifies the Hit start bar to re- 



SENT. NO. 
mmmm 

UNNECESSARY 
CONTAIN MAY 
BE OMITTED 



same variable listed in another 
statement, other than a write- 
array edit without a contain, nnnn 
and mmmm are the numbers of 
the sentences involved in the 
error. 



wind tapes, 



or 



Set breakpoing 3; 
force transfer to 
omit this statement. 



11. SENT. NO. nnnn 
TOO MANY 
SRVO 
TYP-IN CORR 



All available servos have been 
assigned. If it is possible to 
double up on some servo a type 
in is provided for typing in the 
servo number. 

If, however, the remaining un- 
assigned servo which is being 
reserved for the running program 
tape is typed in the word TYP-IN 
CORR will be typed out again. 



Type in: 

tAAAAAAAAAAA 

where t is the servo 
number 

or 

Type in: 

AAAAAAAAAAAA 



to rewind the tapes. 



12^ SENT. NO. nnnn There are two input addresses for Hit start bar to 



SENT. NO. 

mmmm 

2 INPUT 

ADDRESSES 

FOR (X. . . X) 

REWRITE 



the variable X. . . X. Where 
possible both sentence numbers 
nnnn and mmmm will be printed 
out. Compilation must be ter- 
minated at the end of Phase 3 if 
the breakpoint option is selected. 



rewind tapes, 



or 



Set breakpoint 3; 
for a transfer to 
omit the item being 
processed. 



NOTE 

Before selecting the breakpoint option provided with the error print outs of 
Phase 3, the user is urged to examine his error to make certain other errors 
will not result by continuing the compilation. It is very possible at this late 
stage of compilation to induce errors by continuing by means of the breakpoint 
option. 



80 



PHASE 4 

PRINT OUT 

1. STORG AREA 

(XAAAAAAAAAAA) 
NOT LISTED 
REWRITE 



2. LABEL OF 

(COMPUTER- 
XXX) 

or 

(COMFILER- 
XXX) 

INCORRECT 
TYP-IN CORR 



ERROR PRINTOUTS 



DESCRIPTION 



A computer or compiler section 
makes reference to storage area 
X, but area X is not mentioned 
anywhere in the pseudo coded sen- 
tences. 

The label XXX of the computer or 
compiler sentence listed in the 
pseudo code does not match any 
of the labels of the COMPUTER 
or COMPILER SECTIONS 



PROCEDURE 

Hit start bar to re- 
wind tapes; 



Type in: 

COMPUTER-XXX 

or 

COMPILER-XXX 

where XXX is the 
label of the intended 
COMPUTER or 
COMPILER section. 



3. SENT, mmmm 
IS REFERRED 
TO BUT IS NOT 
LISTED 



A sentence of the type that makes 
reference to other sentences has 
made reference to sentence num- 
ber mmmm, but mmmm was not 
used as a sentence number in the 
problem. 



Hit start bar to re- 
wind tapes. 



S WEEP 1 

PRINT OUT 

1. IMPROPER 
CALL WORD 
(X. . . X) 
REWRITE 

2. IMPROPER 
STG AREA IN 
(X. . . X) 
TYP-IN CORR 



DESCRIPTION 

The call word, digits 1-3 of 
X. . . X appearing in the print 
out, cannot be found in the 
library catalog. 



ERROR PRINT OUTS 

PROCEDURE 

Hit start bar to re- 
wind tapes. 



The storage area of X. . . X, a call Type in 
word appearing in a COMPILER 
section, is not listed in the pseudo 
coded problem. 



000000000XXX 



where XXX is the 
relative address of 
the intended storage 
area. 



81 



3. IMPROPER 

PSEUDO WORD 
(X. . . X) 
REWRITE 



The first digit of a word in a 
COMPILER section is numeric, 
but the word is not an RG or CN 
reference or a word of skips. 



Hit start bar to re- 
wind tapes. 



ARITH-MATIC OR A-3 
INPUT - OUTPUT ROUTINES 



ERROR PRINT OUTS 



PRINT-OUT 

1. WRNG SERVO 
(X. . . X) 
TYP-IN CORR 



DESCRIPTION 

The servo digit, t, of the call 
word appearing in the print out 
is not 1 through 9 or (-) minus. 

X. . . X will be one of the follow- 
ing A-3 call words. 



PROCEDURE 

Type in: 

The call word ap- 
pearing in the print 
out but with the pro- 
per servo designation, 



2. IMPROPER 
ADDRESS IN 
(X. . . X) 
TYP-IN CORR 



GMSBBtxxxAAA, GMT. . . , or GMU. . 
GASBBtxxxAAA, GAT .... or GAU . . 
GMIBBxxxAAA 
GMNO(£)tsssAAA, QMO 



The address part, AAA, of the 
call word appearing in the print 
out is an odd number, if one of 
the following A-3 call words are 
printed out as X. . . X: 



Type in: 

The call word ap- 
pearing in the print 
out but with the cor- 
rect address. 



GMSBBtxxxAAA, GMT..., or GMU. . . 
GMNO(^)txxxAAA, GMO 



If GASBBtxxxAAA, GAT. . . , or GAU 
appear in the print-out, either 
digits BB are not divisible by 10 
or AAA is odd. 

If GMIBBtxxxAAA appears in the 
print out, the absolute address 
for AAA is not divisible by 10. 



82 



3. 5TH DIGIT 
INCORRECT 
(X. . . X) 
TYP-IN CORR 



The 5th digit, or density digit, is 
not an "H" indicating high density, 
or "L" indicating low density. 

X. . „X will be-GMNO?tsssAAA or 

GMO. . . 



Type in: 

The call word ap- 
pearing in the print 
out but with the cor- 
rect density digit. 



4. IMPROPER 
ITEM SIZE 
(X. . . X) 
TYP-IN CORR 



If the A- 3 call word appearing on Type in: 
the print out is 

GMSBBtxxxAAA, GMT... or GMU.. 



GASBBtxxxAAA, GAT 



or GAU 



the item size, XXX, is an odd 
number. Item sizes must be 
even numbers. 



The call word ap- 
pearing in the print 
out but with the cor- 
rect item size. 



If the A- 3 call word is a 
GMNO^tsssAAA or GMO. . . , 



the item size, sss, is in error 
either because xxx is odd, if sss 
is greater than or equal to 60; or 
because sss + AAA does not com- 
plete a block, if sss is greater 
than 60. 



If the A- 3 call word is GMIBBtsssAAA, 
the item size sss is in error be- 
cause it is not one of the allowable 
item sizes. See Chapter IV for 
allowable item sizes. 



If the A-3 call word is GMMA AAsssBB, 
item size sss is in error because it 
is either equal to zero, greater than 
60, or an odd number. 



5. 8TH DIGIT 
INCORRECT 
(QZOAAAT? 
oooo) 
TYP-IN CORR 



The 8th digit position of the QZO Type in: 
call word is neither W, R, or (0) 

zero. oooooooooo(R)o 

(W) 



83 



MATHEMATICAL ROUTINES 



ERROR PRINT OUTS 



PRINT OUTS 



DESCRIPTION 



PROCEDURE 



1. 7 - 9th DIGIT The exponent or root listed in 

INCORRECT the 7 to 9th digits of the call 

(RNAAAAnnnBBB) word appearing in the print out 

is in error because it is either 
or less than 2 or is not numeric, 

(GPNAAAnnnBBB) 

TYP-IN CORR The exponent or root nnn must 

be an integer greater than or 
equal to 2 or less than or equal 
to 999. 



Type in: 

ooooooooonnn 

where nnn is the cor- 
rect form of the ex- 
ponent. 



SYSTEM RESTRICTION 



PRINT OUTS 



PRINT-OUT 



DESCRIPTION 



PROCEDURE 



1. SYSTEM Sentence number nnnn after being Hit start bar to re- 

RESTRICTION 01 translated contains more than 220 wind tapes, 
SENT. NO. nnnn words or entries for Sentence File 
REWRITE 01. In most cases the sentence is or ; 

an equation and can be rewritten as 
two smaller ones in order to cor- Set breakpoint 1; 
rect this requirement. force transfer to 

process the sentence 
following nnnn. 



2. SYSTEM This printout will occur when 
RESTRICTION02 the pseudo code sentences con- 
REWRITE tain more than 100 control 

statements which alter the 
sequence of execution over a 
given sentence range. 
See NOTE of Print Out 1 of 
Phase 2 for an explanation of 
the breakpoint option. 

3. SYSTEM Sentence number nnnn is an equa- 
RESTRICTION 03 tion that contains more than 100 
SENT. NO. nnnn operations. Re-examine the 
REWRITE equation to see if it can be written 

as two smaller ones. 

See NOTE of Print Out 1 of Phase 
2 for an explanation of the break- 
point option. 



Hit start bar to re- 
wind tapes, 



or ; 



Set breakpoint 2; 
force transfer to by- 
pass the error. 



Hit start bar to re- 
wind tapes, 

or; 

Set breakpoint 2; 
force transfer to by- 
pass the error. 



84 



4. SYSTEM Sentence number nnnn is an 

RESTRICTION 04 equation containing more than 30 
SENT. NO. nnnn redundant operations. The equa- 
REWRITE tion must be regrouped or 

written as two smaller equations. 



Hit start bar to re- 
wind tapes. 



SYSTEM The problem in the present form 

RESTRICTION 05 contains too many control sen- 
REWRITE tences, that is, too many sen- 

tences of the VARY, IF, JUMP, 
etc. types. 



Hit start bar to re- 
wind tapes. 



6. SYSTEM This print out occurs when a 

RESTRICTION 06 problem asks for an exceptional 
REWRITE amount of storage area to be set 

aside for the running program 
tape. To correct this error, re- 
examine the problem to see if it 
is possible to double up on stor- 
age areas or rewrite the problem 
as two smaller ones. 



Hit start bar to re- 
wind tapes. 



SYSTEM During compilation portions of Hit start bar to re- 

RES TRICTION 07 the memory are set aside to house wind tapes. 
REWRITE the various files and lists pro- 

duced as output from the phases 
ands sweeps. In the majority of 
cases these areas are sufficient 
in size to compile long compli- 
cated pseudo code problems. 
This print-out will result only 
for the exceptional problem. 
To correct this situation re- 
examine the problem to see if 
it is possible to rewrite the 
problem as two smaller ones 
and then begin a new compila- 
tion, 



SYSTEM The problem contains more than 

RESTRICTION 08 6 READ- ARRAY sentences. 
REWRITE 



Hit start bar to re- 
wind tapes. 



85 



GENERAL DESCRIPTION OF ERROR PRINT-OUTS DURING 

THE PROBLEM RUN 



Any error print out during the problem run is caused by one of the following 
two types of errors: 



(1) The program is handling data which is outside the acceptable numerical 
range. This usually means alphabetic material is being incorrectly 
used as input data. 



(2) The program is attempting to compute a function which is undefined 
or which is infinite, such asV-^3 or log (-6). 



The first type of error will cause RUN ERR 01 to print out on the Supervisory 
Control Printer or will cause the computer to stop on an "adder alph. " The 
second type of error will cause one of the print-outs from RUN ERR 02 through 
RUN ERR 07. 



By carefully examining the RECORD EDIT, the programmer can identify the 
variables involved in the calculation causing the error, and by following the 
procedure listed with the print-out, the programmer can by-pass the error. 
This action is recommended only when the programmer fully understands the 
error and is certain that bypassing the error will not harm the results of the 
run. Ordinarily, the programmer should take a memory dump to detect the 
error and correct it by rewriting the necessary portion of his pseudo coded 
problem. For details on using the RECORD EDIT in by passing running tape 
errors, see the "MATH-MATIC PROGRAMMER'S MANUAL." 



In RUN ERR 01, RUN ERR 02, and RUN ERR 03 the XXXX in the second word 
of the printout is the initial address of the next operation on the program tape. 
If the start bar is hit, 000000U0XXXX is performed and the error is by passed. 
In RUN ERR 04 through RUN ERR 07 the XXXX of the left hand instruction 
printed out in the second word of the print-out is the first address of the two 
word floating decimal input which caused the error. By typing in a proper in- 
put value to lines XXXX and XXXX + 1 and hitting the start bar, the operation 
in which the error occurred will be performed again. 



86 



RUNNING PROGRAM TAPE 

PRINT-OUT DESCRIPTION 



ERROR PRINT-OUTS 
PROCEDURE 



1. RUN ERR 01 

(ooooooUoxxxx) 



A quantity produced by the floating Hit start bar to by 
decimal Arithmetic has an expon- pass the operation, 
ent with 12 significant digits. 



2. RUN ERR 02 
( ooooooUoxxxx) 



Division by zero is being attempt- Hit start bar to by 
ed. pass the operation. 



3. RUN ERR 03 
(ooooooUoxxxx) 



Calculation of tangent A is being 
attempted for A =t/2, 37r/2, etc. 
The result is infinite for these 
values. 



Hit start bar; the 
program will con- 
tinue with tangent 



10 



10 



4. RUN ERR 04 

( BoxxxxKooooo) 



Calculation of arcsine A is being 
attempted for |A| > 1. The func- 
tion is underfined in this range. 
A is in lines XXXX and XXXX + 1. 



Type in a new value 
of A into XXXX and 
XXXX + 1; then hit 
the start bar to con- 
tinue. 



5. RUN ERR 05 
( BoxxxxKooooo) 



Calculation of log A or log ,qA for 
A <_ is being attempted. The 
function is underfined in this 
range. A is in lines XXXX and 
XXXX + 1. 



Type in a new value 
of A into lines XXXX 
and XXXX + 1; then 
hit the start bar to 
continue. 



RUN ERR 06 
(BoxxxxKooooo) 



Calculation of VA is being at- 
tempted for n even and A < 0. 
The function is imaginary in this 
range. A is in line XXXX and 
XXXX + 1. 



Type in a new value 
of A into lines XXXX 
and XXXX +1; then 
hit the start bar to 
continue. 



7. RUN ERR 07 
( BoxxxxKooooo) 



Calculation ofvAis being attempt- 
ed for A < 0. The function is 
imaginary in this range. A is in 
XXXX and XXXX + 1. 



Type in a new value 
of A into lines- XXXX 
and XXXX + 1; then 
hit the start bar to 
continue. 



87 



■ST 



I 



: I'M i^f,^ 



*&#fl:>3 




\ 



Univac II Systems • For data-automation which involves large 
volumes of input and output. 



THE UNIVAC FAMILY 



PMM t. 

IC 



J 




I 



Univac File-Computer • For instantaneous 
random access to large-scale internal 
storage — plus computation. 



Hi 

Univac 60 & 120 Computers • For speeding 
and simplifying the procedures of punched- 
card systems. 



OF ELECTRONIC COMPUTERS 




«iiij» 



'r**mi 



Univac Scientific Systems • For complex and intricate computations of engineering and research. 



Wm 




V 




w 



UNIVAC 
The FIRST Name in Electronic Computing Systems 



i^H