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

Z GeoWikiCZ
m (Stránka C plus plus Bc. 25 přemístěna na stránku C++ Bc. 25)
m (plus plus -> ++)
Řádek 43: Řádek 43:
  10 : 0.4456  ~  0.4441  0.4461
  10 : 0.4456  ~  0.4441  0.4461


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

Verze z 2. 9. 2006, 10:18

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 prevdě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  [ Alfréd Rényi: Teorie pravděpodobnosti, Akademia, Praha 1972 ]


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

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