Sandkasse · Forsøk

Terningkast-histogram

Dette sandkassprogrammet viser hvordan tilfeldige terningkast statistisk fordeler seg. Resultatene vises som et histogram, slik at frekvenser og relative deler blir direkte synlige.

Format Pygame
Tema Sjanse & Statistikk
Visning Histogram
Interaksjon Tastatur og mus
Terningkast-histogram

Introduksjon

Dette sandkassprogrammet bruker pygame for å visuelt vise frekvensen av terningkast.

Programmet simulerer terningkast og viser resultatene som et stolpediagram. Hver terningnummer fra 1 til 6 får sitt egen stolpe. Jo høyere stolpen, jo oftere ble det korresponderende tallet kastet.

Dette skaper et histogram som gjør den statistiske fordelingen av resultatene synlig.


Sentrale variabler

Programmet bruker flere variabler til å beregne statistikk og vise.

VariabelBetydning
countsListe over antall kast per terningnummer
total_rollsTotalt antall av alle kast
MAX_BAR_HEIGHTMaksimal høyde på stolpene i diagrammet

Høyden på en stolpe beregnes i forhold til den mest frekvente terningkastet.


Kontrollpanel

Simulasjonen kan kontrolleres både med tastaturet og med knapper i vinduet.

Tastatur

KnappFunksjon
SPACEEnkelt terningkast
ASerie av kast
RNullstill statistikk
ESCAvslutt programmet

Knapper

Nederst finnes tre knapper:

KnappFunksjon
+1Et kast
+10Ti kast
RSTNullstill

Knappene utfører samme funksjoner som tastaturkommandoene.


Hvordan et terningkast telles

Et terningkast genereres med en tilfeldig tall. Den korresponderende posisjonen i listen counts økes da.

1
2
3
w = random.randint(1, 6)
counts[w - 1] += 1
total_rolls += 1

Siden lister i Python starter på 0, reduseres terningverdien med 1.


Histogramvisning

Stolpehøyden beregnes proporsjonalt til frekvensen.

1
2
3
4
def bar_height(value, max_value):
    if max_value == 0:
        return 0
    return int((value / float(max_value)) * MAX_BAR_HEIGHT)

Dette holder diagrammet godt skalert og uavhengig av antall kast.

I tillegg viser programmet:


Forventningsverdi

Så snart kast er tilgjengelig, beregnes en estimert forventningsverdi.

1
ev = sum((i + 1) * probs[i] for i in range(6))

Dette verdien nærmer seg den teoretiske verdien til et fair terning med økende antall kast.

Den teoretiske forventningsverdien er:

[ E = 3.5 ]


Tips for eksperimenter

Dette sandkassen er ment for å gjøre dine egne observasjoner.

Mulige eksperimenter:


Utdanningsmessig betydning

Denne sandkassen kobler sammen flere fagområder:

Matematikk

Datateknologi


Når antallet kast øker, nærmer den observerte fordelingen seg mer nøyaktig den teoretiske sannsynligheten.

Histogrammet gjør dermed et sentralt konsept i statistikk synlig: Store tallens lov.