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-10-13
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 …