Lanciare i dadi – 2

Lanciare 2 dadi più volte e conteggiare le uscite

  1. Ciascuna faccia del singolo dado ha probabilità 1/6 (16,6… %)
  2. La probabilità della somma dipende dalle combinazioni disponibili…
    Combinazioni # probabilità
    2 1+1 1 1/36 2,77.. %
    3 1+2 2+1 2 2/36 5,55.. %
    4 1+3 2+2 3+1 3 3/36 8,33.. %
    5 1+4 2+3 3+2 4+1 4 4/36 11,11.. %
    6 1+5 2+4 3+3 4+2 5+1 5 5/36 13,88.. %
    7 1+6 2+5 3+4 4+3 5+2 6+1 6 6/36 16,66.. %
    8 2+6 3+5 4+4 5+3 6+2 5 5/36 13,88.. %
    9 3+6 4+5 5+4 6+3 4 4/36 11,11.. %
    10 4+6 5+5 6+4 3 3/36 8,33.. %
    11 5+6 6+5 2 2/36 5,55.. %
    12 6+6 1 1/36 2,77.. %

    Tutte le combinazioni

    36
Type CONTATORI = Array[2..12] of LongInt;

Procedure Lancia2Dadi(Var CONTA: CONTATORI; n: Longint);
Var
   i    : Longint;
   esito1,
   esito2,
   esito : Byte;
Begin
   For i:=2 to 12 do         // inizializza i contatori
      CONTA[i]:=0;

   For i:=1 to n do         // lancia il dado n volte
      Begin
         esito1:=Random(6)+1;
         esito2:=Random(6)+1;
         esito :=esito1+esito2;
         Inc(CONTA[esito]);
      End;
End;

//...

Output

Prova con 1.000 e 10.000 lanci

               1.000      10.000
         2      2.60 %      2.66 %
         3      4.60 %      5.39 %
         4      9.00 %      8.47 %
         5     11.50 %     11.07 %
         6     12.50 %     14.67 %
         7     18.50 %     16.66 %
         8     13.10 %     13.71 %
         9     11.30 %     11.05 %
        10      8.60 %      8.66 %
        11      5.00 %      5.21 %
        12      3.30 %      2.45 %