Skillnad mellan versioner av "Kap 3 Fortsättning med C Cpp (5)"

Från Mathonline
Hoppa till: navigering, sök
m
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|[http://sharedfiles.mathonline.se/Systemutv_Inb_Syst_Inneh_Struktur.pdf Innehåll_&_struktur]}}
+
{{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">[https://sharedfiles.mathonline.se/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">Luriga else</span></b>], sid 53.</div><math> \qquad\;\;\, </math>
+
<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

Fibonacciproblemet.jpg


Följer man Fibonaccis instruktioner för kaniners fortplantning får man följande siffror:

Fibonaccitalen

Fibonaccitalen.jpg


Mönster för bildningen av Fibonaccis talföljd,

även kallad Fibonaccitalen:


Summan av två på varandra följande
fibonaccital ger nästa fibonaccital.

\( \qquad\qquad\qquad \) FibonacciBildb.jpg


Fibonaccis rekursionsformel

FibonacciRekFormel.jpg


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.

Fib.jpg


Funktionen fib() anropas i huvudprogrammet FibonacciTest med vanligt funktionsanrop, inte rekursivt.


Programmet FibonacciTest

FibTesta.jpg


Beräkningskompexitet

Ber kompexitet.jpg

https://sharedfiles.mathonline.se/Datorns_bios.pdf

3.7   Mer om flervägsval

Bläddra igenom kursboken:
\( \qquad\;\;\, \)
Luriga else, sid 53.
\( \qquad\;\;\, \)
Kör programmen \( \;\; \)­TrickyElse, sid 53.
och \( \qquad\qquad\quad\;\; \)­CorrectElse, sid 55.\( \quad \)


switch med tomma case-satser

Bläddra igenom kursboken, sid 56.\( \quad \)
Kör programmet SwitchInequ, sid 56-57.\( \quad \)



Gå vidare till:        när du är klar med denna genomgång.










Copyright © 2024 TechPages AB. All Rights Reserved.