LES 2 Lesgever: Henk Norman
De molen B) Laat de wieken draaien A) Teken een molen
De molen Probleem (molen) opsplitsen in deelproblemen ! Molen bestaat uit: –Rechthoek –Driehoek –4 wieken Wiek bestaat uit: –Lijnstuk –Rechthoek
De molen procedure RECHTHOEK –edit “rechthoek –Editor: to rechthoek ??? end –Parameters?
De molen procedure RECHTHOEK to rechthoek :hoogte :breedte repeat 2 [ FD :hoogte RT 90 FD :breedte RT 90 ] end
De molen procedure DRIEHOEK to driehoek :zijde LT 90 repeat 3 [ FD :zijde RT 120 ] RT 90 end
De molen procedure 4WIEKEN –Terug onderverdelen! to 4wieken :arm :lengteW :breedteW repeat 4 [ 1wiek :arm :lengteW :breedteW RT 90 ] end –4 maal de procedure WIEK herhalen.
De molen procedure 1WIEK to wiek :arm :lengteW :breedteW FD :arm rechthoek :lengteW :breedteW BK :arm end
De molen Samenvoegen tot procedure MOLEN: to molen :hoogte :breedte :arm :lengteW :breedteW rechthoek :lengte :breedte driehoek :breedte 4wieken :arm :lengteW :breedteW end Klopt dit? Oplossing: schildpad verzetten!
De molen Samenvoegen tot procedure MOLEN: to molen :hoogte :breedte :arm :lengteW :breedteW rechthoek :lengte :breedte... driehoek :breedte... 4wieken :arm :lengteW :breedteW end
De molen Samenvoegen tot procedure MOLEN: to molen :hoogte :breedte :arm :lengteW :breedteW rechthoek :hoogte :breedte FD :hoogte driehoek :breedte RT 90 FD :breedte/2 4wieken :arm :lengteW :breedteW end
De molen Experimenteer met waarden!
De molen B) Laat de wieken draaien
De molen procedure MOLEN wijzigen: to molen :hoogte :breedte :arm :lengteW :breedteW :hoek rechthoek :hoogte :breedte FD :hoogte driehoek :breedte RT 90 FD :breedte/2 RT :hoek 4wieken :breedte :lengteW :breedteW end
De molen nieuwe procedure DRAAIENDEMOLEN: to draaiendemolen :hoogte :breedte :arm :lengteW :breedteW :hoek MAKE “hoek 0 REPEAT 50 [ CS molen :hoogte :breedte :arm :lengtew :breedtew :hoek MAKE “hoek :hoek +10 ] end.
De molen wijzig procedure DRAAIENDEMOLEN: to draaiendemolen :hoogte :breedte :arm :lengteW :breedteW :hoek :tijd MAKE “hoek 0 REPEAT :tijd [ CS molen :hoogte :breedte :arm :lengtew :breedtew :hoek MAKE “hoek :hoek +10 WAIT 6 ] end