Simuleren met een programma op de TI83/84

q501img1.gif

Voorbeeld

Je gooit 6 keer met een dobbelsteen (of één keer met 6 dobbelstenen). Wat is de kans op 6 verschillende worpen?

Uitwerking

We gaan nu een programma schrijven om deze kans te simuleren. Hoe gaat dat in z'n werk?

We gaan eerst het probleem analyseren... door een soort 'programma' in normale taal te schrijven. Daarna onderzoeken we hoe je zoiets op je GR zou kunnen programmeren.

Dit probleem komt dan neer op:

Programmeren

Vervolgens werk je dit uit in programmataal.
  1. Hoe simuleer je het gooien met 6 dobbelstenen?
    Dat kan met randInt(1,6,6)®L1
    Ik heb nu in L1 een lijstje van 6 getallen variërend van 1 tot en met 6, de zes worpen.

  2. Hoe controleer je of ze verschillend zijn?
    Ik kan het lijstje in L1 op volgorde van klein naar groot zetten met SortA(L1). Als ze nu allemaal verschillend zijn dan staat er in L1(1) een 1, in L1(2) een 2,... Dus met de volgende 'test' kan ik dat nagaan:

    :0$\to$A
    :For(Y,1,6)
    :If Y=L1(Y)
    :A+1$\to$A
    :End
    :If A=6
    :
    (dan zijn de 6 worpen verschillend)
    :End

  3. Om te simuleren ga ik 100 keer met 6 dobbelstenen gooien. Dit kan met de volgende 'opzet':

    :ClrHome
    :100$\to$T
    :For(X,1,T)
    :
    ...
    :End
    :Disp "GESCHATTE KANS=",
    ...

  4. Ik heb nog een teller nodig voor het aantal keren dat ze verschillend zijn (I) en dan kan ik de rest invullen:

    :ClrHome
    :0®I
    :100$\to$T
    :For(X,1,T)
    :randInt(1,6,6)$\to$L1
    :SortA(L1)
    :0$\to$A
    :For(Y,1,6)
    :If Y=L1(Y)
    :A+1$\to$A
    :End
    :If A=6
    :I+1$\to$I
    :End
    :Disp "GESCHATTE KANS=",I/T

    Eventueel kan je op de derde regel schrijven:
    :1000$\to$T

Draaien en testen...

Een aantal keren uitgevoerd met T=1000 leverde:
0,024
0,014
0,018
0,015
... en dat komt toch aardig overeen met de theoretische kans (ongeveer 0,015). Het duurt 'even', maar dan heb je ook wat!

Schema

Zoals je ziet is het programma vrijwel een 'letterlijke' vertaling van ons 'plan'.

q1143img1.gif

Samenvatting

Vertaal het probleem eerst in stappen in normaal Nederlands. Vertaal de stappen naar programmeertaal. Schrijf en test je programma.


Kijk op TI-83 werkbladen voor een aantal TI-83 werkbladen over 't programmeren van je TI. Op dezelfde pagina kan je trouwens nog meer vinden!