Understanding Apple Basic 1983
Understanding Apple Basic 1983
:.9E
J.S.A /
UNDERSTANDING
_/
APPLE®
IAlll:
Step-by-step Instruction for
the Beginner
by Richard G. Peddicord
UNDERSTANDING
APPLE®
BASIC
by Richard G. Peddicord
Peddicord, Richard G.
Underst.anding Apple BASIC.
20. LOW-RESOLUTION
COLOR GRAPIDCS • •. . . . . . • •. •. •. . . •••. •. • •• 46
21. HIGH-RESOLUTION
COLOR GRAPmcs •••••• •••••• ••. . . •••. •• ••• 48
3
1. INTRODUCTION
4
2. ABOUT YOUR APPLE
THE SCREEN
THE KEYBOARD
A diagram of the Apple II keyboard is shown in
Figure 2.2. Your first step is to try out a few of the
essential keys. The RESET key is most useful. Try it.
You will hear a bleep from the Apple's speaker and the
flashing square cursor will be immediately to the right
of the Applesoft prompt character, ] . Whatever pro-
gram you were working on will still be in memory, and
whatever shapes you had entered will still be there.
In other words, no real harm is done if you press
RESET.
The SHIFT key works the same as in a type-
writer: hold it down while you strike a key; the upper-
case version of the character will be sent to the central
processing unit.
In Applesoft, you enter characters one at a time
and then press RETURN. Until you press RETURN,
the machine has no idea what you have typed in. There-
fore you can make all the corrections you want to a line
before sending it centrally. The arrow or cursor keys
(on the right side of the keyboard) are extremely useful
6
~
i'
t.:> Resets system
~ I
Causes repetition of
~
<t> any key held down
I
~ Returns to beginning
'E..
<t>
of new line
I
::.::::: Hold down while striking Moves right past
another key. Nothing will
~
C"' appear on screen, but
characters
I
0 special character will be - - - Moves left past
~ sent centrally characters
Press for
upper case
POWER I 48 K I
-.l
in making corrections, since they move the cursor across
text on the screen without changing it. Only when you
press another key will the indicated change be made.
You will use these keys often.
If you want to move the cursor over many char-
acters, you can hold down the repeat key (REPT) while
you hold down one of the arrow keys. This same REPT
key will cause any character to be repeated.
Some commands that you should be aware of are
listed below:
EXERCISES
8
3. A PRINTING CALCULATOR
Applesoft BASIC has a feature that is quite use-
ful if you have some arithmetic calculations to perform.
Basically all you have to do is type the word PRINT
I followed by an arithmetic expression that the machine
can understand, hit RETURN, and the machine will
give you the correct answer.
PRINT 5+6-7-3+ll
5
PRINT 5+6-<7-3>+4
11
MULTIPLICATION
Multiplication is indicated by the asterisk *, as in
PRINT Cl.26+0.23+4.99>*0•6
.3888
DIVISION
Division is indicated with the slash sign (!). As
with multiplication, if you want to divide a sum of num-
bers by a certain number, be sure to put all the terms
of the sum within parentheses. This forces the machine
9
to add them together before it divides. Say you want
the average of 5, 43, and 67. This will give it to you:
PRINT 1/2*3
1. 5
But:
PRINT 1/(2*3>
.166666667
PRINT 3+2*6
15
PRINT <3+2>*6
30
EXPONENTIATION
PRINT 3/\2
9
AND
PRINT 2/\3
8
EXERCISES
IO
c. 64 divided by 16
2. Find the average of 3.208, -56.007, 3412.76
and -.004.
3. How much sales tax must you pay (at 6%) on
the total of the three purchases: $23,689;
$108,544; $14,320.
11
4. LINE NUMBERS AND
STATEMENTS
RUN
**********************
* APPLESAUCE IS BOSS *
**********************
If you don't get this output type LIST and press
return. Your four-line program will appear on the screen,
and what was on the screen before gets scrolled out of
sight one line at a time. Check the LISTing against
the above listing for errors.
As the machine runs your program, line by line,
in increasing order of line number, it checks the syntax
of each statement as it executes it. If something goes
wrong, a ?SYNTAX ERROR IN (statement number)
will appear. That will tell you the first statement the
machine had difficulty with. Correct that statement
and RUN your program again.
12
To correct a program line type its line number
and the correct version. When you press RETURN it
will replace the old incorrect one. Later we will show
you how to use the editor to correct your errors.
EXERCISES
13
5. VARIABLES AND
ASSIGNMENT STATEMENTS
17 11
GOTCHA 11
EXERCISES
15
6. INPUTTING DATA FROM THE
KEYBOARD
When you RUN this you will see a question mark appear
on the far left, and the cursor will be waiting imme-
diately after it. It is waiting for a number to put into
A. If you don't give it one (try it) it will respond with
a ?REENTER and when you do finally get it right,
that number will go into A. The machine will prompt
you for the additional input with a double question mark
(??)if you have not yet satisfied the INPUT statement.
In order to satisfy an INPUT statement with one
press of RETURN, you must separate your input items
with commas and include all string variable data inside
double quotes. If you type
?51"GOTCHA"16 <RETURN>
16
EXERCISES
17
7. READING DATA FROM YOUR
PROGRAM
60 READ N$1A1H
70 PRINT N$tAtH
80 GOTO 60
55 FOR I=l TO 4
80 NEXT I
and RUN the program. This will keep all the existing
lines the same except for line 80, which will be replaced
18
by the new line 80. Line 55 will be added. Go ahead
and LIST, then RUN your program. You should get
this result:
lLIST
10 REM FIRST PROGRAM WITH DAT
A STATEMENTS
20 DATA "GEORGE JONES",23,71
30 DATA "MONIR AFGAJAN",9,s5
40 DATA "QUAN TRAN" ,57,53
50 DATA "MARCY WU",34,57
SS FOR I = 1 TO 4
60 READ NS,AtH
70 PRINT N$tAtH
80 NEXT I
lRUN
GEORGE JONES 23 71
MONIR AFGAJAN 8 5S
QUAN TRAN 67 63
MARCY WU 34 67
19
8. A COMPUTERIZED
SHOPPING LIST
JLIST
10 REH ***SHOPPING LIST***
20 READ N$1Q1PtT
30 IF N$ = "" THEN GOTO 110
40 c =Q * p
50 TC = TC + C
60 IF T = 1 THEN TX C * .OS
70 IF T = 0 THEN TX = 0
BO TT = TT + TX
90 PRINT Q1N$tCtTX
100 GOTO 20
110 PRINT "TOTAL COST= ";Tc
112 PRINT "TOTAL TAX= ";TT
114 PRINT "PAY THIS AMOUNT: ";re
+ TT
120 DATA "BREAD"t2t1.56t0
130 DATA "BEER"t2t2.54t1
140 DATA "SHAMPOO"t1t3.66t1
150 DATA "CAT FOOD"t14t.33t0
200 DATA "MILK"t3t1~11t0
210 DATA "EGGS"t1t.75t0
300 DATA ""tOtOtO
20
lRUN
2 BREAD 3.12
0
2 BEER s.oe
.30l!B
1 SHAMPOO 3.66
.21s6
ll! CAT FOOD
a.62 0
3 MILK 3.33
0
1 EGGS .75
0
TOTAL COST= 20.56
TOTAL TAX= .s2aa
PAV THIS AMOUNT: 21.oeaa
21
9. ARITHMETIC EXPRESSIONS
1. exponentiation
2. multiplication and division
3. addition and subtraction
4. left to right
If you plan to do much financial and/or scientific
programming you will need to translate some fairly
complex equations into Applesoft BASIC. Here is an
example of the kind of thing you might encounter:
M
1~·(1+1:00) ·L
Pl=--------
(1+1:oor -l
The first thing to do is to separate the original
expression into a numerator Nl and a denominator Dl:
M
Nl = 1:01>° (1+1!io) .L
Dl=(l+~)M
1200
-1
D1=(1+R/1200)AM-1
F=R/1200
22
100 F=R/1200
110 01=(1+Fl'"t1-1
120 N1=F*(1+F)'"M*L
130 Pl=Nl/01
EXERCISES
23
10. LOGICAL EXPRESSIONS
PRINT 3<5
24
EXERCISES
25
11. IF ... THEN
is simply ''HURRAY.''
One very common use for IF ... THEN state-
ments is in testing to see if a loop has completed its
work. In the following program we use an IF ... THEN
statement to make it stop after printing 10.
10 N=N+1
20 PRINT N
30 IF N<10 THEN GOTO 10
40 STOP
EXERCISES
Solution:
10 inPut "whats Your favorite number?"H
26
20 if f<47 Print "sorrvr its too low":
stoP
30 Print "sorrvr its too hifh"
N/2=INT(N/2)
Solution:
10 N=N+10
20 PRINT N
30 IF N<300 THEN GOTO 10
ao STOP
27
12. FOR ... NEXT
The task of doing something over and over again
is at the very basis of getting work done, whether it
be taking a sum, building a protein, or mowing a lawn.
In fact the very notion of a machine is bound up with
this notion of doing something over and over again.
In programming, doing a thing over and over is
called the loqp procedure. In taking a sum of many
numbers, the loop procedure usually consists of adding
one number to a running total. In building a protein,
it could be adding one more amino acid to the growing
molecule. In cutting a lawn, it could be one straight
path plus a turn.
For our purposes a loop procedure will be a block
of BASIC statements that fits between a FOR ...
statement on top and a NEXT statement on the bot-
tom. The entire block, including the FOR and the NEXT,
is called the loqp. Try this one:
28
the word TO. If the loop index has reached or exceeded
the final value, the loop itself has been completed, and
program control goes to the statement following the
NEXT statement. If, however, the value of the loop
index has not reached the final value, then an incre-
ment is added to the loop index, and program control
goes to the statement immediately following the FOR
statement, that is, the first statement of the loop pro-
cedure. If we do not mention the increment value, as
in line 20 above, it is assumed to be one. Otherwise we
write STEP following the final value and give a value
for the increment. The increment can be positive or
negative.
The general form of a FOR ... NEXT loop is
therefore this:
<LOOP PROCEDURE>
NEXT <LOOP INDEX>
EXERCISES
29
4. How many of the first 1000 integers are per-
fect squares, that is, a number whose square
root is also an integer?
30
13. LOAN AMORTIZATION
Just about everybody borrows money from time
to time, and there are all kinds of loans. A few con-
cepts, however, apply to almost all loans.
Every loan has an amount that was borrowed.
This is called the principal, and we shall use the letter
B to represent it. Its value is obtained by this statement:
40 D = <11365>*•01
100 B=B-P
110 K=K+1
120 PRINT Kt6
lRUN
HOW MUCH WILL YOU BORROW? 1000
HOW MUCH ANNUAL INTEREST? 15.S
HOW MANY PAYMENTS PER YEAR? 12
HOW MUCH EACH PAYMENT? 145
1 867.818483
2 733.9426
3 598.350632
4 461 • 020579
5 321.930164
6 181.05682
7 38.3776936
8 -106. 130363
LOAN IS PAID OFF
EXERCISES
INT<2.3456•100)/100
=INT<234.56)/100
=234/100
=2.34
2. Add two more items to the detail report line
printed in line 120: the INTEREST portion of
the monthly payment and the PRINCIPAL
portion of the monthly payment.
3. Add a feature to your program of Exercise 2:
have it print a total of all the interest and also
the sum of the original amount borrowed plus
the total interest.
4. Make the last part of the loan amortization
program better for the user. Indicate that they
will get a refund, and show the amount (mul-
tiply the balance by - 1).
5. Modify the loan amortization program so that
it asks the user for the amount of the payment,
P, each time a payment is due. Your new INPUT
statement should go between statements 90
and 100. Delete line 60. Include the features
in the above exercises.
32
14. MAGIC SUMS
10 FOR N = 3 TO 33 STEP 2
20 S = S + N
30 NEXT N : PRINT "THE SUM IS "tS
10 FOR I =4 TO 12 STEP 2
20 S = S + I/\(P+2>
30 P=P+1
40 NEXT I : PRINT "THE SUM IS 0
;s
Notice that we are taking advantage of the fact
that all variables are reset to zero before your program
is run. We thus know that S and P start at zero.
33
15. STRING VARIABLES
SO AS = 11
GOTCHA 11
60 L = LEN<AS>
34
lRUN
MIS
SISS
IPPI
IPPISISSMIS
EXERCISES
35
16. ONE-DIMENSIONAL
ARRAYS
45 BAL = RECEIPTS<CUSTOMER>
which is valid in Applesoft but not in most versions of
BASIC. The machine only looks at the first two char-
acters, however, so you have to make sure the first two
characters are unique.
Let's say you have 30 numbers that you want to
put into the machine, and they are all of the same type,
perhaps a month's worth of daily temperature read-
ings. You might as well call them Ti, T2, Ta, ... , T80
even before you put them into the machine, say to check
their values with a friend. It has become customary in
mathematics printing to write the cell number slightly
below the single letter that is the array name so that
the typesetter needn't set parentheses. It was called
the subscript, because it was below the line.
This routine will input your 30 numbers into an
array called T:
36
\
40 FOR I = 1 TO 30
50 INPUT T<I>
60 NEXT I
70
EXERCISES
37
17. ACCOUNTS RECEIVABLE
60 DATA 245,973,54,4442,1733
70 DATA -7610•53111208,320
80 FOR I=l TO lO:READ B<I>:NEXT
38
310 FOR I=1 TO 10
315 PRINT "TRANSACTIONS FOR ACCOUNT ";I
320 FOR K=1 TO M
330 IF CC K>=I THEN PR I NT CC K> , ACK >
340 NEXT
350 NEXT
JLIST
10 REM ***ACCOUNTS RECEIVABLE*
**
20 DIM BC10): REM ACCOUNT BALANCE
30 DIM TC100>: REM TRANSACTION TYPE
40 DIM CC100>: REM TRANSACTION ACCOUNT
50 DIM AC100): REM TRANSACTION AMOUNT
60 DATA 245,973,54,4442,1733
70 DATA _75,0,531,1200,320
80 FOR I = 1 TO 10: READ BCI>: NEXT
90 K = 1: REM K IS TRANSACTION NUMBER
100 INPUT "TRANSACTION TYPE:";TCK>
110 IF T<K> = 0 THEN GOTO 300
120 INPUT "ACCOUNT (1 TO 10>:";C CK>
130 INPUT "AMOUNT:";ACK>
140 IF TCK> = 1 THEN BCC> BCC> + ACK)
150 IF TCK> = 2 THEN 8CC> = BCC> - ACK>
160 K ; K + 1: GOTO 100
300 M; K - 1
310 FOR I ; 1 TO 10
315 PRINT "TRANSACTIONS FOR ACCOUNT ";I
320 FOR K ; 1 TO M
330 IF CCK> ; I THEN PRINT CCK> ,ACK>
340 NEXT
350 NEXT
JRUN
TRANSACTION TYPE:1
ACCOUNT C1 TO 10>:1
AMOUNT:25
TRANSACTION TYPE:1
ACCOUNT C1 TO 10):1
AMOUNT:456
TRANSACTION TYPE:2
ACCOUNT C1 TO 10>:6
Al10UNT:322
TRANSACTION TYPE:2
ACCOUNT (1 TO 10):6
AMOUNT:763
TRANSACTION TYPE:1
ACCOUNT (1 TO 10):3
AMOUNT:456
TRANSACTION TYPE:1
ACCOUNT C1 TO 10>:7
A110UNT:6789
TRANSACTION TYPE:2
ACCOUNT (1 TO 10):5
AMOUNT:653
TRANSACTION TYPE:2
ACCOUNT <1 TO 10>:7
AMOUNT:23
TRANSACTION TYPE:O
TRANSACTIONS FOR ACCOUNT
1 25
1 456
TRANSACTIONS FOR ACCOUNT 2
TRANSACTIONS FOR ACCOUNT 3
3 456
TRANSACTIONS FOR ACCOUNT 4
TRANSACTIONS FOR ACCOUNT 5
5 653
TRANSACTIONS FOR ACCOUNT 6
6 322
6 763
TRANSACTIONS FOR ACCOUNT 7
7 6789
7 23
TRANSACTIONS FOR ACCOUNT B
TRANSACTIONS FOR ACCOUNT 9
TRANSACTIONS FOR ACCOUNT 10
39
EXERCISES
40
18. BUBBLE SORTING
Now that you have some experience with one-
dimensional arrays, it is time you learned a standard
sorting technique, the so-called BUBBLE SORT. There
are several variations on the same basic idea, which is
to examine pairs of array values, and if a particular
pair is out of order, you switch the values, then go on
to examine another pair. When you have examined and
switched enough pairs, your array will be sorted.
First let's get the numbers into an array called
A:
10 REM ***BUBBLESORT***
20 DIM AC20>
30 INPUT "HOW MANY NUMBERS?";N
40 IF N>20 THEN PRINT "TOO BIG":GOTO 30
50 FOR I=1 TO N
60 INPUT "NUMBER PLEASE:";A<I>
70 NEXT
EXERCISES
41
3. Modify the bubble sort program so that the
smallest number ends up on top and the larg-
est number ends up on the bottom.
4. A slightly different bubble sort makes N -1
passes through the array A, except it looks
only at adjacent pairs, starting at the top. It
put the smallest number at the bottom (into
A(N)) after the first pass. On the second pass
there is no need to go beyond A(N -1). Finally
on the N -1 pass you need only compare A(l)
and A(2). Rewrite the sort program so that it
uses this method.
JLIST
10 REM ***BUBBLE SORT***
20 DIM A<20>
30 INPUT "HOW MANY NUMBERS? ";N
40 IF N > 20 THEN PRINT "TOO BI
G11 : GOTO 30
50 FOR I = 1 TO N
60 INPUT "NUMBER PLEASE: 11 ;A<I>
70 NEXT
80 FOR P = 1 TD N - 1
90 FOR I = P + 1 TD N
100 IF A<P> > = A<I> THEN GOTO
120
110 T = A<I>:A<I> = A<P>:A<P> = T
120 NEXT
130 NEXT
140 FOR I = 1 TON: PRINT A<I>: NEXT
JRUN
HOW MANY NUMBERS? 6
NUMBER PLEASE: 12.678
NUMBER PLEASE: -871453
NUMBER PLEASE: 104.39
NUMBER PLEASE: -.00076
NUMBER PLEASE: -.0076
NUMBER PLEASE: 56.433
104.39
56.433
12.678
-7.SE-04
-7.SE-03
-87.453
Input N
Input A(l)
no
T = A(l)
A(I) = A(P)
A(P) =T
42
19. TWO-DIMENSIONAL
ARRAYS
COLUMN
0 1 2 3 x . . . C-1
ROW
60 FOR Y 0 TO 9
70 FOR X 0 TO 9 : PRINT MULTCX1Y>;" ";
NEXT
80 PRINT NEXT
H(lt3) = H(lt3) + 1
44
120 PRINT : NEXT A: PRINT "THATS IT"
125 REM
130 DATA 1 t2 ,3 ,z ,5 ,5
140 DATA 2t2t3t2t5t3
150 DATA 1 .2 ,4,5,1 ,3
160 DATA 1 ,4 ,3 ,5 ,5 ,3
170 DATA 2t2t3t5t1 t4
180 DATA s t2, 1 ,5 ,4 ,4
190 DATA 1 ,z ,3 ,5 ,4 ,3
200 DATA 1 t2 ,4 .2 t2 ,2
210 DATA 2'1 ,3,5'1 ,3
220 DATA 2t2t2t2t2t2
lRUN
5 1
1 0 3 0
4 1
8 4 2 2
0 6
0 0 0 5
0 2
1 0 2 2
1 0
0 6 3 1
THATS IT
45
20. LOW-RESOLUTION COLOR
GRAPHICS
LOW-RESOLUTION GRAPHICS
COMMANDS
4 darkgreen
5 grey
6 medium blue
7 light blue
8 brown
9 orange
10 grey
11 pink
12 green
13 yellow
14 aqua
15 white
The selected color will be
used for plotting until the
color is changed by another
COLOR command.
46
text window. The color is
automatically set to black
(0).
HLIN X1, X2 AT y
VTABy
BLACK
14---- YELLOW
BLACK
47
21. HIGH-RESOLUTION COLOR
GRAPHICS
HIGH-RESOLUTION GRAPHICS
COMMANDS
30 X=INT<279*RND<1>>
40 Y=INT<lBS*RND<l>>
48
The RND(l) argument will produce a random
number between 0 and 1, and the INT function chops
off any decimals.
Now all that remains to do is to plot a line from
the last point plotted to the coordinates x, y:
50 HPLOT TO x,y
60 GOTO 30
EXERCISES
49
22. SYSTEM AND EDITOR
COMMANDS
50
23. DISK OPERATION
If the Apple II you are working with has a disk
drive you are lucky indeed. Without a disk drive there
is no convenient way to transfer work in and out of the
machine.
You will notice a little door in the center of your
disk drive. It pulls from the bottom and swings up. Go
ahead and do it.
If there is a diskette in the drive you can remove
it by holding it between your thumb and forefinger and
pulling straight back. Find the jacket that protects the
diskette and put the diskette in it. You can practice
putting the diskette in the drive and closing the door.
Always close the door before the system uses the disk
drive.
You will need a SYSTEM MASTER diskette. We
recommend DOS 3.3 for Apple II users, but DOS 3.2
will work fine.
Turn the power off, insert the system master into
the disk drive, and turn the power on. This will cause
the system master to load, or boot.
When you get the Applesoft prompt back again
you can try out some of the DOS commands.
First type CATALOG and press return. The in-
use light on the disk drive should come on, and the
drive will make certain characteristic sounds. A list of
files on the diskette will appear on the screen. A sample
is shown below:
]CATALOG
DISK VOLUME 254
*A 006 HELLO
*I 018 ANIMALS
*T 003 APPLE PROMS
*I 006 APPLESOFT
*1 026 APPLEVISION
*1 017 BIORHYTHM
*B 010 BOOT13
*A 006 BRIAN'S THEME
*B 003 CHAIN
*I 009 COLOR DEMO
*A 009 COLOR DEMOSOFT
*1 009 COPY
*B 003 COPY.OBJO
*A 009 COP YA
*A 010 EXEC DEMO
*B 020 FID
*B 050 FPBASIC
*B 050 INTBASIC
*A 028 LITT LE BR I CK OUT
*A 003 MAKE TEXT
*B 009 MASTER CREATE
*B 027 MUFFIN
*A 051 PHONE LIST
*A 010 RANDOM
*A 013 RENUMBER
*A 039 RENUMBER INSTRUCTIONS
*A 003 RETRIEVE TEXT
PRINT DS;"messa~e"
60 PRINT 0$
54
acter to be placed after the last print item. This
RETURN is used to recover the printed field, as it
signals to the INPUT statement that all items have
been input. If you are printing more than one data item
per print field you will want to separate them by com-
mas, which you must insert as alphanumeric characters.
As an example of a more complex sequential file
program we show a program to take the frequency
distribution data on ten students and put it out to the
disk.
LOAD WRITESTUDENT
JLIST
10 RE" DISK STORAGE OF STUDEN
T DATA
20 D$ g CHR$ <4>
30 PRINT Dti"OPEN SCORES"
40 PRINT Dti"WRITE SCORES"
50 FOR I g 1 TO 10
80 FOR Q g 1 TO 6
70 READ S: PRINT S: NEXT
90 NEXT I: PRINT D$
100 PRINT Dti"CLOSE SCORES"
200 DATA 1t2t3t2t5t5
210 DATA 2t2t3t2t5t3
220 DATA 1t2t4t5t1t3
230 DATA 1,4,3,5,5,3
240 DATA 2t2t3t5t1t4
250 DATA 5,2,1,5,4,4
280 DATA 1,2,3,5,4,3
270 DATA 1t2t4t2t2t2
280 DATA 2t1t3t5t1t3
290 DATA 2t2t2t2t2t2
lRUN
JLOAD READSTUDENT
lLIST
10 RE" DISK READ OF STUDENT D
ATA
20 D$ g CHR$ (4)
30 PRINT D$; II OPEN SCORES 11
40 PRINT Dti"READ SCORES"
50 FOR I g 1 TO 10
6() INPUT S1tS2tS3tS4tS5tS8
70 PRINT s1; 11 II ;s2; II ;s3; II iS4
II II
; II II ;55; II "IS6; II
II
80 NEXT I
JRUN
1 2 3 2 5 5
2 2 3 2 5 3
1 2 4 5 1 3
1 4 3 5 5 3
2 2 3 5 1 4
5 2 1 5 4 4
1 2 3 5 4 3
1 2 4 2 2 2
2 1 3 5 1 3
2 2 2 2 2 2
55
25. WHERE TO GO FROM HERE
56
BIBLIOGRAPHY
57
INDEX
AND (logical) 24
Arrays 36,43
Assignment statements 14
Branching 26
CATALOG 51
CHR$ 53
CLOSE 54
Conditional branching 26
Constants 14
Data entry 16
Data files 53
DATA statements 18
DELete 8
DIMension 36
Disk drive 51
Disk Operating System 51
Editing 50
Files 51
FOR ... NEXT 28
GOSUB 17
GOTO 18
HOME 8
IF ... THEN 26
Initializing 52
INPUT statements 16
INTeger function 32
Null string 34
OPEN 53
OR (logical) 24
READ statement 18
REMark statement 12
RETURN 6
RIGHT$ string function 34
(Continued)
59
SAVE command 50
Sector of disk 52
Serial (sequential) files 53
Sequential data file 53
String variables 34
String manipulation 34
STR$ string function 34
Substrings 34
Text file 14
Variables 14
60
GET ON THE ALFRED
COMPUTER MAILING LIST!
KEEP UP-TO-DATE!
Name
Address
Comments: - - - - - - - - - - - - -
ISBN 0-88284-246- 3
~
3808 1 0 02 9 5