ДРоботландский Университет 
2000/2001 учебный год
Курс 31 "Азы программирования"
-------------------------------------------------
     Р О Б О Т Л А Н Д С К О Е  П Р О Г Р А М М И Р О В А Н И Е

                                   (C) А.А. Дуванов

                                      Под редакцией
                                      Ю.А. Первина

                                      Пособие   распространяется
                                      только в рамках  Роботлан-
                                      дских  Курсов  и  является
                                      объектом авторского права.

Глава 4. Кукарача на распутье

4.1. Команда ветвления
   Вася. Если завтра будет хорошая погода, давай пойдем в лес?
   Петя. Хорошо. А если кубик  на  поле  Кукарачи перевернут, то
как тогда писать программу?
   Вася. Это шутка?
   Петя. Это приглашение заняться сегодня программированием  ус-
ловий. Вот посмотри на следующую задачу:
   Задача 1. Помогите  Кукараче  собрать два слова: название жи-
вотного и место,  где этому животному нравится жить. На перевер-
нутом кубике (на рисунке он  изображен  знаком  вопроса) одна из
букв - "О" или "И".
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │О │  │  │  │К │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │  │К │  │  │  │Р │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │Е │  │  │  │Ы │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │А │  │# │  │Ш │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │  │  │Н │? │А │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │К │  │Т │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │  │  │  │  │  │  │  │  │  │  │

   Вася. Я понял! Если это буква "О", то надо собрать  слова КОТ
и КРЫША, а если буква "И"  - КИТ и ОКЕАН. Давай перевернем кубик
и посмотрим, что на нем написано.
   Петя. Считай,  что  поле  Кукарачи тебе недоступно. Например,
оно подвергнуто радиоактивному заражению. Кукарача - робот, и он
может там работать, а ты - нет. Но ты можешь  управлять исполни-
телем при помощи радио и компьютера.
   Вася. Может ли исполнитель как-нибудь узнать, что написано на
кубике?
   Петя. Может.  Когда Кукарача толкает кубик, он переворачивает
его и видит надпись.
   Вася. Ну тогда я напишу команду ВНИЗ. Кукарача толкнет кубик,
и я  увижу надпись. После этого я буду  знать, как управлять ис-
полнителем дальше.
   Петя. Хотелось бы, чтобы робот работал автоматически без тво-
его присутствия,  непрерывно,  по  заранее написанной программе.
Представь, например, что ты  отправил  Кукарачу на Марс, связи с
ним нет и увидеть, как он переворачивает кубики, ты не можешь.
   Вася. Даже если бы  связь с Марсом была, она была бы  не быс-
трой, ведь сигнал от Марса идет так долго.
   Петя. Верно! При  этом  роботу нужно принимать решение немед-
ленно, он не должен ждать с Земли твоих сигналов.
   Вася. Но я не знаю, как написать программу, которая бы прини-
мала решение за меня!
   Петя. Правильно,  не знаешь. Это потому,  что ты не  знаком с
КОМАНДОЙ ВЕТВЛЕНИЯ. Вот посмотри, как она записывается:
                 ЕСЛИ условие
                  ТО    команда1
                  ИНАЧЕ команда2
   Слова ЕСЛИ, ТО, ИНАЧЕ здесь ключевые слова языка программиро-
вания. Они как цемент связывают команду ветвления воедино. Рабо-
тает новая команда так: интерпретатор программ проверяет условие
и, если  оно верное, выполняет  команду 1, если условие ложное -
выполняет команду 2.  В любом случае работает только одна коман-
да, либо команда 1, либо команда 2.
   Вася. А как записывается условие?
   Петя. Обычно  в качестве условия записывают символ. Интерпре-
татор будет сравнивать этот символ с тем, который перевернул Ку-
карача.
   Вася. Попробую написать программу для нашей задачи.

       // Программа для местности,
       // зараженной радиацией
       ЭТО Звери
        // Толкнуть кубик (он переворачивается
        // и Кукарача видит надпись).
        ВНИЗ
        // Проверить, что находится на кубике
        // и выполнить нужную команду.
        ЕСЛИ И  // Интерпретатор сравнивает И с тем, что
                // Кукарача увидел на кубике.
         ТО    ВЛЕВО   // На кубике И - собираем слово ОКЕАН
         ИНАЧЕ ВПРАВО  // На кубике О - собираем слово КРЫША
       КОНЕЦ

   Петя. Написано правильно. Теперь расскажи, как  интерпретатор
программ выполнит эту программу.
   Вася. Ну, сначала он передаст исполнителю команду ВНИЗ. Кука-
рача толкнет кубик и увидит надпись на нем. А дальше...
     Петя. Дальше интерпретатор, выполняя команду ЕСЛИ,  пошлет
Кукараче запрос: что на  кубике?  Кукарача ответит, и в зависи-
мости от его ответа интерпретатор  передаст  ему  либо  команду
ВЛЕВО, либо команду ВПРАВО.
   Вася. То есть  интерпретатор будет работать за меня? Он спро-
сит исполнителя, что тот видит на кубике, а затем в соответствии
с командой ветвления задаст ему ту или иную работу.
   Петя. Да. Только интерпретатор, как и Кукарача, не боится ра-
диации. Он  может даже на  Марсе выполнять ту работу, которую ты
запрограммировал в своем уютном кресле.
   Вася. Вот она сила программирования вообще и робототехники, в
частности!
   Петя. Как ты думаешь, сколько запусков  программы Звери нужно
сделать, чтобы убедиться, что программа работает правильно?
   Вася. Думаю, что два. Сначала надо проверить программу, когда
на перевернутом кубике  "О", и второй раз, когда на перевернутом
кубике - буква "И". А как устанавливаются перевернутые кубики?
   Петя. Это делается, конечно, в редакторе среды. Ты устанавли-
ваешь курсор на нужный кубик и нажимаешь клавишу  F10. Кубик пе-
реворачивается. Вот еще одна задача на ветвление:
   Задача 2. На перевернутом  кубике  либо буква "Н", либо буква
"Р". Кукараче надо составить одно из слов - КИНО или ЦИРК.
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │  │К │  │# │  │Ц │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │И │  │? │  │И │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │  │О │  │  │  │К │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │  │  │  │  │  │  │  │  │  │  │

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

     ЭТО Отдых
       // Толкнуть кубик и посмотреть что на нем
       ВНИЗ
       // Развилка
       ЕСЛИ Н
        ТО    Кино // Обнаружена буква Н
        ИНАЧЕ Цирк // Буквы Н нет
     КОНЕЦ

     // Сборка слова КИНО
     ЭТО Кино
      ВПРАВО
      ВНИЗ
      ПОВТОРИ 2 ВЛЕВО
     КОНЕЦ

     // Сборка слова ЦИРК
     ЭТО Цирк
      ВЛЕВО
      ВНИЗ
      ПОВТОРИ 2 ВПРАВО
     КОНЕЦ

     Вопросы и задания
     1. Когда в  программировании  не обойтись без команды вет-
вления?
     2. На перевернутом кубике  одна из букв "Е", "Д", "Л". По-
могите Кукараче посадить на поле дерево.
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │  │  │  │  │  │Л │Ь │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │# │? │  │  │  │  │  │У │Б │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           8 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           9 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
          10 │  │  │  │  │  │  │  │И │П │А │
             └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

4.2. Особые случаи
   Петя. Да, у  тебя все получилось. Давай закончим разговор про
команду ветвления обзором особых случаев. Может случиться, что в
случае верного условия  исполнителю  не надо делать никаких дей-
ствий. Тогда после  слова ТО записывают команду СТОЯТЬ. Вот тебе
задача, которая это пояснит:
   Задача 3. Если на кубике находится подходящая буква, соберите
слово ОЛЕНЬ, в противном случае  пусть  на  поле останется слово
ЛЕНЬ.
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │Л │Е │Н │Ь │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │# │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │

     Решение.
       ЭТО Олень
        ВВЕРХ
        ЕСЛИ О
         ТО    СТОЯТЬ
         ИНАЧЕ ВВЕРХ
       КОНЕЦ

   Может случиться  по-другому:  если условие не выполняется, то
делать ничего не надо. В этом случае можно после ключевого слова
ИНАЧЕ поместить пустую команду СТОЯТЬ либо  опустить слово ИНАЧЕ
вовсе.
    Задача 4.  Если можно, поставьте столб.
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │С │Т │О │Л │  │  │? │# │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │

     Решение.

    // 1 вариант            // 2 вариант
    ЭТО Столб               ЭТО Столб
     ВЛЕВО                   ВЛЕВО
     ЕСЛИ Б                  ЕСЛИ Б
      ТО    ВЛЕВО             ТО ВЛЕВО
      ИНАЧЕ СТОЯТЬ          КОНЕЦ
    КОНЕЦ

   Вася. Наконец-то ты  объяснил  мне, для чего нужна непонятная
команда СТОЯТЬ!
   Петя. Еще небольшие  уточнения.  В качестве условия можно ис-
пользовать ключевое  слово  ПУСТО.  Это  условие будет истинным,
когда в клетке, куда переполз исполнитель, нет кубиков, и ложным
в противном случае.
   Задача 5. Если  справа  от Кукарачи стоит какой-нибудь кубик,
удалить его с поля.
     Решение.
     ЭТО Удаление
      ВПРАВО
      ЕСЛИ ПУСТО
       ТО    СТОЯТЬ
       ИНАЧЕ ПОВТОРИ 8 ВПРАВО
     КОНЕЦ
   Вася. Ты же говорил, что в команде ветвления после слов  ТО и
ИНАЧЕ можно писать только одну команду?
   Петя. Так  оно и есть.  После слова ИНАЧЕ записана ровно одна
команда - команда повторения.
   Вася. Да, действительно. Но тогда после слов ТО и ИНАЧЕ можно
записывать и команды ветвления?
   Петя. Конечно. Вот тебе пример.
   Задача 6. Под Кукарачей, во втором столбце расположена цифра.
Ее значение больше двух.  Определить,  какая это цифра, и поста-
вить ее в строку с соответствующим номером (<<task401.coc>>).

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

     Решение.

ЭТО Установка_цифры
 ВНИЗ
 ЕСЛИ 4
  ТО    ВНИЗ
  ИНАЧЕ ЕСЛИ 5
         ТО    ПОВТОРИ 2 ВНИЗ
         ИНАЧЕ ЕСЛИ 6
                ТО    ПОВТОРИ 3 ВНИЗ
                ИНАЧЕ ЕСЛИ 7
                       ТО    ПОВТОРИ 4 ВНИЗ
                       ИНАЧЕ ЕСЛИ 8
                              ТО ПОВТОРИ 5 ВНИЗ
                              ИНАЧЕ ЕСЛИ 9
                                     ТО ПОВТОРИ 6 ВНИЗ
КОНЕЦ

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

     ЭТО Установка_цифры
      ВНИЗ
      ЕСЛИ       4 ТО ВНИЗ
      ИНАЧЕ ЕСЛИ 5 ТО ПОВТОРИ 2 ВНИЗ
      ИНАЧЕ ЕСЛИ 6 ТО ПОВТОРИ 3 ВНИЗ
      ИНАЧЕ ЕСЛИ 7 ТО ПОВТОРИ 4 ВНИЗ
      ИНАЧЕ ЕСЛИ 8 ТО ПОВТОРИ 5 ВНИЗ
      ИНАЧЕ ЕСЛИ 9 ТО ПОВТОРИ 6 ВНИЗ
     КОНЕЦ

   Вася. Да, это совсем другое дело.
   Петя. Хотя в это и трудно поверить, но  в последней программе
записано абсолютно то же самое, что и в предыдущей, но по-друго-
му отформатировано.  Эти  две программы наглядно показывают, как
важно правильно оформлять тексты. Интерпретатору программ  офор-
мление безразлично (так же, как и  комментарии),  а  человеку  -
нет.
   Вася. Надеюсь, ты мне  уже  все рассказал про команду ветвле-
ния?
   Петя. Еще одна важная деталь.  При  записи  условия можно ис-
пользовать ключевое слово НЕ. Это слово  означает, что интерпре-
татор программ будет проверять условие наоборот:  когда буква на
кубике не совпадает  с указанной после слов ЕСЛИ НЕ, выполняется
команда, стоящая вслед за словом ТО. В качестве примера я приве-
ду тебе другое решение задачи про оленя:

       ЭТО Олень
        ВВЕРХ
        ЕСЛИ НЕ О
         ТО ВВЕРХ
       КОНЕЦ

   Вася. Да, это ключевое слово упростило запись программы.
   Петя. Я предлагаю тебе самому порешать побольше задач на вет-
вление, чтобы, как говорится, набить руку.
   Вася. А заодно и голову...

                       Практикум
     1. На перевернутых кубиках буквы О и У (какая буква на ка-
ком кубике - неизвестно): <<task402.coc>>
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │С │Т │  │Л │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │  │  │  │? │# │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │  │? │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │

     Какое слово соберет Кукарача, выполняя команды
     а) Мебель1
     б) Мебель2
     в) Мебель3
     г) Мебель4
     д) Мебель5
     е) Мебель6
     ж) Мебель7
     з) Мебель8
если в поле программы написан следующий текст:
//-------------------------------------
ЭТО Мебель1
 ВЛЕВО
 ЕСЛИ У
  ТО    Работа1
  ИНАЧЕ Работа2
КОНЕЦ
//-------------------------------------
ЭТО Мебель2
 ВЛЕВО
 ЕСЛИ НЕ У
  ТО    Работа1
  ИНАЧЕ Работа2
КОНЕЦ
//-------------------------------------
ЭТО Мебель3
 ВЛЕВО
 ЕСЛИ У
  ТО    Работа2
  ИНАЧЕ Работа1
КОНЕЦ
//-------------------------------------
ЭТО Мебель4
 ВЛЕВО
 ЕСЛИ НЕ У
  ТО    Работа2
  ИНАЧЕ Работа1
КОНЕЦ
//-------------------------------------
ЭТО Мебель5
 ВЛЕВО
 ЕСЛИ О
  ТО    Работа1
  ИНАЧЕ Работа2
КОНЕЦ
//-------------------------------------
ЭТО Мебель6
 ВЛЕВО
 ЕСЛИ НЕ О
  ТО    Работа1
  ИНАЧЕ Работа2
КОНЕЦ
//-------------------------------------
ЭТО Мебель7
 ВЛЕВО
 ЕСЛИ О
  ТО    Работа2
  ИНАЧЕ Работа1
КОНЕЦ
//-------------------------------------
ЭТО Мебель8
 ВЛЕВО
 ЕСЛИ НЕ О
  ТО    Работа2
  ИНАЧЕ Работа1
КОНЕЦ
//-------------------------------------
ЭТО Работа1
 ВНИЗ
 ВЛЕВО
 ВВЕРХ
КОНЕЦ
//-------------------------------------
ЭТО Работа2
  ВПРАВО
  ВНИЗ                                 
  ВЛЕВО                                
  ВНИЗ
  ВЛЕВО
  ПОВТОРИ 2 ВВЕРХ
КОНЕЦ

     2. На одном  из  перевернутых  кубиков буква "И. Составьте
слово "ИГРА".
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │# │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │Г │Р │А │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │  │  │  │  │  │  │

     3. Ниф-Ниф  и  Нуф-Нуф  играют в крестики-нолики,  Ниф-Ниф
ставит крестики, а Нуф-Нуф - нолики.  До  победы  остался  один
ход. Но чей  это ход? (На  перевернутом кубике либо  "Х",  либо
"0".  Кукарача  должен поставить этот кубик в выигрышную  пози-
цию.) (<<task403.coc>>)
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │  │0 │  │Х │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │  │  │  │0 │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │0 │Х │Х │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │  │  │  │? │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │# │  │  │  │  │  │

   4. На одном из перевернутых кубиков либо буква "З", либо бук-
ва  "Л".  Помогите  Кукараче совершить космическое  путешествие.
(<<task404.coc>>)

              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │  │  │  │  │Е │М │Л │Я │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │# │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           8 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           9 │  │  │  │  │  │  │У │Н │А │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
          10 │  │  │  │  │  │  │  │  │  │  │
             └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

   5. На  одном  из  кубиков  буква "К". Составьте  слово  КЛАД.
(<<task405.coc>>)

              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │# │? │  │Л │А │Д │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │? │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │  │  │  │  │  │  │

     6. На одном из кубиков  -  буква "М". Составить слово МЕД-
ВЕДЬ и вернуть Кукарачу в исходную позицию. Лишнюю букву выбро-
сить за пределы поля. (<<task406.coc>>)
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │? │  │  │  │  │  │  │  │# │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │Е │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │Д │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │В │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │Е │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │Д │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │Ь │  │  │  │  │  │  │  │  │  │

     7. Помогите Кукараче составить слово КОТ. На  одном из ку-
биков есть буква "Т". (<<task407.coc>>)
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │К │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │О │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │? │# │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │? │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │  │  │  │  │  │  │  │  │  │  │


     8. Во второй  строке злоумышленник перемешал буквы в слове
ЭКРАН. Восстановить испорченное слово. (<<task408.coc>>)
              1  2  3  4  5  6  7  8  9  10
             ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           1 │  │# │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           2 │  │? │? │? │? │? │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           3 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           4 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           5 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           6 │  │  │  │  │  │  │  │  │  │  │
             ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
           7 │  │  │  │  │  │  │  │  │  │  │

