Skillnad mellan versioner av "Kap 3 Fortsättning med C Cpp (5)"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
| Rad 18: | Rad 18: | ||
<big><big> | <big><big> | ||
<b><span style="color:red">Rekursion</span></b> är ett koncept inom problemlösning och programmering som tillämpar successiv upprepning. | <b><span style="color:red">Rekursion</span></b> är ett koncept inom problemlösning och programmering som tillämpar successiv upprepning. | ||
| + | |||
Ordet rekursion kommer från det latinska <i>recurrere</i> som betyder <b><span style="color:red">att köra igen</span></b>, vilket innebär: | Ordet rekursion kommer från det latinska <i>recurrere</i> som betyder <b><span style="color:red">att köra igen</span></b>, vilket innebär: | ||
Versionen från 7 januari 2024 kl. 15.34
| << Agenda | Genomgång 5 | Övningar 5 | Innehåll & struktur | Nästa lektion >> |
3.6 Rekursion
Vad är rekursion?
Rekursion är ett koncept inom problemlösning och programmering som tillämpar successiv upprepning.
Ordet rekursion kommer från det latinska recurrere som betyder att köra igen, vilket innebär:
Man återvänder till något som man redan gjort en gång och upprepar ett känt förlopp,
kanske under andra förutsättningar.
Rekursion är ett koncept som används i problemlösning genom successiv upprepning.
Hittills har vi realiserat upprepning i programmering med loopar. Rekursion är ett alternativ till loopar.
Fibonaccis problem
Kaniners fortplantning
Följer man Fibonaccis instruktioner för kaniners fortplantning får man följande siffror:
Fibonaccitalen
| Mönster för bildningen av Fibonaccis talföljd, även kallad Fibonaccitalen: Summan av två på varandra följande |
\( \qquad\qquad\qquad \) | ![]() |
Fibonaccis rekursionsformel
Mer utförligt om om Fibonacciproblemet kan du läsa här.
Fibonaccis rekursionsformel kan direkt tas över till följande pythonprogram:
Programmet Fibonacci
I Python kan Fibonaccis rekursionsformel kodas som en rekursiv funktion fib().
En funktion kallas för rekursiv om den anropar sig själv i sin egen definition.
Funktionen fib() anropar sig själv två gånger i sin definition på rad 9: rekursiva anrop!
Anropet på rad 14 är ett vanligt (inte rekursivt) funktionsanrop i huvudprogrammet.
Körresultat
3.6 Mer om flervägsval
- Bläddra igenom kursboken:
- Kör programmen \( \;\; \)TrickyElse, sid 64.
- och \( \qquad\qquad\quad\;\; \)NestdIfElse, sid 66.\( \quad \)
switch med tomma case-satser
Gå vidare till: när du är klar med denna genomgång.
Copyright © 2024 TechPages AB. All Rights Reserved.





