Tilbake
1.7
Rekursive sammenhenger og programmering

1.7 Rekursive sammenhenger og programmering

Utforske følger med programmering.

55 min
9 oppgaver
RekursjonProgrammeringPythonSimulering
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 9 oppgaver
Kapitlets plass i kurset

Programmering og rekursjon

Programmering er eit kraftig verktøy for å utforske matematiske samanhengar. Vi kan bruke Python til å generere følgjer, rekne ut summar og simulere rekursive prosessar.

Rekursjon

Ein rekursiv definisjon definerer ein verdi ved hjelp av tidlegare verdiar.

For følgjer: an=f(an1,an2,)a_n = f(a_{n-1}, a_{n-2}, \ldots)

Ein rekursiv definisjon treng alltid startverdiar (basistilfelle).

✏️Døme 1: Aritmetisk følgje i Python

Skriv eit program som genererer dei 10 første ledda i følgja an=3+5(n1)a_n = 3 + 5(n-1).

# Rekursiv metode
a = 3  # Startverdi
for n in range(1, 11):
    print(f"a_{n} = {a}")
    a = a + 5  # a_n = a_{n-1} + 5

Utskrift:
a1 = 3, a2 = 8, a3 = 13, ..., a10 = 48

📝Oppgave 1

Skriv eit Python-program som genererer dei 15 første ledda i følgja med a1=10a_1 = 10 og d=3d = -3.

✏️Døme 2: Fibonacci i Python

Skriv eit program som reknar ut dei 20 første Fibonacci-tala.

fib = [1, 1]
for i in range(2, 20):
    fib.append(fib[i-1] + fib[i-2])

for i, f in enumerate(fib, 1):
    print(f"F_{i} = {f}")

Utskrift: F1 = 1, F2 = 1, F3 = 2, ..., F20 = 6765

📝Oppgave 2

Rekn ut forholdet FnFn1\displaystyle \frac{F_n}{F_{n-1}} for store nn. Kva skjer?

Rekursive funksjonar

Ein rekursiv funksjon er ein funksjon som kallar seg sjølv. Han må ha eit basistilfelle som stoppar rekursjonen.

✏️Døme 3: Fakultet rekursivt

Implementer fakultet n!=n(n1)!n! = n \cdot (n-1)! som ein rekursiv funksjon.

def fakultet(n):
    if n <= 1:
        return 1
    return n * fakultet(n - 1)

for i in range(10):
    print(f"{i}! = {fakultet(i)}")
📝Oppgave 3

Skriv ein rekursiv funksjon for det n-te Fibonacci-talet.

✏️Døme 4: Simulere sprettball

Simuler ein ball frå 10 m som spretter til 80% av førre høgd.

h = 10
total = h
while h > 0.001:
    h = h * 0.8
    total += 2 * h

print(f"Total strekning: {total:.2f} m")

Utskrift: Total strekning: 90.00 m (nærmar seg teoretisk 90)

📝Oppgave 4

Modifiser programmet til å finne når ballen spretter under 1 cm.

Oppsummering

Rekursjon i programmering:
- Rekursive definisjonar kan implementerast som rekursive funksjonar
- Alternativt bruker vi løkkjer (iterasjon)
- Rekursive funksjonar må alltid ha eit basistilfelle

Typiske bruksområde:

ProblemRekursiv formel
Aritmetisk følgjean=an1+da_n = a_{n-1} + d
Geometrisk følgjean=kan1a_n = k \cdot a_{n-1}
FibonacciFn=Fn1+Fn2F_n = F_{n-1} + F_{n-2}
Fakultetn!=n(n1)!n! = n \cdot (n-1)!
Repetisjonsoppgåver
Din fremgang
0deloppgaver0 / 5 oppgaver

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.