n  =  1000;        
u  =  10;        
p  =  10;        
B  =  {};
For[j = 1, 
      j ≤ n, j++, 
P  =  
        Table[1, {p}]; 
u1  =  
        0; 
c  =  0; 
While[
        u1 < (p/2), 
For[i = 1, 
            i ≤ p  &&  
              u1 < (p/2), i++, 
If[
                (Subscript[P, [[i]]]) == 1, 
x  =  
                  Random[Integer, {1, 
                      u}]; 
c++; 
If[
                  x == 
                    1, 
(Subscript[P, [[i]]]) = 
                    0; 
u1++;
];
];
];
]; 
B  =  
        Append[B, c];
]

     (* salvataggio su HD di B :  
          dovete modificare questo comando a seconda del vosto PC o del sistema operativo usato *) 
Export["D:\Andrea\esperimento.dat", 
        B, "Table"];
Print["Il numero massimo e minimo di tentativi è stato ", 
      Min[B], " e ", Max[B], "."]
S  =  {(Subscript[B, [[1]]])};       (* lista delle medie *) 
For[i = 2, 
      i ≤ n, i++, 
      S = Append[S, 
          (Subscript[S, [[i - 1]]]) + 
            (Subscript[B, [[i]]])]]
For[i = 2, i ≤ n, i++, 
      (Subscript[S, [[i]]]) = 
        ((Subscript[S, [[i]]])/i)]
Print["La media è ", 
      N[S[[n]]], "."]
ListPlot[S, PlotJoined -> True, 
      AxesLabel -> {"x", "y"}, PlotLabel -> {"Media"}, 
      PlotRange -> {Min[S] - 2, Max[S] + 1}, 
      AxesOrigin -> {0, Min[S] - 1}]