Nu ska vi undersöka ett fenomen inom sannolikhetsläran. Vid ett stort antal slumpförsök, kommer det totala resultatet att konvergera mot ett väntevärde. Om man t.ex. singlar slant tillräckligt många gånger, kommer antalet kronor att närma sig 50 % av totala antalet resultat.
Filen som här presenteras finns i BOX-rutan i arkivet Sanolikheter.
Vi simulerar detta med ett litet program. Först en förklaring på Anteckningar-skärmen. Sedan startar vi en räknarskärm. På den aktiveras ett program.
Program och funktioner matas in på en skärm med detta utseende. Med hjälp av MENU-tangenten hittar man de kommandon och kontrollstrukturer som behövs.
Programmeringsspråket är ”Texas basic”, ett enkelt programmeringsspråk utan finesser. Jag tar mig friheten att kommentera strukturen.
Define storatal()= programmet namnges
Prgm programstart
Local n,l,r variablerna n,l och r definieras som lokala (blir inte kvar efter körningen)
1→n
0→l
0→r variablerna tilldelas startvärden (n-varvräknare, l – antal klave, r – antal krona)
{n}→ant
{0}→forh två listor påbörjas, ena för singlingsvarvet, andra för förhållandet mellan kronor och antalet kast
For x,1,100 en loop på 100 kast påbörjas
augment(ant,{x})→ant listan med antalen kast utökas kast för kast i loopen
If rand()>0.5 Then en slumptalsgenerator används. Resultaten varierar mellan 0 och 1. Större än 0,5 – krona.
1+r→r Kontroll: om krona -antalet r ökar ett steg
Else om klave
1+l→l antalet klave ökar ett steg
EndIf slut på kontrollen
augment(forh,{approx(((r)/(r+l)))})→forh forhållandelistan uppdateras
EndFor slut på räkneloopen
Disp approx(((r)/(r+l))) visa förhållandet mellan kronor och totala antalet
EndPrgm programslut
Tredje skärmen är en visar statistiken. Relativa antalet kronor från 0 till 100 kast visas.
Skärmen är delad. Nedanför grafen finns en liten räknarsärm. Mata in kommandot storatal() och tryck på ENTER.
Varje tryck på ENTER ger sedan en ny körning med graf.