Utforske følger med programmering.
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.
Ein rekursiv definisjon definerer ein verdi ved hjelp av tidlegare verdiar.
For følgjer:
Ein rekursiv definisjon treng alltid startverdiar (basistilfelle).
Skriv eit program som genererer dei 10 første ledda i følgja .
# Rekursiv metode
a = 3 # Startverdi
for n in range(1, 11):
print(f"a_{n} = {a}")
a = a + 5 # a_n = a_{n-1} + 5Utskrift:
a1 = 3, a2 = 8, a3 = 13, ..., a10 = 48
Skriv eit Python-program som genererer dei 15 første ledda i følgja med og .
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
Rekn ut forholdet for store . Kva skjer?
Rekursive funksjonar
Ein rekursiv funksjon er ein funksjon som kallar seg sjølv. Han må ha eit basistilfelle som stoppar rekursjonen.
Implementer fakultet 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)}")Skriv ein rekursiv funksjon for det n-te Fibonacci-talet.
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)
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:
| Problem | Rekursiv formel |
|---|---|
| Aritmetisk følgje | |
| Geometrisk følgje | |
| Fibonacci | |
| Fakultet |
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.
