Temat: Stabilność częstości zdarzeń
losowych. (gimnazjum)
czestosc.doc – 35 kB
Celem lekcji jest
zapoznanie z prawem
stabilności częstości zdarzeń losowych.
Przebieg lekcji:
Rys.1. Wyniki 10 rzutów monetą
uzyskane przez 22 uczniów.
program
Rzut_moneta;
{Turbo Pascal} uses
graph; var karta, tryb: integer; n, il_rz,
il_o, il_r: longInt; x, y, los: real; begin karta:= detect; initGraph(karta, tryb, ''); il_rz := 10000; il_o := 0; il_r := 0; for n :=
1 to il_rz do begin los :=
random; if los
< 0.5 then begin il_o
:= il_o + 1;
x := il_o / 100 * cos(il_o * pi / 180);
y := il_o / 100 * sin(il_o * pi / 180); fillEllipse(round(x+200),round(y+200),1,1); end else begin
il_r := il_r + 1;
x := il_r / 100 * cos(il_r * pi / 180);
y := il_r / 100 * sin(il_r * pi / 180); fillEllipse(round(x+400),round(y+200),1,1); end; end; writeLn('
Ilosc orlow = ', il_o : 1,
' Ilosc reszek = ', il_r : 1); readLn;
closeGraph; end. |
program
Rzut_moneta;
{Think Pascal} var n,
il_rz, il_o, il_r, los: longInt; x, y: real; begin randSeed := tickCount; il_rz := 10000; il_o := 0; il_r := 0; for n :=
1 to il_rz do begin los :=
random; if los
< 0 then begin
il_o := il_o + 1;
x := il_o / 100 * cos(il_o * pi / 180);
y := il_o / 100 * sin(il_o * pi / 180);
paintCircle(round(x+150),round(y+200),1); end else begin
il_r := il_r + 1;
x := il_r / 100 * cos(il_r * pi / 180);
y := il_r / 100 * sin(il_r * pi / 180);
paintCircle(round(x+450),round(y+200),1);
end; end; showText; writeLn('
Ilosc orlow = ', il_o : 1);
' Ilosc reszek = ', il_r : 1); end. |
Rys.2.
Wyniki symulacji 10000 rzutów monetą. Każdy orzeł odwzorowany jest
w postaci
punktu na lewej spirali a reszka na prawej spirali.
Zwiekszamy liczbę rzutów monetą do 100000. Czy liczby
uzyskanych orłów i reszek będa bliskie połowie rzutów, czyli 50000? Czy uzyskane
częstości orła i reszki będą bliskie 0,5?
(Przed przystąpieniem do rozwiązywania tego problemu można poprosić uczniów o podanie spodziewanej liczby orłów i reszek?)
Rozwiązanie.
Wykonując komputerową symulację
100000 rzutów otrzymano 49949 orłów i 50051 reszek.
Liczby te różnią się o 51 od
liczby 50000, czyli o dużo więcej niż różnica 12 w symulacji 10000 rzutów.
Częstość uzyskania orła wynosi
0,49949, a częstość uzyskania reszki 0,50051. Częstości te różnią się od 0,5
tylko o 0,0005, czyli około 20 razy mniej niż dla 10000 rzutów.
Wykonując drugą symulację 100000
rzutów otrzymano 50038 orłów i 49962 reszki.
Tutaj również liczby uzyskanych
orłów i reszek są różne od liczby 50000 o blisko 40, ale częstości 0,50038 i
0,49962 są różne od 0,5 o mniej niż 0,0004.
W zjawisku losowym, polegającym na rzucie monetą,
częstość pojawienia się orła i reszki jest ustabilizowana na poziomie 0,5. Oznacza
to, że przy coraz wiekszej liczbie rzutów częstość ta będzie coraz mniej różnić
się od 0.5. (Nie oznacza to jednak, że liczba orłów i
reszek będzie coraz mniej różnić się od połowy liczby rzutów.)
Wykorzystujemy arkusz kalkulacyjny
Excel, zadając w nim 65535 rzutów monetą –rys.3.
Rys.3. Fragment arkusza pokazujący
wyniki 65535 rzutów monetą.
W komórkach A2..A65535 wpisane są,
przy pomocy formuły „=los()”, losowe liczby.
Liczba 0,5 w komórce B2 oznacza, że jeśli w jakiejś komórce An jest liczba mniejsza od 0,5 to jest to orzeł.
Liczba 1 w komórce B3 oznacza, że jeśli w jakiejś komórce An jest liczba z przedziału (0,5; 1> to jest to reszka.
W komórkach C2..C4 wpisane są
formuły „{=częstość(A2:A65535;B2:B3)}” obliczające liczbę orłów i
reszek.
W komórce E2 wpisane są formuły „=C2/65535”
i „=C3/65535” oznaczające częstości orła i reszki.
Powuyższed wyniki, otrzymane przy pomocy arkusza Excel, potwierdzają słuszność
wniosku 1.
Program
Rzut_kostka; uses graph; var
karta,tryb,n,los:integer; ilosc,czestosc:string; t:array[1..6] of integer; begin karta:=detect; initGraph(karta,tryb,''); for n:=1
to 6 do t[n]:=0; randomize; for n:=1 to 1000 do begin los:=random(6)+1; inc(t[los]); line(los*85,455-t[los],los*85+37,455-t[los]); line(los*85+40,455-t[los],
los*85+55,455-15-t[los]); end; for n:=1 to 6 do begin str(t[n],ilosc); outTextxy(n*85+20,441-t[n],ilosc); str(t[n]/2000:1:4,czestosc); outTextxy(n*85+10,411-t[n],czestosc); end; readln; closeGraph; end. |
program
Rzut_kostka; var n, i, los: longInt; t: array[1..6] of integer; begin showText; randSeed := tickCount; n := 2000; for n := 1 to n do begin los :=
abs(random) mod 6 + 1; t[los]
:= t[los] + 1; drawLine(los
* 85, 410 - t[los],
los * 85 + 37, 410 - t[los]); drawLine(los
* 85 + 40, 410 - t[los],
los * 85 + 55, 410 - 15 - t[los]); end; showText; for i := 1 to 6 do write('
', t[i]); writeLn; for i := 1 to 6 do write('
', t[i] / n : 1 : 6); end. |
Rys.4. Symulacja 1000 rzutów kostką.
Wniosek 2.
W zjawisku losowym, polegającym na
rzucie sześcienną kostką, częstość pojawienia się każdej ścianki jest
ustabilizowana na poziomie 0,1666.
Wykorzystujemy arkusz kalkulacyjny Excel, zadając w nim 65535 rzutów kostką –rys.5.
Rys.3. Fragment arkusza pokazujący
wyniki 65535 rzutów kostką.
W komórkach A2..A65535 wpisane są,
przy pomocy formuły „=los()”, losowe liczby.
Liczba 1/6 w B2 oznacza, że jeśli w
jakiejś komórce An jest liczba mniejsza od 1/6 to na kostce jest to jedynka.
Liczba 2/6 w B3 oznacza, że jeśli w
jakiejś komórce An jest liczba z przedziału (1/6; 2/6> to na kostce jest to dwójka.
Analogiczne znaczenie mają liczby w
komórkach B4, B5, B6, B7.
W komórkach C2..C4 wpisane są
formuły „{=częstość(A2:A65535;B2:B7)}” obliczające liczbę oczek na
kostce.
W komórkach E2..E7 wpisane sa formuły
„=C2/65535”, „=C3/65535”, itd., obliczające częstości.
Powyższe wyniki, otrzymane przy pomocy arkusza Excel, potwierdzają słuszność wniosku 2.
Wniosek ogólny: (prawo
stabilności częstości zdarzeń)
Częstość
zdarzeń w zjawiskach losowych, jest ustabilizowana na odpowiednim dla każdego zdarzenia
poziomie.