Rekursive sammenhenger og programmering

En REKURSIV formel definerer et ledd ut fra det/de FORRIGE leddet («neste = forrige pluss/ganger noe»), i motsetning til en EKSPLISITT formel som gir leddet direkte fra nn. Rekursive sammenhenger egner seg godt for PROGRAMMERING: en løkke som oppdaterer en verdi steg for steg, gjentatt like mange ganger som antall ledd du vil finne.

Rekursiv vekst

an=f(an−1)a_n = f(a_{n-1})

Eksplisitt vs. rekursiv formel
TypeEksempel
Eksplisittaₙ = 200 · 0,8ⁿ (gir aₙ direkte fra n)
Rekursivaₙ = 0,8 · aₙ₋₁, a₀ = 200 (bygger på forrige ledd)

Tips

  • En rekursiv formel trenger ALLTID en STARTVERDI (a0a_0 eller a1a_1) i tillegg til selve regelen, uten en startverdi kan du ikke regne ut noe som helst.
  • Skriv opp fremgangsmåten som en NUMMERERT liste med steg (start, oppdater, gjenta). Det er nettopp dette en programløkke gjør, bare med kode i stedet for ord.

Eksempel: Modellere nedbrytning av et kjemisk stoff rekursivt

Et kjemisk stoff i en løsning brytes ned slik at 20 %20\ \% forsvinner hver time. Konsentrasjonen starter på 200200 mg/L. Sett opp en rekursiv formel, og finn konsentrasjonen etter 55 timer ved å følge fremgangsmåten steg for steg.

Løsning:
  1. Startverdien er C0=200C_0 = 200, og hver time beholdes 80 %80\ \% (siden 20 %20\ \% brytes ned), så den rekursive formelen er Cn=0,8⋅Cn−1C_n = 0{,}8 \cdot C_{n-1}
  2. følg fremgangsmåten steg for steg: C1=0,8⋅200=160C_1 = 0{,}8 \cdot 200 = 160
  3. C2=0,8⋅160=128C_2 = 0{,}8 \cdot 160 = 128
  4. C3=0,8⋅128=102,4C_3 = 0{,}8 \cdot 128 = 102{,}4
  5. C4=0,8⋅102,4=81,92C_4 = 0{,}8 \cdot 102{,}4 = 81{,}92
  6. C5=0,8⋅81,92=65,536C_5 = 0{,}8 \cdot 81{,}92 = 65{,}536. Etter 55 timer er konsentrasjonen ≈65,5\approx 65{,}5 mg/L.
Fremgangsmåte (algoritme)
StegHandlingResultat
1Start: C = 200200
2Gjenta 5 ganger: C = 0,8 · C…
3Etter 5 gjentakelser≈65,5
Alternativ forklaring/metode: Finn den eksplisitte formelen i stedet for å gjenta steget

Alternativ metode – innenfor pensum, men ikke hovedmetoden her

Regne om til en eksplisitt formel

Siden konsentrasjonen multipliseres med samme faktor hver time, kan den rekursive sammenhengen skrives om til en eksplisitt (geometrisk) formel: Cn=200⋅0,8nC_n = 200 \cdot 0{,}8^n. Sett direkte inn n=5n = 5: C5=200⋅0,85≈200⋅0,328≈65,5C_5 = 200 \cdot 0{,}8^5 \approx 200 \cdot 0{,}328 \approx 65{,}5: samme svar, men uten å måtte gjenta steget fem ganger. Eksplisitt formel er raskere for ETT enkelt ledd langt unna starten, mens den rekursive versjonen er mer naturlig å PROGRAMMERE som en løkke, og viser hele utviklingen underveis.

Rekursiv vs. eksplisitt
MetodeC₅
Rekursiv (5 gjentakelser)65,536
Eksplisitt (200 · 0,8⁵)≈65,5 – samme svar

Oppgaver

Prøv minst én oppgave på hvert nivå.

Lett(3)

L-21Hva trenger en rekursiv formel i tillegg til selve regelen?

Vis fasit
  1. Uten et utgangspunkt kan ingen ledd regnes ut
  2. en startverdi er nødvendig
Rekursiv formel
KravBetydning
Rekursiv formelTrenger en startverdi

L-22En rekursiv formel er an=an−1+5a_n = a_{n-1} + 5, med a0=10a_0 = 10. Hva er a1a_1?

Vis fasit
  1. a0=10
  2. a1 = 10 + 5 = 15
Finn a1
a0Regela1
10+515

L-23Hva kalles en formel som gir ana_n direkte fra nn, uten å bruke forrige ledd?

Vis fasit
  1. En slik formel uttrykker a_n direkte via n, uten an−1a_{n-1}
  2. en eksplisitt formel
Type formel
TypeKjennetegn
EksplisittGir aₙ direkte fra n
Middels(3)

M-21En rekursiv formel er an=0,9⋅an−1a_n = 0{,}9 \cdot a_{n-1}, med a0=500a_0 = 500. Finn a1a_1, a2a_2 og a3a_3.

Vis fasit
  1. a0=500
  2. a1=0,9⋅5000{,}9 \cdot 500=450
  3. a2=0,9⋅4500{,}9 \cdot 450=405
  4. a3=0,9⋅4050{,}9 \cdot 405=364,5
Finn de neste leddene
LeddVerdi
a0500
a1450
a2405
a3364,5

M-22En radioaktiv kilde mister 10 %10\ \% av massen sin hvert år, og starter på 500500 g. Hva er den rekursive formelen?

Vis fasit
  1. Start 500, mister 10% hvert år (beholder 90%)
  2. Mₙ = 0,9 · Mₙ₋₁, M₀ = 500
Sett opp den rekursive formelen
DelVerdi
Beholder90 %
Startverdi M₀500 g

M-23En radioaktiv kilde mister 10 %10\ \% av massen sin hvert år, og starter på 500500 g. Den rekursive formelen er Mn=0,9⋅Mn−1M_n = 0{,}9 \cdot M_{n-1} med M0=500M_0 = 500. Finn massen etter 33 år. Svar i g.

Vis fasit
  1. Bruker rekursjonen 3 ganger, fra M0 til M3
  2. M0=500
  3. M1=450
  4. M2=405
  5. M3=364,5 g
Finn massen etter 3 år
ÅrMasse
0500
1450
2405
3364,5 g
Vanskelig(3)

V-21En dyrebestand følger Bn=1,02⋅Bn−1+50B_n = 1{,}02 \cdot B_{n-1} + 50, med B0=1 000B_0 = 1\ 000 (2 % vekst pluss et fast tilskudd fra innvandring hvert år). Finn B1B_1 og B2B_2.

Vis fasit
  1. B0=1 000
  2. B1 = 1,02⋅1 000+50=1 0701{,}02 \cdot 1\,000 + 50 = 1\,070
  3. B2 = 1,02⋅1 070+501{,}02 \cdot 1\,070 + 50 ≈ 1 141,4
Finn B1 og B2
nBn
01 000
11 070
21 141,4

V-22En dyrebestand følger Bn=1,02⋅Bn−1+50B_n = 1{,}02 \cdot B_{n-1} + 50, med B0=1 000B_0 = 1\ 000 (2 % vekst pluss et fast tilskudd fra innvandring hvert år), og B1=1 070B_1 = 1\ 070 og B2≈1 141,4B_2 \approx 1\ 141{,}4. Fortsett rekken til B5B_5. Svar avrundet til én desimal.

Vis fasit
  1. Fortsetter fram til ledd 5, altså B5
  2. B2≈1 141,4
  3. B3≈1 214,2
  4. B4≈1 288,5
  5. B5 ≈ 1 364,3
Fortsett til B5
nBn
21 141,4
31 214,2
41 288,5
51 364,3

V-23Hvorfor er en bestandsmodell som Bn=1,02⋅Bn−1+50B_n = 1{,}02 \cdot B_{n-1} + 50 HVERKEN en ren aritmetisk ELLER en ren geometrisk rekke?

Vis fasit
  1. Formelen har BÅDE en multiplikasjon (1,02·) OG en addisjon (+50)
  2. kombinasjonen gjør den til en blandet, ikke ren, rekketype
Hvorfor verken ren aritmetisk eller geometrisk
TrekkType
1,02 · (multiplikasjon)Geometrisk
+50 (addisjon)Aritmetisk – kombinasjon av begge