N=10000;Tirages=rand(N,1);
//// 
//Ex. 1
//
xset('figure',0);clf();M=10;histplot(M,Tirages);
xset('figure',1);clf();M=20;histplot(M,Tirages);
xset('figure',2);clf();M=int(sqrt(N));histplot(M,Tirages);
//
//// 
//Ex. 2
//
N=10000;Tirages=rand(N,2); 
xset('figure',3);clf();plot2d(Tirages(:,1),Tirages(:,2),-1)
//// 
//Ex. 3
//
x=rand(200000,1,'n');
xset('figure',4);clf();histplot(-6:0.1:6,x)
x2=-6:0.01:6;
plot2d(x2,1/sqrt(2*%pi)*exp(-x2.*x2/2))
//// 
//Ex. 4
//
function x=De6faces(k)
x=int(6*rand(k,1)+1);
endfunction

Ntirages=10000;x=6;
compteur=0;
for k=1:Ntirages
   if De6faces(1)==x then
      compteur=compteur+1;
   end;
end;
printf('Probabilité d''avoir un 6 = %f: \n',compteur/Ntirages);
//
//// 
//Ex. 5 chevalier de Mérée
//
Njeux=10000;x=6;
compteur1=0;compteur2=0;
for i=1:Njeux
  jeux1=De6faces(4);
  if (jeux1(1)==6)|(jeux1(2)==6)|(jeux1(3)==6)|(jeux1(4)==6) then
       compteur1=compteur1+1;
  end
  ok2=0;
  for j=1:24
     if De6faces(2)==[6;6] then
        ok2=1;
     end
  end
  compteur2=compteur2+ok2;
end
//
printf('Probabilité d''avoir un 6 en 4 lancers = %f: \n',compteur1/Njeux);
printf('Probabilité d''avoir un double 6 avec 24 tirages doubles = %f: \n',compteur2/Njeux);//
//// 
//Ex. 6 le probleme des anniversaires
//
function x=Jour(k)
x=int(365*rand(k,1)+1);
endfunction
//
Ntirages=5000;
//
N=24;   // cas de 24 personnes
//
cc=0;
for tirage=1:Ntirages
    x=Jour(N); c=0;
    for i=1:N
       t=x(i);
       if c then
           break;
        else
           for j=i+1:N
               if t==x(j) then
                  c=1;break;
               end;
            end
        end;
    end;
    cc=cc+c;
    proba24(tirage)=cc/tirage;
 end;
xset('figure',6);
plot((1:Ntirages)',proba24,'r');
