10 REM MATH WORKSHEET BY F. COLOSIMO 20 REM COM 64 VS 19 12/24/83 30 OPEN1,4 :REM USE APPROP. CMD FOR YOUR PRINTER/INTERFACE 40 REM SET CONSTANTS AND GET PAPER READY 50 UN$=CHR$(14):REM THIS CMD TURNS ON DBL WIDTH 60 OFF$=CHR$(15): REM THIS TURNS OFF DBL WID. 70 DI$="(1-3)":X=0:POKE53280,0:POKE53281,12 80 DIMA%(28),B%(28),A$(7),B$(7),N1%(28),N2%(28),AN%(42) 90 PRINT"[144][147] ******* MATH WORKSHEET *******":PRINT" POSITION PAPER NOW " 100 PRINT" WITH PERF AT PRINTHEAD..." 110 REM DEFINE PROBLEM CHARACTERISTICS 120 PRINT" DO YOU WANT ADDITION, SUBTRACTION OR MULTIPLICATION?(+,-,X)" 130 GETO$:IFO$=""THEN130 140 PRINTSPC(6)" OPERATION = [144]"O$ 150 IFO$="X"THEND1$="(1-2)":GOTO170 160 IFO$<>"+"ANDO$<>"-"THEN120 170 PRINT" HOW MANY DIGITS DO YOU WANT?"D1$ 180 GETD$:IFD$=""THEN180 190 D=VAL(D$):IFD<1ORD>3THEN170 200 IFD>2ANDO$="X"THEN170 210 PRINTSPC(6)" PROBLEMS WILL HAVE "D"DIGITS[144]" 220 IFD=1ORO$="X"THENCA$="Y":GOTO270 230 PRINT" DO YOU WANT CARRYING/BORROWING? (Y/N)" 240 GETCA$:IFCA$=""THEN240 250 IFCA$<>"Y"ANDCA$<>"N"THEN230 260 PRINTSPC(7)" CARRY/BORROW = [144]"CA$ 270 IFD>1THENAA=9:GOTO310 280 PRINT" WHAT IS THE HIGHEST NUMBER YOU WANT IN THE PROBLEMS? (1-9)" 290 GETAA$:IFAA$=""THEN290 300 AA=VAL(AA$):IFAA<1THEN280 310 PRINTSPC(4)" HIGHEST NUMBER IN PROBLEMS =[144]"AA 320 PRINT" DO YOU WANT ANSWERS ON WKSHT? (Y/N)" 330 GETAN$:IFAN$=""THEN330 340 GOSUB960:REM PRINT TITLE 350 REM ***WE CREATE 6 ROWS OF PROBLEMS 360 FORM=1TO6 370 GOSUB490:GOSUB810:NEXTM:AS=D 380 IFAN$<>"N"THEN410 390 FORN=1TO3:PRINT#1,CHR$(13):NEXT:GOTO430 400 REM *** PRINT ANSWERS *** 410 FORN=1TO6:PRINT#1,OFF$SPC(1+AS);:FORM=1TO7:DU=AN%((N-1)*7+M):D=10:GOSUB920 420 PRINT#1,DU$;:NEXT:PRINT#1:NEXT 430 PRINT#1,CHR$(13)CHR$(13):CLOSE1 440 PRINT"[147]WOULD YOU LIKE TO MAKE ANOTHER WORKSHEET?(Y/N)" 450 GETC$:IFC$=""THEN450 460 IFC$="Y"THENRUN 470 END 480 REM ** SUBROUTINE TO CREATE RANDOM DIGITS 490 FORN=1TOD*7:A%(N)=(AA-1)*RND(0)+2:NEXT 500 IFCA$="N"ANDO$="+"THEN570 510 FORN=1TOD*7:B%(N)=AA*RND(0)+1:NEXT 520 IFO$<>"-"THEN630 530 REM FOR MINUS, A% ALWAYS > B% 540 FORN=1TOD*7:IFA%(N)1 570 FORN=1TOD*7:B%(N)=RND(0)*(9-A%(N))+1+(A%(N)=9):NEXT 580 IFCA$="N"THEN630 590 REM ** INCREASE FREQ OF BORROWS 600 FORN=1TOD*7STEPD:C%=A%(N):A%(N)=B%(N):B%(N)=C% 610 NEXT 620 REM ** FORM NUMBERS FROM SEP DIGITS 630 FORN=1TO7:PL=0:N1%(N)=0:N2%(N)=0 640 FORNN=D*(N-1)+1TO(N-1)*D+D 650 N1%(N)=N1%(N)+A%(NN)*10^PL 660 N2%(N)=N2%(N)+B%(NN)*10^PL:PL=PL+1:NEXT 670 IFO$<>"-"THEN710 680 REM IF MINUS PUT BIGGER # ON TOP 690 IFN1%(N)