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

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

// Informatik - Serie 9 - Assignment 3 // Program: lindenmayer_simpson.cpp // Autor: Gianluca Vagli (Gruppe R) #include void f(unsigned int q) { if( q == 0) { ifm::forward(1); ifm::left(90); ifm::forward(220); for ( unsigned int j = 0; j < 5; ++j) { ifm::left(72); ifm::forward(70); } ifm::left(18); ifm::forward(500); ifm::right(148); for (unsigned int i = 0; i < 6; ++i) { ifm::forward(100); ifm::left(130 - 3*i); ifm::forward(100); ifm::right(130); } ifm::right(353); ifm::forward(250); ifm::left(30); ifm::forward(50); ifm::right(120); ifm::forward(20); ifm::left(150); ifm::left(130); for (unsigned int k = 1; k <= 1; ++k) { ifm::left(18); ifm::forward(30); } ifm::left(200); for (unsigned int k = 1; k <= 5; ++k) { ifm::right(18); ifm::forward(30); } ifm::right(240); for (unsigned int k = 1; k <= 9; ++k) { ifm::right(18); ifm::forward(10); } ifm::right(3); ifm::forward(60); ifm::right(180); ifm::forward(70); ifm::left(3); for (unsigned int k = 1; k <= 9; ++k) { ifm::left(18); ifm::forward(10); } ifm::left(15); ifm::forward(150); ifm::left(180); for (unsigned int k = 1; k <= 6; ++k) { ifm::left(18); ifm::forward(30); } ifm::left(199); for (unsigned int k = 1; k <= 13; ++k) { ifm::right(18); ifm::forward(30); } ifm::right(180); ifm::forward(30); ifm::left(106); ifm::forward(100); ifm::right(90); for (unsigned int k = 1; k <= 9; ++k) { ifm::right(18); ifm::forward(8); } ifm::right(108); ifm::forward(195); ifm::right(90); for (unsigned int k = 1; k <= 9; ++k) { ifm::right(18); ifm::forward(8); } ifm::right(108); ifm::forward(110); ifm::right(180); ifm::forward(30); ifm::left(90); ifm::jump(162); ifm::forward(120); ifm::right(90); ifm::forward(180); for (unsigned int k = 1; k <= 4; ++k) { ifm::right(9); ifm::forward(40); } ifm::left(120); for (unsigned int k = 1; k <= 4; ++k) { ifm::right(18); ifm::forward(8); } ifm::left(162); for (unsigned int k = 1; k <= 6; ++k) { ifm::left(18); ifm::forward(8); } ifm::right(162); for (unsigned int k = 1; k <= 2; ++k) { ifm::right(18); ifm::forward(8); } ifm::right(309); for (unsigned int k = 1; k <= 4; ++k) { ifm::left(9); ifm::forward(40); } ifm::forward(20); ifm::right(90); for (unsigned int k = 1; k <= 4; ++k) { ifm::right(18); ifm::forward(20); } ifm::right(9); ifm::forward(50); ifm::left(76); ifm::forward(120); } else { ifm::forward(600); f(q - 1); ifm::left(90); ifm::forward(600); f(q - 1); ifm::right(90); ifm::forward(600); f(q - 1); ifm::left(90); ifm::forward(600); } } int main() { f(4); return 0; }