Utforske følger med programmering.
Programmering er et kraftig verktøy for å utforske matematiske sammenhenger. Vi kan bruke Python til å generere følger, beregne summer og simulere rekursive prosesser.
En rekursiv definisjon definerer en verdi ved hjelp av tidligere verdier.
For følger:
En rekursiv definisjon trenger alltid startverdier (basiskasus).
Skriv et program som genererer de 10 forste leddene i folgen .
``python``Rekursiv metode
a = 3 # Startverdi
for n in range(1, 11):
print(f"a{n} = {a}")
a = a + 5 # an = a{n-1} + 5
Utskrift:
a1 = 3, a2 = 8, a3 = 13, ..., a_10 = 48
Skriv et Python-program som genererer de 15 forste leddene i folgen med og .
Skriv et program som beregner de 20 forste Fibonacci-tallene.
``python
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, ..., F_20 = 6765
Beregn forholdet for store . Hva skjer?
En rekursiv funksjon er en funksjon som kaller seg selv. Den ma ha et basiskasus som stopper rekursjonen.
Implementer fakultet som en rekursiv funksjon.
``python
def fakultet(n):
if n <= 1:
return 1
return n * fakultet(n - 1)
for i in range(10):
print(f"{i}! = {fakultet(i)}")
``
Skriv en rekursiv funksjon for det n-te Fibonacci-tallet.
Simuler en ball fra 10 m som spretter til 80% av forrige høyde.
``python
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 (narmer seg teoretisk 90)
Modifiser programmet til å finne nar ballen spretter under 1 cm.
Rekursjon i programmering:
- Rekursive definisjoner kan implementeres som rekursive funksjoner
- Alternativt bruker vi lokker (iterasjon)
- Rekursive funksjoner ma alltid ha et basiskasus
Typiske anvendelser:
| Problem | Rekursiv formel |
|---|---|
| Aritmetisk folge | |
| Geometrisk folge | |
| Fibonacci | |
| Fakultet |