RosettaCodeData/Task/Sleeping-Beauty-problem/M2000-Interpreter/sleeping-beauty-problem.m2000
2026-04-30 12:34:36 -04:00

27 lines
1.1 KiB
Text

10 DUMMY=RANDOM(!TIMECOUNT)
20 MONDAY = 0 : TUESDAY = 1: CHEADS = 0: WTAILS = 0: AWAKE = 0
30 HEADS = 0 : TAILS = 1: WHEADS = 0: CTAILS = 0: COIN = INT(RND*2)
40 FOR SB = 1 TO 300000
50 IF COIN = HEADS THEN GOSUB 160 ELSE GOSUB 210
60 COIN = INT(RND*2) : NEXT SB
70 OPEN "OUTPUT_BEAUTY.TXT" FOR WIDE OUTPUT AS #F
80 PRINT #F, "Sleeping Beauty was put through this experiment ";SB-1;" times."
90 PRINT #F, "She was awoken ";AWAKE;" times."
100 PRINT #F, "She guessed heads ";CHEADS+WHEADS;" times."
110 PRINT #F, "Those guesses were correct ";CHEADS;" times. ";100*CHEADS/(CHEADS+WHEADS);"%"
120 PRINT #F, "She guessed tails ";WTAILS+CTAILS;" times."
130 PRINT #F, "Those guesses were correct ";CTAILS;" times. ";100*CTAILS/(CTAILS+WTAILS);"%"
140 CLOSE #F: REPORT EVAL$(BUFFER("OUTPUT_BEAUTY.TXT"))
150 WIN "NOTEPAD", DIR$+"OUTPUT_BEAUTY.TXT": END
160 REM interview if the coin came up heads
170 AWAKE++
180 GUESS = INT(RND*2)
190 IF GUESS = HEADS THEN CHEADS++ ELSE WTAILS++
200 RETURN
210 REM interviews if the coin came up tails
220 FOR DAY = MONDAY TO TUESDAY
230 AWAKE++
240 GUESS = INT(RND*2)
250 IF GUESS = HEADS THEN WHEADS++ ELSE CTAILS++
260 NEXT DAY
270 RETURN