2. Составьте программу, чтобы Робот закрашивал квадрат, начиная с его нижнего левого угла. 3. Робот находится в левом нижнем углу поля. Составьте программу рисования буквы «Н».
2) Закраска квадрата (в начале программы задаётся размер квадрата- от нулевого, т.е. ничего не закрашивает, и до любого, помещающегося в окне):
Простая программа (но робот совершает много лишних движений и выходит за пределы квадрата, то есть свободное поле должно быть по обеим сторонам больше больше квадрата на одну клетку):
использовать Робот
алг
нач
цел р=4
нц р раз
нц р раз закрасить; вправо кц
нц р раз влево кц
вверх
кц
кон
Программа сложнее (зато робот не совершает лишних движений и не выходит за пределы квадрата):
использовать Робот
алг
нач
цел н,р=4
нц для н от 0 до р*р-1
закрасить
если mod(н,р)<р-1
то если mod(div(н,р),2)=0 то вправо иначе влево всё
Answers & Comments
Если нужно делать в Кумире, то вот программы:
2) Закраска квадрата (в начале программы задаётся размер квадрата- от нулевого, т.е. ничего не закрашивает, и до любого, помещающегося в окне):
Простая программа (но робот совершает много лишних движений и выходит за пределы квадрата, то есть свободное поле должно быть по обеим сторонам больше больше квадрата на одну клетку):
использовать Робот
алг
нач
цел р=4
нц р раз
нц р раз закрасить; вправо кц
нц р раз влево кц
вверх
кц
кон
Программа сложнее (зато робот не совершает лишних движений и не выходит за пределы квадрата):
использовать Робот
алг
нач
цел н,р=4
нц для н от 0 до р*р-1
закрасить
если mod(н,р)<р-1
то если mod(div(н,р),2)=0 то вправо иначе влево всё
иначе если div(н,р)<р-1 то вверх всё
всё
кц
кон
Или вот ещё вариант программы (тоже посложнее):
использовать Робот
алг
нач
цел г,в,р=4
нц для в от 1 до р
нц для г от 1 до р
закрасить
если mod(в,2)=1 и г<р то вправо всё
если mod(в,2)=0 и г>1 то влево всё
кц
закрасить
если в<р то вверх всё
кц
кон
3) Рисуем букву Н:
использовать Робот
алг
нач
нц 5 раз
закрасить
вверх
кц
нц 3 раз
вниз
кц
нц 3 раз
вправо
закрасить
кц
вниз
вниз
нц 5 раз
закрасить
вверх
кц
кон