C++ Bc. 25: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
mBez shrnutí editace
 
Řádek 11: Řádek 11:
Teoretická hodnota pravděpodobnosti, že jehla protne jednu z rovnoběžek je  
Teoretická hodnota pravděpodobnosti, že jehla protne jednu z rovnoběžek je  
<math>{2\ell\over\pi d}.</math>. Při dostatečně velkém počtu pokusů bychom mohli takto odhadnout  
<math>{2\ell\over\pi d}.</math>. Při dostatečně velkém počtu pokusů bychom mohli takto odhadnout  
přibližnou hodnotu čísla <math>\pi</math>.
přibližnou hodnotu čísla <math>\pi</math><ref name="renyi">[http://en.wikipedia.org/wiki/Alfr%C3%A9d_R%C3%A9nyi ''Alfréd Rényi:] Teorie pravděpodobnosti, Akademia, Praha 1972</ref>.
&nbsp;[ [http://en.wikipedia.org/wiki/Alfr%C3%A9d_R%C3%A9nyi ''Alfréd Rényi:] Teorie pravděpodobnosti, Akademia, Praha 1972'' ]


Napište simulační program, který ověří výše uvedené tvrzení.  
Napište simulační program, který ověří výše uvedené tvrzení.  
Řádek 40: Řádek 39:
   9 : 0.4456  ~  0.4466  0.4463
   9 : 0.4456  ~  0.4466  0.4463
  10 : 0.4456  ~  0.4441  0.4461
  10 : 0.4456  ~  0.4441  0.4461
<references/>


[ [[C++ Bc.|Zpět]] | [[C++ Bc. 25 cpp | C++ ]] | [[C++ Bc. 26|Další]] ]
[ [[C++ Bc.|Zpět]] | [[C++ Bc. 25 cpp | C++ ]] | [[C++ Bc. 26|Další]] ]


[[Kategorie:Programování]]
[[Kategorie:Programování]]

Aktuální verze z 10. 10. 2006, 21:54

Buffonův problém házení jehlou

Na rovnoběžné přímky v rovině ležící od sebe ve stejných vzdálenostech házíme jehlu délky . Pro jednoduchost budeme předpokládat, že , takže jehla protne nejvýše jednu přímku. Zajímá nás, jaká je pravděpodobnost, že jehla přímku skutečně protne.

Polohu bodu středu jehly můžeme charakterizovat bodem , kde je vzdálenost středu jehly od levé rovnoběžky a je úhel, který jehla svírá s rovnoběžkami.

Jehla protne jednu z rovnoběžek tehdy, když nebo .

Teoretická hodnota pravděpodobnosti, že jehla protne jednu z rovnoběžek je . Při dostatečně velkém počtu pokusů bychom mohli takto odhadnout přibližnou hodnotu čísla <ref name="renyi">Alfréd Rényi: Teorie pravděpodobnosti, Akademia, Praha 1972</ref>.

Napište simulační program, který ověří výše uvedené tvrzení.

Pro generování rovnoměrného rozdělení čísel z intervalu <0,1) použijte výraz

rand()/(RAND_MAX + 1.0)

kde funkce rand() a konstanta RAND_MAX jsou definovány v knihovně <cstdlib>. Aby program poskytoval při každém volání jinou simulaci, inicializujte generátor pseudonáhodných čísel voláním

srand(time(0));

kde funkce time() je definována v knihovně <ctime>.

Příklad simulace

d = 1   l = 0.7

 1 : 0.4456  ~  0.4479   0.4479
 2 : 0.4456  ~  0.4464   0.4471
 3 : 0.4456  ~  0.4456   0.4466
 4 : 0.4456  ~  0.4450   0.4462
 5 : 0.4456  ~  0.4448   0.4459
 6 : 0.4456  ~  0.4481   0.4463
 7 : 0.4456  ~  0.4458   0.4462
 8 : 0.4456  ~  0.4465   0.4463
 9 : 0.4456  ~  0.4466   0.4463
10 : 0.4456  ~  0.4441   0.4461

<references/>

[ Zpět | C++ | Další ]