Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

// Informatik - Serie 11 - Skript-Aufgabe 125 // Program: HammerLisa.cpp // Autor: Lisa Hammer // Draws a turtle graphic of three functions f, g and h #include #include void g (unsigned int i) { if (i == 0) ifm::left(360); else { ifm::left(18); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::save(); ifm::left(18); g(i-1); ifm::restore(); ifm::right(144); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::save(); ifm::left(18); g(i-1); ifm::restore(); ifm::right(144); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::save(); ifm::left(18); g(i-1); ifm::restore(); ifm::right(144); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::save(); ifm::left(18); g(i-1); ifm::restore(); ifm::right(144); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::forward(); ifm::save(); ifm::left(18); g(i-1); ifm::restore(); ifm::right(144); } } void f (unsigned int i) { if (i == 0) ifm::forward(); else { ifm::forward(); ifm::forward(); ifm::save(); ifm::right(20); f(i-1); f(i-1); f(i-1); ifm::right(20); f(i-1); f(i-1); f(i-1); ifm::restore(); ifm::save(); ifm::left(20); f(i-1); f(i-1); f(i-1); ifm::left(20); f(i-1); f(i-1); f(i-1); ifm::restore(); ifm::forward(); } } void h (unsigned int i) {if (i==0) ifm::left(360); else { ifm::forward(i/2); ifm::left(162); ifm::forward(i); ifm::left(144); ifm::forward(i); ifm::left(144); ifm::forward(i); ifm::left(144); ifm::forward(i); ifm::left(144); ifm::forward(i); ifm::left(162); ifm::forward(i/2); ifm::left(180); h(i-1); } } int main () { unsigned int n=4; ifm::left(18); g(n); ifm::left(54); ifm::jump(-75); ifm::right(90); ifm::jump(2); ifm::left(90); f(n); ifm::jump(-15); ifm::forward(75); ifm::jump(13); n=10; h(n); return 0; }