[ To Main Shaw Family Home page | Go to Stephen's Entry Page ]
[ TI Book front page | TI Resources Page | PC99 Review | PC99 Programs ]
Last updated 7th May 2005

Contact - please use subject="pc99 page" to avoid spam trap!

This page contains program lists for TI99/4a.

Web article Four- published May 1999


In an earlier article I demonstrated the various graphics utilities you can use with the TI99/4a, and you can refer back to that if you do not have The Missing Link which is referenced below for several programs.
You can use Windows cut and paste to enter the text into PC99 into a runnable program.
This will be the last article for a while due to lack of feedback- I have a lot of TI related text however I am not sure if anyone is referencing these pages!

 HOW A TWO YEAR OLD
 CAN TYPE AT 20 W.P.M.

 FAST TYPER...
1 REM SILLY PROG BY S SHAW    MARCH 1991
2 ! did you see COMPUTER WARS-the film? It is said that the star, who was requir
ed to type fast into a computer
3 ! could not type, so a program just like this one was used to give a good effe
ct!
4 ! now adjust it how you wish and show your friends how fast you can type
5 ! at end of text string program will just stop with this listing but can be mo
dified to do anything you wish!
6 !
100 A$="This is how a non-typist canproduce information on      screen quickly,
without     "
110 A$=A$&"having to look at what keys are being bashed! Just bash keys and watc
h how perfect  text appears no matter what you press"
120 PRINT A$: : : : : :
130 CALL KEY(5,A,B):: IF B<1 THEN 130
140 C=C+1 :: PRINT SEG$(A$,C,1);:: IF C=LEN(A$)THEN 160
150 GOTO 130
160 GOTO 160

========================================================


1 ! ADDING FRACTIONS
2 ! result is not reduced       eg 12/16 would usually      be shown as 3/4
100 CALL CLEAR
110 DISPLAY AT(10,5):"--- + --- = ---"
120 ACCEPT AT(9,5)SIZE(3)VALIDATE(DIGIT):A
130 ACCEPT AT(11,5)VALIDATE(DIGIT)SIZE(3):B
140 ACCEPT AT(9,11)SIZE(3)VALIDATE(DIGIT):C
150 ACCEPT AT(11,11)SIZE(3)VALIDATE(DIGIT):D
160 GOSUB 230
170 DISPLAY AT(9,16):USING "####":N
180 DISPLAY AT(11,16):USING "####":L
190 DISPLAY AT(14,1):"ENTER KEY FOR ANOTHER"
200 DISPLAY AT(1,1):"NORMAL RESULT=";A/B+C/D
210 ACCEPT AT(24,12):A$ :: GOTO 100
220 STOP
230 FOR X=2 TO B*D
240 IF INT(X/B)7 if language goes        beyond 13 digits!
9 ! eg n=35 for 53 digits
10 !
100 N=7 :: K=-1
110 K=K+1
120 I=-((2 AND 2*K)-1)
130 U=U+4*I/((2*K+1)*5^(2*K+1))
140 V=V+I/((2*K+1)*239^(2*K+1))
150 IF K<=N THEN 110
160 W=U-V :: PI2=4*W
170 ! DONE
180 PRINT PI2,PI
190 PRINT (PI2-PI)*1000,! COMPARE  with on board variable
200 PRINT (PI2-(4*ATN(1)))*1000 ! compare with TI Basic's calculation
210 PRINT "   ";(PI2-3.14)*100;:: DISPLAY AT(24,2)SIZE(4):"3.14"
! displays ALL the digits actually in the variable!!!=13 incl dec point.
220 PRINT " 3.14159265358979 -etc"
! more accurate actual value for comparison!
230 END
999 !from THE REC NEWSLETTER     March 1988  Vol 3 #2

The program is not derived from the standard mathematical series, stretching
off to infinity, but from an approximation published around 1706, a little
before computers were around! This -courtesy of Mr Dossett- has yielded a
rather fast program!
=========================
 PRIMES...
Continuing with math related topics, prime numbers- that is numbers which are
divisible only by themselves and 1. Asked to write a program to list prime
numbers I suspect most of us would start from 1 and then try dividing every
number by every number to see if it was divisible...
  The first listing is fsirly straight forward, but uses a few tricks to speed
things up. In particular, if we know that a number is NOT divisible by two, it
cannot possibly be divisible by any higher power of two, such as 4- or indeed
any multiple of two. So we can check just the odd numbers, and also not bother
testing for divisors greater than the first power of a known prime.

100 ! FIRST 100 PRIMES           -NEATLY-
110 ! from Loren Krienke      via THE REC NEWSLETTER      March 1988 Vol 3 #2
120 ! for ti99/4a s shaw
130 L=100 ! number required
         ---> continued ---->
140 DIM P(100)! P(L)-holds found primes, used as divisors
150 DIM S(100)! S(L)-squares of primes, reduces number of divisions needed
160 P(1)=2 ! first prime
170 PRINT P(1);
180 T=1 ! initialise loop
190 FOR I=2 TO L ! test non-even numbers:
200 T=T+2
210 FOR J=1 TO I-1
220 CALL MOD(T,P(J),R):: IF R=0 THEN 200
230 IF T>S(J)THEN 235 ELSE 240
235 NEXT J
240 P(I)=T ! found prime, store it
250 S(I)=T*T ! GREATER SPEED
260 PRINT T;!PRIME
270 NEXT I ! LOOP
280 !
290 ! 18 JUly 1986
300 ! Loren Krienke
310 ! San Diego, Ca.
320 !
330 SUB MOD(A,B,C)! C=A MOD B becomes CALL MOD(A,B,C)
340 C=INT(A-B*INT(A/B))
350 SUBEND

A similar but very much more opaque program follows, which has no obvious
connection with the above, but it produces the same output!!! Check out the
speed comparison between the two programs. Any difference?
You may also wish to try looking for a larger number of primes!

100 ! FIRST 100 PRIMES          -QUICKLY-
110 ! Dr H B Phillps          from THE REC NEWSLETTER    March 1988  Vol 3 #2
120 DIM P(300),X(12)
130 A=0 :: B=1 :: D=0.5 :: E=180
140 M=100 :: L=3 :: F=0
150 ! increase M for more- also increase DIMs.
160 PRINT 2;:: C=B :: IF M=B THEN END
170 L=INT((M/C)*L+F):: N=L+L+B
180 FOR I=B TO INT((SQR(N)-B)*D):: PP=P(I)
190 IF PP=B THEN 230
200 IF PP=A THEN PP=I+I+B :: PRINT PP;:: P(I)=PP :: C=C+B :: IF C=M THEN END
210 IF X(I)=A THEN X(I)=(PP*PP-B)*D
220 FOR J=X(I)TO L STEP PP :: P(J)=B :: NEXT J :: X(I)=J
230 NEXT I :: IF F=0 THEN S=I
240 FOR I=S TO L
250 IF P(I)=A THEN PP=I+I+B :: PRINT PP;:: P(I)=PP :: C=C+B :: IF C=M THEN END
260 NEXT I :: F=(M-C)*L/E :: S=L+B
270 GOTO 170

And no, I have no idea how this program works! When faced with a problem, the
programmer usually has more than one way of attacking it, and it also usually
happens that by restating the problem a faster solution can be found.
============================



Now for a graphic program requiring The Missing Link.

100 ! RABBITS AND FOXES
110 ! Dolores Garcia,Spain
120 ! Dr M Ecker, PA, USA
130 ! s shaw for ti99/4a       ex bas+tml   april 91
140 CALL LINK("CLEAR"):: A,B=5
150 CALL LINK("PRINT",A,B,"Rabbits and Foxes"):: A=A+12 :: B=5
160 CALL LINK("PRINT",A,B,"Please input the variables requested below. Suggested
 values are given for a 'typical' response. Try others!")
170 CALL LINK("PRINT",70,12,"RABBIT BIRTH RATE:")
180 CALL LINK("PRINT",80,12,"RABBIT DEATH RATE (Excl eaten ones!):")
190 CALL LINK("PRINT",100,12,"RATE OF EATEN RABBITS:")
200 CALL LINK("PRINT",110,12,"FOXES DEATH RATE:")
210 CALL LINK("PRINT",120,12,"FOXES BIRTH RATE:")
220 CALL LINK("INPUT",70,150,A,4,".04"):: IF A<.00001 THEN A=0.4
230 CALL LINK("INPUT",90,150,B,6,".00005"):: IF B<1E-9 THEN B=.0005
240 CALL LINK("INPUT",100,150,C,4,".002"):: IF C<.00001 THEN C=.002
250 CALL LINK("INPUT",110,150,D,4,".03"):: IF D<.00001 THEN D=.04
260 CALL LINK("INPUT",120,150,E,5,".0002"):: IF E<1E-8 THEN E=.0002
270 CALL LINK("PRINT",140,12,"RABBITS START AT:")
280 CALL LINK("PRINT",150,12,"FOXES START AT:")
290 CALL LINK("INPUT",140,120,R,4,"300")
300 CALL LINK("INPUT",150,120,F,4,"30")
310 CALL LINK("CLEAR")
320 P=F*R
330 R=(1+A-B*R)*R-C*P
340 F=(1-D)*F+E*P
350 P=F*R
360 IF ER>500 THEN CALL LINK(180,180,"-.-.-."):: GOTO 360
370 IF NOT(F>0 AND R>0 AND F<200 AND R<640)THEN ER=ER+1 :: GOTO 330
380 CALL LINK("PIXEL",2+4*F,R*.7+2):: CALL
LINK("PRINT",181,1,"RABBITS:"&STR$(IN
T(R))&"  ")
390 CALL LINK("PRINT",181,110,"FOXES:"&STR$(INT(F))&"   ")
400 ER=0
410 GOTO 330
420 END
========================================
This is a tricky little program - for The Missing Link, in this format it
is a demo program, but if you leave the worm invisible all the time (by leaving
Pen Erase on all the time) then you have a nasty little trick - especially if
you disable break and quit. This is the fun version...

100 A,B=10
110 CALL LINK("PRINT",A,B,"The Missing Link is a disk based utility which allows
 the Extended Basic programmer to make use of many ")
120 CALL LINK("PRINT",A,B,"enhanced commands, including true bit map graphics, w
hich in turn allows more powerful PRINT commands, and of ")
130 CALL LINK("PRINT",A,B,"course, full access to sprites.")
140 CALL LINK("PRINT",A,B,"This program demonstrates graphics outside a small wi
ndow which, worm fashion, eat up the text! Enjoy..")
150 ! WORM
160 ! SCIENTIFIC AMERICAN DEC 87  by S L Wentworth
170 ! TI99/4A BY S SHAW 91
180 ! EXT BAS + THE MISSING LINK
190 DIM XC(25),YC(25)
200 XC(2),YC(2),XC(1),YC(1)=100
210 D=0
220 T=1
230 RANDOMIZE
240 CALL LINK("WINDOW",80,80,110,120,1)
250 CALL LINK("PRINT",7,7,"WORM     HOLE")
260 CALL LINK("REVWIN")
270 WT=T
280 CALL MOD(T,25,T):: T=T+1
290 CALL LINK("PE")
300 CALL LINK("CIRCLE",XC(T),YC(T),4,0)
310 CALL LINK("PD")
320 C=RND
330 IF C<.5 THEN D=D+.1745 ELSE D=D-.1745
340 X=XC(WT)
350 Y=YC(WT)
360 NX=X+4*COS(D)
370 NY=Y+4*SIN(D)
380 IF NX>189 THEN NX=NX-189
390 IF NY>240 THEN NY=NY-240
400 IF NX<2 THEN NX=NX+189
410 IF NY<1 THEN NY=NY+240
420 XC(T)=NX
430 YC(T)=NY
440 !
450 CALL LINK("CIRCLE",NX,NY,4,0)
460 CALL LINK("PD")
470 GOTO 270
480 SUB MOD(A,B,C)
490 C=INT(A-B*INT(A/B))
500 SUBEND
================================
This is the promised fractional plus and minus program. I won't tell you how
long it took me to get the displays like that....

100 ! FRACTIONAL + AND -
110 ! R CALDWELL  JAN 91
120 ! FOR TI99/4A BY
130 ! S SHAW APR 91
140 DIM Q(102)
150 DISPLAY AT(1,1)ERASE ALL:"FRACTIONAL + & -"
160 DISPLAY AT(7,1):"-------"
170 DE,X=1
180 ACCEPT AT(6,2)VALIDATE(DIGIT,"+-")SIZE(4):N(X)
190 IF N(X)=0 THEN 310
200 ACCEPT AT(8,2)VALIDATE(DIGIT)SIZE(4):D(X)
210 IF D(X)=0 THEN 310
220 DP(X)=N(X):: DE=DE*D(X)
230 CALL HCHAR(6,1,32,12)
240 CALL HCHAR(8,1,32,12)
250 DISPLAY AT(5,1):"PLUS:"
260 DISPLAY AT(3,1):"ENTER 0 TO TOTAL"
270 X=X+1 :: DISPLAY AT(7,15):"ITEM";X :: DISPLAY AT(8,15):"-MAX 10-"
280 IF X=11 THEN 310
290 GOTO 180
300 REM
310 F,X=X-1
320 FOR S=1 TO F :: FOR J=1 TO F
330 Z=Z+1 :: K=S+J-1
340 P(S,J)=K-F*INT(K/F):: IF P(S,J)=0 THEN P(S,J)=F
350 Q(Z)=P(S,J):: NEXT J :: NEXT S
360 FOR X=1 TO F :: Y=F*X-F+1 :: FOR C=1 TO F-1
370 Y=Y+1 :: DP(X)=DP(X)*D(Q(Y)):: NEXT C
380 NU=NU+DP(X):: NEXT X :: DD=2
390 DISPLAY AT(10,1):"SUM IS:" :: DISPLAY AT(11,5):NU;"/";DE
400 IF NU/DD=INT(NU/DD)AND DE/DD=INT(DE/DD)THEN NU=NU/DD :: DE=DE/DD
:: GOTO 400
410 DD=DD+2+(DD=2)
420 IF ABS(NU)>DE THEN A=ABS(NU)ELSE A=DE
430 IF DD<=SQR(A)THEN 400
440 IF NU/DE=INT(NU/DE)THEN 540
450 IF NU>0 THEN WN=INT(NU/DE):: NU=NU-WN*DE :: PN=1
460 IF NU<0 THEN WN=INT(NU/DE)+1 :: NU=ABS(NU-WN*DE):: PN=2 :: IF WN=0
THEN NU=-
NU
470 REM
480 DISPLAY AT(13,5):USING "#######":NU
490 IF PN=1 THEN DISPLAY AT(14,1):WN :: NU=NU+WN*DE
500 IF PN=2 THEN DISPLAY AT(14,1):WN :: IF WN<0 THEN NU=WN*DE-NU
510 PN=0
520 DISPLAY AT(14,5):"-------"
530 DISPLAY AT(15,5):USING "#######":DE
540 DISPLAY AT(18,4):NU/DE
550 DISPLAY AT(24,4):"ANY KEY FOR ANOTHER"
560 CALL KEY(5,G,H):: IF H<1 THEN 560
570 RUN
580 END
=========================

CRYPTO CALC...

In this puzzle the computer will ask you to form a target number by using the
four main math operators ( add, minus, divide, times) and some numbers it will
give you. You may select the number of numbers you wish to use, the computer
will select the numbers and the target, and then the computer will find the
order of operations. You will probably beat the computer!

Let's say the target is 1 and the numbers are 10 10 6 and 8.
10/10=1 and 8-6=2 and then 2-1=1
The computer will display this in the form:
((8-6)-(10/10)) adding brackets to make the order of operations plainer.

From time to time, unusually! the computer may beat you to it or even find a
solution you cannot - but it may be painfully slow! Can you speed this up?

100 CALL CLEAR :: RANDOMIZE
110 PRINT "CRYPTO CALC":"Ray McClanahan 1989":"for TI99/4A 1991 S Shaw":"":"base
d on Krypto by":"MBH Games Co"
120 PRINT "":"from REC Newsletter":"   Vol 4 #7":""
130 !
140 !
150 PRINT "How many cards? 4-9": : : :
160 DISPLAY AT(23,9):"5" :: ACCEPT AT(23,9)SIZE(-1)VALIDATE("456789"):C :: W=C-1
170 !
180 V=INT(RND*C*5)+1 :: PRINT "":"TARGET VALUE CALCULATED"
190 F(1)=1 :: FOR A=2 TO C :: F(A)=A*F(A-1):: NEXT A
200 PRINT "Computer now selecting      numbers to use..."
210 RANDOMIZE
220 FOR A=1 TO C
230 I(A)=INT((INT(RND*RND*C*10+1)+INT(RND*C*4+1)+INT(RND*RND*12+1))/3)::
IF I(A)
>C*5 THEN 230
240 IF I(A)=I(A-1)THEN I(A)=I(A)+4 :: IF I(A)>25 THEN 230
250 PRINT I(A):: NEXT A
260 FOR A=1 TO 500 :: NEXT A :: CALL CLEAR
270 FOR U=1 TO F(C):: D=C :: J=U :: GOSUB 660
280 FOR A=1 TO C :: M(A)=I(R(A)):: NEXT A
290 FOR E=1 TO F(W):: D=W :: J=E :: GOSUB 660
300 DISPLAY AT(4,1):"TARGET VALUE:";V
310 DISPLAY AT(6,1):"Make this value using only  + - * / and these numbers:"
320 FOR A=1 TO C :: DISPLAY AT(A+8,24):I(A):: NEXT A
330 DISPLAY AT(16,1):"There MAY be no solution-   computer will tell you..."
340 FOR A=1 TO W :: Q(A)=R(A):: NEXT A
350 FOR A=1 TO W :: Z(A)=1 :: NEXT A
360 FOR A=1 TO C :: N(A)=M(A):: NEXT A
370 FOR A=1 TO W :: P(A)=Q(A):: S(A)=Z(A):: NEXT A
380 FOR A=1 TO W :: L=C+1-A
390 ON S(P(A))GOTO 400,410,420,430
400 N(P(A))=N(P(A))+N(P(A)+1):: GOTO 450
410 N(P(A))=N(P(A))-N(P(A)+1):: GOTO 450
420 N(P(A))=N(P(A))*N(P(A)+1):: GOTO 450
430 IF N(P(A)+1)=0 THEN 570
440 N(P(A))=N(P(A))/N(P(A)+1)
450 IF A=W THEN 550
460 IF P(A)=L-1 THEN 510
470 FOR B=P(A)+1 TO L-1
480 N(B)=N(B+1):: NEXT B
490 FOR B=P(A)TO W-1
500 S(B)=S(B+1):: NEXT B
510 FOR B=A+1 TO W
520 IF P(A)>P(B)THEN 540
530 P(B)=P(B)-1
540 NEXT B
550 NEXT A
560 IF ABS(V-N(1))<.001 THEN 760
570 FOR A=W TO 1 STEP -1
580 IF Z(A)=4 THEN 600
590 Z(A)=Z(A)+1 :: GOTO 650
600 Z(A)=1
610 NEXT A
620 DISPLAY AT(10,1):"OP Order Perm No";E;" failure" :: NEXT E
630 DISPLAY AT(12,1):"Number order Perm No";U;" failure" :: NEXT U
640 DISPLAY AT(14,1):"ALL POSSIBILITIES CHECKED":"NO MATCH" :: CALL
SOUND(900,20
0,0):: RUN
650 GOTO 360
660 FOR H=1 TO D :: T(H)=H :: NEXT H
670 FOR X=1 TO D-1
680 Y=D-X
690 G=INT((J-1)/F(Y)+.00001)
700 R(X)=T(G+1)
710 J=J-G*F(Y)
720 IF G=Y THEN 740
730 FOR K=G+1 TO D-1 :: T(K)=T(K+1):: NEXT K
740 NEXT X
750 R(D)=T(1):: RETURN
760 FOR A=1 TO C :: O$(A)=STR$(M(A)):: NEXT A
770 FOR A=1 TO W :: P(A)=Q(A):: S(A)=Z(A):: NEXT A
780 FOR A=1 TO W :: L=C+1-A
790 ON S(P(A))GOTO 800,810,820,830
800 O$(P(A))="("&O$(P(A))&"+"&O$(P(A)+1)&")" :: GOTO 840
810 O$(P(A))="("&O$(P(A))&"-"&O$(P(A)+1)&")" :: GOTO 840
820 O$(P(A))="("&O$(P(A))&"*"&O$(P(A)+1)&")" :: GOTO 840
830 O$(P(A))="("&O$(P(A))&"/"&O$(P(A)+1)&")" :: GOTO 840
840 IF A=W THEN 940
850 IF P(A)=L-1 THEN 900
860 FOR B=P(A)+1 TO L-1
870 O$(B)=O$(B+1):: NEXT B
880 FOR B=P(A)TO W-1
890 S(B)=S(B+1):: NEXT B
900 FOR B=A+1 TO W
910 IF P(A)>P(B)THEN 930
920 P(B)=P(B)-1
930 NEXT B
940 NEXT A
950 PRINT O$(1)
960 DISPLAY AT(15,1):O$(1):"":"ANY KEY FOR ANOTHER"
970 CALL KEY(5,A,B):: IF B<1 THEN 970
980 DISPLAY AT(12,2)ERASE ALL:"ONE MOMENT..."
990 RUN
1000 END
==============================
This very long top-down program could be made shorter - can you do it? - and is
a trick based upon Pascals Triangle.
Details of operation in the listing- if you like, try to think of it this
way...
The computer first establishes rules which determine how it will deal with six
numbers. These rules are fixed. A target result is set, you input two numbers,
and based upon these the computer will forecast the other numbers you are going
to input, and put in a balancing number itself- before you input your extra
numbers!- in order to achieve the desired result.
It is an interesting puzzle....

10 ! math trick from          REC NEWSLETTER Vol 4 #7     after Michael W Ecker
      from Prof H L Ridge
20 ! for ti99/4a by s shaw       april 1991
40 PRINT "Math Trick":"S Shaw   April 1991":""
100 REM
110 PRINT "We will first choose six    numbers across the top of   the screen"
120 PRINT "Then we will add up each    pair of adjacent numbers."
130 PRINT "The result of this sum will be divided by five until    only a remain
der is left."
140 PRINT "This we will place below thepair we have added.         We continue t
o do this untilonly one number is left."
150 PRINT "You will choose all the top numbers except one. Before  you have chos
en all your    numbers I will tell you the final number."
160 PRINT "Aren't us computers clever!"
170 PRINT "":"press any key to start"
180 CALL KEY(5,A,B)
190 IF B<1 THEN 180
200 CALL CLEAR
210 PRINT "No, tell you what,          YOU choose what that final  number should
 be:           0, 1, 2, 3, or 4:":
220 ACCEPT AT(24,26)SIZE(1)VALIDATE("01234"):A$ :: IF LEN(A$)<1 THEN 220
230 TGT=VAL(A$)
240 CALL CLEAR
250 DISPLAY AT(1,1):"-- -- -- -- -- --"
260 DISPLAY AT(23,1):"INPUT ONE OR TWO DIGIT      NUMBERS AS INDICATED
ABOVE"
270 DISPLAY AT(20,1):"TARGET=";A$
280 ACCEPT AT(1,1)SIZE(2)VALIDATE(DIGIT):N1
290 ACCEPT AT(1,10)SIZE(2)VALIDATE(DIGIT):N4
300 Z=N1
310 IF Z>5 THEN Z=Z-5 :: GOTO 310
320 N6=TGT-Z :: N6=N6+10*INT(RND*8+1)
330 DISPLAY AT(1,15):N6
340 ACCEPT AT(1,4)SIZE(2)VALIDATE(DIGIT):N2
350 ACCEPT AT(1,7)SIZE(2)VALIDATE(DIGIT):N3
360 ACCEPT AT(1,13)SIZE(2)VALIDATE(DIGIT):N5
362 CALL HCHAR(23,1,32,64)
370 DISPLAY AT(17,1):N1;"+";N2;"=";N1+N2 :: Z=N1+N2
380 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
390 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N1=Z2*5
400 DISPLAY AT(2,2)BEEP:N1 :: FOR T=1 TO 1900 :: NEXT T
410 DISPLAY AT(17,1):N2;"+";N3;"=";N2+N3 :: Z=N2+N3
420 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
430 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N2=Z2*5
440 DISPLAY AT(2,5)BEEP:N2 :: FOR T=1 TO 1900 :: NEXT T
441 !
442 !
450 DISPLAY AT(17,1):N3;"+";N4;"=";N3+N4 :: Z=N3+N4
460 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
470 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N3=Z2*5
480 DISPLAY AT(2,8)BEEP:N3 :: FOR T=1 TO 1900 :: NEXT T
481 !
482 !
490 DISPLAY AT(17,1):N4;"+";N5;"=";N4+N5 :: Z=N4+N5
500 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
510 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N4=Z2*5
520 DISPLAY AT(2,11)BEEP:N4 :: FOR T=1 TO 1900 :: NEXT T
521 !
530 DISPLAY AT(17,1):N5;"+";N6;"=";N5+N6 :: Z=N5+N6
540 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
550 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N5=Z2*5
560 DISPLAY AT(2,14)BEEP:N5 :: FOR T=1 TO 1900 :: NEXT T
561 !
570 DISPLAY AT(17,1):N1;"+";N2;"=";N1+N2 :: Z=N1+N2
580 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
590 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N1=Z2*5
600 DISPLAY AT(3,3)BEEP:N1 :: FOR T=1 TO 1900 :: NEXT T
610 DISPLAY AT(17,1):N2;"+";N3;"=";N2+N3 :: Z=N2+N3
620 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
630 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N2=Z2*5
640 DISPLAY AT(3,6)BEEP:N2 :: FOR T=1 TO 1900 :: NEXT T
650 DISPLAY AT(17,1):N3;"+";N4;"=";N3+N4 :: Z=N3+N4
660 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
670 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N3=Z2*5
680 DISPLAY AT(3,9)BEEP:N3 :: FOR T=1 TO 1900 :: NEXT T
690 DISPLAY AT(17,1):N4;"+";N5;"=";N4+N5 :: Z=N4+N5
700 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
710 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N4=Z2*5
720 DISPLAY AT(3,12)BEEP:N4 :: FOR T=1 TO 1900 :: NEXT T
721 !
730 DISPLAY AT(17,1):N1;"+";N2;"=";N1+N2 :: Z=N1+N2
740 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
750 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N1=Z2*5
760 DISPLAY AT(4,5)BEEP:N1 :: FOR T=1 TO 1900 :: NEXT T
761 !
770 DISPLAY AT(17,1):N2;"+";N3;"=";N2+N3 :: Z=N2+N3
780 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
790 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N2=Z2*5
800 DISPLAY AT(4,8)BEEP:N2 :: FOR T=1 TO 1900 :: NEXT T
801 !
810 DISPLAY AT(17,1):N3;"+";N4;"=";N3+N4 :: Z=N3+N4
820 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
830 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N3=Z2*5
840 DISPLAY AT(4,11)BEEP:N3 :: FOR T=1 TO 1900 :: NEXT T
841 !
850 DISPLAY AT(17,1):N1;"+";N2;"=";N1+N2 :: Z=N1+N2
860 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
870 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N1=Z2*5
880 DISPLAY AT(5,7)BEEP:N1 :: FOR T=1 TO 900 :: NEXT T
881 !
890 DISPLAY AT(17,1):N2;"+";N3;"=";N2+N3 :: Z=N2+N3
900 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
910 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N2=Z2*5
920 DISPLAY AT(5,10)BEEP:N2 :: FOR T=1 TO 900 :: NEXT T
921 !
930 DISPLAY AT(17,1):N1;"+";N2;"=";N1+N2 :: Z=N1+N2
940 DISPLAY AT(18,1):Z;"/";5;"=";Z/5 :: Z2=Z/5-INT(Z/5)
950 DISPLAY AT(19,1):Z2;"*";5;"=";Z2*5 :: N1=Z2*5
960 DISPLAY AT(6,9)BEEP:N1 :: FOR T=1 TO 900 :: NEXT T
970 DISPLAY AT(6,9)BEEP:N1 :: FOR T=1 TO 900 :: NEXT T
980 DISPLAY AT(9,1):"TARGET ACHIEVED"
990 DISPLAY AT(23,1):"ANY KEY TO DO IT AGAIN"
1000 CALL KEY(5,A,B)
1010 IF B<1 THEN 1000
1020 DISPLAY AT(12,3)ERASE ALL:"ONE MOMENT..."
1030 RUN
1040 END
=======================
[ TI Book front page | TI Resources Page | PC99 Review | PC99 Programs ]