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