Ответ:
Для построения ромба удобно использовать вспомогательный алгоритм. Пусть длина каждой стороны равна n клеткам, а углы наклона сторон составляют 45°.
алг ромб (цел n)
нач
нц для i от 1 до n
вперёд
вправо
кц
нц для i от 1 до n
вперёд
вправо
кц
нц для i от 1 до n
вперёд
вправо
кц
нц для i от 1 до n
вперёд
вправо
кц
кон
а) Для вложенных ромбов после каждого ромба поднять перо, перейти к его центру, опустить перо и нарисовать ромб меньшего размера:
алг а
нач
ромб(8)
поднять перо
перейти в точку (2, 2)
опустить перо
ромб(6)
поднять перо
перейти в точку (4, 4)
опустить перо
ромб(4)
кон
б) Для перекрывающихся ромбов каждый раз возвращаться к исходной области, смещаться по горизонтали и снова вызывать вспомогательный алгоритм:
алг б
нач
ромб(8)
поднять перо
перейти в точку (6, 0)
опустить перо
ромб(6)
поднять перо
перейти в точку (10, 0)
опустить перо
ромб(4)
кон
Ответ: обе фигуры строятся повторными вызовами вспомогательного алгоритма ромб; для а) изменяется размер и положение центра, для б) изменяется положение ромбов с частичным перекрытием.
