5 ! ******************* WESS1 ************************ ! ** WRIST VERSION OF LESS1, FEBRUARY, 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-----------/ 50 CHANGE SYS(CHR$(6%)+CHR$(9%)) TO M% : O2$="WESS"+CHR$(65%+M%(2%)/2%)+".TMP" 52 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 58 IF T$(0%)="BACKUP" THEN O3%=-1% 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) 65 DIM B(20),Y(100,2),M%(30) 70 C0$=CHR$(10%) : A0$=A1$(0%) 80 RANDOMIZE 90 U$ = " ##### ###### ######" 92 U1$=";! ##### !" : U2$="!###### !" : U3$="!######!" 100 GO TO 2000 1000 REM GAUSS-MEAN=P9, STD. DEV. =P4, VALUE= P3 1010 P3=P4*SQR(-2.*LOG(RND))*COS(6.28318*RND) + P9 1060 RETURN 1100 REM SUBROUTINE TO CORRECT L1 & L2 (ROW & COLUMN INDICES) 1110 IF L2>32 THEN L2=L2-32 : L1=L1+1 : GO TO 1110 1150 RETURN 2000 REM SUBROUTINE TO SIMULATE FEAR AND THRUST. 2010 REM PROGRAMMED AN ORIGINATED BY W.A. COOK 2020 REM VERSIN OF JUNE 21, 1974. 2030 X(4)=1 2040 P=S(2) 2050 MAT READ B(10) 2060 DATA 8,9,7,6,5 2070 DATA 3.5,4.5,4,4.5,4.5 2080 P9=0 2090 INPUT"DO YOU WANT DETAILED OUTPUT";Y$ : Y$=CHR$(ASCII(Y$)) 2100 PRINT 2110 IF Y$<>"Y" THEN 2210 2130 IF P=1 THEN T0$=" MOUSE EXPLORE" : GOSUB 3990 2140 IF P=2 THEN T0$=" MOUSE THRUST" : GOSUB 3990 2150 IF P=3 THEN T0$=" MOUSE EXPLORE THRUST" : GOSUB 3990 2210 A1,A2,A3,A4,A5 = 0. 2260 IF S(3)=1 THEN 2290 2270 P4=40 2280 GO TO 2330 2290 IF S(3)=4 THEN 2320 2300 P4=60 2310 GO TO 2330 2320 P4=20 2325 REM CALCULATE EXPLORE SCORES 2330 FOR L=1 TO S(1) 2340 GO SUB 1000 2350 E1=P3 2360 IF S(3)<> 1 THEN 2390 2370 IF E1 >=0 THEN 2390 2380 E1=E1+10 2390 Y(L,1)=85.5-40.4*B(S(3)+1)+5*B(S(3)+1)^2 2400 Y(L,1)=Y(L,1)+E1 2410 IF S(4)<=1 THEN2460 2420 P3=1.5 2430 IF S(4)<81 THEN 2450 2440 P3=1.3 2450 Y(L,1)=INT(Y(L,1)+INT((2*S(4))/5)*P3) 2460 Y(L,1)=INT(Y(L,1)) 2470 IF Y(L,1)>= 0 THEN 2490 2480 Y(L,1)=0 2490 A1=A1+Y(L,1) 2500 A3=A3+Y(L,1)^2 2510 NEXT L 2520 D1=0 2530 IF S(1)<= 1 THEN 2550 2540 D1=SQR((S(1)*A3-A1^2)/(S(1)*(S(1)-1))) 2550 A1=A1/S(1) 2560 IF P=1 THEN2850 2565 REM CALCULATE THRUST SCORES 2570 IF S(3)=3 THEN 2600 2580 P4=15 2590 GO TO 2640 2600 IF S(3)=4 THEN 2630 2610 P4=10 2620 GO TO 2640 2630 P4=5 2640 FOR L=1 TO S(1) 2650 Z1=(Y(L,1)-A1)/D1 2660 GO SUB 1000 2670 E2=P3 2680 IF S(3)<> 1 THEN 2720 2690 Z1=(-1)*Z1 2700 IF E2 >= 0 THEN2720 2710 E2=E2+5 2720 Y(L,2)=78-14.5*B(S(3)+6)-1.25 *B(S(3)+6)^2 2730 Y(L,2)=Y(L,2)+10*Z1 2740 IFS(4)<=1 THEN2760 2750 Y(L,2)=INT(Y(L,2)+.23*S(4)) 2760 Y(L,2)=INT(Y(L,2)) 2770 IF Y(L,2)>=0 THEN2790 2780 Y(L,2)=0 2790 IF Y(L,2)<80 THEN 2810 2800 Y(L,2)=75+RND(1)*10 2810 A2=A2+Y(L,2) 2820 A4=A4+Y(L,2)^2 2830 NEXT L 2840 D2=SQR((S(1)*A4-A2^2)/(S(1)*(S(1)-1))) 2850 IF Y$<>"Y"THEN 2970 2860 FOR L=1 TO S(1) 2865 T0$=U1$+CVTF$(L) : GOSUB 4000 2870 IF P=1 THEN 2900 ELSE IF P=2 THEN 2920 ELSE IF P=3 THEN 2940 2900 PRINT USING U$,L,Y(L,1) 2910 T0$=U2$+CVTF$(Y(L,1)) : GOSUB 4000 : GO TO 2960 2920 PRINT USING U$,L,Y(L,2) 2930 T0$=U2$+CVTF$(Y(L,2)) : GOSUB 4000 :GO TO 2960 2940 PRINT USING U$,L,Y(L,1),Y(L,2) 2950 T0$=";"+U2$+CVTF$(Y(L,1)) : GOSUB 4000 : T0$=U3$+CVTF$(Y(L,2)) : GOSUB 4000 2960 NEXT L 2970 IF P <> 3 THEN 3070 2975 X(4)=2 2980 FOR L=1 TO S(1) 2990 A5=A5+Y(L,1)*Y(L,2) 3000 NEXT L 3010 D2=0 3020 R=0 3030 IF S(1)<= 1 THEN 3070 3040 D2=SQR((S(1)*A4-A2^2)/(S(1)*(S(1)-1))) 3050 D3=D2 3060 R=(S(1)*(A5-A1*A2))/(S(1)*(S(1)-1)) 3070 IF P=2 THEN3090 3080 T0$="EXPLORE MEAN ="+NUM$(A1)+" S.D. ="+NUM$(D1) 3085 T0$=C0$+T0$ : GOSUB 3990 3090 P5=A1 3100 M2=A1 3120 Q2=D1^2 3130 IF P1=.1 THEN3220 3140 T0$=C0$+"THRUST MEAN ="+NUM$(A2/S(1))+" S.D. ="+NUM$(D2) : GOSUB 3990 3150 P5=A2/S(1) 3160 P6=D2^2 3170 IF P=2 THEN 3220 3180 Q2=D2^2 3190 LET D2=S(1) 3200 IF D1*D3=0 THEN J=0 ELSE J=R/(D1*D3) 3220 ! BACK TO WESS 3230 V(1)=X9 : V(2)=Q0 : V(3)=P5 : V(4)=P6 : V(5)=D2 : V(6)=Q2 : V(7)=M2 : V(8)=N : V(9)=A8 : V(10)=A9 : V(11)=J 3240 CLOSE 1%,2% : PRINT"." : PRINT 3250 O$=SYS(CHR$(8%)+O$+"!2000") : CHAIN A0$+"WESS" 14 3990 PRINT T0$ 4000 IF O3% THEN V(0)=V(0)+1 : T$(V(0))=T0$ 4010 IF O3% THEN IF V(0) > 480 THEN O3%=0% : V(0)=V(0)+1 : T$(V(0))=C0$+ "*********** FILE CAPACITY EXCEEDED ***********" 4100 RETURN 9999 END