24-11-2003, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.

Slides:



Advertisements
Verwante presentaties

Advertisements

Programmeren met Alice
Goethals Frederik Vakdidactiek 17 – Goethals Frederik
Datastructuren Quicksort
Recursie: De torens van Hanoi
Hoofdstuk 8: Recursie.
Practica Computerlinguistiek Tekst en uitleg:
Datastructuren Analyse van Algoritmen en O
Datastructuren Analyse van Algoritmen en O
‘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.

Computervaardigheden Hoofdstuk 4 — Scripting (Let op: dit is enkel voor studenten Biologie.)
Hoofdstuk 6: Controle structuren
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
24 juni 2003Johnson en Morrill in Israel Een studie naar de Johnson Morrill Hypothese in relatie tot de Hebreeuwse taal; implementatie van bewijsnetten.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Assenstelsels en het plotten van Functies in LOGO
Recursie: De Torens van Hanoi
Tekenen van een draaiende molen in LOGO
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.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
Workshop opstellen adviesrapport
Frank Stalpers en Ad Baars
Functies als Getallen Jan Martin Jansen.
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Visual Basic .NET voor studenten
Imperatief programmeren nProgramma bestaat uit nRunnen is opdrachten gegroepeerd in methoden één voor één uitvoeren te beginnen met main.
PHP functies.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 4.
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Vakdidactiek Informatica
Eenvoudig voorbeeld: Steden in Belgie
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.
Inleiding tot recursie1 door Maarten Lemmens. Inleiding tot recursie2 Wat is recursie ?  Een procedure die zichzelf oproept.  Vb. in echte leven: Radio.
Chris Pollentier 18 / 12 / 2002 De LOGO taalwereld.
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.
Fractale en Wavelet Beeldcompressie
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Programmeren met If This Then That (IFTTT)
Inleiding in de statistiek voor de gedragswetenschappen
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
groep 5 16 groep 6 11 groep 7 3 groep 8 13 "Wij zien in ICT een oplossing om tot SlimFit te komen." groepsleerkrachtstagiaireklassenassistent ratio 1.
CONTROLESTRUCTUREN (DEEL 1)
Functioneel programmeren Een snelle herhaling…. Functie-definitie static int kwad (int x) { return x*x ; } kwad x = x * x Haskell kwad :: Int  Int.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Instructie Programmeren Task 4 5JJ70. Task 4.1: Iteratief proces Het doel van de opdracht is de uitgangsspanning van een transistor te bepalen met de.
Torens van Hanoi ● Uitgevonden door Franse Wiskundige Edouard Lucas in ● Beschreven in zijn wiskundig “spelletjesboek” Récréations Mathématiques.
Instructie Programmeren Task 7
Steve Dewanckele Recursie Steve Dewanckele
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Berekening van de Orde Van een Algoritme
Recursie in de wiskunde
Wat is het grootste getal
Inleiding, slot, functies, samenvattend tekstverband
Small Basic Console deel 2
SQL Les February 2019.
Software Development fundamentals
Transcript van de presentatie:

, 17h30Recursie 1 Inleiding tot recursie Karel Popelier

, 17h30 Recursie 2 Wat is recursie? De body (= het deel tussen ‘to functienaam’ en ‘end’) van een procedure bevat een opeenvolging van 2 soorten opdrachten : – Primitieve commando’s uit de taal (fd, bk, lt, rt...) – Zelf geschreven commando’s (procedures) Een recursieve procedure zal een oproep naar zichzelf in zijn ‘body’ hebben. Recursie in het echte leven : het ‘tv-in-tv effect’

, 17h30 Recursie 3 Een voorbeeld van recursie Wat doet deze procedure ? – to functie :GETAL pr :GETAL functie :GETAL + 1 end Let op : recursieve procedures kunnen leiden tot oneindige lussen. We kunnen oneindige lussen vermijden door een stopconditie ahv een if-statement.

, 17h30 Recursie 4 Een voorbeeld van recursie (2) – to telaf1 :GETAL if :GETAL < 1 [STOP] pr :GETAL telaf1 :GETAL – 1 end – to telaf2 :GETAL if :GETAL < 1 [STOP] telaf2 :GETAL – 1 pr :GETAL end Wat is het verschil in resultaat tussen deze 2 functies? De 2 functies hebben een verschillend resultaat! Verklaring: Wanneer de procedure zichzelf aanroept, bestaat er tegelijkertijd meer dan 1 uitvoering van die procedure.

, 17h30 Recursie 5 Hoe werkt recursie? (telaf1 2) to telaf1 2 if : 2 < 1 [STOP] pr 2 telaf1 1 to telaf1 1 if : 1 < 1 [STOP] pr 1 telaf1 0 end to telaf1 0 if 0 < 1 [STOP] end end Hier hebben we 3 simultane uitvoeringen. Resultaat : 2 1

, 17h30 Recursie 6 Hoe werkt recursie? (telaf2 2) to telaf2 2 if : 2 < 1 [STOP] telaf2 1 to telaf2 1 if : 1 < 1 [STOP] telaf1 0 pr 2 end to telaf2 0 if 0 < 1 [STOP] end pr 1 end Resultaat : 1 2

, 17h30 Recursie 7 Conclusies De plaats waar de recursieve aanroep staat, is belangrijk en kan een invloed hebben op het resultaat. In het geval dat de recursieve aanroep als laatste instructie in de ‘body’ staat, kan in simpele gevallen het effect van de recursieve procedure ook met een lus (repeat, for) bekomen worden. Hoe zou je telaf als lus schrijven?

, 17h30 Recursie 8 Conclusie (2) Het gebruik van recursie kan leiden tot korte, elegante procedures, maar het ontwerpen/ testen van recursieve procedures is niet altijd even evident en/of makkelijk. Recursie kan gebruikt worden voor ingenieuze en gecompliceerde tekeningen te bekomen in de schildpadwereld(fractalen), maar zal ook in andere werelden toepassing vinden (bv. manipuleren van lijsten in de taalwereld)

, 17h30 Recursie 9 Voorbeelden van fractalen Sneeuwvlokje en boom