Rekursjon med programmering – forklart steg for steg
En rekursiv formel passer godt i et program. Her lærer du å lese et kort Python-program med en løkke, og å følge verdiene runde for runde for hånd.
Dette er leksjon 1.5 Rekursjon med programmering i Sophus. I kurset har den video og øving. Den er med når du har tilgang til faget, men leksjon 1.1 er gratis. Se leksjonen
En formel i en løkke
Variabelen a holder det siste leddet. En for-løkke gjentar den samme linjen flere ganger. Hver runde regner programmet ut neste ledd fra det forrige, og lagrer det i a.
range(3) betyr at løkka kjører tre ganger. Python teller rundene 0, 1 og 2.
Slik leser du programmet
- Finn startverdien. Det er det første leddet.
- Finn ut hvor mange ganger løkka kjører.
- Følg linjen som oppdaterer variabelen, én runde om gangen, og skriv ned verdien etter hver runde.
Eksempler
Eksempel 1: tre runder
Hva skriver programmet ut?
a = 1
for i in range(3):
a = 3 * a - 1
print(a)
3 · 1 − 1 = 2
3 · 2 − 1 = 5
3 · 5 − 1 = 14
Svar: Programmet skriver ut 14.
a er 2 etter første runde, 5 etter andre og 14 etter tredje.
Eksempel 2: en sum i en løkke
Programmet legger sammen leddene i en geometrisk rekke. Hva skriver det ut?
a = 2
S = 0
for i in range(5):
S = S + a
a = 3 * a
print(S)
2 + 6 + 18 + 54 + 162 = 242
2 · 3⁵ − 1 delt på 3 − 1 = 242
Svar: Programmet skriver ut 242.
Leddene blir 2, 6, 18, 54 og 162. Den andre linjen viser at sumformelen for geometriske rekker gir det samme.
Øv selv: 15 oppgaver i tallfølger og aritmetiske rekker med fasit og løsning steg for steg.
Vanlige feil
- Å kjøre løkka én gang for mye. Med range(4) blir det én runde til, og a blir 3 · 14 − 1 = 41.
- Å glemme å oppdatere variabelen. Står det bare 3 * a - 1 uten a = foran, endres a aldri.
- Å legge til leddet etter at det er oppdatert, når programmet gjør det før. Følg rekkefølgen på linjene.
På eksamen
Programmering kommer på del 2. Fra våren 2027 har du ikke datamaskin på del 2, så du kjører ikke programmet. Lag en tabell med én rad per runde og én kolonne per variabel, og forklar med egne ord hva programmet regner ut.
Leksjonen hører til modulen Følger og rekker og øves til del 2. Les mer om eksamen i S2, og bruk formelarket for S2 når du øver.
Begreper: løkke variabel rekursjon
Les også
- Tallfølger og rekursive formler – forklart steg for steg
- Aritmetiske rekker – forklart steg for steg
- Geometriske rekker – forklart steg for steg
- Uendelige geometriske rekker – forklart steg for steg
- Tallfølger og aritmetiske rekker: oppgaver med fasit
- Prøv en gratis oppgave i S2
Mer om matte S2
- Alle modulene i matte S2
- Eksamen i S2: del 1, del 2 og hjelpemidler
- Eksamensguide for S2: oppgavetypene med eksempler
- Formelark for S2
- Begrepene i S2 forklart
- De 10 vanligste feilene i S2
- Temaer i S2 forklart med eksempler
- Oppgaver med fasit i S2, ordnet etter tema
Ser du en feil? Si fra på kontakt@sophus.no, så retter vi den.