Hopp til innholdet

Rekursjon med programmering – forklart steg for steg

Matematikk R2 · modul 3 · leksjon 3.7 · eksamen: del 2

En rekursiv formel passer godt i en løkke. Her lærer du å lese korte Python-programmer som regner ut ledd og summer, og å finne hva de skriver ut uten å kjøre dem.

Dette er leksjon 3.7 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 rekursiv formel i en løkke

En rekursiv formel gir neste ledd fra det forrige. I Python skriver du den i en løkke. Linjen a = 2*a + 1 regner ut neste ledd fra det forrige, og for n in range(4) gjør det 4 ganger.

Tre steg

  1. Les startverdiene før løkka.
  2. Følg løkka runde for runde, og skriv verdiene i en tabell.
  3. Se om print står inne i løkka eller etter den.

Eksempler

Eksempel 1: et rekursivt ledd

Hva skriver programmet ut?

a = 2
for n in range(4):
    a = 2*a + 1
print(a)

2 · 2 + 1 = 5
2 · 5 + 1 = 11
2 · 11 + 1 = 23
2 · 23 + 1 = 47

Svar: Programmet skriver ut 47.

Eksempel 2: en sum

Hva skriver programmet ut?

s = 0
for n in range(1, 6):
    s = s + 3*n - 1
print(s)

2 + 5 + 8 + 11 + 14 = 40

Svar: Programmet skriver ut 40.

range(1, 6) gir n = 1, 2, 3, 4 og 5. Leddene er 3n − 1, så programmet regner ut en aritmetisk rekke.

Øv selv: 15 oppgaver i rekker i praksis med fasit og løsning steg for steg.

Vanlige feil

På eksamen

Programmering kommer på del 2. Fra våren 2027 har du ikke datamaskin, så du kan ikke kjøre programmet. Lag en tabell med runde og verdier, og svar med det programmet skriver ut.

Leksjonen hører til modulen Følger og rekker og øves til del 2. Les mer om eksamen i R2, og bruk formelarket for R2 når du øver.

Begreper: løkke rekursjon Python

Les også

Mer om matte R2

Ser du en feil? Si fra på kontakt@sophus.no, så retter vi den.