Recursie: De torens van Hanoi

Slides:



Advertisements
Verwante presentaties
Goethals Frederik Vakdidactiek 17 – Goethals Frederik
Advertisements

Hoofdstuk 8: Recursie.
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.
Logo Stapsgewijze verfijning: tekenen van een huis. Uitbreiding naar meerdere huizen, variabele afmetingen, coördinaten en kleuren Opdracht voor het vak.
Vakdidactiek Informatica bij vragen: het gebruikte materiaal: Tijl De Backer.
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.
, 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é
24/11/2003LOGO - recursie - vliegers1 Recursie: Vliegers in vliegers Dieter Beheydt 24/11/2003.
Algoritme Inhoud: Definitie algoritme Recursieve algoritmes Opgaven
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
Trillingen en Cirkelbewegingen
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Materialen en moleculen
Hoe deel je gesteenten in? Codering; Streckeisen
Havo 5: Stoffen en Materialen
Handboek Commercieel Budgetteren: toegepast J. Vanhaverbeke & L
Veevoeding Blok 3 en 4: Ruwvoerbalans melkveehouderij
Dynamica van luchtstromen
Natuurkunde Overal Hoofdstuk 1: Beweging in beeld.
Gaat u dan snel naar Goedkoop of in kleine oplagen kleding (laten) bedrukken, met een embleem, logo en/of tekst van uzelf, of.
Bomen en struiken IVN Helden.
STUUR DIT AAN EEN SLIMME VROUW... EN AAN ALLE MANNEN... DIE ER TEGEN KUNNEN !!! Na 5000 jaar moppen over vrouwen... uiteindelijk moppen over mannen.
Roundtable De Gefragmenteerde Organisatie
Welkom.
Mictieklachten bij mannen
Hoofdstuk 6 Warmte.
TAALSITUATIE & - ONTWIKKELING IN VLAANDEREN
DE WINST VAN ZORGVRIENDELIJK WERKGEVERSCHAP
Informatiebijeenkomst project Snippergroen
Het Evangelie naar JOHANNES studie januari 2017 Bodegraven.
Automatische presentatie met muziek
Dienst ter nagedachtenis aan Bertine Goudswaard - Toebes
Interactieve tijdreeksmodelontwikkeling
Kun je vertellen wat de samenhang is tussen massa (m), Volume (V) en
HERSIENING KLANK.
1. vergelijkingen 1.1 Rekenen met letters.
Voorkennis Wiskunde Les 8 Hoofdstuk 3: §3.3, 3.4 en 3.5.
Spelend met klank leer je spelend wiskunde
Hoofdstuk 5: Natuurkunde Overal (havo 4) 13 mei 2018
Pesten en wetgeving.
over hoe literatuuronderwijs inzicht in ‘de mens’ kan bieden
Sportmanifest “Een leven lang bewegen in Noord-Holland”
Genade v e r Genade n d t John Jacobs 31 maart 2019.
WerkPlekLeren Organiseren
LEER BRIDGE MET BERRY WESTRA DEEL 4
Pinus (Gymnosperm = naaktzadige): Levenscyclus en anatomie
Nieuwe decreten erkenningen en milieuhandhaving
Update [STICHTING + PROJECTNAAM]
Jongeren & Alcohol ..
§ 11.1 Casus: protestgeneratie
Zwitserleven PensioenAvond 2017
Molariteit Molariteit concentratie van stof X [X] = Eenheid molair M
Zoekmachine marketing Door: Kim helmich & Lyan Huisman
Levenstestamenthousiasme
Louis van Gaal, Leo Beenhakker en Frank Rijkaard staan voor de troon van God. God kijkt ze aan en zegt: "Voordat jullie de hemel in mogen of een plaats.
Etnisch-culturele diversiteit in het Vlaamse middenveld: Een blijvende worsteling Fatima Laoukili & Pieter Cools (Uantwerpen)
Persoonlijk leiderschap Veiligheid Je eigen ruimte gebruiken
Vergelijking van een lijn opstellen. Snijpunten van rechte lijnen.
Transcript van de presentatie:

Recursie: De torens van Hanoi Lesgever: Tineke Broekaert

Herhaling Recursie? algoritme roept zichzelf op opgeroepen probleem kleiner dan origineel 2 delen: basisgeval en recursief gedeelte oplossing: Eerst basisgeval behandelen! voorbeeld: n! = n(n-1)!

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi Voorwaarden: 1 schijf verplaatsen per beurt geen grote staaf op kleinere plaatsen hulp bron doel 2 1 3

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

BASISGEVAL: 1 schijf verplaatst De torens van Hanoi BASISGEVAL: 1 schijf verplaatst hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

toren van 2 schijven verplaatst De torens van Hanoi toren van 2 schijven verplaatst hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

Toren van drie schijven verplaatst De torens van Hanoi Toren van drie schijven verplaatst hulp bron doel 3 1 2

De torens van Hanoi hulp bron doel 3 1 2

Toren van 4 schijven verplaatst De torens van Hanoi Toren van 4 schijven verplaatst hulp bron doel 3 1 2

De torens van Hanoi Probleem opsplitsen in deelproblemen Algoritme: Als N = 1 enige schijf verplaatst Als N > 1 basisgeval!! recursie!! - Verplaats bovenste n-1 schijven van bron- naar hulpstaaf - Verplaats onderste schijf van begin- naar doelstaaf - Verplaats n-1 schijven van hulp- naar doelstaaf

Implementatie in Logo Deelproblemen? beginsituatie: staven en schijven op het scherm tekenen verplaatsen van schijven: basisgeval schijf afhalen van staaf schijf toevoegen aan staaf Recursieve oproep HANOI verplaatsSchijven beginsituatie

to staaf : staaf : aantalSchijven Implementatie in Logo WAAROM 1. Beginsituatie to staaf : staaf : aantalSchijven setpc [255 0 0] setfc [255 0 0] positie 300*(:staaf-2) 0 repeat 2 [fd 20+:aantalschijven*20 rt 90 fd 30 rt 90] rt 10 fd 5 fill lt 10 test : staaf 1 5 staaf 2 5 staaf 3 5

voegToeSchijf : staaf :schijf Implementatie in Logo WAAROM voegToeSchijf : staaf :schijf setpc [0 0 255] setfc [0 0 255] positie 300*(:staaf-2)-(10*:schijf) (item :staaf :staven)*20 repeat 2 [fd 15 rt 90 fd 30+20*:schijf rt 90] rt 10 fd 5 fill positie 300*(:staaf-2)+5 (item :staaf :staven)*20+5 positie 300*(:staaf-2)+35 (item :staaf :staven)*20+5 lt 10 setItem :staaf :staven (item :staaf :staven)+1

Implementatie in Logo Array: 1 variabele, bevat verschillende items make “arrayNaam {3 4 2} index (item 1 arrayNaam ) setItem 2 arrayNaam 10 3 {3 10 2}

Implementatie in Logo test: make “staven{0 0 0} KORTER? staaf 1 5 voegToeSchijf 2 5 voegToeSchijf 2 4 voegToeSchijf 2 3 voegToeSchijf 2 2 voegToeSchijf 2 1 KORTER? make “aantalSchijven 5 repeat :aantalschijven [voegtoeSchijf 2 :aantalschijven make "aantalschijven :aantalschijven-1]

to beginSituatie :aantalschijven Implementatie in Logo to beginSituatie :aantalschijven cs ht make "staven {0 0 0} staaf 1 :aantalschijven staaf 2 :aantalschijven staaf 3 :aantalschijven repeat :aantalschijven [voegtoeSchijf 2 :aantalschijven make "aantalschijven :aantalschijven-1] beginsituatie HANOI verplaatsSchijven

Implementatie in Logo 2. Verplaatsen van schijven Basisgeval: verplaats 1 schijf to verplaatsSchijf :bronstaaf :doelstaaf :schijf verwijderSchijf : bronstaaf voegToeSchijf :doelstaaf :schijf Procedure verwijderSchijf

Implementatie in Logo to verwijderSchijf :staaf test: verwijderSchijf 2 setItem :staaf :staven (item :staaf :staven)-1 ; schijf wissen setfc [255 255 255] positie 300*(:staaf-2) (item :staaf :staven)*20+5 fill ; paal terugkleuren positie 300*(:staaf-2) (item :staaf :staven)*20 setpc [255 0 0] setfc [255 0 0] repeat 2 [fd 15 rt 90 fd 30 rt 90] rt 10 fd 5 lt 10

Implementatie in Logo procedure verplaatsSchijven To verplaatsSchijven :aantalschijven :bronstaaf :doelstaaf :hulpstaaf ifelse :aantalschijven = 1 [ verplaatsSchijf :bron :doel :aantalschijven ] [ verplaatsSchijven :aantalschijven-1 :bron :hulp :doel verplaatsSchijf :bron :doel :aantalschijven verplaatsSchijven :aantalschijven-1 :hulp :doel :bron]

to hanoi :aantalschijven Implementatie in Logo 3. Oplossing to hanoi :aantalschijven beginSituatie :aantalSchijven verplaatsSchijven :aantalSchijven 2 3 1