Akkumulator
En variabel som samler opp et resultat mens en løkke kjører — for eksempel en sum som vokser, en teller som øker, eller en største-så-langt. Du setter startverdien før løkka og oppdaterer den inni.
Slik kan du tenke om det
- Én boks som vokser Akkumulatoren er én og samme boks i minnet hele veien — ikke en ny for hver runde. Den får startverdien før løkka, oppdateres inni, og brukes etter. Flytter du startverdien inn i løkka, nullstilles boksen på hver runde, og du sitter igjen med bare det siste.
Vanlige feil
- Du nullstiller akkumulatoren inni løkka En vanlig feil er å sette `sum = 0` (eller `antall = 0`) *inni* løkka. Da nullstilles akkumulatoren på hver runde, og du sitter igjen med bare det siste tallet. Startverdien skal settes *én gang før* løkka; oppdateringen skjer inni.
- Du starter maks-søket på 0 Når du leter etter det største tallet, er det fristende å skrive `storst = 0` før løkka. Det virker så lenge alle tallene er positive — men er alle negative, blir svaret `0`, et tall som ikke engang finnes i lista. Startverdien må hentes fra dataene selv: `storst = tall[0]`.
- Du glemmer den siste gruppen etter løkka Når du samler noe opp gruppevis — like tegn på rad, en pågående serie — skrives gruppen ut først når neste element bryter mønsteret. Men den siste gruppen har ingen etterfølger som kan avslutte den. Den må skrives ut *etter* løkka, ellers forsvinner den stille.
Øv på dette
- Herme: summer og tell
- Sjekk: hvor skal startverdien stå?
- Utvide: finn det største tallet
- Utvide: tell oddetallene
- Feilsøk: summen blir feil
- Utvide: summer bare de positive
- Forklar fella for en medelev
- Begrepssjekk: Løkker (for og while)
- Prøvebank: Hva skrives ut? Summeløkke (nivå 1)
- Prøvebank: Største og minste, uten snarvei (nivå 1)
- Prøvebank: Snittet, og de som ligger over (nivå 1)
- Drill: Python-grunnsyntaks — skriv selv (øvet)
- Drill: Python-grunnsyntaks — skriv selv (utfordring)
- Lage: finn det minste tallet