dim letters$(7) data "aleph", "beth", "gimel", "daleth", "he", "waw", "zayin", "heth" letters$(0) = "aleph" letters$(1) = "beth" letters$(2) = "gimel" letters$(3) = "daleth" letters$(4) = "he" letters$(5) = "waw" letters$(6) = "zayin" letters$(7) = "heth" dim actual(7) dim probs(7) probs(0) = 1/5.0 probs(1) = 1/6.0 probs(2) = 1/7.0 probs(3) = 1/8.0 probs(4) = 1/9.0 probs(5) = 1/10.0 probs(6) = 1/11.0 probs(7) = 1759/27720 dim cumProbs(7) cumProbs(0) = probs(0) for i = 1 to 6 cumProbs(i) = cumProbs(i - 1) + probs(i) next i cumProbs(7) = 1.0 n = 1000000 for test = 1 to n r = ran(1) p = 0.0 for i = 1 to arraysize(probs(),1) p = p + probs(i) if r < p then actual(i) = actual(i) + 1 break end if next i next t sumActual = 0.0 tab$ = chr$(9) print "Letter Actual Expected" print "------ -------- --------" for i = 0 to 7 print letters$(i), tab$, print actual(i)/n using "#.######", sumActual = sumActual + actual(i)/n print probs(i) using "#.######" next i print " -------- --------" print " ", sumActual using "#.######", tab$, "1.000000" end