Wordsum   (Model A)


A test of your logical thought processes, this program presents you with a sum to solve. Not so difficult you might think, but in this case some of the numbers have been replaced by letters, and the answer you want is not a number, but the word that the numbers spell! The program gives you a different set of number/letter substitutions for each problem, and the answer is always to be found if you follow the arithmetic through.

    1  REM **WORDSUM**  *BBC VERSION*
   10 ON ERROR RUN
   20 MODE7
   30 PRINT'CHR$141;CHR$&84;CHR$157;CHR$&87TA
B(15)"WORDSUM             "CHR$156'CHR$141;CH
R$&84;CHR$157;CHR$&87TAB(15)"WORDSUM         
    "CHR$156
   40 DIMA(10),C(10),A$(10),W$(60)
   50 N=1
   60 READW$(N):IFW$(N)="!" N=N-1:GOTO80
   70 N=N+1:GOTO60
   80 T=0:NN=1+RND(N-1):X=6:T$=""
   90 PRINTTAB(5,5)CHR$&91"7`````````````````
``````k"
  100 FORX=1TO7:PRINTTAB(5)CHR$&91"5 "CHR$&96
;CHR$157;CHR$&84;"                 ";CHR$156;
CHR$&91"j":NEXT
  110 PRINTTAB(5)CHR$&91"uppppppppppppppppppp
ppppz"
  120 P$=W$(NN)
  130 FORX=1 TO LEN(P$)
  140   A$(X)=MID$(P$,X,1)
  150   IFX=1 GOTO180
  160   FORZ=1TOX-1:IFA$(X)=A$(Z) A(X)=A(Z):G
OTO230
  170   NEXTZ
  180   A(X)=RND(9)
  190   IFA(1)=0 GOTO180
  200   IFX=1 GOTO230
  210   FORY=1TOX-1:IFA(X)=A(Y) GOTO180
  220   NEXTY
  230 NEXTX
  240 P=0
  250 FORX=LEN(P$) TO 1 STEP-1
  260   T=T+A(X)*10^P
  270   P=P+1
  280 NEXT
  290 S=9*(1000+RND(8999))
  300 I=T-S
  310 S$=STR$(S):T$=STR$(T):I$=STR$(I)
  320 FORX=1 TO LEN(T$)
  330   FORY=1 TO LEN(I$)
  340     IFMID$(I$,Y,1)=MID$(T$,X,1) C(X)=1:
I$=LEFT$(I$,Y-1)+A$(X)+RIGHT$(I$,LEN(I$)-Y)
  350   NEXT,
  360   FORX=1 TO LEN(T$)
  370     FORY=1 TO LEN(S$)
  380       IFMID$(S$,Y,1)=MID$(T$,X,1) C(X)=
1:S$=LEFT$(S$,Y-1)+A$(X)+RIGHT$(S$,LEN(S$)-Y)
  390     NEXT,
  400     FORX=1 TO LEN(T$)
  410       IFC(X)=0 T$=LEFT$(T$,X-1)+A$(X)+R
IGHT$(T$,LEN(T$)-X)
  420     NEXT
  430     PRINTTAB(25-2*LEN(I$),7);:FORX=1 TO
 LEN(I$):PRINTMID$(I$,X,1)" ";:NEXT
  440     PRINTTAB(25-2*LEN(S$),9);:FORX=1 TO
 LEN(S$):PRINTMID$(S$,X,1)" ";:NEXT
  450     PRINTTAB(12,10)"_____________"
  460     PRINTTAB(25-2*LEN(T$),11);:FORX=1 T
O LEN(T$):PRINTMID$(T$,X,1)" ";:NEXT
  470     PRINTTAB(0,20)CHR$141;CHR$&82"    P
ress Space to reveal the word."'CHR$141;CHR$&
83"    Press Space to reveal the word."
  480     REPEATUNTILGET=32
  490     PRINTTAB(0,20)STRING$(80," ")
  500     PRINTTAB(5,14)CHR$&95"<,,,,,,,,,,,,
,,,,,,,,,,,l"
  510     FORX=1TO4:PRINTTAB(5)CHR$&95"5 "CHR
$&83;CHR$157;CHR$&84"                 ";CHR$1
56;CHR$&95"j":NEXT
  520     PRINTTAB(5)CHR$&95"-,,,,,,,,,,,,,,,
,,,,,,,,."
  530     VDU7:PRINTTAB(21-LEN(I$),15)STR$(I)
TAB(21-LEN(S$),16)STR$(S)TAB(14,17)"--------"
'TAB(21-LEN(T$),18)STR$(T)
  540     PRINTTAB(5,20)CHR$&96"<,,,,,,,,,,,,
,,,,,,,,,,,l":FORX=1TO2:PRINTTAB(4)CHR$141;CH
R$&96"5 "CHR$&82;CHR$157;CHR$&87"            
     "CHR$156;CHR$&96"j":NEXT
  550     PRINTTAB(5)CHR$&96"-,,,,,,,,,,,,,,,
,,,,,,,,."
  560     FORX=1TOLEN(P$)
  570       PRINTTAB(11+X*2,21)MID$(P$,X,1)
  580       PRINTTAB(11+X*2,22)MID$(P$,X,1)
  590     NEXT
  600     PRINTTAB(0,24)CHR$136;CHR$&82"Press
 RETURN for another wordsum.";
  610     REPEAT UNTIL GET=13
  620     RUN
  630     DATA HEARTH,YELLOW,ENGINE,RABBIT,CA
RPET,CLEVER,FEASTS,SHADES,POTATO,RADIUS,THAME
S,CARROT,TOMATO,CHEESE,BUTTER,RUDDER,HEATER,P
LINTH,FARMER,TROPHY
  640     DATA CHERRY,HAPPEN,COFFEE,TEAPOT,MO
THER,SISTER,HOUSES,CABINS,ISLAND,PIRATE,SILVE
R,JEWELS,BOUNTY,TOWELS,PLANES,PLANTS,HOCKEY,T
ENNIS
  650     DATA COSTLY,LEMONS,APPLES,ORANGE,VI
OLET,ROBBER,RATHER,POINTS,PAINTS,TANDEM,LETTE
R,LITTER,LATTER,FASTER,MASTER,MISTER
  660     DATA"!"