5 ! ***************** WESS6 ************************** ! ** WRIST VERSION OF LESS6, FERUARY, 1975 ** 10 ! ** FROM LOUISVILLE EXP SIMULATION SYSTEM ** 15 ! ** WABASH COLLEGE: P. SPELT & J. WARDEN ** 20 ! ************************************************** 25 !OTHER PROGRAMS CHAIN HERE 30 O$=SYS(CHR$(7%)) 35 OPEN O$ FOR INPUT AS FILE 1% 40 DIM #1%,X%(48),A9(1),A1$(5)=128,A2$(24,4)=128,D2(24,12),X2(24,384) 45 ! \-----ID RECORD ------/ \-----24 MODEL RECORDS-----------/ 48 DIM M%(30) 50 CHANGE SYS(CHR$(6%)+CHR$(9%)) TO M% : O2$="WESS"+CHR$(65%+M%(2%)/2%)+".TMP" : OPEN O2$ AS FILE 2% 55 DIM #2%,A3$(4)=128,Q(3,128),I(27),S(27),X(48),O(27),D(12),N(10), P(10),K(20),V(20),T$(500)=64 60 X9=V(1) : Q0=V(2) : P5=V(3) : P6=V(4) : D2=V(5) : Q2=V(6) : M2=V(7) : N=V(8) : A8=V(9) : A9=V(10) : J=V(11) 62 IF T$(0%)="BACKUP" THEN O3%=-1% : T$(500%)=" " 65 DIM T(10),U(10),Q$(2,9) 70 C0$=CHR$(10%) 80 A0$=A1$(0%) : RANDOMIZE 90 Q$(1%,1)="####.## " : Q$(1%,2)="####.## " 92 Q$(1%,I%)=" ###### " FOR I%=3% TO 8% 94 Q$(1%,5)=Q$(1%,5)+" " 96 Q$(2%,I%)=Q$(1%,I%) FOR I%=1% TO 2% 98 Q$(2%,I%)="####.## " FOR I%=3% TO 8% 99 Q$(2%,5%)=Q$(2%,5%)+" " 100 GOTO 2000 1000 !GAUSS - MEAN=P9, STD. DEV.=P4, VALUE=P3 1010 P3=P4*SQR(-.2*LOG(RND))*COS(6.28318*RND) + P9 1060 RETURN 1100 !***SUBROUTINE TO CORRECT L1 & L2 (ROW & COLUMN INDICES). 1110 IF L2>128 THEN L2=L2-128:L1=L1+1:GOTO 1110 1150 RETURN 2000 !++++++++BEGIN TIP-OF-THE-TONGUE MODEL++++++++ ! VERSION OF MAY 15,1974 ! PROGRAMMED BY A. CROMER. ! TRANSLATED BY P.F.SPELT 2020 ! FIRST CHECK ERRORS UNIQUE TO THIS MODEL. 2040 DEF FNR(X)=ABS(INT(X+.5)) 2050 IF I(3)=0 THEN 2140 2060 FOR L=7 TO 9 2070 IF S(L)=0 THEN 2110 ELSE IF S(9)=1 THEN 2110 2090 &"ERROR--MUST USE SYLLABLE=0 IF YOU WANT OUTPUT." 2100 X(4)=1 2105 GOTO 4590 2110 NEXT L 2140 S(5)=I(5) 2150 IF I(5)>0 THEN 2180 2160 S(5)=INT(1.5+RND(1)) ! CALCULATE # TOT'S 2180 W1=S(4)+6*(S(3)-1)+36*(S(5)-1) 2190 L1=D(9) : L2=D(10)+W1 2210 GOSUB 1100 2220 Z1=FNR(S(1)*S(2)*Q(L1,L2)) 2230 Z1=FNR(Z1-.1+.2*RND(1)*Z1) ! ****CALCULATE COST**** 2240 W2=2*I(1) : W1=0 2250 IF I(5)=0 THEN 2260 2255 W1=3 2260 IF I(6)=0 THEN 2262 ELSE ON I(6) GOTO 2262, 2262, 2264 2262 W1=W1+1 : GOTO 2268 2264 W1=W1+2 2268 IF I(3) <>0 THEN 2300 2280 FOR I1=7 TO 8 2282 IF I(I1)=0 THEN 2288 ELSE ON I(I1) GOTO 2284, 2284, 2284, 2286 2284 W1=W1+1 : GOTO 2288 2286 W1=W1+3 2288 NEXT I1 2290 IF I(9)<>2 THEN 2300 2295 W1=W1+1 2300 O1=I(1)*W1+W2+60 2310 W1=I(2)*3 2320 IF I(I1)<>0 THEN W1=W1+(I(2)*2) FOR I1=3 TO 4 2340 O1=O1+W1 2470 T0$=C0$+NUM$(Z1)+"PERSONS IN A TOT STATE RECALLED THE TARGET WORD."+ C0$ : GOSUB 4990 2480 IF S(6)<>0 OR S(7)<>0 THEN 2490 2482 IF S(8)=0 THEN 4460 2490 INPUT"DO YOU WANT DETAILED OUTPUT (Y/N)";Y$ 2500 IF Y$="N" THEN &"BE PATIENT...CALCULATING MEANS & VARIANCES." 2510 IF Z1<=0 THEN 4460 !PREPARE FOR OUTPUT !BUILD OUTPUT CODE VECTOR !IF O(I)=1 THEN I-TH COL. IS TO BE PRINTED. 2550 PRINT : MAT O=ZER : L2=0 2580 IF S(6)=0 THEN 2650 2590 IF S(6)=2 THEN 2620 2600 O(1)=1 : L2=L2+1 2620 IF S(6)=1 THEN 2650 2630 O(2)=1 : L2=L2+1 2650 FOR L=7 TO 8 2660 IFS(L)=0 THEN 2790 2670 L1=(L-7)*3+2 2680 IF S(L)=2 OR S(L)=3 THEN 2710 2690 O(L1+1)=1 2700 L2=L2+1 2710 IF S(L)=1 THEN 2790 2720 IF S(L)<4 THEN 2760 2730 O(L1+I9)=1 FOR I9=1 TO3 2740 L2=L2+2 : GOTO 2790 2760 O(L1+S(L))=1 : O(L1+1)=1 : L2=L2+2 2790 NEXT L 2800 IF L2>0 THEN 2840 2801 IF S(9)=2 THEN 2840 2810 &"ERROR--NO OUTPUT SPECIFIED. TRY AGAIN." 2820 X(4)=1 : GOTO 4590 2840 IF L2=0 THEN 4460 2850 MAT I=ZER : Z2=L2 : L1,L2,W1=0 2880 L4=0 2890 IF O(1)<>0 THEN 2900 2891 IF O(2)=0 THEN 2940 2900 W1=3 2910 IFO(1)<>0 THEN 2920 2911 IF O(2)=0 THEN 2925 2920 W1=W1+11 2925 IF Y$<>"Y" THEN 2940 2930 T0$=C0$+"LATENCY"+SPACE$(21%)+"SS WORDS"+SPACE$(20)+"SM WORDS" : GOSUB 4990 2935 T0$=C0$+"TOTL TOT/ GENERIC NUMR. LETR. SYL. NUMR. LETR."+ " SYL." : GOSUB 4990 2940 FOR L=3 TO 8 2950 IF O(L)=0 THEN 3050 2960 W1=W1+8 2970 IF INT(L/3)=1 THEN 2980 ELSE IF INT(L/3)=2 THEN 3020 2980 IF L4<=0 THEN L4=1 : GO TO 3050 3020 IF L1<=0 THEN L1=1 3050 NEXT L 3060 L1,L2,W1,L4=0 3080 FOR L=1 TO 8 3090 IF O(L)=0 THEN 3390 3100 L1=L1+1 : O(L1)=L 3120 IF L<1 OR L>8 THEN 3140 3125 ON L GOTO 3140,3170,3240,3270,3300,3240,3270,3300 3140 W1=W1+11 3150 GOTO 3180 3170 W1=W1+10 3180 L3=L4+1 : L4=L3+7 3240 W1=W1+7 3250 GOTO 3310 3270 W1=W1+7 3280 GOTO 3310 3300 W1=W1+10 3310 L3=L4+1 : L4=L3+7 3390 NEXT L 3430 L2=L1 3440 IF L1=0 THEN 4240 3450 MAT T=ZER : MAT U=ZER : MAT P=ZER : L3=L1 ! "I" VECTOR HAS COLS. TO BE PRINTED IN IMAGE A$ ! "O" VECTOR HAS INDEX OF COL. TO BE PRINTED. 3510 FOR L=1 TO Z1 : FOR J=1 TO L3 : L1=D(9) : L2=D(10)+72+O(J)*2 : GOSUB 1100 3560 P9=Q(L1,L2-1) : P4=Q(L1,L2) : GOSUB 1000 : IF P3>0 THEN 3610 3600 P3=0 3610 IF O(J)<4 OR O(J)=6 THEN 3690 3620 P3=0 3630 IF P7=0 THEN3920 3640 P1=1/P7 3650 P3=FNR(100*INT(.5+RND(1)/P1)*P1) 3652 P(J)=FNR(100*INT(.5+RND(1)/P1)*P1) 3660 IF O(J)<7 THEN 3920 3670 P3=FNR(100*INT((1.44-.17*O(J))+RND(1)/P1)*P1) 3672 P(J)=P3 3680 GOTO 3920 3690 IF O(J)<3 THEN 3920 3700 P3,P7,P(J)=0 3710 IF O(2)=2 THEN 3810 3720 P4=2 3730 P9=RND(1)*17 3740 IF P4>P9 THEN 3990 3750 FOR P3=1 TO 5 3760 P(J),P7=P3 3770 P4=P4+6-P3 3780 IF P4>P9 THEN3900 3790 NEXT P3 3800 GOTO 3900 3810 IF P(2)=0 THEN3990 3820 P4=INT(P(1)/10+.5) : K=INT(RND(1)*10) : K=K*(P4+2) 3850 IF K=0 THEN 3880 3860 IF K>10 THEN 3880 3870 K=10 3880 P3,P7=INT(K/10) 3890 IF P4>P9 THEN 3900 3900 IF O(J)=3 THEN 3920 3910 P3,P(J)=FNR(P3/2) 3920 P3,P(J)=ABS(FNR(P3)) 3930 IF O(J)<>2 OR O(J)<>1 THEN 3990 3940 IF P(1)<=4 THEN P(1)=5 3960 IF J<>2 THEN 3990 3970 IF P(2)"Y" THEN 4040 4030 PRINT USING Q$(1%,I%),P(I%); FOR I%=1% TO 8% : PRINT 4035 K%=1% : GOSUB 5500 4040 NEXT L 4050 FOR J=1 TO L3 4060 U(J)=(Z1*U(J)-T(J)^2)/Z1^2 4070 T(J)=T(J)/Z1 4080 NEXT J 4085 IF Y$<>"Y" THEN 4120 4090 T0$=T0$+"==" FOR I%=1% TO 35% : T0$=T0$+C0$ : GOSUB 4990 4120 T0$=C0$+"MEANS" : GOSUB 4990 4140 MAT P=T 4150 PRINT USING Q$(2%,I%),P(I%); FOR I%=1% TO 8% : PRINT 4155 K%=2% : GOSUB 5500 4160 T0$=C0$+"VARIANCES" : GOSUB 4990 4180 MAT P=U 4190 PRINT USING Q$(2%,I%),P(I%); FOR I%=1% TO 8% : PRINT 4195 K%=2% : GOSUB 5500 4200 P(L)=SQR(U(L)) FOR L=1 TO L3 4230 T0$="STANDARD DEVIATIONS" : GOSUB 4990 4240 PRINT USING Q$(2%,I%),P(I%); FOR I%=1% TO 8% : PRINT 4245 K%=2% : GOSUB 5500 4460 N(8)=Z1*(.45+.1*RND(1)) 4470 IF N(8)