カードの確率問題(1)の考察を紹介します。
●考察
プログラムで問題(1)のシミュレーションを行い、理論値に近い結果を得た。
(参考)Basicプログラム
' << CP111.bas >> ' Tiny Basic ' カードの確率問題(1) ' Dim A(9): ' カードIの表面の色を表す。A(I)=0が赤、A(I)=1が白。 Dim B(9): ' カードIの裏面の色を表す。B(I)=0が赤、B(I)=1が白。 Dim C(0): ' C(0)は上面が赤になる回数を記録する。 ' ' 乱数の初期設定。 Randomize 123 ' ' カードの初期設定。 ' 表面:赤、裏面:赤のカード。 A(1)=0: B(1)=0 ' 表面:赤、裏面:白のカード。 A(2)=0: B(2)=1 ' 表面:白、裏面:白のカード。 A(3)=1: B(3)=1 ' ' 出現回数の初期設定。 ' C(0):上面が赤になる回数。 C(0)=0 ' ' 試行回数の設定。 NMAX=10000 ' ' 実験の実施。 For N=1 To NMAX ' 取り出したカードM。Mは1,2,3のいずれか。 M=Int(3*Rnd)+1 ' ' 取り出したカードの表面が上面になる割合は、50%、 ' 裏面が上面になる割合は50%になる。 If Rnd < 0.5 Then ' 表面が上面になる場合 ' 表面の色を調べ、赤(=0)なら、C(0)を1増やす。 If A(M) = 0 Then C(0)=C(0)+1 Else ' 裏面が上面になる場合 ' 裏面の色を調べ、赤(=0)なら、C(0)を1増やす。 If B(M) = 0 Then C(0)=C(0)+1 End If Next N ' ' 実験結果の表示。 Print"試行回数:";NMAX Print Using"上面が赤である確率:#.####";C(0)/NMAX End
実行結果