Skillnad mellan versioner av "Kap 3 Fortsättning med C Cpp (5)"
Från Mathonline
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 5: | Rad 5: | ||
{{Selected tab|[[Kap 3 Fortsättning med C_Cpp (5)|Genomgång 5]]}} | {{Selected tab|[[Kap 3 Fortsättning med C_Cpp (5)|Genomgång 5]]}} | ||
{{Not selected tab|[[Övningar 5 (Inbyggd 24)|Övningar 5]]}} | {{Not selected tab|[[Övningar 5 (Inbyggd 24)|Övningar 5]]}} | ||
− | {{Not selected tab|[ | + | {{Not selected tab|[https://sharedfiles.mathonline.se/Systemutv_Inb_Syst_Inneh_Struktur.pdf Innehåll_&_struktur]}} |
{{Not selected tab|[[Lektion 6 (Inbyggd 24)|Nästa lektion >> ]]}} | {{Not selected tab|[[Lektion 6 (Inbyggd 24)|Nästa lektion >> ]]}} | ||
| style="border-bottom:1px solid #797979" width="100%"| | | style="border-bottom:1px solid #797979" width="100%"| | ||
Rad 94: | Rad 94: | ||
<big><big> | <big><big> | ||
:Bläddra igenom kursboken<span>:</span> | :Bläddra igenom kursboken<span>:</span> | ||
− | <math> \qquad\;\;\, </math><div class="smallBox">[ | + | <math> \qquad\;\;\, </math><div class="smallBox">[http://sharedfiles.mathonline.se/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">Luriga else</span></b>], sid 53.</div><math> \qquad\;\;\, </math> |
:Kör programmen <math> \;\; </math>[http://87.106.119.154/sharedfiles/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">TrickyElse</span></b>], sid 53. | :Kör programmen <math> \;\; </math>[http://87.106.119.154/sharedfiles/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">TrickyElse</span></b>], sid 53. | ||
:och <math> \qquad\qquad\quad\;\; </math>[http://87.106.119.154/sharedfiles/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">CorrectElse</span></b>], sid 55.<math> \quad </math> | :och <math> \qquad\qquad\quad\;\; </math>[http://87.106.119.154/sharedfiles/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">CorrectElse</span></b>], sid 55.<math> \quad </math> |
Versionen från 11 september 2024 kl. 07.40
<< 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:
- I en algoritm återvänder man till tidigare steg och upprepar ett känt förlopp, ofta med andra parametrar.
- I programmering har vi hittills realiserat upprepning med loopar (iteration).
- Rekursion är ett alternativ till iteration.
Ett exempel: 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
Om en matematisk behandling av Fibonacciproblemet kan du läsa här.
I programmering kan Fibonaccis rekursionsformel direkt översättas till kod.
Rekursiva funktionen fib()
Vi kodar Fibonaccis rekursionsformel i C++ som en rekursiv funktion fib().
En funktion kallas för rekursiv om den anropar sig själv i sin egen definition.
Funktionen fib() anropas i huvudprogrammet FibonacciTest med vanligt funktionsanrop, inte rekursivt.
Programmet FibonacciTest
Beräkningskompexitet
https://sharedfiles.mathonline.se/Datorns_bios.pdf
3.7 Mer om flervägsval
- Bläddra igenom kursboken:
Luriga else, sid 53.
\( \qquad\;\;\, \)
- Kör programmen \( \;\; \)TrickyElse, sid 53.
- och \( \qquad\qquad\quad\;\; \)CorrectElse, sid 55.\( \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.