Probabil 1
Probabil 1
Probabil 1
Specialitatea Informatică
Chişinău 2015
1.Continutul lucrarii:
2.Enuntul problemei:
Se aruncă doua zaruri până apar doi de 6 de trei ori. - numărul aruncări-lor . A = { >100 }
Metoda Monte Carlo se bazează pe calculul valorilor medii. Astfel apare problema
preciziei formulei
1 n
M xi
n i 1
1 n
xi M
n i 1
Astfel, fiind daţi > 0 şi (0, 1), se cere să determinăm acea valoare a lui n care satisface
relaţia:
1 n
P xi M sau
n i 1
2
n
n
x i nM x i nM
P P
n n
i 1
i 1
n D nD D
n .
2Ф0
D
n
Astfel trebuie să rezolvăm ecuaţia Ф0 , adică
D 2
n
Ф01 . (6)
D 2
D x 2
Rezolvând ecuaţia (6) obţinem n . (7)
2
D x2
Astfel, dacă n 1 , precizia este asigurată.
2
4.Textul programului :
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
int main(){
int z1, z2, k, m, n, y, i, x;
float p;
x=0; k=0; n=0;
srand(time(NULL));
for (i=0; i<1000000; i++){
n=n+k;
if (k>=100) x++;
k=0;
for (m=0; m<=3; m++){
do{
z1=rand()%6+1;
z2=rand()%6+1;
3
k=k+1;}
while (z1!=6 || z2!=6);}}
p=(float)x/1000000;
y=n/1000000;
cout<<"Numarul mediu de aruncari pina se optine 3 de 6 este: B="<<y<<"\n"<<endl;
cout<<"Probabilitatea ca E>=100, P(A)="<<p<<endl;
getch();}
5.Rezultatele programului :
6.Concluzie
In lucrarea data am efectuat un experiment prin medota Monte Carlo si l-am realizat in limbajul
de programare C++.Probabilitatea evenimentului :P(A)=0.703