Algebra

Analyse

Bewijzen

De grafische rekenmachine

Discrete wiskunde

Fundamenten

Meetkunde

Oppervlakte en inhoud

Rekenen

Schoolwiskunde

Statistiek en kansrekenen

Telproblemen

Toegepaste wiskunde

Van alles en nog wat


\require{AMSmath}

Tellen hoevaak iets in een lijst zit

Hoi,
Ik ben bezig met het maken van een programma, nu sla ik waarden op in een lijst.
Achteraf wil ik kunnen tellen hoevaak 4 in de lijst voorkomt.
Welke functie heb ik nodig om dit te tellen ?

Willem
Leerling bovenbouw havo-vwo - zondag 4 januari 2004

Antwoord

Beste Willem,
Dit hangt natuurlijk af met welk programma je bezig bent.
Sommige programma's hebben hier een apart commando voor.
In Excel
Een lijst in Excel is bijvoorbeeld de cellen A1 t/m A10.
Je kunt dan het aantal keer dat daarin 4 voorkomt vinden door het commando '=countif()' of in het Nederlands '=aantal.als()' te gebruiken:
=aantal.als(A1:A10;4)

Op de TI-83
Laten we de lijst even LLst noemen.
Je kunt dan gebruiken:
:sum(LLst=4) (met dank aan medebeantwoorder voor deze suggestie).

Het commando 'sum' zit onder LIST,MATH,5.

Als je een programma gebruikt dat echt niet zo'n commando heeft is het volgende voorbeeld misschien handig, wat tevens ook op de TI-83 zal werken:
Het commando 'For' ligt wel voor de hand. We moeten alleen nog dan bepalen hoeveel elementen er in de lijst zijn. Dit kan door middel van het commando 'dim('.
:For(I,1,dim(LLst))

We hebben dus nu een I die van 1 t/m het aantal elementen in de lijst loopt.
Het moet vervolgens wel controleren of het element gelijk is aan 4:
:If LLst(I)=4
:N+1®N

en dan is de If statement ook klaar, dus:
:End

Merk trouwens op dat bij een If statement als er geen 'Then' wordt gebruikt de eerstvolgende regel wordt gedaan als het waar is, en deze wordt overgeslagen als het niet waar is.

Echter voordat het gaat controleren moet er dus een startwaarde voor N worden opgegeven. In dit geval dus 0. Dus moeten we dit voor de If functie nog zetten:
:0®N

Uiteindelijk willen we natuurlijk ook nog even het resultaat zien:
:Display N

De gehele procedure wordt dus:
:0®N
:For(I,1,dim(LLst))
:If LLst(I)=4
:N+1®N
:End
:Display N

Hierin is:
® = STO
dim( = LIST (2nd STAT), OPS, 3
LLst = LIST (2nd STAT), NAMES
For = PRGM, 4
Display = PRGM, I/O, 3

Hopelijk kom je er zo uit.

M.v.g.
PHS

PHS
zondag 4 januari 2004

©2001-2024 WisFaq