1. Вам нужно написать процедуру с параметрами, которая рисует равносторонние треугольники. Какие параметры у неё будут?
Процедура должна принимать два параметра: длину стороны треугольника и цвет заливки. Треугольник(целые a, целые c) { опусти_перо; закрась(c); повтори(3) { вперед(a); вправо(120); } подними_перо; }
2. Вам нужно написать процедуру с параметрами, которая рисует прямоугольники любого размера. Нужно также изменять цвет заливки. Какие параметры будут у этой процедуры?
Необходимо передавать три параметра: ширину, высоту и цвет заливки. Прямоугольник(целые ширина, целые высота, целые c) { опусти_перо; закрась(c); вперед(ширина); вправо(90); вперед(высота); вправо(90); вперед(ширина); вправо(90); вперед(высота); вправо(90); подними_перо; }
3. Предложите, как можно сделать так, чтобы в основной программе из параграфа не было команд вперед. Какие изменения нужно для этого сделать в процедуре?
Чтобы программа не содержала команд вперед, можно включить перемещение Черепахи в процедуру. После рисования фигуры Черепаха должна автоматически перемещаться на нужное место. Для квадрата это можно сделать так: Квадрат(целые a, целые c) { опусти_перо; закрась(c); повтори(4) { вперед(a); вправо(90); } подними_перо; вперед(a); // Перемещение на место для следующего квадрата } Теперь основная программа просто вызывает несколько раз Квадрат() без явных команд вперед.
4. Напишите программы, выполнив которые Черепаха нарисует следующие рисунки, используя единственную процедуру:
а)
Программа { покажись; Прямоугольник(50, 50, зелёный); вперед(40); Прямоугольник(40, 50, красный); вперед(30); Прямоугольник(30, 50, синий); вперед(20); Прямоугольник(20, 50, жёлтый); }
б)
Программа { покажись; Прямоугольник(50, 50, зелёный); назад(50); Прямоугольник(50, 50, красный); вперед(100); Прямоугольник(50, 50, красный); вперед(50); Прямоугольник(20, 20, жёлтый); назад(200); Прямоугольник(20, 20, жёлтый); }
в)
Программа { покажись; повтори(4) { Квадрат(40, зелёный); вперед(40); вправо(45); Квадрат(30, красный); вперед(30); вправо(45); } Квадрат(20, жёлтый); }
г)
Программа { покажись; Прямоугольник(100, 100, зелёный); Прямоугольник(80, 80, красный); Прямоугольник(60, 60, жёлтый); }
д)
Программа { покажись; Квадрат(100, зелёный); Квадрат(80, красный); Квадрат(60, жёлтый); }