10  REM  DECIMAL PLACEMENT PROGRAM WRITTEN BY MIKE BOBADILLA AT THE 
20  REM  EDP RESOURCE CENTER DEC 1976   (HP 2000F)
25  REM  REVISED 3/1/77 BY JESUS RODRIGUEZ BY REQUEST OF JUDY SOKOL
30  DIM A$[72],B$[72],C$[72]
40  PRINT "WHAT IS YOUR FIRST AND LAST NAME";
50  INPUT B$
80  PRINT 
90  PRINT "HI THERE!"'7'7'7" THIS IS A PROGRAM THAT WILL TEST YOU ON THE PLACEMENT"
100  PRINT "OF THE DECIMAL POINT.  YOU WILL BE GIVEN A PROBLEM WITH THE"
110  PRINT "ANSWER WITHOUT THE DECIMAL POINT.  YOU ARE TO RETYPE THE ANSWER"
120  PRINT "WITH THE DECIMAL POINT IN THE CORRECT PLACE."LIN(1)
130  PRINT "DO YOU WANT FURTHER INSTRUCTIONS AND EXAMPLES";
140  INPUT A$
150  IF A$[1,1]="N" THEN 300
160  PRINT LIN(-1)"THE COMPUTER WILL TYPE OUT A MULTIPLICATION PROBLEM WITH"
170  PRINT "THE CORRECT ANSWER BUT WITHOUT THE DECIMAL POINT. YOU ARE"
180  PRINT "TO RETYPE THE ANSWER WITH THE CORRECT DECIMAL POINT."LIN(1)
190  PRINT "HERE ARE SOME EXAMPLES:"
195  PRINT 
200  PRINT SPA(7)"COMPUTER TYPES"SPA(6)"YOU TYPE"
205  PRINT 
210  PRINT SPA(5)"2.34 X  .34 =  7956  ? .7956"
220  PRINT SPA(5)".159 X 3.21 = 51039  ? .51039"
230  PRINT SPA(5)"2.45 X 36.9 = 90405  ? 90.405"LIN(1)
240  PRINT "WHEN THE COMPUTER TYPES '?', YOU TYPE IN YOUR ANSWER "
250  PRINT "WITH THE CORRECT DECIMAL POINT."LIN(1)
260  PRINT "THE COMPUTER WILL TIME YOU.  PLEASE TYPE IN THE TIME YOU"
270  PRINT "WOULD LIKE TO TAKE ON EACH PROBLEM (THE PROBLEMS TAKE TIME"
280  PRINT "TO STUDY SO GIVE YOURSELF PLENTY OF TIME. ABOUT 30 SECONDS"
290  PRINT "FOR THE FIRST TIME AND LESS AS YOU GET BETTER.)"
300  PRINT LIN(1)"HOW MANY SECONDS WOULD YOU LIKE TO TAKE ON EACH PROBLEM";
310  INPUT G
315  IF G>30 THEN 317
316  GOTO 320
317  PRINT "PLEASE SELECT A NUMBER BETWEEN 5 AND 30."
319  GOTO 310
320  PRINT 
330  C1=W=J=C=0
340  C1=C1+1
350  IF C1=26 THEN 1200
360  Q=INT(RND(0)*8)+1
370  GOTO Q OF 380,400,380,400,400,380,400,400
380  A=INT(RND(0)*50)+50
390  GOTO 410
400  A=INT(RND(0)*550)+50
410  B=INT(RND(0)*850)+50
420  D=A*B
430  E=INT(RND(0)*8)+1
440  GOTO E OF 450,490,530,570,610,650,690,730
450  A=A/1000
460  B=B/100
470  F=D/100000.
480  GOTO 770
490  A=A/1000
500  B=B/10
510  F=D/10000
520  GOTO 800
530  A=A/100
540  B=B/100
550  F=D/10000
560  GOTO 830
570  A=A/100
580  B=B/10
590  F=D/1000
600  GOTO 860
610  A=A/1000
620  B=B/10
630  F=D/10000
640  GOTO 890
650  A=A/10
660  B=B/10
670  F=D/100
680  GOTO 920
690  A=A/100
700  B=B/1000
710  F=D/100000.
720  GOTO 950
730  A=A/10
740  B=B/1000
750  F=D/10000
760  GOTO 980
770  PRINT  USING 780;A,B,D
780  IMAGE #,5X,.3D," X ",D.2D," = ",6D,"  ? "
790  GOTO 1000
800  PRINT  USING 810;A,B,D
810  IMAGE #,5X,.3D," X ",2D.D," = ",6D,"  ? "
820  GOTO 1000
830  PRINT  USING 840;A,B,D
840  IMAGE #,5X,D.2D," X ",D.2D," = ",6D,"  ? "
850  GOTO 1000
860  PRINT  USING 870;A,B,D
870  IMAGE #,5X,D.2D," X ",2D.D," = ",6D,"  ? "
880  GOTO 1000
890  PRINT  USING 900;A,B,D
900  IMAGE #,5X,.3D," X ",2D.D," = ",6D,"  ? "
910  GOTO 1000
920  PRINT  USING 930;A,B,D
930  IMAGE #,5X,2D.D," X ",2D.D," = ",6D,"  ? "
940  GOTO 1000
950  PRINT  USING 960;A,B,D
960  IMAGE #,5X,D.2D," X ",.3D," = ",6D,"  ? "
970  GOTO 1000
980  PRINT  USING 990;A,B,D
990  IMAGE #,5X,2D.D," X ",.3D," = ",6D,"  ? "
995  B8=0
1000  ENTER G,H,I
1010  IF H>0 OR H<-255 THEN 1020
1012  B8=1
1014  GOTO 1100
1020  H=ABS(H)
1030  IF H<256 THEN 1070
1040  H=H-H+G
1050  J=J+H
1060  GOTO 1130
1070  J=J+H
1080  IF I=F THEN 1160
1090  GOTO 1130
1100  H=ABS(H)
1110  H=H*3
1120  J=J+H
1130  W=W+1
1135  IF B=8 THEN 1155
1140  PRINT "X"
1150  GOTO 340
1155  PRINT '13"T"
1157  GOTO 340
1160  C=C+1
1170  PRINT "C"
1180  GOTO 340
1190  GOTO 1550
1200  RESTORE 
1210  PRINT LIN(-3)
1220  PRINT SPA(20)"DECIMAL PLACEMENT DRILL"LIN(1)
1230  PRINT "DRILL TAKEN BY "B$""SPA(10)
1235  PRINT 
1240  J=J/25
1250  PRINT  USING 1260;C,W
1255  PRINT LIN(1)
1260  IMAGE #,"YOU GOT ",DD," RIGHT AND ",DD," WRONG AND YOU AVERAGED"
1270  PRINT  USING 1280;J
1275  PRINT 
1280  IMAGE X,2D.2D," SECONDS PER PROBLEM"
1290  PRINT 
1300  IF C#25 THEN 1340
1310  PRINT "YOU GOT ALL OF THEM RIGHT!"'7'7'7"!"'7'7'7"!"'7'7'7"!"'7'7'7"!"'7'7"!"'7'7'7'7'7'7'7LIN(1)
1320  PRINT "YOU GOT 100% RIGHT!"'7'7"!"'7'7'7"!"'7'7"!"'7'7'7"!"'7'7'7'7'7'7LIN(1)
1330  GOTO 1440
1340  C=C*4
1350  PRINT  USING 1360;C
1360  IMAGE "YOU GOT ",DD,"% RIGHT"
1370  PRINT 
1380  IF C>89 THEN 1440
1390  IF C>79 THEN 1460
1400  IF C>69 THEN 1480
1410  IF C>59 THEN 1500
1420  PRINT "TOO BAD!"'7'7'7'7'7'7"!!!   YOU GOT AN F"
1430  GOTO 1510
1440  PRINT "HEY!!!"'7'7'7'7'7SPA(5)"YOU GOT AN A!!!"'7'7'7'7'7'20'7
1450  GOTO 1510
1460  PRINT "NOT BAD!"'7'7'7"  YOU GOT A B!!"'7'7
1470  GOTO 1510
1480  PRINT "OOPS!  YOU GOT A C! TRY HARDER!!"'7'7'7'7
1490  GOTO 1510
1500  PRINT "OH-OH!"'7'7'7"  YOU GOT A D!"'7'7'7'7'7" YOU CAN DO BETTER THAN THAT!"'7'7'7"!"
1510  PRINT LIN(-1)"WOULD YOU LIKE TO TAKE THE TEST AGAIN";
1520  INPUT A$
1530  IF A$[1,1]="Y" THEN 300
1540  PRINT LIN(-1)"OKAY. GOOD LUCK AND TAKE IT EASY!"'7'7'7"!"'7'7
1550  END 
