perm filename TESTBJ[1,VDS] blob
sn#030879 filedate 1973-03-22 generic text, type T, neo UTF8
00100 BEGIN
00200 EXPR DOIT();
00300 BEGIN
00400 NEW II,I,J,REPLY,DUM,K;
00500 SPECIAL N,SOFT,DR,SUM,INDEX;
00600 INITIALIZE();
00700 SHUFFLE();
00800 N←1;
00900 A; SOFT←NIL;
00950 REPLY←NIL;
01000 SUM←II←DRAW();
01100 D; SUM←SUM+DRAW();
01200 IF NULL SOFT THEN
01300 IF SUM LEQUAL 16 THEN GO D
01400 ELSE GO ONN
01500 ELSE IF SUM GEQUAL 12 AND SUM LEQUAL 16 THEN GO D
01600 ELSE IF SUM LEQUAL 7 THEN GO D;
01700 ONN; IF SUM LESSP 12 THEN SUM←SUM+10;
01800 IF SUM GREATERP 21 THEN J←6 ALSO BUST(DR)←BUST(DR)+1
01900 ELSE J←SUM-16;
02000 NUM(II,J)←NUM(II,J)+1;
02100 IF (N/10)*10=N THEN PRINT N;
02200 IF (N/200)*200=N THEN
02300 BEGIN NEW REP1;
02350 PRINTSTR("OUTPUT?");
02370 REP1←READ();
02390 IF REP1 NEQUAL 'Y THEN RETURN NIL;
02400 FOR I←1 TO 10 DO
02500 BEGIN NEW SUM1;
02600 SUM1←0;
02700 DUM←NIL;
02800 FOR J←6 TO 1 BY -1 DO
02900 BEGIN DUM←NUM(I,J) CONS DUM;
03000 SUM1←SUM1+NUM(I,J); END;
03100 PRINTSTR("I = " CAT I CAT ": " CAT DUM);
03200 DUM←NIL;
03300 FOR J←6 TO 1 BY -1 DO
03400 DUM←IF NUM(I,J)=0 THEN 0 CONS DUM ELSE
03500 NUM(I,J)/(SUM1*1.0) CONS DUM;
03600 PRINTSTR("PROBABILITIES " CAT DUM)
03700 END;
03800 PRINTSTR("BUST");
03900 FOR K←1 TO 5 DO PRINT BUST(K);
04000 TERPRI(NIL);
04100 PRINTSTR("NBUST");
04200 FOR K←1 TO 5 DO PRINT NBUST(K);
04300 TERPRI NIL; TERPRI NIL;
04400 PRINTSTR("BUST PROBABILITIES");
04500 FOR K←1 TO 5 DO PRINT IF BUST(K)=0 THEN 0 ELSE
04600 BUST(K)*1.0/NBUST(K);
04700 TERPRI NIL; TERPRI NIL;
04800 PRINTSTR " ?";
04900 REPLY←READ();
05000 END;
05100 IF NULL REPLY OR REPLY='Y THEN N←N+1 ALSO GO A
05200 ELSE RETURN "BYE";
05400 END;
05500
05600 EXPR INITIALIZE();
05700 BEGIN NEW TEMP;
05800 SUM←0; INDEX←1;
05900 ARRAY (DK,7,'(1 . 52));
06000 ARRAY (DKR,7, '(1 . 52));
06100 ARRAY (NUM,20,'(1 . 10), '(1 . 6));
06200 ARRAY (BUST,20,'(1 . 5));
06300 ARRAY (NBUST,20,'(1 . 5));
06400 ARRAY (TP,7,'(1 . 52));
06500 TEMP←'(44 15 10 34 36 5 17 24 46 22
06600 27 3 14 32 33 13 4 28 23 47
06700 8 18 42 37 25 9 26 20 45 1
06800 16 40 35 6 11 30 38 49 21 50
06900 2 31 39 7 12 41 29 52 48 19
07000 51 43);
07100 FOR NEW I←1 TO 52 DO BEGIN TP(I)←CAR TEMP; TEMP←CDR TEMP;END;
07200 FOR NEW I←1 TO 9 DO
07300 BEGIN
07400 DK(4*I-3)←DK(4*I-2)←DK(4*I-1)←DK(4*I)←I;
07500 END;
07600 FOR NEW I←37 TO 52 DO DK(I)←10;
07700 END;
07800
07900 EXPR DRAW();
08000 BEGIN NEW CARD;
08100 IF SUM GEQUAL 12 AND SUM LEQUAL 16
08200 THEN DR←SUM-11 ALSO NBUST(DR)←NBUST(DR)+1;
08300 IF INDEX=53 THEN SHUFFLE() ALSO INDEX←1;
08400 CARD←DK(INDEX);
08500 IF CARD=1 THEN SOFT←T;
08600 INDEX←INDEX+1;
08700 RETURN CARD;
08800 END;
08900 EXPR SHUFFLE();
09000 BEGIN NEW X,I;
09100 FOR I←1 TO 52 DO DKR(I)←DK(TP(I));
09200 X←DKR(1);
09300 FOR I←1 TO 52 DO
09400 BEGIN NEW IND;
09500 IND←I+X;
09600 IF IND GREATERP 52 THEN IND←IND-52;
09700 DK(I)←DKR(IND);
09800 END;
09900 END;
10000 END.