Fra rekursive formler til iterasjon og små programmer som regner ut ledd, summer og grenseverdier.
Faglig kvalitetssikret av lærere og toppstudenter · Følger læreplanen (LK20) · Sist oppdatert 2026-09-11
Fra startverdi og overgangsregel til likevekt, stabilitet, terskler, feilsøking og dokumentert Python-programmering.
Rekursiv arbeidskjede. Figuren viser arbeidsrekkefølgen og erstatter ikke den matematiske begrunnelsen. 16 undervisningsseksjoner 48 modelløsninger 96 øvingsoppgaver 48 testoppgaverKapittelet dekker kompetansemålet «Utforske rekursive sammenhenger ved å bruke programmering og presentere egne framgangsmåter». Følger og rekker behandles i kapittel 1. Generell bevisteori og systematisk induksjon behandles i kapittel 3, men kontroll av foreslåtte formler brukes her når det støtter programmeringen.
Kildeprinsipp: Udir, moderne REA3058-oppgavetyper, eksisterende Ifingo-materiale og offentlige konkurrentressurser brukes til dekningskontroll. Formuleringer, tallsett, oppgaver, løsninger, figurer og kode er selvstendig utviklet.En rekursiv sammenheng beskriver hvordan en ny tilstand bygges fra en eller flere tidligere tilstander. En fullstendig modell må angi både startverdien og oppdateringsregelen. Uten startverdi finnes det vanligvis mange mulige følger som oppfyller den samme regelen.
Kjernepunkt: Startverdi, overgangsregel, indeks og enhet må defineres før beregning. Startverdi og rekursiv overgangsregel. Figuren viser arbeidsrekkefølgen og erstatter ikke den matematiske begrunnelsen. Modelløsning 1 Seksjon 1Startverdi og overgangsregel må oppgis sammen.
MetodevalgModellen beregnes trinnvis og kontrolleres med en selvstendig kodekjøring.
a=4 vals=[a] for n in range(1,6): a=a+3 vals.append(a) print(vals) assert vals==[4, 7, 10, 13, 16, 19]Kjørt utskrift: [4, 7, 10, 13, 16, 19]
Vanlig feil: Å gi bare aₙ=aₙ₋₁+3 uten startverdi. Sensorblikk: Vis både definisjon og beregnede ledd.Se alle tre modelløsningene i seksjonen
Programmet må holde styr på hvilket ledd variabelen representerer før og etter en oppdatering. Mange feil skyldes at startverdien skrives ut etter at den allerede er oppdatert, eller at range-grensene gir én iterasjon for mye eller for lite.
Kjernepunkt: Koble hver iterasjon til en presis matematisk indeks. Indeks, løkker og off-by-one-feil. Figuren viser arbeidsrekkefølgen og erstatter ikke den matematiske begrunnelsen. Modelløsning 4 Seksjon 2range(2,N+1) representerer indeksene 2 til N.
MetodevalgModellen beregnes trinnvis og kontrolleres med en selvstendig kodekjøring.
a=5 vals=[a] for n in range(2,7): a=a+(4) vals.append(a) print(vals) assert len(vals)==6 assert vals[-1]==25Kjørt utskrift: [5, 9, 13, 17, 21, 25]
Vanlig feil: range(2,N) stopper før N. Sensorblikk: Kommenter hva variabelen a representerer i hver iterasjon.Se alle tre modelløsningene i seksjonen
I en additiv rekursjon legges et fast eller indeksavhengig bidrag til forrige ledd. Konstant tillegg gir en aritmetisk utvikling, mens et tillegg som avhenger av n kan gi kvadratiske eller høyereordens mønstre.
Kjernepunkt: Undersøk differansene og forklar hva hvert tillegg representerer. Additive rekursjoner og variable tillegg. Figuren viser arbeidsrekkefølgen og erstatter ikke den matematiske begrunnelsen. Modelløsning 7 Seksjon 3Konstant tillegg gir lineær utvikling i indeksen.
MetodevalgModellen beregnes trinnvis og kontrolleres med en selvstendig kodekjøring.
a=6 for k in range(2,13): a=a+(2) explicit=6+(12-1)*(2) print(a, explicit) assert a==explicit==28Kjørt utskrift: 28 28
Vanlig feil: Å bruke n steg i stedet for n−1. Sensorblikk: Bruk rekursjonen i hovedmetoden og eksplisitt form som kontroll.Se alle tre modelløsningene i seksjonen
Når hvert nytt ledd er en fast faktor ganger det forrige, beskriver rekursjonen gjentatt prosentvis vekst eller nedgang. Fortegn, størrelsen på faktoren og startverdien avgjør om følgen vokser, avtar eller alternerer.
Kjernepunkt: Skill mellom prosent, prosentpoeng og vekstfaktor. Multiplikative rekursjoner og prosentvis endring. Figuren viser arbeidsrekkefølgen og erstatter ikke den matematiske begrunnelsen. Modelløsning 10 Seksjon 4Faktoren virker på hele forrige tilstand.
MetodevalgModellen beregnes trinnvis og kontrolleres med en selvstendig kodekjøring.
a=5 vals=[a] for k in range(1,9): a=a*(1.2) vals.append(a) print(vals) assert abs(a-(21.49908479999999))<1e-10Kjørt utskrift: [5, 6.0, 7.199999999999999, 8.639999999999999, 10.367999999999999, 12.441599999999998, 14.929919999999996, 17.915903999999994, 21.49908479999999]
Vanlig feil: Å legge til prosenttallet i stedet for å multiplisere med vekstfaktoren. Sensorblikk: Tolk fortegn og størrelsen på faktoren.Se alle tre modelløsningene i seksjonen
Modeller av typen a_n=r a_{n-1}+b kombinerer en andel som videreføres med et fast bidrag. De brukes blant annet i lagerstyring, miljømodeller, dosering og andre trinnvise prosesser.
Kjernepunkt: Tolk r som beholdt andel og b som bidrag per periode. Affine rekursjoner: beholdning og fast bidrag. Figuren viser arbeidsrekkefølgen og erstatter ikke den matematiske begrunnelsen. Modelløsning 13 Seksjon 5Den affine modellen kombinerer videreføring og nytt bidrag.
MetodevalgModellen beregnes trinnvis og kontrolleres med en selvstendig kodekjøring. …