ДАЮ 90 БАЛЛОВ СРОЧНООО ПОЖАЛУЙСТА
Напишите программы в среде графического исполнителя Робот для решения следующих задач:
закрасить рабочее поле горизонтальными пунктирными линиями (30 баллов);
закрасить квадраты во всех углах рабочего поля (35 баллов);
закрасить рабочее поле в клетку (35 баллов).
На проверку по каждому пункту задания нужно прислать скриншоты окна графического исполнителя с кодом, результатом работы и временем выполнения работы.
Answers & Comments
Для робота в системе Кумир такие программы например подойдут: (размеры поля- любые (от 1x1), размеры узоров настраиваются- задавайте любое смещение между линиями пунктирными и линиями клеток (начиная от 1, т.е. без зазоров), любой размер пунктира- задаётся длина самого штриха пунктира и его длина вместе с пробелом)
1) Закраска всего поля горизонтальными пунктирными линиями:
использовать Робот
цел г,в
алг |рисуем пунктирные линии (начальное положение - левый верхний угол)
нач
в:=0
нц
г:=0
нц пока mod(в,3)=0 |смещение до следующей линии
если mod(г,3)<2 то закрасить всё |длина цикла / длина пунктира
если справа свободно то вправо иначе выход всё
г:=г+1
кц
если снизу свободно то вниз иначе выход всё
нц пока слева свободно
влево
кц
в:=в+1
кц
кон
2) Закраска только углов поля:
использовать Робот
алг |закраска всех углов (начальное положение - левый верхний угол)
нач
закрасить
нц пока справа свободно
вправо
кц
закрасить
нц пока снизу свободно
вниз
кц
закрасить
нц пока слева свободно
влево
кц
закрасить
кон
3) Закраска всего поля узором в клетку:
использовать Робот
цел г,в
алг |рисуем клетки (начальное положение - левый верхний угол)
нач
в:=0
нц
г:=0
нц |смещение до следующей линии (по горизонтали и вертикали)
если mod(г,3)=0 или mod(в,3)=0 то закрасить всё
если справа свободно то вправо иначе выход всё
г:=г+1
кц
если снизу свободно то вниз иначе выход всё
нц пока слева свободно
влево
кц
в:=в+1
кц
кон
Начальное положение везде- левый верхний угол. Если нужно другое- то либо в программе меняйте все команды верх-низ местами (или даже лев-прав если надо), либо в начале программы можно добавить циклы приведения робота откуда угодно в верхний левый угол.
Что то типа:
нц пока слева свободно; влево кц
нц пока сверху свободно; вверх кц
алг
нач
нц
нц пока справа свободно; вправо; закрасить кц
нц пока слева свободно; влево кц
если снизу свободно то вниз иначе выход всё
если снизу свободно то вниз иначе выход всё
кц
нц пока сверху свободно; вверх кц
закрасить
нц
нц пока снизу свободно; вниз; закрасить кц
нц пока сверху свободно; вверх кц
если справа свободно то вправо иначе выход всё
если справа свободно то вправо иначе выход всё
кц
кон
1) цел г,в -это объявление целых переменных с именами г (для счёта клеток по горизонтали) и в (для вертикали). Тут всё правильно, можете разве что пробел после запятой добавить для красоты: цел г, в
решение- уберите всё между "алг" и "нач" (начало программы), вот так получится, они стоят на разных строках:
алг
нач
3) имя не объявлено -это потому, что строка "цел г, в" стоит где то не там, где должна (может быть, вы не стёрли полностью заготовку программы, которая есть в Кумире при старте)