A drill for children learning their tables. RUN asks for your name and a multiplier (up to 3276), then sets five problems that multiply it by a random number from 1 to 10. You get two tries at each; after a wrong second try the program shows the right answer. Press NEWLINE to go on to the next problem.
At the end it rates the score (EXCELLENT, NOT BAD or BETTER TRY AGAIN), tells you how many you got right and offers another round. It fits in a 1K ZX80.
Published in Syntax December 1980 (Multiplication Exercise).
Source Code
10 PRINT "HI. WHAT IS YOUR NAME?"
20 INPUT A$
30 CLS
40 PRINT "OK, ";A$;" ENTER MULTIPLIER."
50 INPUT A
60 LET B=0
70 DIM X(5)
80 FOR J=1 TO 5
90 LET C=RND(100)
100 IF C>10 THEN LET C=C/10
110 LET X(J-1)=C
120 GO SUB 500
130 INPUT E
140 FOR L=1 TO 2
150 PRINT E
160 PRINT "THAT IS ";
170 IF NOT E=A*C THEN PRINT "IN";
180 PRINT "CORRECT"
190 IF E=A*C THEN GO TO 250
200 IF L=2 THEN GO TO 260
210 PRINT "PLEASE TRY AGAIN."
220 INPUT E
230 GO SUB 500
240 NEXT L
250 LET B=B+1
260 PRINT "PRESS (NEWLINE) TO CONTINUE"
270 INPUT B$
280 NEXT J
285 LET J=J-1
290 GO SUB 500
300 PRINT A*X(4)
310 IF B>1 THEN GO TO 340
320 PRINT "BETTER TRY AGAIN, ";
330 GO TO 380
340 IF B<5 THEN GO TO 370
350 PRINT "EXCELLENT, ";
360 GO TO 380
370 PRINT "NOT BAD, ";
380 PRINT A$
390 PRINT "YOU GOT ";B;" CORRECT."
400 INPUT B$
410 CLS
420 PRINT "WANT TO TRY AGAIN?"
430 INPUT B$
440 IF CODE(B$)=62 THEN GO TO 30
450 CLS
460 PRINT "OK, ";A$;". THANKS FOR"
470 PRINT "PLAYING WITH ME."
480 PRINT "SEE YOU NEXT TIME."
490 STOP
500 CLS
510 PRINT "MULTIPLY BY ";A
520 FOR K=1 TO J
530 PRINT X(K-1);" X ";A;" = ";
540 IF NOT K=J THEN PRINT X(K-1)*A
550 NEXT K
560 RETURNNote: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

