7Б "Робот". Задание №11: Алгоритмы с аргументами

Что умеет робот?

Вспомогательным алгоритмам можно передавать дополнительные аргументы. Пример программы, содержащей основной алгоритм и вспомогательный алгоритм "Закрасить полоску":


использовать Робот

алг Главная программа
нач
  Нарисовать полоску (5)
кон

алг Нарисовать полоску (арг цел длина)
нач
  нц длина раз
    закрасить
    вправо
  кц
кон


Также робот может выполнять арифметические операции над целыми величинами: +, -, *.


Исходные данные для всех задач: робот находится на бесконечном поле без внешних стенок (то есть использовать внешние стенки для решения задачи нельзя. В результате исполнения вспомогательного алгоритма робот должен вернуться в исходную клетку.


Во всех задачах этого листка нельзя использовать цикл нц пока.

Задание 11-А

Напишите алг Нарисовать полоску вправо (арг цел длина), рисующий горизонтальную полоску из длина клеток и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/A.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.

Задание 11-B

Напишите алг Нарисовать разреженную полоску вправо (арг цел длина), рисующий горизонтальную полоску из длина закрашенных клеток, разделенных незакрашенными клетками и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/B.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.

Задание 11-C

Напишите алг Нарисовать полоску вправо вниз (арг цел длина), рисующий полоску из длина клеток по диагонали вправо вниз и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/C.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.

Задание 11-D

Напишите алг Нарисовать пилу (арг цел длина), рисующий "пилу" из 2*длина закрашенных клеток и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/D.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.

Задание 11-E

Напишите алг Нарисовать ряд квадратов (арг цел количество), рисующий количество закрашенных квадратов размером 2x2 и возвращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/E.fil отмечены клетки, которые должен закрасить алгоритм для случая количество=5.

Задание 11-F

Напишите алг Нарисовать границу квадрата (арг цел длина), рисующий внешнюю границу квадрата со стороной длина клеток и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/F.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.

Задание 11-G

Напишите алг Нарисовать квадрат (арг цел длина), рисующий закрашенный квадрат со стороной длина клеток и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/G.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.

Задание 11-H

Напишите алг Нарисовать границу прямоугольника (арг цел высота, арг цел длина), рисующий внешнюю границу прямоугольника размером высота×длина клеток и возвращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/H.fil отмечены клетки, которые должен закрасить алгоритм для случая высота=5, длина=7.

Задание 11-I

Напишите алг Нарисовать прямоугольник (арг цел высота, цел длина), рисующий закрашенный прямоугольник размерами высота×длина клеток и возвращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/I.fil отмечены клетки, которые должен закрасить алгоритм для случая высота=5, длина=7.

Задание 11-J

Напишите алг Нарисовать лесенку (арг цел количество ступенек, цел длина ступеньки), рисующий количество ступенек строчек, каждая строчка состоит из длина ступеньки клеток и сдвинута на одну клетку вправо относительно верхнего ряда и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/J.fil отмечены клетки, которые должен закрасить алгоритм для случая количество ступенек=4, длина ступеньки=5.

Задание 11-K

Напишите алг Нарисовать квадрат из квадратиков (арг цел количество), рисующий количество×количество закрашенных квадратиков 2x2, разделенных одним рядом и возвращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/K.fil отмечены клетки, которые должен закрасить алгоритм для случая количество=3.

Задание 11-L

Напишите алг Нарисовать лесенку (арг цел количество ступенек, цел длина ступеньки) и возращающий робота в исходную клетку. Первая закрашенная клетка в каждой новой ступеньке должна находиться под последней закрашенной клеткой в более высокой ступеньке. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/L.fil отмечены клетки, которые должен закрасить алгоритм для случая количество ступенек = 5, длина ступеньки=3.

Задание 11-M

Напишите алг Нарисовать шахматную доску (арг цел длина), рисующий квадрат со стороной 2×длина клеток покрашенных в шахматном порядке и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/M.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=3.

Задание 11-N

Напишите алг Нарисовать шахматную доску (арг цел высота, арг цел длина), рисующая прямоугольник со сторонами 2×высота и 2×длина клеток покрашенных в шахматном порядке и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/N.fil отмечены клетки, которые должен закрасить алгоритм для случая высота=3, длина=5.

Задание 11-O

В каталоге /usr/lib/kumir/fields/11/O находится несколько стартовых обстановок, на которых изображены различные башни. Напишите один алгоритм алг Нарисовать башню (...), выполняя который Робот нарисует все эти башни. Для каждой стартовой обстановки укажите значения аргументов алгоритма, при которых он нарисует соответствующий рисунок.

Задание 11-P

В каталоге /usr/lib/kumir/fields/11/P находится несколько стартовых обстановок, на которых изображены различные флаги. Напишите один алгоритм алг Нарисовать флаг (...), выполняя который Робот нарисует все эти флаги. Для каждой стартовой обстановки укажите значения аргументов алгоритма, при которых он нарисует соответствующий рисунок.

Задание 11-Q

Меандр – древний орнамент в виде изогнутых линий.
В каталоге /usr/lib/kumir/fields/11/Q находится несколько стартовых обстановок, на которых изображены различные орнаменты-меандры. Напишите один алгоритм алг Нарисовать меандр (...), выполняя который Робот нарисует все эти меандры. Для каждой стартовой обстановки укажите значения аргументов алгоритма, при которых он нарисует соответствующий рисунок.

Задание 11-R

Напишите алг Нарисовать лесенку (арг цел длина), рисующий лесенку, каждая ступенька которой на одну клетку длиннее верхней ступеньки и возращающий робота в исходную клетку. На стартовой обстановке, записанной в файле /usr/lib/kumir/fields/11/R.fil отмечены клетки, которые должен закрасить алгоритм для случая длина=5.