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.

Telle tall større enn 5 i [3, 7, 2, 9, 5]
TallStørre enn 5?Teller
3Nei0
7Ja1
2Nei1
9Ja2
5Nei (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.

Telle tall større enn 5
TallStørre enn 5?Teller
3Nei0
7Ja1
2Nei1
9Ja2
5Nei2
Løsning:
  1. 3 er ikke > 5
  2. 7 er > 5, teller = 1
  3. 2 er ikke > 5
  4. 9 er > 5, teller = 2
  5. 5 er ikke > 5 (5 er ikke større enn 5)
  6. 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
TallStørre enn 4?
2Nei
5Ja (1)
3Nei
6Ja (2)
  1. 2 nei, 5 ja (1), 3 nei, 6 ja (2)
  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
TallMindre enn 5?
3Ja (1)
8Nei
2Ja (2)
9Nei
1Ja (3)
  1. 3 ja (1), 8 nei, 2 ja (2), 9 nei, 1 ja (3)
  2. 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
TallStørre enn 10?
12Ja (1)
5Nei
15Ja (2)
8Nei
  1. 12 ja (1), 5 nei, 15 ja (2), 8 nei
  2. 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
Poengsum60 eller mer?
82, 67, 90, 73Ja (4)
45, 58Nei
  1. 82 ja (1), 45 nei, 67 ja (2), 90 ja (3), 58 nei, 73 ja (4)
  2. 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 > 5Sum
12sum=12
7sum=19
15sum=34
  1. 4 hoppes over, 12 legges til (12), 7 legges til (19), 15 legges til (34), 3 hoppes over
  2. 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
TallLik 6?
6, 6, 6Ja (3)
3, 9Nei
  1. 6 ja (1), 6 ja (2), 6 ja (3), 3 nei, 9 nei
  2. 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
PoengsumMellom 50-80?
62, 78, 55, 71Ja (4)
45, 90, 38Nei
  1. 45 nei, 62 ja (1), 78 ja (2), 55 ja (3), 90 nei, 38 nei, 71 ja (4)
  2. teller = 4

V-22En algoritme summerer bare de PARTALLENE i listen [3, 8, 5, 12, 7, 4]. Hva blir summen?

Vis fasit
PartallSum
8sum=8
12sum=20
4sum=24
  1. 3 hoppes over, 8 legges til (8), 5 hoppes over, 12 legges til (20), 7 hoppes over, 4 legges til (24)
  2. 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
BeregningResultat
Antall med karakter 53
Andel (3:8)37,5 %
  1. Antall 5-ere: 5,5,5
  2. teller = 3
  3. andel: 3 : 8 = 0,375 = 37,5 %
  4. svaret er 3 elever, 37,5 %