Filtrere data med vilkår
Ved å kombinere en løkke med et vilkår («hvis») kan du telle eller plukke ut bare de dataene som oppfyller en betingelse. Algoritmen «for hvert tall i listen: hvis tallet er større enn 5, legg 1 til telleren» teller hvor mange tall i listen som er større enn 5.
| Tall | Større enn 5? | Teller |
|---|---|---|
| 3 | Nei | 0 |
| 7 | Ja | 1 |
| 2 | Nei | 1 |
| 9 | Ja | 2 |
| 5 | Nei (5 er ikke > 5) | 2 |
Tips
- Gå gjennom listen tall for tall og skriv «ja» eller «nei» for vilkåret ved siden av hvert tall – det gjør det lett å se hvor telleren skal øke.
Eksempel: Telle spillere med mange mål
Fem spillere scoret 3, 7, 2, 9 og 5 mål. Bruk algoritmen «for hvert tall: hvis tallet er større enn 5, legg 1 til telleren» til å finne hvor mange spillere som scoret mer enn 5 mål.
| Tall | Større enn 5? | Teller |
|---|---|---|
| 3 | Nei | 0 |
| 7 | Ja | 1 |
| 2 | Nei | 1 |
| 9 | Ja | 2 |
| 5 | Nei | 2 |
- 3 er ikke > 5
- 7 er > 5, teller = 1
- 2 er ikke > 5
- 9 er > 5, teller = 2
- 5 er ikke > 5 (5 er ikke større enn 5)
- svaret er 2 spillere.
Oppgaver
Prøv minst én oppgave på hvert nivå.
Lett(3)
L-21Bruk algoritmen «tell hvor mange tall som er større enn 4» på listen [2, 5, 3, 6]. Hva blir telleren?
Vis fasit
| Tall | Større enn 4? |
|---|---|
| 2 | Nei |
| 5 | Ja (1) |
| 3 | Nei |
| 6 | Ja (2) |
- 2 nei, 5 ja (1), 3 nei, 6 ja (2)
- teller = 2
L-22Bruk algoritmen «tell hvor mange tall som er mindre enn 5» på listen [3, 8, 2, 9, 1]. Hva blir telleren?
Vis fasit
| Tall | Mindre enn 5? |
|---|---|
| 3 | Ja (1) |
| 8 | Nei |
| 2 | Ja (2) |
| 9 | Nei |
| 1 | Ja (3) |
- 3 ja (1), 8 nei, 2 ja (2), 9 nei, 1 ja (3)
- teller = 3
L-23Bruk algoritmen «tell hvor mange tall som er større enn 10» på listen [12, 5, 15, 8]. Hva blir telleren?
Vis fasit
| Tall | Større enn 10? |
|---|---|
| 12 | Ja (1) |
| 5 | Nei |
| 15 | Ja (2) |
| 8 | Nei |
- 12 ja (1), 5 nei, 15 ja (2), 8 nei
- teller = 2
Middels(3)
M-21En algoritme teller hvor mange elever i listen [82, 45, 67, 90, 58, 73] har en poengsum på 60 eller mer. Hva blir telleren?
Vis fasit
| Poengsum | 60 eller mer? |
|---|---|
| 82, 67, 90, 73 | Ja (4) |
| 45, 58 | Nei |
- 82 ja (1), 45 nei, 67 ja (2), 90 ja (3), 58 nei, 73 ja (4)
- teller = 4
M-22En algoritme summerer BARE tallene i listen [4, 12, 7, 15, 3] som er større enn 5 (i stedet for å telle dem). Hva blir summen?
Vis fasit
| Tall > 5 | Sum |
|---|---|
| 12 | sum=12 |
| 7 | sum=19 |
| 15 | sum=34 |
- 4 hoppes over, 12 legges til (12), 7 legges til (19), 15 legges til (34), 3 hoppes over
- sum = 34
M-23En algoritme teller hvor mange tall i listen [6, 6, 6, 3, 9] som er NØYAKTIG lik 6. Hva blir telleren?
Vis fasit
| Tall | Lik 6? |
|---|---|
| 6, 6, 6 | Ja (3) |
| 3, 9 | Nei |
- 6 ja (1), 6 ja (2), 6 ja (3), 3 nei, 9 nei
- teller = 3
Vanskelig(3)
V-21En algoritme teller hvor mange spillere i listen [45, 62, 78, 55, 90, 38, 71] scoret mellom 50 og 80 poeng (begge grenser inkludert). Hva blir telleren?
Vis fasit
| Poengsum | Mellom 50-80? |
|---|---|
| 62, 78, 55, 71 | Ja (4) |
| 45, 90, 38 | Nei |
- 45 nei, 62 ja (1), 78 ja (2), 55 ja (3), 90 nei, 38 nei, 71 ja (4)
- teller = 4
V-22En algoritme summerer bare de PARTALLENE i listen [3, 8, 5, 12, 7, 4]. Hva blir summen?
Vis fasit
| Partall | Sum |
|---|---|
| 8 | sum=8 |
| 12 | sum=20 |
| 4 | sum=24 |
- 3 hoppes over, 8 legges til (8), 5 hoppes over, 12 legges til (20), 7 hoppes over, 4 legges til (24)
- sum = 24
V-23En algoritme teller hvor mange elever i listen [4, 5, 4, 3, 5, 4, 2, 5] fikk karakteren 5. Hva blir telleren, og hvor stor andel av de 8 elevene er det (i prosent)?
Vis fasit
| Beregning | Resultat |
|---|---|
| Antall med karakter 5 | 3 |
| Andel (3:8) | 37,5 % |
- Antall 5-ere: 5,5,5
- teller = 3
- andel: 3 : 8 = 0,375 = 37,5 %
- svaret er 3 elever, 37,5 %