LES 2 • Lesgever: Henk Norman De molen • A) Teken een molen • B) Laat de wieken draaien 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 MAKE “hoek :hoek +10 ] end . :lengtew :breedtew :hoek De molen • wijzig procedure DRAAIENDEMOLEN: to draaiendemolen :hoogte :breedte :arm :lengteW :breedteW :hoek :tijd MAKE “hoek 0 REPEAT :tijd [ CS molen :hoogte :breedte :arm MAKE “hoek :hoek +10 WAIT 6 ] end :lengtew :breedtew :hoek