10  REM PROGRAM NAME = SAMPLE, SAMPLE SPACES
20  DIM A$[5],B$[5]
30  U7=U8=0
40  W5=5
50  P5=1
60  PRINT "DO YOU WANT INSTRUCTIONS FOR RUNNING SAMPLE  ";
70  INPUT A$
80  PRINT 
90  IF A$="YES" THEN 120
100  IF A$="NO" THEN 540
110  GOTO 60
120  PRINT "DEFINITION - A SAMPLE SPACE FOR AN EXPERIMENT IS A SET OF"
130  PRINT "OUTCOMES FOR THE EXPERIMENT SUCH THAT EACH OUTCOME OF THE "
140  PRINT "EXPERIMENT CORRESPONDS TO EXACTLY ONE ELEMENT IN THE SET."
150  PRINT "A SAMPLE POINT IS AN ELEMENT OF A SAMPLE SPACE.  "
160  PRINT "AN EVENT IS A SUBSET OF A SAMPLE SPACE."'10
170  PRINT "AN EXPERIMENT MAY HAVE MORE THAN ONE SAMPLE SPACE. "
180  PRINT "THIS PROGRAM WILL REPRESENT A SAMPLE SPACE"
190  PRINT "BY A COMPLETE LISTING OF ALL SAMPLE POINTS."
200  PRINT 
210  PRINT "THIS PROGRAM WILL ALLOW YOU TO PERFORM EXPERIMENTS"
220  PRINT "USING N-SIDED POLYHEDRA, WITH N>=2.  (A COIN IS AN EXAMPLE"
230  PRINT "OF A 2-SIDED POLYHEDRON.)"
240  PRINT "THE POLYHEDRON, OR POLYHEDRA, WILL BE TOSSED, AND THE SIDE"
250  PRINT "WHICH IS FACING DOWN WILL BE RECORDED.  EACH SIDE OF THE"
260  PRINT "POLYHEDRON HAS AN EQUAL PROBABILITY OF FACING DOWN."
270  PRINT "THE SIDES ARE NUMBERED."
280  PRINT 
290  PRINT "THE TWO TYPES OF EXPERIMENTS YOU CAN PERFORM ARE:"
300  PRINT 
310  PRINT "   1. TOSSING AS MANY AS 5 DISTINGUISHABLE POLYHEDRA ONCE."
320  PRINT 
330  PRINT "   2. TOSSING ONE POLYHEDRON AS MANY AS 5 TIMES."
340  PRINT 
350  PRINT "TRY TO KEEP THE NUMBER OF SIDES OF YOUR POLYHEDRA SMALL"
360  PRINT "SO THE SAMPLE SPACE IS NOT TOO LARGE."
370  PRINT 
380  PRINT "DO YOU WANT TO SEE AN EXAMPLE OF A SAMPLE SPACE  ";
390  INPUT A$
400  PRINT 
410  IF A$="NO" THEN 530
420  IF A$="YES" THEN 440
430  GOTO 380
440  PRINT "IF A FOUR SIDED POLYHEDRON AND A SIX SIDED POLYHEDRON"
450  PRINT "ARE TOSSED THEN A SAMPLE SPACE WOULD LOOK LIKE THIS:"
460  PRINT 
470  FOR X8=1 TO 4
480  FOR X9=1 TO 6
490  PRINT X8;X9
500  NEXT X9
510  PRINT 
520  NEXT X8
530  PRINT "NOW YOU SHOULD BE READY TO TRY YOUR OWN EXPERIMENT."'10
540  PRINT 
550  W8=0
560  PRINT 
570  PRINT "HOW MANY POLYHEDRA DO YOU WANT TO TOSS (MAXIMUM OF 5)";
580  INPUT P
590  PRINT 
600  FOR J=1 TO 5
610  S[J]=1
620  NEXT J
630  P9=P
640  IF P >= 1 AND P <= 5 THEN 670
650  PRINT "YOU ARE TOSSING THE WRONG NUMBER OF POLYHEDRA."
660  GOTO 570
670  IF P=1 THEN 710
680  IF W5=5 THEN 710
690  P5=P
700  P=1
710  PRINT "HOW MANY SIDES FOR EACH POLYHEDRON:"
720  PRINT "TYPE ONE NUMBER AND THE RETURN KEY FOR EACH QUESTION MARK."
730  PRINT 
740  S[6]=1
750  FOR I=1 TO P
760  INPUT S[I]
770  IF S[I]=INT(S[I]) AND S[I] >= 1 THEN 800
780  PRINT "YOU HAVE INPUT AN INCORRECT NUMBER OF SIDES FOR YOUR POLYHEDRON."'10
790  GOTO 710
800  IF S[I]<2 THEN 2970
810  IF W5#10 THEN 840
820  S[6]=(S[I]^P9)/2
830  GOTO 850
840  S[6]=S[6]*S[I]
850  NEXT I
860  PRINT 
870  T3=240
880  IF P=1 AND P5=1 THEN 1780
890  IF S[6]>100 THEN 2830
900  PRINT 
910  T3=240
920  PRINT "WRITE YOUR OWN SAMPLE SPACE ON A PIECE OF PAPER."
930  PRINT "WHEN YOU ARE READY TO COMPARE YOUR SAMPLE SPACE WITH "
940  PRINT "A CORRECT ONE, PRESS THE RETURN KEY."
950  ENTER T3,T4,T5
960  PRINT 
970  PRINT 
980  IF T4=-256 THEN 1000
990  GOTO 1080
1000  PRINT "DO YOU NEED MORE TIME";
1010  INPUT A$
1020  PRINT 
1030  IF A$="YES" THEN 920
1040  IF A$="NO" THEN 1070
1050  GOSUB 2800
1060  GOTO 1000
1070  PRINT 
1080  PRINT "HERE IS A CORRECT SAMPLE SPACE."
1090  PRINT 
1100  IF P=1 AND P5=1 THEN 1830
1110  IF W5#5 THEN 1880
1120  FOR A=1 TO S[J-1]
1130  FOR B=1 TO S[J-2]
1140  FOR C=1 TO S[J-3]
1150  FOR D=1 TO S[J-4]
1160  FOR E=1 TO S[J-5]
1170  U7=U7+1
1180  GOTO P OF 1270,1250,1230,1210,1190
1190  PRINT A;B;C;D;E
1200  GOTO 1280
1210  PRINT B;C;D;E
1220  GOTO 1280
1230  PRINT C;D;E
1240  GOTO 1280
1250  PRINT D;E
1260  GOTO 1280
1270  PRINT E
1280  IF U7/15#INT(U7/15) THEN 1510
1290  W8=5
1300  PRINT "IS THIS PATTERN FOR THE SAMPLE SPACE SIMILAR TO YOURS  ";
1310  INPUT A$
1320  PRINT 
1330  IF A$="YES" THEN 1370
1340  IF A$="NO" THEN 1440
1350  GOSUB 2800
1360  GOTO 1300
1370  IF W8=0 THEN 1580
1380  PRINT "DO YOU WANT MORE OF THIS SAMPLE SPACE  ";
1390  INPUT A$
1400  IF A$="YES" THEN 1510
1410  IF A$="NO" THEN 1570
1420  GOSUB 2800
1430  GOTO 1380
1440  PRINT "CAN YOU SEE THE METHOD BEING USED TO MAKE THIS SAMPLE SPACE  ";
1450  INPUT A$
1460  PRINT 
1470  IF A$="YES" THEN 1370
1480  IF A$="NO" THEN 1620
1490  GOSUB 2800
1500  GOTO 1440
1510  NEXT E
1520  NEXT D
1530  NEXT C
1540  NEXT B
1550  NEXT A
1560  IF W8=0 THEN 1300
1570  PRINT 
1580  PRINT "SINCE YOU KNOW A CORRECT METHOD FOR GENERATING THE SAMPLE"
1590  PRINT "SPACE YOU EITHER DID OR COULD WRITE A CORRECT SAMPLE SPACE."
1600  PRINT 
1610  GOTO 1690
1620  U7=U8=0
1630  PRINT "EACH COLUMN REPRESENTS THE DOWN SIDE OF ONE OF THE POLYHEDRA."
1640  PRINT "THE FIRST COLUMN IS FOR THE LAST POLYHEDRON DESCRIBED, AND SO ON"
1650  PRINT "IN REVERSE ORDER.  SIDE 1 IS LISTED FOR THE LAST POLYHEDRON"
1660  PRINT "(IN THE FIRST COLUMN) WITH EVERY POSSIBLE COMBINATION OF THE"
1670  PRINT "SIDES OF THE OTHER POLYHEDRA.  THEN IT IS INCREASED TO 2, ETC."
1680  PRINT 
1690  PRINT "DO YOU WANT TO DO ANOTHER EXPERIMENT OF THIS TYPE";
1700  INPUT B$
1710  IF B$="YES" THEN 540
1720  IF B$="NO" THEN 1750
1730  GOSUB 2800
1740  GOTO 1690
1750  PRINT 
1760  IF W5#5 THEN 2990
1770  GOTO 2520
1780  PRINT "HOW MANY TOSSES DO YOU WANT";
1790  INPUT T
1800  S[6]=S[1]^T
1810  PRINT 
1820  GOTO 890
1830  FOR I=1 TO T
1840  S[I]=S[1]
1850  NEXT I
1860  P=T
1870  GOTO 1120
1880  F=G=H=Q=J=S[1]
1890  P=P5
1900  V[1]=0
1910  DIM R[500]
1920  DIM V[500]
1930  I=0
1940  R[1]=0
1950  FOR A=1 TO F
1960  FOR B=1 TO G
1970  FOR C=1 TO H
1980  FOR D=1 TO Q
1990  FOR E=1 TO J
2000  GOTO P OF 2380,2250,2170,2090,2010
2010  I=I+1
2020  IF I >= 500 THEN 2830
2030  R[I]=A*B*C*D*E
2040  V[I]=A+B+C+D+E
2050  GOTO 2330
2060  PRINT A;B;C;D;E
2070  U8=U8+1
2080  GOTO 2380
2090  I=I+1
2100  R[I]=B*C*D*E
2110  V[I]=B+C+D+E
2120  F=1
2130  GOTO 2330
2140  PRINT B;C;D;E
2150  U8=U8+1
2160  GOTO 2380
2170  I=I+1
2180  R[I]=C*D*E
2190  V[I]=C+D+E
2200  F=G=1
2210  GOTO 2330
2220  PRINT C;D;E
2230  U8=U8+1
2240  GOTO 2380
2250  I=I+1
2260  R[I]=D*E
2270  V[I]=D+E
2280  F=G=H=1
2290  GOTO 2330
2300  PRINT D;E
2310  U8=U8+1
2320  GOTO 2380
2330  FOR X=1 TO I
2340  IF X=I THEN 2360
2350  IF R[X]=R[I] AND V[X]=V[I] THEN 2380
2360  NEXT X
2370  GOTO P OF 2380,2300,2220,2140,2060
2380  IF U8/10#INT(U8/10) THEN 2460
2390  PRINT "DO YOU WANT MORE OF THIS SAMPLE SPACE  ";
2400  U8=U8+1
2410  INPUT A$
2420  IF A$="YES" THEN 2460
2430  IF A$="NO" THEN 1570
2440  GOSUB 2800
2450  GOTO 2390
2460  NEXT E
2470  NEXT D
2480  NEXT C
2490  NEXT B
2500  NEXT A
2510  GOTO 1570
2520  PRINT "YOU HAVE JUST COMPLETED SOME EXPERIMENTS DEALING"
2530  PRINT "WITH 5 DISTINGUISHABLE POLYHEDRA."
2540  PRINT 
2550  PRINT "IF THE POLYHEDRA WERE NONDISTINGUISHABLE COULD THE SAMPLE SPACE""BE DIFFERENT";
2560  INPUT A$
2570  PRINT 
2580  IF A$="NO" THEN 2760
2590  IF A$="YES" THEN 2620
2600  GOSUB 2800
2610  GOTO 2550
2620  PRINT 
2630  PRINT "DO YOU WANT  TO WORK ON GENERATING A SAMPLE SPACE"
2640  PRINT "FOR AN EXPERIMENT OF THIS TYPE";
2650  INPUT A$
2660  PRINT 
2670  W5=10
2680  IF A$="NO" THEN 2990
2690  IF A$="YES" THEN 2720
2700  GOSUB 2800
2710  GOTO 2630
2720  PRINT "REMEMBER THAT IN THIS SAMPLE SPACE THE ORDER OF "
2730  PRINT "A SAMPLE POINT IS NOT IMPORTANT."
2740  PRINT 
2750  GOTO 570
2760  PRINT "WRONG - IF 2 IDENTICAL (NOT DISTINGUISHABLE) DICE ARE TOSSED"
2770  PRINT "THE OUTCOME (2,3) AND THE OUTCOME (3,2) LOOK THE SAME. THEREFORE,"
2780  PRINT "ONLY ONE OUTCOME IS USED AS A SAMPLE POINT IN THE SAMPLE SPACE."
2790  GOTO 2620
2800  PRINT 
2810  PRINT "YOU HAVE MADE A MISTAKE IN TYPING. -- TRY AGAIN!"'10
2820  RETURN 
2830  PRINT "THIS SAMPLE SPACE MAY TAKE SOME TIME TO WRITE OUT."'10
2840  PRINT "IF YOU WANT TO CONTINUE WITH THE SAME EXPERIMENT JUST"
2850  PRINT "TYPE 2.  IF YOU WANT TO TRY ANOTHER EXPERIMENT TYPE 3";
2860  IF W5=10 THEN 2890
2870  PRINT "AND IF YOU WANT TO CONTINUE WITH THE SECOND PART OF THE "
2880  PRINT "PROGRAM TYPE 4.";
2890  INPUT L8
2900  PRINT 
2910  IF L8=3 THEN 570
2920  IF L8=2 THEN 900
2930  IF L8=4 THEN 2520
2940  GOSUB 2800
2950  GOTO 2830
2960  GOTO 2520
2970  PRINT "YOUR POLYHEDRON SHOULD HAVE AT LEAST 2 SIDES."'10
2980  GOTO 710
2990  END 
