4.3. Задачи школьников

   Задачи, придуманные  детьми  в рамках турнирного задания N9,
достойно пополнили коллекцию Кукарачи. Ниже приводятся 7 лучших
образцов творчества ребят.

Задача 1. (команда 05, Пахолкин Слава, г.Снежинск)
   Из кубиков с буквой Щ сделан  щит, а из кубиков с буквой К -
кольцо для игры в баскетбол. Исполнитель находится в любой точ-
ке поля справа от щита выше  8-й строки. Мяч - кубик с буквой О
- находится  на строку выше  исполнителя в одном столбце с ним.
Исполнителю необходимо забросить мяч в кольцо.

    1  2  3  4  5  6  7  8  9  10 
   ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
 1 │  │Щ │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 2 │  │Щ │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 3 │  │Щ │  │  │  │  │  │О │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 4 │  │Щ │  │  │  │  │  │¤ │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 5 │  │Щ │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 6 │  │Щ │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 7 │  │Щ │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 8 │  │К │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 9 │  │К │  │К │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 10│  │К │К │К │  │  │  │  │  │  │
   └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
                
Решение.
   Описание алгоритма. Дважды используя команду ПОКА,  Кукарача
сначала доводит  мяч до "щита",  а затем опускает мяч в "корзи-
ну". Признак  окончания движения вдоль  щита - кубик с буквой К
слева от исполнителя.

ЭТО Баскет
 ВЛЕВО
 ПОКА НЕ Щ Веди
 Обойди
 ВЛЕВО
 ПОКА НЕ К Двигай
КОНЕЦ

ЭТО Веди
 ПОВТОРИ 2 ВПРАВО
 ВВЕРХ
 ВЛЕВО
 ВНИЗ
 ПОВТОРИ 2 ВЛЕВО
КОНЕЦ

ЭТО Обойди
 ПОВТОРИ 2 ВПРАВО
 ПОВТОРИ 2 ВВЕРХ
 ВЛЕВО
КОНЕЦ
                                       
ЭТО Двигай
 ВПРАВО
 ВНИЗ
 ВЛЕВО
КОНЕЦ


Задача 2 (команда 07, Елкин Женя, г.Саров)
   Кукарача находится в нижнем левом углу первого поля. Во вто-
ром столбике, начиная с десятой строки, записано слово (от 2 до
5 букв). Под знаками вопроса находятся номера полей (цифры от 2
до 5). Открыв знак вопроса в  столбике,  номер  которого  равен
числу букв в слове, переместить Кукарачу  в соответствующее по-
ле.

  Поле1
    1  2  3  4  5  6  7  8  9  10
   ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
 1 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 2 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 3 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 4 │  │? │? │? │? │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 5 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 6 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 7 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 8 │  │К │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 9 │  │О │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
10 │# │Т │  │  │  │  │  │  │  │  │
   └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
Поле 2
   1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │П │О │Л │Е │  │2 │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │
Поле 3
   1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │П │О │Л │Е │  │3 │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │
Поле 4
   1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │П │О │Л │Е │  │4 │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │
Поле 5
   1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │П │О │Л │Е │  │5 │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │


Решение.
   Описание алгоритма.  Исполнитель  проходит все буквы слова во
втором столбце  и  "накапливает"  невыполненные команды ВПРАВО.
Эти отложенные  команды  используются  для установки Кукарачи в
нужный столбец в 5 строке  под  скрытыми  кубиками.  Дальнейшие
действия исполнителя очевидны.

ЭТО На_поле
 В_столбик
 ПОВТОРИ 3 ВЛЕВО
 Встать_на_поле
КОНЕЦ

// "Считает" буквы в слове и идет в
// соответствующий столбец.
ЭТО В_столбик
 ВПРАВО
 ЕСЛИ НЕ ПУСТО                         
  ТО                                   
    {                                  
     ВЛЕВО
     ВВЕРХ                             
     В_столбик
    }                                  
ВПРАВО                                 
КОНЕЦ                                  

// "Узнает" номер поля в этом столбце и
// идет на это поле
ЭТО Встать_на_поле
 ПОКА ПУСТО ВВЕРХ
 ЕСЛИ       2 ТО ВПЕРЕД
 ИНАЧЕ ЕСЛИ 3 ТО ПОВТОРИ 2 ВПЕРЕД
 ИНАЧЕ ЕСЛИ 4 ТО ПОВТОРИ 3 ВПЕРЕД
 ИНАЧЕ ЕСЛИ 5 ТО ПОВТОРИ 4 ВПЕРЕД
КОНЕЦ                                  

Задача 3 (команда 09, Ялышев Влад, г.Пермь).
   У исполнителя - три поля размером 12х10. На втором поле, на-
чиная со второго  столбца  (столбец 12 тоже свободен), записано
высказывание,  зашифрованное  методом  "двойного  перевернутого
текста", а именно: в каждой строке буквы разбиты попарно, затем
в каждой из пар буквы переставлены местами. Третье  поле - пус-
тое. Обучите Кукарачу профессии дешифровщика: пусть  он на вер-
хнем поле соберет дешифрованное высказывание.

Поле  номер: 1
   1  2  3  4  5  6  7  8  9  10 11 12
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │¤ │  │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
...
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
10│  │  │  │  │  │  │  │  │  │  │  │  │
  └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

Поле номер:    2
   1  2  3  4  5  6  7  8  9  10 11 12
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │  │  │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │н │И │о │ф │м │р │ц │а │я │и │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
3 │  │_ │- │с │о │о │н │а │в │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
4 │  │с │в │х │е │н │_ │у │а │, │к │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
5 │  │н │и │о │ф │м │р │- │а │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
6 │  │и │т │а │к │- │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
7 │  │а │ц │и │р │а │ц │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
8 │  │н │и │о │ф │м │р │ц │а │и │и │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
9 │  │  │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
10│  │  │  │  │  │  │  │  │  │  │  │  │
  └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘


Решение.
   Описание алгоритма.  Перестановка букв в парах каждой строки
осуществляется в верхнем и втором слоях.  Для разворотов испол-
нителя используется третий слой и свободная  строка над переко-
дируемой. Для освобождения строки перекодированная строка  под-
нимается вверх.

ЭТО Шифр
 ПОВТОРИ 9     // По всем строкам
 {
   ПОВТОРИ 5 Слог  // Внутри строки
   ВПРАВО
   ПОВТОРИ 2 ВНИЗ
   ПОВТОРИ 11      // Подъем строки
   {
     ВЛЕВО
     ВВЕРХ
     ВНИЗ
   }
   ВВЕРХ
 }
КОНЕЦ

ЭТО Слог
 Переход
 Пары
 Исходное_положение
 Переход
 Пары_2
КОНЕЦ

ЭТО Переход   // Под текст
 ПОВТОРИ 2 ВПЕРЕД
 ВНИЗ // Рядом со строкой
КОНЕЦ

ЭТО Пары
 // Вторую букву - на первое место
 ПОВТОРИ 2 ВПРАВО
 НАЗАД
 ВВЕРХ
 НАЗАД
 ВПРАВО
 ВНИЗ
 ВЛЕВО
КОНЕЦ

ЭТО Пары_2
 // Первую букву - на второе место
 НАЗАД
 ВПРАВО
 ВПЕРЕД
 ВПРАВО
 НАЗАД
 ВВЕРХ
 НАЗАД
КОНЕЦ

ЭТО Исходное_положение
 ВВЕРХ
 ПОВТОРИ 2 ВЛЕВО
КОНЕЦ

Задача 4. (команда 16, руководитель Донская И.Ю., г Ангарск)
   В четвертой строке стандартного поля 10x10, начиная с первой
клетки, записано  дробное  десятичное  число  без знака. Запись
числа содержит не более 9 знаков (10 столбец пуст). Исполнитель
расположен под первой  цифрой в записи числа. Умножить число на
10.

    1  2  3  4  5  6  7  8  9  10
   ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
 1 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 2 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 3 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 4 │1 │5 │7 │. │2 │3 │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 5 │¤ │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤

 Решение.

   Описание алгоритма. Решение сводится  к  переносу десятичной
точки на один разряд вправо.

ЭТО Умн10
  ВВЕРХ                                
  // Поиск десятичной точки
  ПОКА НЕ . Дальше
  Перенос
КОНЕЦ

ЭТО Перенос
 // поменять точку и цифру справа
 // местами
 Обмен
 // Установка первой цифры
 // дробной части                      
 Установка1                            
 // Установка остальных цифр           
 // дробной части
 ЕСЛИ НЕ ПУСТО ТО Установка2
КОНЕЦ
                                       
ЭТО Установка1
 ВПРАВО                                
 ПОВТОРИ 2 ВНИЗ                        
 ВЛЕВО                                 
 ПОВТОРИ 2 ВНИЗ                        
 ВПРАВО                                
 ПОВТОРИ 2 ВВЕРХ
КОНЕЦ

ЭТО Установка2
  Дальше
  ПОКА НЕ ПУСТО Дальше
КОНЕЦ

ЭТО Дальше                             
  ВНИЗ                                 
  ВПРАВО                               
  ВВЕРХ                                
КОНЕЦ

ЭТО Обмен
 ВВЕРХ                                 
 ПОВТОРИ 2 ВНИЗ
 ВПРАВО                                
 ПОВТОРИ 2 ВВЕРХ                       
 ВПРАВО                                
 ПОВТОРИ 2 ВВЕРХ                       
 ВЛЕВО                                 
 ВНИЗ
 ВПРАВО
 ВНИЗ
 ВЛЕВО
 ПОВТОРИ 2 ВВЕРХ
 ПОВТОРИ 2 ВЛЕВО
 ВНИЗ
 ВПРАВО
 ВВЕРХ                                 
 ВПРАВО
 ВНИЗ                                  
КОНЕЦ                                  

Задача 5. (команда 20, Пинженин Павел, г.Челябинск)
   В одной  из  строк  (кроме  первой),  начиная с диагональной
клетки, написано  слово  длиной  более  одной  буквы (последний
столбец пуст). Развернуть  слово по вертикали, начиная с той же
клетки, в которой  находится  первая буква слова. Исполнитель в
начальный момент находится в клетке (1,1).

    1 2 3 4 5 6 7 8 9 10            1 2 3 4 5 6 7 8 9 10
   ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐           ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
 1 │¤│ │ │ │ │ │ │ │ │ │         1 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 2 │ │ │ │ │ │ │ │ │ │ │         2 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 3 │ │ │к│о│л│о│с│ │ │ │         3 │ │ │к│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 4 │ │ │ │ │ │ │ │ │ │ │ ────>   4 │ │ │о│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 5 │ │ │ │ │ │ │ │ │ │ │         5 │ │ │л│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 6 │ │ │ │ │ │ │ │ │ │ │         6 │ │ │о│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 7 │ │ │ │ │ │ │ │ │ │ │         7 │ │ │с│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 8 │ │ │ │ │ │ │ │ │ │ │         8 │ │ │ │ │ │ │ │ │ │ │

 Решение.

Описание алгоритма.
   1. Первая буква находится на месте. Исполнитель устанавлива-
ется над первой буквой оставшейся части слова.
   2. Слово сдвигается вниз и влево (следующая  буква встала на
место). Исполнитель устанавливается над первой буквой оставшей-
ся части слова.
   3. Действия повторяются, пока не установлено все слово.

ЭТО Карусель
 ВПРАВО
 ПОКА ПУСТО Шагай
 ПОКА НЕ ПУСТО Такт
КОНЕЦ                                  
                                       
ЭТО Шагай
 ВПРАВО
 ВНИЗ
КОНЕЦ

ЭТО Ставь
 ВВЕРХ
 ВПРАВО
 ВНИЗ
 ЕСЛИ НЕ ПУСТО
  ТО    Ставь
  ИНАЧЕ Сдвиг
 ВЛЕВО
КОНЕЦ
                                       
ЭТО Сдвиг
 ВНИЗ
 ВЛЕВО
 ВВЕРХ
 ВПРАВО
КОНЕЦ                                  
                                       
ЭТО Такт
 Ставь
 ВНИЗ
КОНЕЦ

Задача 6 (команда 24, Елисеева, Янулевич, г.Иркутск)
   Во второй строке, начиная с (2,2), написано любое слово, не
длиннее 8 символов  и содержащее хотя бы одну согласную. Испол-
нитель находится  под  первой  буквой слова. Результатом работы
является чистое поле, исполнитель находится в строке, номер ко-
торой соответствует  количеству  согласных  букв в предложенном
слове.
    1  2  3  4  5  6  7  8  9  10
   ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
 1 │  │  │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 2 │  │К │У │К │А │Р │А │Ч │А │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 3 │  │¤ │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤

Решение.
   Описание алгоритма. Исполнитель производит "подсчет" и  выб-
рос с поля гласных букв, затем оставшиеся согласные уплотняются
(сдвиг вправо  на количество гласных). Затем исполнитель, "под-
считывая", выталкивает согласные и опускается на "подсчитанное"
число шагов вниз, компенсируя свое начальное положение командой
ВВЕРХ.

ЭТО Задача
 Поиск_гласных
 Поиск_согласных
 ВВЕРХ
КОНЕЦ

ЭТО Поиск_гласных
 ВВЕРХ
 ЕСЛИ       А ТО Выбрось
 ИНАЧЕ ЕСЛИ О ТО Выбрось
 ИНАЧЕ ЕСЛИ Е ТО Выбрось
 ИНАЧЕ ЕСЛИ И ТО Выбрось
 ИНАЧЕ ЕСЛИ У ТО Выбрось
 ИНАЧЕ ЕСЛИ Ю ТО Выбрось
 ИНАЧЕ ЕСЛИ Я ТО Выбрось
 ИНАЧЕ ЕСЛИ Ы ТО Выбрось
 ИНАЧЕ ЕСЛИ Э ТО Выбрось
 ИНАЧЕ ЕСЛИ НЕ ПУСТО
        ТО
        {
         ВНИЗ
         ВПРАВО
         Поиск_гласных
        }
 ИНАЧЕ ВВЕРХ
КОНЕЦ                                  

ЭТО Выбрось
 ВВЕРХ
 ПОВТОРИ 2 ВНИЗ                        
 ВПРАВО
 Поиск_гласных
 ВЛЕВО
КОНЕЦ

ЭТО Поиск_согласных
 ВНИЗ
 ВЛЕВО
 ВВЕРХ
 ЕСЛИ НЕ ПУСТО
  ТО  Подсчет_согласных
КОНЕЦ

ЭТО Подсчет_согласных
 Поиск_согласных
 ВНИЗ                                  
КОНЕЦ

Задача 7 (команда 32, Калинин Игорь, Сазонтов Павел, г.Находка)
   В клетке  (1,2) стоит цифра 1, под ней  в клетке (2,2) стоит
Кукарача. Во втором столбце в нечетной строке есть  еще одна 1.
Нужно поставить Кукарачу на середину отрезка между двумя едини-
цами (которые в  ответе должны оставаться на своих прежних мес-
тах).
    1 2 3 4 5 6 7 8 9 10            1 2 3 4 5 6 7 8 9 10
   ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐           ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
 1 │ │1│ │ │ │ │ │ │ │ │         1 │ │ │1│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 2 │ │¤│ │ │ │ │ │ │ │ │         2 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 3 │ │ │ │ │ │ │ │ │ │ │         3 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 4 │ │ │ │ │ │ │ │ │ │ │ ────>   4 │ │ │¤│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 5 │ │ │ │ │ │ │ │ │ │ │         5 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 6 │ │ │ │ │ │ │ │ │ │ │         6 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 7 │ │1│ │ │ │ │ │ │ │ │         7 │ │ │1│ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 8 │ │ │ │ │ │ │ │ │ │ │         8 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 9 │ │ │ │ │ │ │ │ │ │ │         9 │ │ │ │ │ │ │ │ │ │ │
   ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤           ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
 10│ │ │ │ │ │ │ │ │ │ │         10│ │ │ │ │ │ │ │ │ │ │
   └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘           └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

 Решение.
   Описание алгоритма. В решении рассматриваются различные воз-
можные случаи, расположения второй единицы. Кукарача  проверяет
1, если она  есть,  то ставит ее на  место  с помощью процедуры
Петля. Если нет единицы, то Кукарача  двигается далее, проверяя
клетки через одну.

ЭТО Середина
 ВНИЗ
 ЕСЛИ НЕ ПУСТО
  ТО    Петля
  ИНАЧЕ Строка_3
КОНЕЦ

ЭТО Петля                              
 ВПРАВО
 ПОВТОРИ 2 ВНИЗ
 ВЛЕВО
 ВВЕРХ
 ВЛЕВО
 ПОВТОРИ 2  ВВЕРХ
 ВПРАВО
КОНЕЦ

ЭТО Строка_3
 ВНИЗ
 ВНИЗ
 ЕСЛИ НЕ ПУСТО
  ТО
  {
    Петля
    ВВЕРХ
  }
  ИНАЧЕ Строка_4
КОНЕЦ

ЭТО Строка_4
 ВНИЗ
 ВНИЗ
 ЕСЛИ НЕ ПУСТО ТО Петля
 ПОВТОРИ 2 ВВЕРХ
КОНЕЦ                                  

   Комментарий автора сборника.
   Решение, предложенное  Игорем  и  Павлом, не универсально. В
нем при помощи развилок рассмотрены все возможные случаи распо-
ложения второй  единицы на поле (в 3, 5  и 7 строке). Программа
работает и тогда, когда единица расположена в 9 строке, но этот
случай обрабатывается  не совсем "честно": считается, что, если
единица не встретилась  до  7 строки, то она  стоит  в 9 строке
обязательно. Такая "хитрость" вызвана тем, что нельзя "толкать"
единицу в  10 строчку: ведь  потом невозможно в поле 10x10 вер-
нуть ее на место.
   Обобщим задачу:  пусть  поле  продолжается вниз сколь угодно
далеко и последняя  единица расположена не ближе двух клеток от
его нижнего края.
   Понятно, что решение ребят для этой  новой задачи неприемли-
мо. Попробуем  использовать метод отложенной в рекурсии команды
для создания универсального  решения.  Для начала не будем воз-
вращать нижнюю единицу на прежнее место после "толчка" исполни-
телем ее в соседнюю клетку.
   Если бы после  обнаружения единицы нужно было бы просто вер-
нуть Кукарачу на  прежнее место, то программа была бы предельно
простой:

ЭТО Установка
 ВНИЗ
 ЕСЛИ НЕ 1 ТО Установка
 ВВЕРХ
КОНЕЦ

   В этой  короткой  программе команда ВВЕРХ выполнится столько
раз,  сколько  раз сработает команда ВНИЗ, то есть  исполнитель
вернется на прежнее место. Но ведь нужно поставить его на сере-
дину "отрезка", то  есть команда ВВЕРХ должна выполняться в два
раза меньше команды ВНИЗ.
   Как это сделать?  Заметим, что по условию задачи единица мо-
жет располагаться только в нечетных строчках,  то есть движение
от одного  ее  возможного  положения  до другого обеспечивается
двумя командами ВНИЗ. Это ключ к решению задачи:

ЭТО Установка
 ВНИЗ
 ЕСЛИ НЕ 1
  ТО
  {
   ВНИЗ
   Установка
  }
 ВВЕРХ
КОНЕЦ

   Если единица расположена в третьей строке, то выполнится од-
на команда ВНИЗ  и одна команда  ВВЕРХ - Кукарача  вернется  на
прежнее место - в строчку 2, середину первоначального отрезка.
   Если единица расположена в 5 строке, то выполнятся 3 команды
ВНИЗ и две команды ВВЕРХ:  Кукарача остановится в третей строке
и так далее.
   Проблема с  возвращением  сдвинутой единицы на прежнее место
требует ветви ИНАЧЕ для этой  цели  и  использования  небольшой
хитрости для  корректировки положения исполнителя не во втором,
а в первом столбце.
   Окончательный вариант программы выглядит следующим образом:

ЭТО Установка
 Работа
 ВПРАВО // Возврат во второй столбец
КОНЕЦ

ЭТО Работа                             
 ВНИЗ                                  
 ЕСЛИ НЕ 1                             
   ТО                                  
   {                                   
     ВНИЗ                              
     Работа
   }                                   
   ИНАЧЕ На_место_1                    
 ВВЕРХ                                 
КОНЕЦ                                  
                                       
ЭТО На_место_1  // Установка единицы на прежнее место
 ВЛЕВО          // После выполнения процедуры,
 ПОВТОРИ 2 ВНИЗ // исполнитель - в первом столбце
 ВПРАВО                                
 ВВЕРХ                                 
 ВЛЕВО                                 
 ВВЕРХ
КОНЕЦ                                  
