Inleiding tot recursie1 door Maarten Lemmens. Inleiding tot recursie2 Wat is recursie ?  Een procedure die zichzelf oproept.  Vb. in echte leven: Radio.

Slides:



Advertisements
Verwante presentaties
Goethals Frederik Vakdidactiek 17 – Goethals Frederik
Advertisements

Datastructuren Quicksort
Recursie: De torens van Hanoi
Hoofdstuk 8: Recursie.
Ckv presentatie Nadia en Nilsa, H4F  Mode met als hoofdonder - werp merken.
Experimenteel onderzoek
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
VBA en VBS Een introductie.
Tel de zwarte stippen!. Tel de zwarte stippen!
Eindpresentatie Modelleren C Random Seeds
Computervaardigheden Hoofdstuk 4 — Scripting (Let op: dit is enkel voor studenten Biologie.)
Hoofdstuk 6: Controle structuren
Assenstelsels en het plotten van Functies in LOGO
Recursie: De Torens van Hanoi
Tegengestelden / Synoniemen
Logo : Stapsgewijze verfijning Les Wouter Rogiers.
MSWLogo Kite (verder afwerken) If – functie Recursie Een gokspel.
LOGO Recursie - Vlieger 6/12/2004 Dieter Verslype.
Workshop opstellen adviesrapport
De effectieve waarde en topwaarde
SWI cursus: ‘Inleiding programmeren in Java’
Idee Generatie Wit Papier, Warcraft 3, Thrall, Hoofdpijn, denken, rare les, Karel aan het ijsberen, Schrijven, Opdracht, Schaken, Stappen, Oplichten, Vooruit.
Hogere wiskunde Limieten college week 4
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 4.
Klik ergens op het witte deel van deze pagina om verder te gaan
Vakdidactiek Informatica
Logo Stapsgewijze verfijning: tekenen van een huis. Uitbreiding naar meerdere huizen, variabele afmetingen, coördinaten en kleuren Opdracht voor het vak.
De taalwereld in Logo Les 12 Karel Heymans 15 december 2004.
Pen- & kleuropdrachten
Haiku-Generator Les 1 – 12/02/2003 Jan De Bock.
Chris Pollentier 18 / 12 / 2002 De LOGO taalwereld.
Invoer/Uitvoer Les 2 12/02/2003. Invoer/Uitvoer Invoeropdrachten Toegang tot bestanden Oefening op toegang tot bestanden.
, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.
LES 2 Lesgever: Henk Norman. De molen B) Laat de wieken draaien A) Teken een molen.
Vakdidactiek 9/12/2002 Leen Depré
Liesbeth Van Raemdonck
24/11/2003LOGO - recursie - vliegers1 Recursie: Vliegers in vliegers Dieter Beheydt 24/11/2003.
06/032003Tom Van Damme Bomen in LOGO. 06/032003Tom Van Damme Wat is een boom? Bomen als hiërarchische gegevensstructuur Wereld Gent België Brussel China.
06/032003Tom Van Damme Sorteren van lijsten Selection Sort.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Lagoonia.
Algoritme Inhoud: Definitie algoritme Recursieve algoritmes Opgaven
Programmeren met If This Then That (IFTTT)
Wiskunde kan helpen begrijpen hoe de wereld in elkaar zit.
Wiskunde klinkt niet interessant,
Hoofdstuk 3 - Conditionele logica
Methods of Development #2: Logistiek. Conceptfase Pre-productiefase Productiefase Post-productiefase.
Torens van Hanoi ● Uitgevonden door Franse Wiskundige Edouard Lucas in ● Beschreven in zijn wiskundig “spelletjesboek” Récréations Mathématiques.
Steve Dewanckele Recursie Steve Dewanckele
Groepsdynamica & Interactief communiceren
INHOUD 1. Ons idee 1.1 Waar kan het worden toegepast? 1.2 Hoe werkt het? 1.3 Welke materialen worden er gebruikt? 2.Berekeningen 2.1 Hoeveel kost het?
PARTNER LOGO Digitaal pesten 1 Universiteit
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Codetuts Academy Les 2 Module 2a Php Fundamentals 1.
Dyscalculie uit:
Een onderzoek naar het kiemen en groeien van een bruine boon
Kennismaking met programmeren
Wat is je doel voor deze les?
Grafische vergelijking
Week 1, les 9 Ga zitten in de kring.
Deze wiskunde oefeningen zullen je verrassen...
Kennismaking met programmeren
Small Basic Console deel 2
Rekenen MZ4.
SQL Les February 2019.
Leren programmeren met Scratch
Python – For loop + strings
Transcript van de presentatie:

Inleiding tot recursie1 door Maarten Lemmens

Inleiding tot recursie2 Wat is recursie ?  Een procedure die zichzelf oproept.  Vb. in echte leven: Radio en telefoon Spiegel effect

Inleiding tot recursie3 Vb in LOGO  Wat doet onderstaande procedure, als geweten is dat pr staat voor print? to tellen :getal pr :getal tellen :getal - 1 end

Inleiding tot recursie4 Vb in LOGO  Het voorbeeld met recursie blijkt vast te zitten in oneindige lus.  Dit kan vermeden worden via een stopconditie ahv een if lus. ifelse [ ] [als niet voldaan is aan conditie>] Ofnog: if [ ]

Inleiding tot recursie5 If toegepast in vb  Waar zullen we if moeten plaatsen om een oneindige lus te vermijden?  Welke conditie zullen we nemen als we bij 1 willen stoppen ? to tellen :getal pr :getal tellen :getal - 1 end to tellen :getal if :getal < 1 [stop] pr :getal tellen :getal - 1 end

Inleiding tot recursie6 Plaatsing recursieve oproep  Is er een verschil in resultaat tussen onderstaande procedures ? to tellen1 :getal if :getal < 1 [stop] pr :getal tellen1 :getal - 1 end to tellen2 :getal if :getal < 1 [stop] tellen2 :getal - 1 pr :getal end

Inleiding tot recursie7 Verschil tussen beide vb. to tellen1 :getal if :getal < 1 [stop] pr :getal tellen1 :getal - 1 end getal getal - 1 getal - 2 … 1 to tellen2 :getal if :getal < 1 [stop] tellen2 :getal – 1 pr :getal end 1 2 … getal – 1 getal

Inleiding tot recursie8 Uitvoeringsschema tellen1 to tellen1 2 if 2 < 1 [stop] pr 2 tellen1 1 to tellen1 1 if 1 < 1 [stop] pr 1 tellen1 0 to tellen1 0 if 0 < 1 [stop] end Resultaat: 2 1

Inleiding tot recursie9 Uitvoeringsschema tellen2 to tellen2 2 if 2 < 1 [stop] tellen2 1 to tellen2 1 if 1 < 1 [stop] tellen2 0 to tellen2 0 if 0 < 1 [stop] end pr 1 end pr 2 end Resultaat: 1 2

Inleiding tot recursie10 Niet recursieve tellen1  Hoe kunnen we onderstaande code niet-recursief schrijven zonder het resultaat te wijzigen? to tellen1 :getal if :getal < 1 [stop] pr :getal tellen1 :getal - 1 end to tellen1 :getal repeat :getal [ pr :getal make "getal :getal - 1 ] end

Inleiding tot recursie11 Niet recursieve tellen2  Hoe kunnen we onderstaande code niet-recursief schrijven zonder het resultaat te wijzigen? to tellen2 :getal if :getal < 1 [stop] tellen1 :getal - 1 pr :getal end to tellen2 :getal make “tijdelijk 1 repeat :getal [ pr :tijdelijk make “tijdelijk :tijdelijk + 1 ] end

Inleiding tot recursie12 Conclusie  Plaats van de recursieve oproep kan een invloed hebben op het resultaat.  In simpele voorbeeldjes kan recursie veranderd worden door repeat of door een lus (vb if lus). Zonder gebruik te maken van recursie zal deze vlieger moeilijk zijn om te tekenen. Daarentegen met recursie… (wat we volgende les zullen zien)

Inleiding tot recursie13 Conclusie  Recursie kan gebruikt worden voor complexe tekeningen of wiskundige berekeningen.  Recursie zorgt ervoor dat procedures korter en eleganter zijn, het ontwerpen of testen is dan weer niet altijd eenvoudig.