Newest Viewed Downloaded

De torens van Hanoi Stijn Vandamme Stijn.Vandamme@rug.ac.be http://studwww.rug.ac.be/~spvdamme/ailo/

De torens van Hanoi Stijn Vandamme Stijn.Vandamme@rug.ac.be http://studwww.rug.ac.be/~spvdamme/ailo/

Herhaling

Stijn Vandamme Stijn.Vandamme@rug.ac.be http://studwww.rug.ac.be/~spvdamme/ailo/

Recursie en if (herhaling)

to cirkeltjes :straal if (:straal > 0) [ ; Teken de buitenste cirkel circle :straal ; Teken de rest via recursie cirkeltjes (:straal – 10) ] end to cirkeltjes :straal if (:straal < 0) [ stop ] ; Teken de buitenste cirkel circle :straal ; Teken de rest via recursie cirkeltjes (:straal – 10) end Teken concentrische cirkeltjes van een (op)gegeven straal en kleiner.

Commando’s (herhaling)

setxy :x :y xcor ycor seth :hoek fd :lengte = forward bk :lengte = back lt :hoek = left rt :hoek = right setfc :kleur = setfloodcolor setpc :kleur = setpencolor bitblock :breedte :hoogte circle :straal fill for [i :begin :eind] [ ] for [i :begin :eind :stap] [ ] if (voorwaarde) [ ] repeat :aantalkeer [ ] stop wait (:tijd) item :nummer :lijst print :tekst ct = cleartext st = showturtle ht = hideturtle pu = penup pd = pendown

Speciale tekens

De puntkomma ; Alles na een puntkomma tot einde lijn is commentaar en wordt niet uitgevoerd = Om uitleg te geven De tilde ~ Het commando wordt verdergezet op de volgende lijn = Om niet horizontaal te moeten scrollen

De Torens van Hanoi

Mythe: Toren van Brahma (64 blokken) Als spel op de markt gebracht in 1863 door prof. Claus (College van Li-Sou-Stian) pseudoniem van Edouard Lucas (College van Saint-Louis)

Tekenen

De lijnen (grondvlak en staven) Een rechthoek :toren :laag :dikte Verwijderen van een rechthoek De rechthoek overtekenen in het wit De lijn (staaf) hertekenen :toren :laag

Lijnen

631 pixels Breedte van de lijnen: 5 pixels 290 pixels 208 pixels (–315, 0) (–210, 0) 203 pixels (0, 0)

Lijnen

to lijnen ; Tekent de lijnen ; (zowel het grondvlak als de staven) ; voor de beginsituatie. setfc :lijn setxy -315 0 bitblock 631 5 for [i -210 206 208] [ setxy :i 0 bitblock 5 290 ] end

Lijnen

to lijnen ; Tekent de lijnen ; (zowel het grondvlak als de staven) ; voor de beginsituatie. setpensize [5 5] setpc :lijn setxy -313 2 seth 90 pd fd 626 pu for [i -208 208 208] [ setxy :i 2 seth 0 pd fd 285 pu ] end

setpensize

setpensize [5 5] setpensize [:dikte :brol] In MSWLogo wordt pendikte = 1ste argument, 2de argument is nutteloos. In andere Logo-programma’s Horizontale pendikte = 1ste argument Verticale pendikte = 2de argument

Rechthoek

(5 + 20 × :dikte) pixels 25 pixels (x, –20 + 28 × :laag) x = –208 als :toren = 1 x = 0 als :toren = 2 x = 208 als :toren = 3 Eventueel met een rand Eventueel kleur in functie van :dikte

Rechthoek

(5 + 20 × :dikte) pixels 25 pixels (x, –20 + 28 × :laag) x = –210 – 10 × :dikte als :toren = 1 x = –2 – 10 × :dikte als :toren = 2 x = 206 – 10 × :dikte als :toren = 3 x = –418 + 208 × :toren – 10 × :dikte

Rechthoek

to rechthoek :toren :laag :dikte ; Tekent een rechthoek. setfc (:kleur) setxy (-418 + 208 * :toren ~ - 10 * :dikte) ~ (-20 + 28 * :laag) bitblock (5 + 20 * :dikte) 25 randen :toren :laag :dikte end to randen :toren :laag :dikte ... end

Verwijderen

maximaal 205 pixels 25 pixels (x, –20 + 28 × :laag) x = –208 als :toren = 1 x = 0 als :toren = 2 x = 208 als :toren = 3 5 pixels breed

Verwijderen

to verwijderen :toren :laag ; Verwijdert een rechthoek ; (en hertekent de lijn). setfc [255 255 255] setxy (-518 + 208 * :toren) (-20 + 28 * :laag) bitblock 205 25 ; Lijn hertekenen. setfc :lijn setxy (-418 + 208 * :toren) (-20 + 28 * :laag) bitblock 5 25 end

Twee soorten functies

Procedures (of subroutines) Voeren alleen instructies uit Kunnen beëindigd worden door stop Functies met uitvoer (output) Voeren (eventueel) instructies uit Geven een antwoord aan oproepende functie door output (beëindigt functie)

Functies met uitvoer

to gemiddelde :x :y ; Geeft als output ; het gemiddelde van de 2 argumenten output (:x + :y) / 2 end to oproependefunctie make "gem gemiddelde 40 60 fd gemiddelde 10 :gem end

Functies met uitvoer

to kleur :dikte ; Geeft als output het kleur ; dat hoort bij een blok ; van dikte (:dikte). make "kleuren [[255 0 0] [255 0 102] ~ [255 0 204] [204 0 255] ~ [102 0 255] [0 0 255] ~ [102 0 255] [204 0 255] ~ [255 0 204] [255 0 102]] output (item :dikte :kleuren) end

Set en get

make "toren1 0 make "toren2 0 make "toren3 0 setaantal :toren :aantal Verandert 1 van de variabelen getaantal :toren Geeft als output de waarde van 1 van de variabelen

Showing 1 - 20 of 33 items Details

Name: 
Les5StijnVandammeHanoi
Author: 
Stijn “Adhemar” Vandamme
Company: 
N/A
Description: 
De torens van Hanoi Stijn Vandamme Stijn.Vandamme@rug.ac.be http://studwww.rug.ac.be/~spvdamme/ailo/
Tags: 
toren | van | dikte | aantal | naar | als | end | make
Created: 
11/27/2002 9:45:31 PM
Slides: 
33
Views: 
0
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap