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

Från Mathonline
Hoppa till: navigering, sök
m
m
 
(3 mellanliggande versioner av samma användare visas inte)
Rad 89: Rad 89:
 
</div>
 
</div>
  
https://sharedfiles.mathonline.se/Datorns_bios.pdf
+
 
 
= <b><span style="color:#931136">3.7 &nbsp; Mer om flervägsval</span></b> =
 
= <b><span style="color:#931136">3.7 &nbsp; Mer om flervägsval</span></b> =
 
<div class="ovnE">
 
<div class="ovnE">
Rad 95: Rad 95:
 
: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">[https://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>[https://sharedfiles.mathonline.se/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>[https://sharedfiles.mathonline.se/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">­CorrectElse</span></b>], sid 55.<math> \quad </math>
 
</big></big>
 
</big></big>
 
</div>
 
</div>
Rad 105: Rad 105:
 
<big><big>
 
<big><big>
 
:Bläddra igenom kursboken, sid 56.<math> \quad </math>
 
:Bläddra igenom kursboken, sid 56.<math> \quad </math>
:Kör programmet [http://87.106.119.154/sharedfiles/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">SwitchInequ</span></b>], sid 56-57.<math> \quad </math>
+
:Kör programmet [https://sharedfiles.mathonline.se/Boken_Systemutv_Inb_Syst.pdf <b><span style="color:blue">SwitchInequ</span></b>], sid 56-57.<math> \quad </math>
 
</big></big>
 
</big></big>
 
</div>
 
</div>

Nuvarande version från 11 september 2024 kl. 08.09

        <<  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


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.