С20.1 — написание алгоритма для исполнителя Робот

Всего заданий в разделе: 83


№1 (Номер в базе opengia.com: Задание №000F99 . Номер в базе ComputerScienceForAll.ru: 3021)

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

У Робота есть девять команд. Четыре команды – это команды-приказы:

вверх        вниз           влево         вправо

При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

сверху свободно

снизу свободно

слева свободно

справа свободно

Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

если условие то

последовательность команд

все

Здесь условие – одна из команд проверки условия.

Последовательность команд – это одна или несколько любых команд-приказов.

Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

если справа свободно то

вправо

закрасить

все

В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

если (справа свободно) и (не снизу свободно) то

вправо

все

Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

нц пока условие

последовательность команд

кц

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

нц пока справа свободно

вправо

кц

Выполните задание.

На бесконечном поле имеются две одинаковые горизонтальные параллельные стены, расположенные друг под другом и отстоящие друг от друга более чем на 1 клетку. Левые края стен находятся на одном уровне. Длины стен неизвестны. Робот находится в клетке, расположенной непосредственно под нижней от стеной.

На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже горизонтальных стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


    №2 (Номер в базе opengia.com: Задание №0112EA . Номер в базе ComputerScienceForAll.ru: 3027)

    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

    У Робота есть девять команд. Четыре команды – это команды-приказы:

    вверх    вниз    влево    вправо

    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

    сверху свободно   снизу свободно   слева свободно   справа свободно

    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

    если условие то

    последовательность команд

    все

    Здесь условие – одна из команд проверки условия.

    Последовательность команд – это одна или несколько любых команд-приказов.

    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

    если справа свободно то

    вправо

    закрасить

    все

    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

    если (справа свободно) и (не снизу свободно) то

    вправо

    все

    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

    нц пока  условие

    последовательность команд

    кц

    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

    нц пока справа свободно

    вправо

    кц

    Выполните задание.

    На бесконечном поле имеются две вертикальные стены и одна горизонтальная, соединяющая нижний конец левой и верхний конец правой вертикальных стен. Длины стен неизвестны. Робот находится в клетке, расположенной слева от нижнего края правой вертикальной стены, рядом со стеной.

    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

    Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к вертикальным стенам справа. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

    Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


      №3 (Номер в базе opengia.com: Задание №039900 . Номер в базе ComputerScienceForAll.ru: 3046)

      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

      У Робота есть девять команд. Четыре команды – это команды-приказы:

      вверх    вниз    влево    вправо

      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

      сверху свободно   снизу свободно   слева свободно   справа свободно

      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

      если условие то

      последовательность команд

      все

      Здесь условие – одна из команд проверки условия.

      Последовательность команд – это одна или несколько любых команд-приказов.

      Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

      если справа свободно то

      вправо

      закрасить

      все

      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

      если (справа свободно) и (не снизу свободно) то

      вправо

      все

      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

      нц пока  условие

      последовательность команд

      кц

      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

      нц пока справа свободно

      вправо

      кц

       

      Выполните задание.

      На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится сверху от стены в левом ее конце. На рисунке приведено расположение робота относительно стены (робот обозначен буквой «Р»):

      Напишите алгоритм для робота, закрашивающий все клетки, расположенные выше стены на расстоянии одной пустой клетки от стены, независимо от длины стены. Робот должен закрасить только клетки, удовлетворяющие заданному условию. Например, для приведённого выше рисунка робот должен закрасить следующие клетки:

      Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

      Название файла и каталог для сохранения Вам сообщат организаторы экзамена.

        Ответ

        Возможный вариант решения задачи:
        использовать Робот
        алг
        нач
        нц пока не снизу свободно
        вверх
        закрасить
        вниз
        вправо
        кц
        кон


        №4 (Номер в базе opengia.com: Задание №0AD780 . Номер в базе ComputerScienceForAll.ru: 3075)

        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

        У Робота есть девять команд. Четыре команды – это команды-приказы:

        вверх    вниз    влево    вправо

        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

        сверху свободно   снизу свободно   слева свободно   справа свободно

        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

        если условие то

        последовательность команд

        все

        Здесь условие – одна из команд проверки условия.

        Последовательность команд – это одна или несколько любых команд-приказов.

        Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

        если справа свободно то

        вправо

        закрасить

        все

        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

        если (справа свободно) и (не снизу свободно) то

        вправо

        все

        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

        нц пока  условие

        последовательность команд

        кц

        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

        нц пока справа свободно

        вправо

        кц

         

        Выполните задание.

        На бесконечном поле имеется длинная горизонтальная стена. Длина стены неизвестна. Робот находится в одной из клеток непосредственно сверху от стены. Начальное положение робота также неизвестно. Одно из возможных положений робота приведено на рисунке (робот обозначен буквой «Р»):

        Напишите алгоритм для робота, закрашивающий все клетки, расположенные выше стены и прилегающие к ней, независимо от размера стены и начального расположения робота. Робот должен закрасить только клетки, удовлетворяющие заданному условию. Например, для приведённого выше рисунка робот должен закрасить следующие клетки:

        Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

        Название файла и каталог для сохранения Вам сообщат организаторы экзамена.

          Ответ

          Один из вариантов решения задачи:
          использовать Робот
          алг
          нач
          нц пока не снизу свободно
          закрасить
          вправо
          кц
          влево
          нц пока не снизу свободно
          закрасить
          влево
          кц
          кон


          №5 (Номер в базе opengia.com: Задание №0D909E . Номер в базе ComputerScienceForAll.ru: 3094)

          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

          У Робота есть девять команд. Четыре команды – это команды-приказы:

          вверх    вниз    влево    вправо

          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

          сверху свободно   снизу свободно   слева свободно   справа свободно

          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

          если условие то

          последовательность команд

          все

          Здесь условие – одна из команд проверки условия.

          Последовательность команд – это одна или несколько любых команд-приказов.

          Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

          если справа свободно то

          вправо

          закрасить

          все

          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

          если (справа свободно) и (не снизу свободно) то

          вправо

          все

          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

          нц пока  условие

          последовательность команд

          кц

          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

          нц пока справа свободно

          вправо

          кц

          Выполните задание.

          На бесконечном поле имеются две одинаковые вертикальные стены и одна горизонтальная, соединяющая верхние концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных между нижними краями  вертикальных стен.

          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

          Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше горизонтальной стены непосредственно над ней. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

          Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

          Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


            №6 (Номер в базе opengia.com: Задание №0EFA81 . Номер в базе ComputerScienceForAll.ru: 3102)

            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

            У Робота есть девять команд. Четыре команды – это команды-приказы:

            вверх    вниз    влево    вправо

            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

            сверху свободно   снизу свободно   слева свободно   справа свободно

            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

            если условие то

            последовательность команд

            все

            Здесь условие – одна из команд проверки условия.

            Последовательность команд – это одна или несколько любых команд-приказов.

            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

            если справа свободно то

            вправо

            закрасить

            все

            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

            если (справа свободно) и (не снизу свободно) то

            вправо

            все

            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

            нц пока  условие

            последовательность команд

            кц

            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

            нц пока справа свободно

            вправо

            кц

            Выполните задание

            Робот находится в произвольной клетке узкого вертикального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Точное положение Робота также неизвестно. Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

            Напишите для робота алгоритм, закрашивающий все клетки внутри коридора. Конечное положение Робота может быть произвольным. Например, для приведённого выше рисунка робот должен закрасить следующие клетки (см. рисунок):

            Алгоритм должен решать задачу для произвольного конечного размера коридора и произвольного начального расположения Робота. При исполнении алгоритма Робот не должен разрушиться.

            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

            Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


              №7 (Номер в базе opengia.com: Задание №0F1AB2 . Номер в базе ComputerScienceForAll.ru: 3105)

              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

              У Робота есть девять команд. Четыре команды – это команды-приказы:

              вверх    вниз    влево    вправо

              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

              сверху свободно   снизу свободно   слева свободно   справа свободно

              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

              если условие то

              последовательность команд

              все

              Здесь условие – одна из команд проверки условия.

              Последовательность команд – это одна или несколько любых команд-приказов.

              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

              если справа свободно то

              вправо

              закрасить

              все

              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

              если (справа свободно) и (не снизу свободно) то

              вправо

              все

              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

              нц пока  условие

              последовательность команд

              кц

              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

              нц пока справа свободно

              вправо

              кц

              Выполните задание.

              На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. От правого конца стены вниз отходит вертикальная стена также неизвестной длины. Робот находится над горизонтальной стеной в клетке, расположенной у её левого края.

              На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

              Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше горизонтальной стены и справа от вертикальной стены и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данным условиям. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                №8 (Номер в базе opengia.com: Задание №0F8EB4 . Номер в базе ComputerScienceForAll.ru: 3108)

                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                У Робота есть девять команд. Четыре команды – это команды-приказы:

                вверх    вниз    влево    вправо

                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                сверху свободно   снизу свободно   слева свободно   справа свободно

                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                если условие то

                последовательность команд

                все

                Здесь условие – одна из команд проверки условия.

                Последовательность команд – это одна или несколько любых команд-приказов.

                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                если справа свободно то

                вправо

                закрасить

                все

                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                если (справа свободно) и (не снизу свободно) то

                вправо

                все

                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                нц пока  условие

                последовательность команд

                кц

                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                нц пока справа свободно

                вправо

                кц

                Выполните задание.

                На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. От правого конца этой стены отходит вниз вторая вертикальная стена неизвестной длины. Робот находится в клетке, расположенной справа от нижнего края первой вертикальной стены.

                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                Напишите для Робота алгоритм, закрашивающий клетки, расположенные правее первой вертикальной стены, и угловую клетку, расположенную на пересечении горизонтальной и второй вертикальной стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                  №9 (Номер в базе opengia.com: Задание №127228 . Номер в базе ComputerScienceForAll.ru: 3136)

                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                  вверх    вниз    влево    вправо

                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                  сверху свободно   снизу свободно   слева свободно   справа свободно

                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                  если условие то

                  последовательность команд

                  все

                  Здесь условие – одна из команд проверки условия.

                  Последовательность команд – это одна или несколько любых команд-приказов.

                  Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                  если справа свободно то

                  вправо

                  закрасить

                  все

                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                  если (справа свободно) и (не снизу свободно) то

                  вправо

                  все

                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                  нц пока  условие

                  последовательность команд

                  кц

                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                  нц пока справа свободно

                  вправо

                  кц

                   

                  Выполните задание.

                  Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Где-то посередине прямоугольника есть вертикальная стена, разделяющая прямоугольник на две части. В этой стене есть проход, при этом проход не является самой левой или самой нижней клеткой стены. Точное расположение прохода также неизвестно. Одно из возможных расположений стены и прохода в ней приведено на рисунке (робот обозначен буквой «Р»):


                  Напишите для робота алгоритм, перемещающий робота в правый нижний угол прямоугольника (см. рисунок):

                  Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                  Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                    №10 (Номер в базе opengia.com: Задание №186CF5 . Номер в базе ComputerScienceForAll.ru: 3168)

                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                    вверх    вниз    влево    вправо

                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                    сверху свободно   снизу свободно   слева свободно   справа свободно

                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                    если условие то

                    последовательность команд

                    все

                    Здесь условие – одна из команд проверки условия.

                    Последовательность команд – это одна или несколько любых команд-приказов.

                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                    если справа свободно то

                    вправо

                    закрасить

                    все

                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                    если (справа свободно) и (не снизу свободно) то

                    вправо

                    все

                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                    нц пока  условие

                    последовательность команд

                    кц

                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                    нц пока справа свободно

                    вправо

                    кц

                     

                    Выполните задание

                    На бесконечном поле имеется длинная вертикальная стена. Длина стены неизвестна. Робот находится в одной из клеток, расположенной непосредственно слева от стены. Начальное положение робота также неизвестно. Одно из возможных положений робота приведено на рисунке (робот обозначен буквой «Р»):


                    Напишите для робота алгоритм, закрашивающий все клетки, расположенные левее стены и прилегающие к ней. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка робот должен закрасить следующие клетки (см. рисунок):


                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                    Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                      №11 (Номер в базе opengia.com: Задание №19DB85 . Номер в базе ComputerScienceForAll.ru: 3179)

                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                      вверх

                      вниз

                      влево

                      вправо

                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения через стену, то он разрушится.

                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                      сверху свободно

                      снизу свободно

                      слева свободно

                      справа свободно

                      Эти команды можно использовать вместе с условием «eсли», имеющим

                      следующий вид:

                      если условие то

                      последовательность команд

                      все

                      Здесь условие – одна из команд проверки условия.

                      Последовательность команд – это одна или несколько любых команд -приказов.

                      Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                      если справа свободно то

                      вправо

                      все

                      В одном условии можно использовать несколько команд проверки условий,

                      применяя логические связки и, или, не, например:

                      если (справа свободно) и (не снизу свободно) то

                      вправо

                      все

                      Для повторения последовательности команд можно использовать цикл

                      «пока», имеющий следующий вид:

                      нц пока условие

                      последовательность команд

                      кц

                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                      нц пока справа свободно

                      вправо

                      кц

                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                      Выполните задание.

                      На бесконечном поле имеется стена, состоящая из 5 последовательных отрезков, расположенных змейкой: вправо, вниз, влево, вниз, вправо, все отрезки неизвестной длины. Робот находится в клетке, расположенной снизу от левого края первой горизонтальной стены.

                      На рисунке указан один из возможных способов расположения стен

                      и Робота (Робот обозначен буквой «Р») .

                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже первого и левее второго отрезков стены и левее четвертого и ниже пятого отрезков стены и угловой клетки. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок)

                      Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                      Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                        №12 (Номер в базе opengia.com: Задание №1AA9FC . Номер в базе ComputerScienceForAll.ru: 3185)

                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                        вверх    вниз    влево    вправо

                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                        сверху свободно   снизу свободно   слева свободно   справа свободно

                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                        если условие то

                        последовательность команд

                        все

                        Здесь условие – одна из команд проверки условия.

                        Последовательность команд – это одна или несколько любых команд-приказов.

                        Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                        если справа свободно то

                        вправо

                        закрасить

                        все

                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                        если (справа свободно) и (не снизу свободно) то

                        вправо

                        все

                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                        нц пока  условие

                        последовательность команд

                        кц

                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                        нц пока справа свободно

                        вправо

                        кц

                        Выполните задание.

                        На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её левого конца.

                        На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и левее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                        При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                        Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                          №13 (Номер в базе opengia.com: Задание №1C390E . Номер в базе ComputerScienceForAll.ru: 3190)

                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                          вверх    вниз    влево    вправо

                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                          сверху свободно   снизу свободно   слева свободно   справа свободно

                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                          если условие то

                          последовательность команд

                          все

                          Здесь условие – одна из команд проверки условия.

                          Последовательность команд – это одна или несколько любых команд-приказов.

                          Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                          если справа свободно то

                          вправо

                          закрасить

                          все

                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                          если (справа свободно) и (не снизу свободно) то

                          вправо

                          все

                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                          нц пока  условие

                          последовательность команд

                          кц

                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                          нц пока справа свободно

                          вправо

                          кц

                          Выполните задание.

                          На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её верхнего конца.

                          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                          Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                          При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                          Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                            №14 (Номер в базе opengia.com: Задание №1FA4A7 . Номер в базе ComputerScienceForAll.ru: 3205)

                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                            вверх    вниз    влево    вправо

                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                            сверху свободно   снизу свободно   слева свободно   справа свободно

                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                            если условие то

                            последовательность команд

                            все

                            Здесь условие – одна из команд проверки условия.

                            Последовательность команд – это одна или несколько любых команд-приказов.

                            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                            если справа свободно то

                            вправо

                            закрасить

                            все

                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                            если (справа свободно) и (не снизу свободно) то

                            вправо

                            все

                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                            нц пока  условие

                            последовательность команд

                            кц

                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                            нц пока справа свободно

                            вправо

                            кц

                            Выполните задание.

                            На бесконечном поле имеется препятствие прямоугольной формы. Размеры препятствия неизвестны. Робот находится в какой-либо клетке, расположенной строго правее препятствия.

                            На рисунке указан один из возможных способов расположения препятствия и Робота (Робот обозначен буквой «Р»):

                            Напишите для Робота алгоритм, закрашивающий клетки, расположенные сверху от прямоугольного препятствия и прилегающие к нему. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                            Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                              №15 (Номер в базе opengia.com: Задание №2220A6 . Номер в базе ComputerScienceForAll.ru: 3235)

                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                              вверх    вниз    влево    вправо

                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                              сверху свободно   снизу свободно   слева свободно   справа свободно

                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                              если условие то

                              последовательность команд

                              все

                              Здесь условие – одна из команд проверки условия.

                              Последовательность команд – это одна или несколько любых команд-приказов.

                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                              если справа свободно то

                              вправо

                              закрасить

                              все

                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                              если (справа свободно) и (не снизу свободно) то

                              вправо

                              все

                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                              нц пока  условие

                              последовательность команд

                              кц

                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                              нц пока справа свободно

                              вправо

                              кц

                              Выполните задание.

                              На бесконечном поле имеется лестница. Сначала лестница справа налево спускается вниз, затем поднимается вверх. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится на правой ступеньке лестницы, в правой клетке.

                              Количество ступеней, ведущих вниз, и количество ступеней, ведущих вверх, неизвестно.

                              На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                              Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения ступеней поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                              Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                №16 (Номер в базе opengia.com: Задание №22CBB2 . Номер в базе ComputerScienceForAll.ru: 3241)

                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                вверх    вниз    влево    вправо

                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                если условие то

                                последовательность команд

                                все

                                Здесь условие – одна из команд проверки условия.

                                Последовательность команд – это одна или несколько любых команд-приказов.

                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                если справа свободно то

                                вправо

                                закрасить

                                все

                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                если (справа свободно) и (не снизу свободно) то

                                вправо

                                все

                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                нц пока  условие

                                последовательность команд

                                кц

                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                нц пока справа свободно

                                вправо

                                кц

                                Выполните задание.

                                На бесконечном поле имеется лестница. Сначала лестница спускается вниз (справа налево), затем поднимается вверх. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится под верхней ступенькой правой части лестницы, в правой клетке.

                                Количество ступенек, ведущих вниз, и количество ступенек, ведущих вверх, неизвестно.

                                На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно под ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                  №17 (Номер в базе opengia.com: Задание №27D7D9 . Номер в базе ComputerScienceForAll.ru: 3270)

                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                  вверх    вниз    влево    вправо

                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                  если условие то

                                  последовательность команд

                                  все

                                  Здесь условие – одна из команд проверки условия.

                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                  если справа свободно то

                                  вправо

                                  закрасить

                                  все

                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                  если (справа свободно) и (не снизу свободно) то

                                  вправо

                                  все

                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                  нц пока  условие

                                  последовательность команд

                                  кц

                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                  нц пока справа свободно

                                  вправо

                                  кц

                                  Выполните задание.

                                  На бесконечном поле имеются две одинаковые вертикальные стены и одна горизонтальная, соединяющая нижние концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных между верхними краями  вертикальных стен.

                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже горизонтальной стены непосредственно под ней. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                  Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                    №18 (Номер в базе opengia.com: Задание №29E4F3 . Номер в базе ComputerScienceForAll.ru: 3279)

                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                    вверх        вниз           влево         вправо

                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                    сверху свободно

                                    снизу свободно

                                    слева свободно

                                    справа свободно

                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                    если условие то                                                       

                                    последовательность команд

                                    все

                                    Здесь условие – одна из команд проверки условия.

                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                    если справа свободно то

                                    вправо

                                    закрасить

                                    все

                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                    если (справа свободно) и (не снизу свободно) то

                                    вправо

                                    все

                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                    нц пока условие

                                    последовательность команд

                                    кц

                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                    нц пока справа свободно

                                    вправо

                                    кц

                                    Выполните задание.

                                    На бесконечном поле имеется стена. Стена состоит из трёх последовательных отрезков: вправо, вниз, вправо, все отрезки неизвестной длины. Робот находится в клетке, расположенной непосредственно сверху левого конца первого отрезка.

                                    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                    Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно правее второго отрезка и над третьим. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                    Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                      №19 (Номер в базе opengia.com: Задание №2C0D61 . Номер в базе ComputerScienceForAll.ru: 3290)

                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                      вверх    вниз    влево    вправо

                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                      если условие то

                                      последовательность команд

                                      все

                                      Здесь условие – одна из команд проверки условия.

                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                      если справа свободно то

                                      вправо

                                      закрасить

                                      все

                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                      если (справа свободно) и (не снизу свободно) то

                                      вправо

                                      все

                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                      нц пока  условие

                                      последовательность команд

                                      кц

                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                      нц пока справа свободно

                                      вправо

                                      кц

                                      Выполните задание.

                                      На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её левого конца.

                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и левее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                      При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                                      Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                      Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                        №20 (Номер в базе opengia.com: Задание №33999C . Номер в базе ComputerScienceForAll.ru: 3338)

                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                        вверх    вниз    влево    вправо

                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                        если условие то

                                        последовательность команд

                                        все

                                        Здесь условие – одна из команд проверки условия.

                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                        если справа свободно то

                                        вправо

                                        закрасить

                                        все

                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                        если (справа свободно) и (не снизу свободно) то

                                        вправо

                                        все

                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                        нц пока  условие

                                        последовательность команд

                                        кц

                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                        нц пока справа свободно

                                        вправо

                                        кц

                                        Выполните задание.

                                        На бесконечном поле имеется лестница. Сначала лестница слева направо поднимается вверх, затем спускается вниз. Высота каждой ступени – две клетки, ширина – одна клетка. Робот находится на нижней ступеньке лестницы слева.

                                        Количество ступенек, ведущих вверх, и количество ступенек, ведущих вниз, неизвестно.

                                        На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                        Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                          №21 (Номер в базе opengia.com: Задание №399C30 . Номер в базе ComputerScienceForAll.ru: 3371)

                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                          вверх    вниз    влево    вправо

                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                          если условие то

                                          последовательность команд

                                          все

                                          Здесь условие – одна из команд проверки условия.

                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                          Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                          если справа свободно то

                                          вправо

                                          закрасить

                                          все

                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                          если (справа свободно) и (не снизу свободно) то

                                          вправо

                                          все

                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                          нц пока  условие

                                          последовательность команд

                                          кц

                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                          нц пока справа свободно

                                          вправо

                                          кц

                                          Выполните задание.

                                          На бесконечном поле имеются две вертикальные стены одинаковой длины, расположенные точно одна напротив другой. Длина стен неизвестна. Расстояние между стенами неизвестно. Робот находится справа от первой стены в клетке, расположенной у её нижнего края.

                                          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                          Напишите для Робота алгоритм, закрашивающий клетки, расположенные справа от первой стены, у её нижнего и верхнего края, и клетку, расположенную слева от второй стены, у её верхнего края. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                          Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                          Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                            №22 (Номер в базе opengia.com: Задание №3F340E . Номер в базе ComputerScienceForAll.ru: 3391)

                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                            вверх    вниз    влево    вправо

                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                            сверху свободно   снизу свободно   слева свободно   справа свободно

                                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                            если условие то

                                            последовательность команд

                                            все

                                            Здесь условие – одна из команд проверки условия.

                                            Последовательность команд – это одна или несколько любых команд-приказов.

                                            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                            если справа свободно то

                                            вправо

                                            закрасить

                                            все

                                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                            если (справа свободно) и (не снизу свободно) то

                                            вправо

                                            все

                                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                            нц пока  условие

                                            последовательность команд

                                            кц

                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                            нц пока справа свободно

                                            вправо

                                            кц

                                            Выполните задание.

                                            На бесконечном поле имеются две одинаковые горизонтальные стены и одна вертикальная, соединяющая правые концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных правее вертикальной стены, рядом со стеной.

                                            На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                            Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к вертикальной стене слева. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                            Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                              №23 (Номер в базе opengia.com: Задание №3FD983 . Номер в базе ComputerScienceForAll.ru: 3393)

                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                              вверх    вниз    влево    вправо

                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                              если условие то

                                              последовательность команд

                                              все

                                              Здесь условие – одна из команд проверки условия.

                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                              если справа свободно то

                                              вправо

                                              закрасить

                                              все

                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                              если (справа свободно) и (не снизу свободно) то

                                              вправо

                                              все

                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                              нц пока  условие

                                              последовательность команд

                                              кц

                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                              нц пока справа свободно

                                              вправо

                                              кц

                                               

                                              Выполните задание

                                              Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Один из возможных размеров прямоугольника и расположение робота внутри прямоугольника приведено на рисунке (робот обозначен буквой «Р»):

                                              Напишите для робота алгоритм, закрашивающий все клетки, расположенные внутри прямоугольника и  прилегающие к нижней стороне прямоугольника. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка робот должен закрасить следующие клетки (см. рисунок):


                                              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                №24 (Номер в базе opengia.com: Задание №49B897 . Номер в базе ComputerScienceForAll.ru: 3457)

                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                вверх    вниз    влево    вправо

                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                если условие то

                                                последовательность команд

                                                все

                                                Здесь условие – одна из команд проверки условия.

                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                если справа свободно то

                                                вправо

                                                закрасить

                                                все

                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                если (справа свободно) и (не снизу свободно) то

                                                вправо

                                                все

                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                нц пока  условие

                                                последовательность команд

                                                кц

                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                нц пока справа свободно

                                                вправо

                                                кц

                                                Выполните задание

                                                Робот находится в левой клетке узкого горизонтального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

                                                Напишите для Робота алгоритм, закрашивающий все клетки внутри коридора и возвращающий Робота в исходную позицию. Например, для привёденного выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                Алгоритм должен решать задачу для произвольного конечного размера коридора. При исполнении алгоритма Робот не должен разрушиться.

                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                  №25 (Номер в базе opengia.com: Задание №4B0633 . Номер в базе ComputerScienceForAll.ru: 3462)

                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Ниже приведено описание Робота. У Робота есть четыре команды перемещения:

                                                  вверх
                                                  вниз
                                                  влево
                                                  вправо

                                                  При выполнении любой из этих команд Робот перемещается на одну клетку
                                                  соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
                                                  Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. Если Робот получит команду передвижения через стену, то он разрушится.

                                                  Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится Робот:

                                                  сверху свободно
                                                  снизу свободно
                                                  слева свободно
                                                  справа свободно

                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                  если условие то
                                                  последовательность команд
                                                  все

                                                  «Последовательность команд» – это одна или несколько любых команд, выполняемых Роботом. Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                                                  если справа свободно то
                                                  вправо
                                                  все

                                                  В одном условии можно использовать несколько команд проверки условий,

                                                  применяя логические связки и, или, не, например:

                                                  если (справа свободно) и не (снизу свободно) то
                                                  вправо
                                                  все

                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                  нц пока условие
                                                  последовательность команд
                                                  кц

                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                  нц пока справа свободно
                                                  вправо
                                                  кц

                                                  Также у Робота есть команда закрасить, закрашивающая клетку, в которой Робот находится в настоящий момент.

                                                  Выполните задание.

                                                  На бесконечном поле имеется лестница. Сначала лестница спускается вниз слева направо, потом поднимается вверх также слева направо. После подъема лестница переходит в вертикальную стену. Высота каждой ступени 1 клетка, ширина – 1 клетка. Количество ступенек, ведущих вверх, и количество ступенек, ведущих вниз, неизвестно. Между спуском и подъемом ширина площадки 1 клетка.

                                                  Робот находится в клетке, расположенной в начале спуска.
                                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над лестницей, как показано на рисунке. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для бесконечного поля и любого количества ступеней. При исполнении алгоритма Робот не должен разрушиться.


                                                    №26 (Номер в базе opengia.com: Задание №4ED5C9 . Номер в базе ComputerScienceForAll.ru: 3488)

                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                    вверх    вниз    влево    вправо

                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                    если условие то

                                                    последовательность команд

                                                    все

                                                    Здесь условие – одна из команд проверки условия.

                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                    если справа свободно то

                                                    вправо

                                                    закрасить

                                                    все

                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                    если (справа свободно) и (не снизу свободно) то

                                                    вправо

                                                    все

                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                    нц пока  условие

                                                    последовательность команд

                                                    кц

                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                    нц пока справа свободно

                                                    вправо

                                                    кц

                                                    Выполните задание.
                                                    На бесконечном поле имеется стена. Стена состоит из трёх последовательных отрезков: вправо, вниз, вправо, все отрезки неизвестной длины. Робот находится в клетке, расположенной над левым концом первого отрезка. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                    Напишите для Робота алгоритм, закрашивающий все клетки, расположенные  непосредственно над первым отрезком, справа от второго и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                    Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                      №27 (Номер в базе opengia.com: Задание №4FC082 . Номер в базе ComputerScienceForAll.ru: 3494)

                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                      вверх    вниз    влево    вправо

                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                      если условие то

                                                      последовательность команд

                                                      все

                                                      Здесь условие – одна из команд проверки условия.

                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                      если справа свободно то

                                                      вправо

                                                      закрасить

                                                      все

                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                      если (справа свободно) и (не снизу свободно) то

                                                      вправо

                                                      все

                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                      нц пока  условие

                                                      последовательность команд

                                                      кц

                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                      нц пока справа свободно

                                                      вправо

                                                      кц

                                                      Выполните задание

                                                      Робот находится в правой клетке узкого горизонтального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

                                                      Напишите для Робота алгоритм, закрашивающий все клетки внутри коридора и возвращающий Робота в исходную позицию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                      Алгоритм должен решать задачу для произвольного конечного размера коридора. При исполнении алгоритма Робот не должен разрушиться.

                                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                      Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                        №28 (Номер в базе opengia.com: Задание №5104A7 . Номер в базе ComputerScienceForAll.ru: 3509)

                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                        вверх    вниз    влево    вправо

                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                        если условие то

                                                        последовательность команд

                                                        все

                                                        Здесь условие – одна из команд проверки условия.

                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                        если справа свободно то

                                                        вправо

                                                        закрасить

                                                        все

                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                        если (справа свободно) и (не снизу свободно) то

                                                        вправо

                                                        все

                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                        нц пока  условие

                                                        последовательность команд

                                                        кц

                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                        нц пока справа свободно

                                                        вправо

                                                        кц

                                                        Выполните задание.

                                                        На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной справа от её верхнего конца.

                                                        На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                        При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                                                        Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                          №29 (Номер в базе opengia.com: Задание №5194E3 . Номер в базе ComputerScienceForAll.ru: 3514)

                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                          вверх

                                                          вниз

                                                          влево

                                                          вправо

                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения через стену, то он разрушится.

                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                          сверху свободно

                                                          снизу свободно

                                                          слева свободно

                                                          справа свободно

                                                          Эти команды можно использовать вместе с условием «eсли», имеющим

                                                          следующий вид:

                                                          если условие то

                                                          последовательность команд

                                                          все

                                                          Здесь условие – одна из команд проверки условия.

                                                          Последовательность команд – это одна или несколько любых команд -приказов.

                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                                                          если справа свободно то

                                                          вправо

                                                          все

                                                          В одном условии можно использовать несколько команд проверки условий,

                                                          применяя логические связки и, или, не, например:

                                                          если (справа свободно) и (не снизу свободно) то

                                                          вправо

                                                          все

                                                          Для повторения последовательности команд можно использовать цикл

                                                          «пока», имеющий следующий вид:

                                                          нц пока условие

                                                          последовательность команд

                                                          кц

                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                          нц пока справа свободно

                                                          вправо

                                                          кц

                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                          Выполните задание.

                                                          На бесконечном поле имеется стена, состоящая из 5 последовательных отрезков, расположенных змейкой: вниз, вправо, вверх, вправо, вниз. Все отрезки неизвестной длины. Робот находится в клетке, расположенной слева от верхнего края первой вертикальной стены.
                                                          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                          Напишите для Робота алгоритм, закрашивающий все клетки, расположенные левее первого, ниже второго отрезков стены и угловую клетку и ниже четвёртого и левее пятого отрезков стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                           

                                                          Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                          Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                            №30 (Номер в базе opengia.com: Задание №541773 . Номер в базе ComputerScienceForAll.ru: 3525)

                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                            вверх    вниз    влево    вправо

                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                            сверху свободно   снизу свободно   слева свободно   справа свободно

                                                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                            если условие то

                                                            последовательность команд

                                                            все

                                                            Здесь условие – одна из команд проверки условия.

                                                            Последовательность команд – это одна или несколько любых команд-приказов.

                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                            если справа свободно то

                                                            вправо

                                                            закрасить

                                                            все

                                                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                            если (справа свободно) и (не снизу свободно) то

                                                            вправо

                                                            все

                                                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                            нц пока  условие

                                                            последовательность команд

                                                            кц

                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                            нц пока справа свободно

                                                            вправо

                                                            кц

                                                            Выполните задание.

                                                            На бесконечном поле имеется лестница. Высота подъема лестницы неизвестна. Сначала лестница поднимается вверх, затем спускается вниз. Высота спуска также неизвестна. Высота и ширина каждой ступени – одна клетка. Робот находится на нижней ступеньке на левом краю лестницы.

                                                            На рисунке указан один из возможных способов расположения лестницы и Робота. Робот обозначен буквой «Р».

                                                            Напишите для Робота алгоритм, закрашивающий все клетки, расположенные на ступенях лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения лестницы. При исполнении алгоритма Робот не должен разрушиться.

                                                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                            Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                              №31 (Номер в базе opengia.com: Задание №552AA2 . Номер в базе ComputerScienceForAll.ru: 3532)

                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                              вверх    вниз    влево    вправо

                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                              если условие то

                                                              последовательность команд

                                                              все

                                                              Здесь условие – одна из команд проверки условия.

                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                              если справа свободно то

                                                              вправо

                                                              закрасить

                                                              все

                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                              если (справа свободно) и (не снизу свободно) то

                                                              вправо

                                                              все

                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                              нц пока  условие

                                                              последовательность команд

                                                              кц

                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                              нц пока справа свободно

                                                              вправо

                                                              кц

                                                              Выполните задание.

                                                              На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной слева от нижнего края вертикальной стены.

                                                              На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                              Напишите для Робота алгоритм, закрашивающий все клетки, расположенные левее вертикальной стены, выше горизонтальной стены и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                №32 (Номер в базе opengia.com: Задание №55A6D7 . Номер в базе ComputerScienceForAll.ru: 3534)

                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                вверх    вниз    влево    вправо

                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                если условие то

                                                                последовательность команд

                                                                все

                                                                Здесь условие – одна из команд проверки условия.

                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                если справа свободно то

                                                                вправо

                                                                закрасить

                                                                все

                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                если (справа свободно) и (не снизу свободно) то

                                                                вправо

                                                                все

                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                нц пока  условие

                                                                последовательность команд

                                                                кц

                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                нц пока справа свободно

                                                                вправо

                                                                кц

                                                                Выполните задание.

                                                                На бесконечном поле имеется лестница. Высота подъема лестницы неизвестна. Сначала лестница поднимается вверх, затем спускается вниз. Высота спуска также неизвестна. Высота и ширина каждой ступени – одна клетка. Робот находится под нижней ступенькой у левого края лестницы.

                                                                На рисунке указан один из возможных способов расположения лестницы и Робота. Робот обозначен буквой «Р».

                                                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные под ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения лестницы. При исполнении алгоритма Робот не должен разрушиться.

                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                  №33 (Номер в базе opengia.com: Задание №586596 . Номер в базе ComputerScienceForAll.ru: 3547)

                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                  вверх    вниз    влево    вправо

                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                  если условие то

                                                                  последовательность команд

                                                                  все

                                                                  Здесь условие – одна из команд проверки условия.

                                                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                  если справа свободно то

                                                                  вправо

                                                                  закрасить

                                                                  все

                                                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                  если (справа свободно) и (не снизу свободно) то

                                                                  вправо

                                                                  все

                                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                  нц пока  условие

                                                                  последовательность команд

                                                                  кц

                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                  нц пока справа свободно

                                                                  вправо

                                                                  кц

                                                                  Выполните задание.

                                                                  На бесконечном поле имеются две горизонтальная стены одинаковой длины, расположенные точно одна над другой. Длина стен неизвестна. Расстояние между стенами неизвестно. Робот находится над нижней стеной в клетке, расположенной у её левого края.

                                                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше нижней стены и ниже верхней стены и прилегающие к ним. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                  Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                    №34 (Номер в базе opengia.com: Задание №5D6646 . Номер в базе ComputerScienceForAll.ru: 3562)

                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Ниже приведено описание Робота. У Робота есть четыре команды перемещения:

                                                                    вверх
                                                                    вниз
                                                                    влево
                                                                    вправо

                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку
                                                                    соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
                                                                    Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. Если Робот получит команду передвижения через стену, то он разрушится.

                                                                    Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится Робот:

                                                                    сверху свободно
                                                                    снизу свободно
                                                                    слева свободно
                                                                    справа свободно

                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                    если условие то
                                                                    последовательность команд
                                                                    все

                                                                    «Последовательность команд» – это одна или несколько любых команд, выполняемых Роботом. Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                                                                    если справа свободно то
                                                                    вправо
                                                                    все

                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                    если (справа свободно) и не (снизу свободно) то
                                                                    вправо
                                                                    все

                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                    нц пока условие
                                                                    последовательность команд
                                                                    кц

                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                    нц пока справа свободно
                                                                    вправо
                                                                    кц

                                                                    Также у Робота есть команда закрасить, закрашивающая клетку, в которой Робот находится в настоящий момент.

                                                                    Выполните задание.

                                                                    На бесконечном поле имеется лестница. Сначала лестница поднимается вверх слева направо, потом опускается вниз также слева направо. Правее спуска лестница переходит в горизонтальную стену. Высота каждой ступени 1 клетка, ширина – 1 клетка. Количество ступенек, ведущих вверх, и количество ступенек, ведущих вниз, неизвестно. Между подъемом и спуском ширина площадки 1 клетка. Робот находится в клетке, расположенной в начале подъема.

                                                                    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р») .

                                                                    Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над лестницей. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для бесконечного поля и любого количества ступеней. При исполнении алгоритма Робот не должен разрушиться.
                                                                     


                                                                      №35 (Номер в базе opengia.com: Задание №5D79E2 . Номер в базе ComputerScienceForAll.ru: 3563)

                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                      вверх    вниз    влево    вправо

                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                      если условие то

                                                                      последовательность команд

                                                                      все

                                                                      Здесь условие – одна из команд проверки условия.

                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                      если справа свободно то

                                                                      вправо

                                                                      закрасить

                                                                      все

                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                      если (справа свободно) и (не снизу свободно) то

                                                                      вправо

                                                                      все

                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                      нц пока  условие

                                                                      последовательность команд

                                                                      кц

                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                      нц пока справа свободно

                                                                      вправо

                                                                      кц

                                                                      Выполните задание.

                                                                      На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной справа от её верхнего конца.

                                                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                      При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                                                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                      Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                        №36 (Номер в базе opengia.com: Задание №699111 . Номер в базе ComputerScienceForAll.ru: 3651)

                                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                        вверх    вниз    влево    вправо

                                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                        если условие то

                                                                        последовательность команд

                                                                        все

                                                                        Здесь условие – одна из команд проверки условия.

                                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                        если справа свободно то

                                                                        вправо

                                                                        закрасить

                                                                        все

                                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                        если (справа свободно) и (не снизу свободно) то

                                                                        вправо

                                                                        все

                                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                        нц пока  условие

                                                                        последовательность команд

                                                                        кц

                                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                        нц пока справа свободно

                                                                        вправо

                                                                        кц

                                                                        Выполните задание.

                                                                        На бесконечном поле имеется лестница. Сначала лестница поднимается вверх справа налево, затем поднимается вверх слева направо. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится справа от нижней ступени лестницы.

                                                                        Количество ступеней, ведущих налево, и количество ступеней, ведущих направо, неизвестно.

                                                                        На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно под ступенями лестницы, поднимающейся слева направо. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                        Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения ступеней внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                          №37 (Номер в базе opengia.com: Задание №6DB105 . Номер в базе ComputerScienceForAll.ru: 3667)

                                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                          вверх    вниз    влево    вправо

                                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                          если условие то

                                                                          последовательность команд

                                                                          все

                                                                          Здесь условие – одна из команд проверки условия.

                                                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                                                                          если справа свободно то

                                                                          вправо

                                                                          закрасить

                                                                          все

                                                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                          если (справа свободно) и (не снизу свободно) то

                                                                          вправо

                                                                          все

                                                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                          нц пока  условие

                                                                          последовательность команд

                                                                          кц

                                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                          нц пока справа свободно

                                                                          вправо

                                                                          кц

                                                                           

                                                                          Выполните задание.

                                                                          На бесконечном поле имеется стена, огораживающая некоторый прямоугольник. В стене, являющейся нижней стороной прямоугольника, имеется проход шириной в одну клетку. При этом данная клетка не является крайней клеткой стены. Размеры стены неизвестны. Робот находится внутри огороженного прямоугольника, его точное расположение также неизвестно. Одно из возможных положений робота приведено на рисунке (робот обозначен буквой «Р»):

                                                                          Напишите алгоритм, который перемещает робота вне огороженного прямоугольника, независимо от размеров прямоугольника и начального расположения робота. Например, после исполнения данного алгоритма робот может оказаться в следующей клетке:

                                                                          Алгоритм напишите в текстовом редакторе и сохраните в текстовом файле. Название файла и каталог для сохранения вам сообщат организаторы экзамена.


                                                                            №38 (Номер в базе opengia.com: Задание №71F7F8 . Номер в базе ComputerScienceForAll.ru: 3712)

                                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                            вверх    вниз    влево    вправо

                                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                            сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                            если условие то

                                                                            последовательность команд

                                                                            все

                                                                            Здесь условие – одна из команд проверки условия.

                                                                            Последовательность команд – это одна или несколько любых команд-приказов.

                                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                            если справа свободно то

                                                                            вправо

                                                                            закрасить

                                                                            все

                                                                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                            если (справа свободно) и (не снизу свободно) то

                                                                            вправо

                                                                            все

                                                                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                            нц пока  условие

                                                                            последовательность команд

                                                                            кц

                                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                            нц пока справа свободно

                                                                            вправо

                                                                            кц

                                                                            Выполните задание.

                                                                            На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её правого конца.

                                                                            На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                            Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно левее и правее вертикальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                            При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                                                                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                            Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                              №39 (Номер в базе opengia.com: Задание №738C06 . Номер в базе ComputerScienceForAll.ru: 3721)

                                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                              вверх    вниз    влево    вправо

                                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                              если условие то

                                                                              последовательность команд

                                                                              все

                                                                              Здесь условие – одна из команд проверки условия.

                                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                              если справа свободно то

                                                                              вправо

                                                                              закрасить

                                                                              все

                                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                              если (справа свободно) и (не снизу свободно) то

                                                                              вправо

                                                                              все

                                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                              нц пока  условие

                                                                              последовательность команд

                                                                              кц

                                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                              нц пока справа свободно

                                                                              вправо

                                                                              кц

                                                                              Выполните задание.

                                                                              На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. От правого конца этой стены отходит вниз вторая вертикальная стена неизвестной длины. Робот находится в клетке, расположенной справа от нижнего края первой вертикальной стены.

                                                                              На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                              Напишите для Робота алгоритм, закрашивающий клетку, на которой находится Робот первоначально, и клетки, расположенные слева от второй вертикальной стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                №40 (Номер в базе opengia.com: Задание №74E2C8 . Номер в базе ComputerScienceForAll.ru: 3724)

                                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                вверх    вниз    влево    вправо

                                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                если условие то

                                                                                последовательность команд

                                                                                все

                                                                                Здесь условие – одна из команд проверки условия.

                                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                если справа свободно то

                                                                                вправо

                                                                                закрасить

                                                                                все

                                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                если (справа свободно) и (не снизу свободно) то

                                                                                вправо

                                                                                все

                                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                нц пока  условие

                                                                                последовательность команд

                                                                                кц

                                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                нц пока справа свободно

                                                                                вправо

                                                                                кц

                                                                                Выполните задание.

                                                                                На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её нижнего конца.

                                                                                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно левее вертикальной стены и ниже горизонтальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                                                                                Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                  №41 (Номер в базе opengia.com: Задание №74E2CC . Номер в базе ComputerScienceForAll.ru: 3725)

                                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                  вверх    вниз    влево    вправо

                                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                  если условие то

                                                                                  последовательность команд

                                                                                  все

                                                                                  Здесь условие – одна из команд проверки условия.

                                                                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                  если справа свободно то

                                                                                  вправо

                                                                                  закрасить

                                                                                  все

                                                                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                  если (справа свободно) и (не снизу свободно) то

                                                                                  вправо

                                                                                  все

                                                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                  нц пока  условие

                                                                                  последовательность команд

                                                                                  кц

                                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                  нц пока справа свободно

                                                                                  вправо

                                                                                  кц

                                                                                  Выполните задание.

                                                                                  На бесконечном поле имеется стена, состоящая из трёх последовательных отрезков: вправо, вниз, влево. Все отрезки неизвестной длины. Робот находится в клетке, расположенной в нижнем углу, который образуется вторым и третьим отрезком.

                                                                                  На рисунке указан один из возможных способов расположения стены и Робота (Робот обозначен буквой «Р»).

                                                                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже третьего отрезка. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                  Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                    №42 (Номер в базе opengia.com: Задание №78C383 . Номер в базе ComputerScienceForAll.ru: 3745)

                                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                    вверх    вниз    влево    вправо

                                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                    если условие то

                                                                                    последовательность команд

                                                                                    все

                                                                                    Здесь условие – одна из команд проверки условия.

                                                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                    если справа свободно то

                                                                                    вправо

                                                                                    закрасить

                                                                                    все

                                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                    если (справа свободно) и (не снизу свободно) то

                                                                                    вправо

                                                                                    все

                                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                    нц пока  условие

                                                                                    последовательность команд

                                                                                    кц

                                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                    нц пока справа свободно

                                                                                    вправо

                                                                                    кц

                                                                                    Выполните задание.

                                                                                    На бесконечном поле имеются две вертикальные стены одинаковой длины, расположенные точно одна напротив другой. Длина стен неизвестна. Расстояние между стенами неизвестно. Робот находится справа от первой стены в клетке, расположенной у её нижнего края.

                                                                                    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                                    Напишите для Робота алгоритм, закрашивающий все клетки самого верхнего ряда, расположенные между стенами. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                    Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                      №43 (Номер в базе opengia.com: Задание №7A7F7E . Номер в базе ComputerScienceForAll.ru: 3754)

                                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                      вверх    вниз    влево    вправо

                                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                      если условие то

                                                                                      последовательность команд

                                                                                      все

                                                                                      Здесь условие – одна из команд проверки условия.

                                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                      если справа свободно то

                                                                                      вправо

                                                                                      закрасить

                                                                                      все

                                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                      если (справа свободно) и (не снизу свободно) то

                                                                                      вправо

                                                                                      все

                                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                      нц пока  условие

                                                                                      последовательность команд

                                                                                      кц

                                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                      нц пока справа свободно

                                                                                      вправо

                                                                                      кц

                                                                                      Выполните задание.

                                                                                      На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится над горизонтальной стеной в клетке, расположенной у левого её края.

                                                                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные выше и ниже горизонтальной стены, прилегающие к ней. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                      Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                      Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                        №44 (Номер в базе opengia.com: Задание №7B8152 . Номер в базе ComputerScienceForAll.ru: 3762)

                                                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                        вверх    вниз    влево    вправо

                                                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                        если условие то

                                                                                        последовательность команд

                                                                                        все

                                                                                        Здесь условие – одна из команд проверки условия.

                                                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                        если справа свободно то

                                                                                        вправо

                                                                                        закрасить

                                                                                        все

                                                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                        если (справа свободно) и (не снизу свободно) то

                                                                                        вправо

                                                                                        все

                                                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                        нц пока  условие

                                                                                        последовательность команд

                                                                                        кц

                                                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                        нц пока справа свободно

                                                                                        вправо

                                                                                        кц

                                                                                        Выполните задание.

                                                                                        На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её правого конца.

                                                                                        На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                        При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                                                                                        Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                                                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                          №45 (Номер в базе opengia.com: Задание №7D40D4 . Номер в базе ComputerScienceForAll.ru: 3777)

                                                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                          вверх    вниз    влево    вправо

                                                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                          если условие то

                                                                                          последовательность команд

                                                                                          все

                                                                                          Здесь условие – одна из команд проверки условия.

                                                                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                          если справа свободно то

                                                                                          вправо

                                                                                          закрасить

                                                                                          все

                                                                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                          если (справа свободно) и (не снизу свободно) то

                                                                                          вправо

                                                                                          все

                                                                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                          нц пока  условие

                                                                                          последовательность команд

                                                                                          кц

                                                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                          нц пока справа свободно

                                                                                          вправо

                                                                                          кц

                                                                                          Выполните задание.

                                                                                          На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у её левого конца.

                                                                                          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                          Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно левее и правее вертикальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                          При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                                                                                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                          Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                            №46 (Номер в базе opengia.com: Задание №8758DD . Номер в базе ComputerScienceForAll.ru: 3842)

                                                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                            вверх

                                                                                            вниз

                                                                                            влево

                                                                                            вправо

                                                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения через стену, то он разрушится.

                                                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                            сверху свободно

                                                                                            снизу свободно

                                                                                            слева свободно

                                                                                            справа свободно

                                                                                            Эти команды можно использовать вместе с условием «eсли», имеющим

                                                                                            следующий вид:

                                                                                            если условие то

                                                                                            последовательность команд

                                                                                            все

                                                                                            Здесь условие – одна из команд проверки условия.

                                                                                            Последовательность команд – это одна или несколько любых команд -приказов.

                                                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                                                                                            если справа свободно то

                                                                                            вправо

                                                                                            все

                                                                                            В одном условии можно использовать несколько команд проверки условий,

                                                                                            применяя логические связки и, или, не, например:

                                                                                            если (справа свободно) и (не снизу свободно) то

                                                                                            вправо

                                                                                            все

                                                                                            Для повторения последовательности команд можно использовать цикл

                                                                                            «пока», имеющий следующий вид:

                                                                                            нц пока условие

                                                                                            последовательность команд

                                                                                            кц

                                                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                            нц пока справа свободно

                                                                                            вправо

                                                                                            кц

                                                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                            Выполните задание.

                                                                                            На бесконечном поле имеется горизонтальная стена, бесконечно продолжающаяся влево и заканчивающаяся лестницей, которая поднимается слева направо. Высота каждой ступени – одна клетка, ширина – три клетки. Робот находится на горизонтальной стене, левее лестницы.

                                                                                            На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                                            Напишите для Робота алгоритм, закрашивающий все клетки, расположенные

                                                                                            непосредственно над ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого количества ступеней.

                                                                                            При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                            Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

                                                                                            Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                              №47 (Номер в базе opengia.com: Задание №8B2C60 . Номер в базе ComputerScienceForAll.ru: 3863)

                                                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                              вверх    вниз    влево    вправо

                                                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                              если условие то

                                                                                              последовательность команд

                                                                                              все

                                                                                              Здесь условие – одна из команд проверки условия.

                                                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                              если справа свободно то

                                                                                              вправо

                                                                                              закрасить

                                                                                              все

                                                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                              если (справа свободно) и (не снизу свободно) то

                                                                                              вправо

                                                                                              все

                                                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                              нц пока  условие

                                                                                              последовательность команд

                                                                                              кц

                                                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                              нц пока справа свободно

                                                                                              вправо

                                                                                              кц

                                                                                              Выполните задание.

                                                                                              На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её левого конца.

                                                                                              На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                              Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно левее и правее вертикальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                              При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                                                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                              Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                №48 (Номер в базе opengia.com: Задание №8C855F . Номер в базе ComputerScienceForAll.ru: 3868)

                                                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                вверх    вниз    влево    вправо

                                                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                если условие то

                                                                                                последовательность команд

                                                                                                все

                                                                                                Здесь условие – одна из команд проверки условия.

                                                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                если справа свободно то

                                                                                                вправо

                                                                                                закрасить

                                                                                                все

                                                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                если (справа свободно) и (не снизу свободно) то

                                                                                                вправо

                                                                                                все

                                                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                нц пока  условие

                                                                                                последовательность команд

                                                                                                кц

                                                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                нц пока справа свободно

                                                                                                вправо

                                                                                                кц

                                                                                                Выполните задание.

                                                                                                На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её правого конца.

                                                                                                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                                                                                                Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                                                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                  №49 (Номер в базе opengia.com: Задание №8D6AAB . Номер в базе ComputerScienceForAll.ru: 3871)

                                                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                  вверх    вниз    влево    вправо

                                                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                  если условие то

                                                                                                  последовательность команд

                                                                                                  все

                                                                                                  Здесь условие – одна из команд проверки условия.

                                                                                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                  если справа свободно то

                                                                                                  вправо

                                                                                                  закрасить

                                                                                                  все

                                                                                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                  если (справа свободно) и (не снизу свободно) то

                                                                                                  вправо

                                                                                                  все

                                                                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                  нц пока  условие

                                                                                                  последовательность команд

                                                                                                  кц

                                                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                  нц пока справа свободно

                                                                                                  вправо

                                                                                                  кц

                                                                                                  Выполните задание.

                                                                                                  На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её верхнего конца.

                                                                                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и левее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                  При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

                                                                                                  Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.

                                                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                  Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                    №50 (Номер в базе opengia.com: Задание №8EE0C5 . Номер в базе ComputerScienceForAll.ru: 3877)

                                                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                    вверх    вниз    влево    вправо

                                                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                    если условие то

                                                                                                    последовательность команд

                                                                                                    все

                                                                                                    Здесь условие – одна из команд проверки условия.

                                                                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                    если справа свободно то

                                                                                                    вправо

                                                                                                    закрасить

                                                                                                    все

                                                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                    если (справа свободно) и (не снизу свободно) то

                                                                                                    вправо

                                                                                                    все

                                                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                    нц пока  условие

                                                                                                    последовательность команд

                                                                                                    кц

                                                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                    нц пока справа свободно

                                                                                                    вправо

                                                                                                    кц

                                                                                                    Выполните задание.

                                                                                                    На бесконечном поле имеются две вертикальные стены и одна горизонтальная, соединяющая нижний конец левой и верхний конец правой вертикальных стен. Длины стен неизвестны. Робот находится в клетке, расположенной справа от верхнего края левой вертикальной стены, рядом со стеной.

                                                                                                    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                    Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к вертикальным стенам слева. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                    Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                      №51 (Номер в базе opengia.com: Задание №91F106 . Номер в базе ComputerScienceForAll.ru: 3900)

                                                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                      вверх    вниз    влево    вправо

                                                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                      если условие то

                                                                                                      последовательность команд

                                                                                                      все

                                                                                                      Здесь условие – одна из команд проверки условия.

                                                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                      если справа свободно то

                                                                                                      вправо

                                                                                                      закрасить

                                                                                                      все

                                                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                      если (справа свободно) и (не снизу свободно) то

                                                                                                      вправо

                                                                                                      все

                                                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                      нц пока  условие

                                                                                                      последовательность команд

                                                                                                      кц

                                                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                      нц пока справа свободно

                                                                                                      вправо

                                                                                                      кц

                                                                                                      Выполните задание.

                                                                                                      На бесконечном поле имеются две вертикальные стены и одна горизонтальная, соединяющая нижний конец правой и верхний конец левой вертикальных стен. Длины стен неизвестны. Робот находится в клетке, расположенной слева от верхнего края правой вертикальной стены, рядом со стеной.

                                                                                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                      Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к вертикальным стенам справа. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                      Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                      Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                        №52 (Номер в базе opengia.com: Задание №94262E . Номер в базе ComputerScienceForAll.ru: 3909)

                                                                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                        вверх    вниз    влево    вправо

                                                                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                        если условие то

                                                                                                        последовательность команд

                                                                                                        все

                                                                                                        Здесь условие – одна из команд проверки условия.

                                                                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                        если справа свободно то

                                                                                                        вправо

                                                                                                        закрасить

                                                                                                        все

                                                                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                        если (справа свободно) и (не снизу свободно) то

                                                                                                        вправо

                                                                                                        все

                                                                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                        нц пока  условие

                                                                                                        последовательность команд

                                                                                                        кц

                                                                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                        нц пока справа свободно

                                                                                                        вправо

                                                                                                        кц

                                                                                                        Выполните задание.

                                                                                                        На бесконечном поле имеется стена, состоящая из трёх последовательных отрезков: вправо, вниз, влево. Все отрезки неизвестной длины. Робот находится в клетке, расположенной в нижнем углу, который образуется вторым и третьим отрезком.

                                                                                                        На рисунке указан один из возможных способов расположения стены и Робота (Робот обозначен буквой «Р»).


                                                                                                         

                                                                                                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные справа от второго отрезка. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).



                                                                                                        Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                          №53 (Номер в базе opengia.com: Задание №9AE849 . Номер в базе ComputerScienceForAll.ru: 3951)

                                                                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                          вверх    вниз    влево    вправо

                                                                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                          если условие то

                                                                                                          последовательность команд

                                                                                                          все

                                                                                                          Здесь условие – одна из команд проверки условия.

                                                                                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                          если справа свободно то

                                                                                                          вправо

                                                                                                          закрасить

                                                                                                          все

                                                                                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                          если (справа свободно) и (не снизу свободно) то

                                                                                                          вправо

                                                                                                          все

                                                                                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                          нц пока  условие

                                                                                                          последовательность команд

                                                                                                          кц

                                                                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                          нц пока справа свободно

                                                                                                          вправо

                                                                                                          кц

                                                                                                          Выполните задание.

                                                                                                          На бесконечном поле имеются две одинаковые горизонтальные стены и одна вертикальная, соединяющая левые концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных между правыми краями  горизонтальных стен.

                                                                                                          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                          Напишите для Робота алгоритм, закрашивающий все клетки, расположенные левее вертикальной стены непосредственно рядом с ней. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                          Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                          Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                            №54 (Номер в базе opengia.com: Задание №9C6377 . Номер в базе ComputerScienceForAll.ru: 3957)

                                                                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                            вверх    вниз    влево    вправо

                                                                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                            сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                            если условие то

                                                                                                            последовательность команд

                                                                                                            все

                                                                                                            Здесь условие – одна из команд проверки условия.

                                                                                                            Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                            если справа свободно то

                                                                                                            вправо

                                                                                                            закрасить

                                                                                                            все

                                                                                                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                            если (справа свободно) и (не снизу свободно) то

                                                                                                            вправо

                                                                                                            все

                                                                                                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                            нц пока  условие

                                                                                                            последовательность команд

                                                                                                            кц

                                                                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                            нц пока справа свободно

                                                                                                            вправо

                                                                                                            кц

                                                                                                            Выполните задание.

                                                                                                            На бесконечном поле имеются две одинаковые вертикальные параллельные стены, расположенные на одинаковой высоте и отстоящие друг от друга более чем на 1 клетку. Длины стен неизвестны. Робот находится в одной из клеток, расположенной справа от левой стены, рядом со стеной.

                                                                                                            На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                            Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие
                                                                                                            к вертикальным стенам справа. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                            Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                              №55 (Номер в базе opengia.com: Задание №9F98A2 . Номер в базе ComputerScienceForAll.ru: 3974)

                                                                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                              вверх    вниз    влево    вправо

                                                                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                              если условие то

                                                                                                              последовательность команд

                                                                                                              все

                                                                                                              Здесь условие – одна из команд проверки условия.

                                                                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                              если справа свободно то

                                                                                                              вправо

                                                                                                              закрасить

                                                                                                              все

                                                                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                              если (справа свободно) и (не снизу свободно) то

                                                                                                              вправо

                                                                                                              все

                                                                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                              нц пока  условие

                                                                                                              последовательность команд

                                                                                                              кц

                                                                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                              нц пока справа свободно

                                                                                                              вправо

                                                                                                              кц

                                                                                                              Выполните задание.

                                                                                                              На бесконечном поле имеются две одинаковые вертикальные стены и одна горизонтальная, соединяющая верхние концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных над верхней стеной, рядом с ней.

                                                                                                              На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                              Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно под горизонтальной стеной. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                              Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                №56 (Номер в базе opengia.com: Задание №9FA6D5 . Номер в базе ComputerScienceForAll.ru: 3975)

                                                                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                вверх    вниз    влево    вправо

                                                                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                если условие то

                                                                                                                последовательность команд

                                                                                                                все

                                                                                                                Здесь условие – одна из команд проверки условия.

                                                                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                если справа свободно то

                                                                                                                вправо

                                                                                                                закрасить

                                                                                                                все

                                                                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                если (справа свободно) и (не снизу свободно) то

                                                                                                                вправо

                                                                                                                все

                                                                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                нц пока  условие

                                                                                                                последовательность команд

                                                                                                                кц

                                                                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                нц пока справа свободно

                                                                                                                вправо

                                                                                                                кц

                                                                                                                Выполните задание.

                                                                                                                На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В вертикальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её правого конца.

                                                                                                                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно левее и правее вертикальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                                                                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                  №57 (Номер в базе opengia.com: Задание №9FBE31 . Номер в базе ComputerScienceForAll.ru: 3976)

                                                                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                  вверх    вниз    влево    вправо

                                                                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                  если условие то

                                                                                                                  последовательность команд

                                                                                                                  все

                                                                                                                  Здесь условие – одна из команд проверки условия.

                                                                                                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                  если справа свободно то

                                                                                                                  вправо

                                                                                                                  закрасить

                                                                                                                  все

                                                                                                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                  если (справа свободно) и (не снизу свободно) то

                                                                                                                  вправо

                                                                                                                  все

                                                                                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                  нц пока  условие

                                                                                                                  последовательность команд

                                                                                                                  кц

                                                                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                  нц пока справа свободно

                                                                                                                  вправо

                                                                                                                  кц

                                                                                                                  Выполните задание.

                                                                                                                  На бесконечном поле имеется лестница. Сначала лестница слева направо спускается вниз, затем поднимается вверх. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится на первой ступеньке лестницы, в левой клетке.

                                                                                                                  Количество ступеней, ведущих вниз, и количество ступеней, ведущих вверх, неизвестно.

                                                                                                                  На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                                                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения ступеней внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                  Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                    №58 (Номер в базе opengia.com: Задание №A09148 . Номер в базе ComputerScienceForAll.ru: 3984)

                                                                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                    вверх    вниз    влево    вправо

                                                                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                    если условие то

                                                                                                                    последовательность команд

                                                                                                                    все

                                                                                                                    Здесь условие – одна из команд проверки условия.

                                                                                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                    если справа свободно то

                                                                                                                    вправо

                                                                                                                    закрасить

                                                                                                                    все

                                                                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                    если (справа свободно) и (не снизу свободно) то

                                                                                                                    вправо

                                                                                                                    все

                                                                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                    нц пока  условие

                                                                                                                    последовательность команд

                                                                                                                    кц

                                                                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                    нц пока справа свободно

                                                                                                                    вправо

                                                                                                                    кц

                                                                                                                    Выполните задание.

                                                                                                                    На бесконечном поле имеется лестница. Сначала лестница спускается вниз слева направо, затем спускается вниз справа налево. Высота каждой
                                                                                                                    ступени – одна клетка, ширина – две клетки. Робот находится слева от верхней ступени лестницы.

                                                                                                                    Количество ступеней, ведущих налево, и количество ступеней, ведущих направо, неизвестно.

                                                                                                                    На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                                                                    Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы, спускающейся справа налево. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                    Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

                                                                                                                    Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                      №59 (Номер в базе opengia.com: Задание №A0BB5A . Номер в базе ComputerScienceForAll.ru: 3986)

                                                                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                      вверх   вниз   влево   вправо

                                                                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                      Также у Робота есть команда закрасить. При её выполнении закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                      если условие то

                                                                                                                      последовательность команд

                                                                                                                      все

                                                                                                                      Здесь условие – одна из команд проверки условия.

                                                                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                                                                                                                      если справа свободно то

                                                                                                                      вправо

                                                                                                                      закрасить

                                                                                                                      все

                                                                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                      если (справа свободно) и (не снизу свободно) то

                                                                                                                      вправо

                                                                                                                      все

                                                                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                      нц пока условие

                                                                                                                      последовательность команд

                                                                                                                      кц

                                                                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                      нц пока справа свободно

                                                                                                                      вправо

                                                                                                                      кц

                                                                                                                      Выполните задание.

                                                                                                                      На бесконечном поле имеются четыре стены, соединённые между собой, которые образуют прямоугольник. Длины стен неизвестны. В левой вертикальной стене есть ровно один проход. Проход не может примыкать к углу прямоугольника. Точное место прохода и ширина прохода неизвестна. Робот находится около нижнего конца левой вертикальной стены, снаружи прямоугольника и выше нижней стены.

                                                                                                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные вдоль стен прямоугольника с внешней стороны и угловые клетки Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                      При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера прохода внутри стены.

                                                                                                                      Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

                                                                                                                      Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                        №60 (Номер в базе opengia.com: Задание №A85046 . Номер в базе ComputerScienceForAll.ru: 4012)

                                                                                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                        вверх    вниз    влево    вправо

                                                                                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                        если условие то

                                                                                                                        последовательность команд

                                                                                                                        все

                                                                                                                        Здесь условие – одна из команд проверки условия.

                                                                                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                                                                                                                        если справа свободно то

                                                                                                                        вправо

                                                                                                                        закрасить

                                                                                                                        все

                                                                                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                        если (справа свободно) и (не снизу свободно) то

                                                                                                                        вправо

                                                                                                                        все

                                                                                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                        нц пока  условие

                                                                                                                        последовательность команд

                                                                                                                        кц

                                                                                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                        нц пока справа свободно

                                                                                                                        вправо

                                                                                                                        кц

                                                                                                                         

                                                                                                                        Выполните задание.

                                                                                                                        На бесконечном поле имеется длинная горизонтальная стена. Длина стены неизвестна. Робот находится в одной из клеток непосредственно сверху от стены. Одно из возможных положений робота приведено на рисунке (робот обозначен буквой «Р»):


                                                                                                                        Напишите алгоритм для робота, закрашивающий все клетки, расположенные ниже стены и прилегающие к ней. Робот должен закрасить только клетки, удовлетворяющие условию. Например, для приведенного выше рисунка робот должен закрасить следующие клетки:

                                                                                                                        Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                        Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                          №61 (Номер в базе opengia.com: Задание №A8C8CB . Номер в базе ComputerScienceForAll.ru: 4014)

                                                                                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                          вверх   вниз   влево   вправо

                                                                                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                          если условие то

                                                                                                                          последовательность команд

                                                                                                                          все

                                                                                                                          Здесь условие – одна из команд проверки условия.

                                                                                                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                                                                                                                          если справа свободно то

                                                                                                                          вправо

                                                                                                                          закрасить

                                                                                                                          все

                                                                                                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                          если (справа свободно) и (не снизу свободно) то

                                                                                                                          вправо

                                                                                                                          все

                                                                                                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                          нц пока условие

                                                                                                                          последовательность команд

                                                                                                                          кц

                                                                                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                          нц пока справа свободно

                                                                                                                          вправо

                                                                                                                          кц

                                                                                                                           

                                                                                                                          Выполните задание.

                                                                                                                          На бесконечном поле имеются четыре стены, соединённые между собой, которые образуют прямоугольник. Длины стен неизвестны. В левой вертикальной стене есть ровно один проход, в нижней горизонтальной стене также есть ровно один проход. Проход не может примыкать к углу прямоугольника. Точные места проходов и ширина проходов неизвестны. Робот находится около нижнего конца левой вертикальной стены, снаружи прямоугольника и выше нижней стены.

                                                                                                                          На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                          Напишите для Робота алгоритм, закрашивающий все клетки, расположенные вдоль стен прямоугольника с внутренней стороны. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                          При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера прохода внутри стены.

                                                                                                                          Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

                                                                                                                          Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                            №62 (Номер в базе opengia.com: Задание №AC1D67 . Номер в базе ComputerScienceForAll.ru: 4025)

                                                                                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                            вверх    вниз    влево    вправо

                                                                                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                            сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                            если условие то

                                                                                                                            последовательность команд

                                                                                                                            все

                                                                                                                            Здесь условие – одна из команд проверки условия.

                                                                                                                            Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                            если справа свободно то

                                                                                                                            вправо

                                                                                                                            закрасить

                                                                                                                            все

                                                                                                                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                            если (справа свободно) и (не снизу свободно) то

                                                                                                                            вправо

                                                                                                                            все

                                                                                                                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                            нц пока  условие

                                                                                                                            последовательность команд

                                                                                                                            кц

                                                                                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                            нц пока справа свободно

                                                                                                                            вправо

                                                                                                                            кц

                                                                                                                            Выполните задание.

                                                                                                                            На бесконечном поле имеется лестница. Сначала лестница слева направо поднимается вверх, затем спускается вниз. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится под левой клеткой первой ступеньки лестницы.

                                                                                                                            Количество ступеней, ведущих вверх, и количество ступеней, ведущих вниз, неизвестно.

                                                                                                                            На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                                                                            Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно под ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения ступеней внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                            Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                              №63 (Номер в базе opengia.com: Задание №AE966C . Номер в базе ComputerScienceForAll.ru: 4037)

                                                                                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                              вверх    вниз    влево    вправо

                                                                                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                              если условие то

                                                                                                                              последовательность команд

                                                                                                                              все

                                                                                                                              Здесь условие – одна из команд проверки условия.

                                                                                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                              если справа свободно то

                                                                                                                              вправо

                                                                                                                              закрасить

                                                                                                                              все

                                                                                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                              если (справа свободно) и (не снизу свободно) то

                                                                                                                              вправо

                                                                                                                              все

                                                                                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                              нц пока  условие

                                                                                                                              последовательность команд

                                                                                                                              кц

                                                                                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                              нц пока справа свободно

                                                                                                                              вправо

                                                                                                                              кц

                                                                                                                              Выполните задание

                                                                                                                              Робот находится в верхней клетке узкого вертикального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

                                                                                                                              Напишите для Робота алгоритм, закрашивающий все клетки внутри коридора и возвращающий Робота в исходную позицию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                              Алгоритм должен решать задачу для произвольного конечного размера коридора. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                №64 (Номер в базе opengia.com: Задание №AF2589 . Номер в базе ComputerScienceForAll.ru: 4041)

                                                                                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                вверх    вниз    влево    вправо

                                                                                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                если условие то

                                                                                                                                последовательность команд

                                                                                                                                все

                                                                                                                                Здесь условие – одна из команд проверки условия.

                                                                                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                если справа свободно то

                                                                                                                                вправо

                                                                                                                                закрасить

                                                                                                                                все

                                                                                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                если (справа свободно) и (не снизу свободно) то

                                                                                                                                вправо

                                                                                                                                все

                                                                                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                нц пока  условие

                                                                                                                                последовательность команд

                                                                                                                                кц

                                                                                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                нц пока справа свободно

                                                                                                                                вправо

                                                                                                                                кц

                                                                                                                                Выполните задание.

                                                                                                                                На бесконечном поле имеются две одинаковые вертикальные стены и одна горизонтальная, соединяющая нижние концы стен. Длины стен неизвестны. Робот находится в одной из клеток, расположенных непосредственно под нижней стеной.

                                                                                                                                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к горизонтальной стене сверху. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                  №65 (Номер в базе opengia.com: Задание №B34816 . Номер в базе ComputerScienceForAll.ru: 4056)

                                                                                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                  вверх

                                                                                                                                  вниз

                                                                                                                                  влево

                                                                                                                                  вправо

                                                                                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения через стену, то он разрушится.

                                                                                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                  сверху свободно

                                                                                                                                  снизу свободно

                                                                                                                                  слева свободно

                                                                                                                                  справа свободно

                                                                                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим

                                                                                                                                  следующий вид:

                                                                                                                                  если условие то

                                                                                                                                  последовательность команд

                                                                                                                                  все

                                                                                                                                  Здесь условие – одна из команд проверки условия.

                                                                                                                                  Последовательность команд – это одна или несколько любых команд -приказов.

                                                                                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                                                                                                                                  если справа свободно то

                                                                                                                                  вправо

                                                                                                                                  все

                                                                                                                                  В одном условии можно использовать несколько команд проверки условий,

                                                                                                                                  применяя логические связки и, или, не, например:

                                                                                                                                  если (справа свободно) и (не снизу свободно) то

                                                                                                                                  вправо

                                                                                                                                  все

                                                                                                                                  Для повторения последовательности команд можно использовать цикл

                                                                                                                                  «пока», имеющий следующий вид:

                                                                                                                                  нц пока условие

                                                                                                                                  последовательность команд

                                                                                                                                  кц

                                                                                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                  нц пока справа свободно

                                                                                                                                  вправо

                                                                                                                                  кц

                                                                                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                  Выполните задание.

                                                                                                                                  На бесконечном поле имеются четыре стены, расположенные в форме прямоугольника. Длины вертикальных и горизонтальных стен неизвестны. Робот находится в клетке, расположенной в левом верхнем углу прямоугольника.

                                                                                                                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                   

                                                                                                                                  Напишите для Робота алгоритм, закрашивающий все клетки, расположенные с внутренней стороны правой и нижней стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                  Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                    №66 (Номер в базе opengia.com: Задание №B3686E . Номер в базе ComputerScienceForAll.ru: 4058)

                                                                                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                    вверх    вниз    влево    вправо

                                                                                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                    если условие то

                                                                                                                                    последовательность команд

                                                                                                                                    все

                                                                                                                                    Здесь условие – одна из команд проверки условия.

                                                                                                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                    если справа свободно то

                                                                                                                                    вправо

                                                                                                                                    закрасить

                                                                                                                                    все

                                                                                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                    если (справа свободно) и (не снизу свободно) то

                                                                                                                                    вправо

                                                                                                                                    все

                                                                                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                    нц пока  условие

                                                                                                                                    последовательность команд

                                                                                                                                    кц

                                                                                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                    нц пока справа свободно

                                                                                                                                    вправо

                                                                                                                                    кц

                                                                                                                                    Выполните задание.

                                                                                                                                    На бесконечном поле имеются две горизонтальные стены одинаковой длины, расположенные точно одна над другой. Длина стен неизвестна. Расстояние между стенами неизвестно. Робот находится над нижней стеной в клетке, расположенной у её левого края.

                                                                                                                                    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                                                                                    Напишите для Робота алгоритм, закрашивающий все клетки крайнего левого ряда, расположенные между стенами, и клетку, расположенную у правого края под верхней горизонтальной стеной. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                    Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                      №67 (Номер в базе opengia.com: Задание №BE163A . Номер в базе ComputerScienceForAll.ru: 4100)

                                                                                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                      вверх    вниз    влево    вправо

                                                                                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                      если условие то

                                                                                                                                      последовательность команд

                                                                                                                                      все

                                                                                                                                      Здесь условие – одна из команд проверки условия.

                                                                                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                      если справа свободно то

                                                                                                                                      вправо

                                                                                                                                      закрасить

                                                                                                                                      все

                                                                                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                      если (справа свободно) и (не снизу свободно) то

                                                                                                                                      вправо

                                                                                                                                      все

                                                                                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                      нц пока  условие

                                                                                                                                      последовательность команд

                                                                                                                                      кц

                                                                                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                      нц пока справа свободно

                                                                                                                                      вправо

                                                                                                                                      кц

                                                                                                                                       

                                                                                                                                      Выполните задание

                                                                                                                                      Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Один из возможных размеров прямоугольника и расположение робота внутри прямоугольника приведено на рисунке (робот обозначен буквой «Р»):

                                                                                                                                      Напишите для робота алгоритм, закрашивающий четыре угловые клетки прямоугольника. Робот должен закрасить только угловые клетки. Например, для приведённого выше рисунка робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                      Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                      Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                        №68 (Номер в базе opengia.com: Задание №BF52D8 . Номер в базе ComputerScienceForAll.ru: 4105)

                                                                                                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                        вверх    вниз    влево    вправо

                                                                                                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                        если условие то

                                                                                                                                        последовательность команд

                                                                                                                                        все

                                                                                                                                        Здесь условие – одна из команд проверки условия.

                                                                                                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                        если справа свободно то

                                                                                                                                        вправо

                                                                                                                                        закрасить

                                                                                                                                        все

                                                                                                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                        если (справа свободно) и (не снизу свободно) то

                                                                                                                                        вправо

                                                                                                                                        все

                                                                                                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                        нц пока  условие

                                                                                                                                        последовательность команд

                                                                                                                                        кц

                                                                                                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                        нц пока справа свободно

                                                                                                                                        вправо

                                                                                                                                        кц

                                                                                                                                        Выполните задание

                                                                                                                                        Робот находится в произвольной клетке узкого горизонтального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Точное положение Робота также неизвестно. Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

                                                                                                                                        Напишите для Робота алгоритм, закрашивающий все клетки внутри коридора. Конечное положение Робота может быть произвольным. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                        Алгоритм должен решать задачу для произвольного конечного размера коридора и произвольного начального расположения Робота. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                        Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                          №69 (Номер в базе opengia.com: Задание №C63607 . Номер в базе ComputerScienceForAll.ru: 4130)

                                                                                                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                          вверх    вниз    влево    вправо

                                                                                                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                          если условие то

                                                                                                                                          последовательность команд

                                                                                                                                          все

                                                                                                                                          Здесь условие – одна из команд проверки условия.

                                                                                                                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                          если справа свободно то

                                                                                                                                          вправо

                                                                                                                                          закрасить

                                                                                                                                          все

                                                                                                                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                          если (справа свободно) и (не снизу свободно) то

                                                                                                                                          вправо

                                                                                                                                          все

                                                                                                                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                          нц пока  условие

                                                                                                                                          последовательность команд

                                                                                                                                          кц

                                                                                                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                          нц пока справа свободно

                                                                                                                                          вправо

                                                                                                                                          кц

                                                                                                                                          Выполните задание.

                                                                                                                                          На бесконечном поле имеется препятствие прямоугольной формы. Размеры препятствия неизвестны. Робот находится в какой-либо клетке, расположенной строго над препятствием.

                                                                                                                                          На рисунке указан один из возможных способов расположения препятствия и Робота (Робот обозначен буквой «Р»):

                                                                                                                                          Напишите для Робота алгоритм, закрашивающий клетки, расположенные правее прямоугольного препятствия и прилегающие к нему. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                          Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                          Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                            №70 (Номер в базе opengia.com: Задание №CB3B98 . Номер в базе ComputerScienceForAll.ru: 4155)

                                                                                                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                            вверх

                                                                                                                                            вниз

                                                                                                                                            влево

                                                                                                                                            вправо

                                                                                                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения через стену, то он разрушится.

                                                                                                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                            сверху свободно

                                                                                                                                            снизу свободно

                                                                                                                                            слева свободно

                                                                                                                                            справа свободно

                                                                                                                                            Эти команды можно использовать вместе с условием «eсли», имеющим

                                                                                                                                            следующий вид:

                                                                                                                                            если условие то

                                                                                                                                            последовательность команд

                                                                                                                                            все

                                                                                                                                            Здесь условие – одна из команд проверки условия.

                                                                                                                                            Последовательность команд – это одна или несколько любых команд -приказов.

                                                                                                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки, можно использовать такой алгоритм:

                                                                                                                                            если справа свободно то

                                                                                                                                            вправо

                                                                                                                                            все

                                                                                                                                            В одном условии можно использовать несколько команд проверки условий,

                                                                                                                                            применяя логические связки и, или, не, например:

                                                                                                                                            если (справа свободно) и (не снизу свободно) то

                                                                                                                                            вправо

                                                                                                                                            все

                                                                                                                                            Для повторения последовательности команд можно использовать цикл

                                                                                                                                            «пока», имеющий следующий вид:

                                                                                                                                            нц пока условие

                                                                                                                                            последовательность команд

                                                                                                                                            кц

                                                                                                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                            нц пока справа свободно

                                                                                                                                            вправо

                                                                                                                                            кц

                                                                                                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                            Выполните задание.

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

                                                                                                                                            На рисунке указан один из возможных способов расположения лестницы, стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                            Напишите для Робота алгоритм, закрашивающий клетки, расположенные рядом с вертикальной частью каждой ступени. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого количества ступеней.

                                                                                                                                            При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                                            Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

                                                                                                                                            Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                              №71 (Номер в базе opengia.com: Задание №CC5920 . Номер в базе ComputerScienceForAll.ru: 4164)

                                                                                                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                              вверх    вниз    влево    вправо

                                                                                                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                              если условие то

                                                                                                                                              последовательность команд

                                                                                                                                              все

                                                                                                                                              Здесь условие – одна из команд проверки условия.

                                                                                                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                              если справа свободно то

                                                                                                                                              вправо

                                                                                                                                              закрасить

                                                                                                                                              все

                                                                                                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                              если (справа свободно) и (не снизу свободно) то

                                                                                                                                              вправо

                                                                                                                                              все

                                                                                                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                              нц пока  условие

                                                                                                                                              последовательность команд

                                                                                                                                              кц

                                                                                                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                              нц пока справа свободно

                                                                                                                                              вправо

                                                                                                                                              кц

                                                                                                                                              Выполните задание.

                                                                                                                                              На бесконечном поле имеются две горизонтальные стены одинаковой длины, расположенные точно одна над другой. Длина стен неизвестна. Расстояние между стенами неизвестно. Робот находится над нижней стеной в клетке, расположенной у её левого края.

                                                                                                                                              На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                                                                                              Напишите для Робота алгоритм, закрашивающий клетку, в которой Робот находится первоначально, и клетки, расположенные под верхней горизонтальной стеной, за исключением самой левой клетки. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                              Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.

                                                                                                                                               


                                                                                                                                                №72 (Номер в базе opengia.com: Задание №CD7892 . Номер в базе ComputerScienceForAll.ru: 4171)

                                                                                                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                вверх        вниз           влево         вправо

                                                                                                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                сверху свободно

                                                                                                                                                снизу свободно

                                                                                                                                                слева свободно

                                                                                                                                                справа свободно

                                                                                                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                если условие то

                                                                                                                                                последовательность команд

                                                                                                                                                все

                                                                                                                                                Здесь условие – одна из команд проверки условия.

                                                                                                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                если справа свободно то

                                                                                                                                                вправо

                                                                                                                                                закрасить

                                                                                                                                                все

                                                                                                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                если (справа свободно) и (не снизу свободно) то

                                                                                                                                                вправо

                                                                                                                                                все

                                                                                                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                нц пока условие

                                                                                                                                                последовательность команд

                                                                                                                                                кц

                                                                                                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                нц пока справа свободно

                                                                                                                                                вправо

                                                                                                                                                кц

                                                                                                                                                Выполните задание.

                                                                                                                                                На бесконечном поле имеются две одинаковые горизонтальные параллельные стены, расположенные друг под другом и отстоящие друг от друга более чем на 1 клетку. Левые края стен находятся на одном уровне. Длины стен неизвестны. Робот находится в клетке, расположенной непосредственно под верхней стеной.

                                                                                                                                                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные ниже горизонтальных стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                                Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                  №73 (Номер в базе opengia.com: Задание №CE6B40 . Номер в базе ComputerScienceForAll.ru: 4177)

                                                                                                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                  вверх    вниз    влево    вправо

                                                                                                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                  если условие то

                                                                                                                                                  последовательность команд

                                                                                                                                                  все

                                                                                                                                                  Здесь условие – одна из команд проверки условия.

                                                                                                                                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                  если справа свободно то

                                                                                                                                                  вправо

                                                                                                                                                  закрасить

                                                                                                                                                  все

                                                                                                                                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                  если (справа свободно) и (не снизу свободно) то

                                                                                                                                                  вправо

                                                                                                                                                  все

                                                                                                                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                  нц пока  условие

                                                                                                                                                  последовательность команд

                                                                                                                                                  кц

                                                                                                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                  нц пока справа свободно

                                                                                                                                                  вправо

                                                                                                                                                  кц

                                                                                                                                                  Выполните задание.

                                                                                                                                                  На бесконечном поле имеются две одинаковые вертикальные параллельные стены, расположенные на одинаковой высоте и отстоящие друг от друга более чем на 1 клетку. Длины стен неизвестны. Робот находится в одной из клеток, расположенных непосредственно справа от правой стены.

                                                                                                                                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                  Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие
                                                                                                                                                  к вертикальным стенам справа. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                  Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                    №74 (Номер в базе opengia.com: Задание №CEE27B . Номер в базе ComputerScienceForAll.ru: 4178)

                                                                                                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                    вверх    вниз    влево    вправо

                                                                                                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                    если условие то

                                                                                                                                                    последовательность команд

                                                                                                                                                    все

                                                                                                                                                    Здесь условие – одна из команд проверки условия.

                                                                                                                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                    если справа свободно то

                                                                                                                                                    вправо

                                                                                                                                                    закрасить

                                                                                                                                                    все

                                                                                                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                    если (справа свободно) и (не снизу свободно) то

                                                                                                                                                    вправо

                                                                                                                                                    все

                                                                                                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                    нц пока  условие

                                                                                                                                                    последовательность команд

                                                                                                                                                    кц

                                                                                                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                    нц пока справа свободно

                                                                                                                                                    вправо

                                                                                                                                                    кц

                                                                                                                                                    Выполните задание.

                                                                                                                                                    На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой
                                                                                                                                                    ступени – одна клетка, ширина – две клетки. Робот находится справа от верхней ступени лестницы.

                                                                                                                                                    Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно.

                                                                                                                                                    На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                    Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы, спускающейся слева направо. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения ступеней внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                    Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                      №75 (Номер в базе opengia.com: Задание №D7143D . Номер в базе ComputerScienceForAll.ru: 4217)

                                                                                                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                      вверх    вниз    влево    вправо

                                                                                                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                      если условие то

                                                                                                                                                      последовательность команд

                                                                                                                                                      все

                                                                                                                                                      Здесь условие – одна из команд проверки условия.

                                                                                                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                      если справа свободно то

                                                                                                                                                      вправо

                                                                                                                                                      закрасить

                                                                                                                                                      все

                                                                                                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                      если (справа свободно) и (не снизу свободно) то

                                                                                                                                                      вправо

                                                                                                                                                      все

                                                                                                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                      нц пока  условие

                                                                                                                                                      последовательность команд

                                                                                                                                                      кц

                                                                                                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                      нц пока справа свободно

                                                                                                                                                      вправо

                                                                                                                                                      кц

                                                                                                                                                      Выполните задание.

                                                                                                                                                      На бесконечном поле имеются 4 стены, расположенные в форме прямоугольника. Длины вертикальных и горизонтальных стен неизвестны. Робот находится в клетке, расположенной в левом верхнем углу прямоугольника.

                                                                                                                                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р») .

                                                                                                                                                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные с внутренней стороны верхней и нижней стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                                      Конечное расположение Робота может быть произвольным.

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

                                                                                                                                                      Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                      Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                        №76 (Номер в базе opengia.com: Задание №DC32FC . Номер в базе ComputerScienceForAll.ru: 4237)

                                                                                                                                                        Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                        У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                        вверх    вниз    влево    вправо

                                                                                                                                                        При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                        Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                        Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                        сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                        Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                        если условие то

                                                                                                                                                        последовательность команд

                                                                                                                                                        все

                                                                                                                                                        Здесь условие – одна из команд проверки условия.

                                                                                                                                                        Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                        Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                        если справа свободно то

                                                                                                                                                        вправо

                                                                                                                                                        закрасить

                                                                                                                                                        все

                                                                                                                                                        В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                        если (справа свободно) и (не снизу свободно) то

                                                                                                                                                        вправо

                                                                                                                                                        все

                                                                                                                                                        Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                        нц пока  условие

                                                                                                                                                        последовательность команд

                                                                                                                                                        кц

                                                                                                                                                        Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                        нц пока справа свободно

                                                                                                                                                        вправо

                                                                                                                                                        кц

                                                                                                                                                        Выполните задание.

                                                                                                                                                        На бесконечном поле имеется лестница. Сначала лестница слева направо поднимается вверх, затем спускается вниз. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится в левой клетке нижней ступеньки лестницы.

                                                                                                                                                        Количество ступенек, ведущих вверх, и количество ступенек, ведущих вниз, неизвестно.

                                                                                                                                                        На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                        Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                                        Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения ступеней внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

                                                                                                                                                        Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                        Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                          №77 (Номер в базе opengia.com: Задание №DC9247 . Номер в базе ComputerScienceForAll.ru: 4239)

                                                                                                                                                          Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                          У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                          вверх    вниз    влево    вправо

                                                                                                                                                          При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                          Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                          Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                          сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                          Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                          если условие то

                                                                                                                                                          последовательность команд

                                                                                                                                                          все

                                                                                                                                                          Здесь условие – одна из команд проверки условия.

                                                                                                                                                          Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                          Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                          если справа свободно то

                                                                                                                                                          вправо

                                                                                                                                                          закрасить

                                                                                                                                                          все

                                                                                                                                                          В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                          если (справа свободно) и (не снизу свободно) то

                                                                                                                                                          вправо

                                                                                                                                                          все

                                                                                                                                                          Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                          нц пока  условие

                                                                                                                                                          последовательность команд

                                                                                                                                                          кц

                                                                                                                                                          Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                          нц пока справа свободно

                                                                                                                                                          вправо

                                                                                                                                                          кц

                                                                                                                                                          Выполните задание.

                                                                                                                                                          На бесконечном поле имеется препятствие прямоугольной формы. Размеры препятствия неизвестны. Робот находится в какой-либо клетке, расположенной строго под препятствием.

                                                                                                                                                          На рисунке указан один из возможных способов расположения препятствия и Робота (Робот обозначен буквой «Р»):

                                                                                                                                                          Напишите для Робота алгоритм, закрашивающий клетки, расположенные левее от прямоугольного препятствия и прилегающие к нему. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                                          Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                          Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                          Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                            №78 (Номер в базе opengia.com: Задание №E08E79 . Номер в базе ComputerScienceForAll.ru: 4252)

                                                                                                                                                            Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                            У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                            вверх    вниз    влево    вправо

                                                                                                                                                            При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                            Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                            Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                            сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                            Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                            если условие то

                                                                                                                                                            последовательность команд

                                                                                                                                                            все

                                                                                                                                                            Здесь условие – одна из команд проверки условия.

                                                                                                                                                            Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                            Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

                                                                                                                                                            если справа свободно то

                                                                                                                                                            вправо

                                                                                                                                                            закрасить

                                                                                                                                                            все

                                                                                                                                                            В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                            если (справа свободно) и (не снизу свободно) то

                                                                                                                                                            вправо

                                                                                                                                                            все

                                                                                                                                                            Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                            нц пока  условие

                                                                                                                                                            последовательность команд

                                                                                                                                                            кц

                                                                                                                                                            Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                            нц пока справа свободно

                                                                                                                                                            вправо

                                                                                                                                                            кц

                                                                                                                                                             

                                                                                                                                                            Выполните задание.

                                                                                                                                                            На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. От правого конца стены вверх отходит вертикальная стена, также неизвестной длины. Робот находится в углу между вертикальной и горизонтальной стеной. На рисунке указан один из возможных способов расположения стен и робота (расположение робота обозначено буквой  «Р»):

                                                                                                                                                            Напишите алгоритм для робота, закрашивающий все клетки, расположенные выше горизонтальной стены и левее вертикальной стены и прилегающие к ним. Робот должен закрасить только клетки, удовлетворяющие заданному условию. Например, для приведённого рисунка робот должен закрасить следующие клетки:

                                                                                                                                                            Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                            Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                            Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                              №79 (Номер в базе opengia.com: Задание №E94742 . Номер в базе ComputerScienceForAll.ru: 4280)

                                                                                                                                                              Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                              У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                              вверх    вниз    влево    вправо

                                                                                                                                                              При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                              Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                              Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                              сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                              Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                              если условие то

                                                                                                                                                              последовательность команд

                                                                                                                                                              все

                                                                                                                                                              Здесь условие – одна из команд проверки условия.

                                                                                                                                                              Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                              Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                              если справа свободно то

                                                                                                                                                              вправо

                                                                                                                                                              закрасить

                                                                                                                                                              все

                                                                                                                                                              В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                              если (справа свободно) и (не снизу свободно) то

                                                                                                                                                              вправо

                                                                                                                                                              все

                                                                                                                                                              Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                              нц пока  условие

                                                                                                                                                              последовательность команд

                                                                                                                                                              кц

                                                                                                                                                              Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                              нц пока справа свободно

                                                                                                                                                              вправо

                                                                                                                                                              кц

                                                                                                                                                              Выполните задание

                                                                                                                                                              Робот находится в нижней клетке узкого вертикального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Возможный вариант начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

                                                                                                                                                              Напишите для Робота алгоритм, закрашивающий все клетки внутри коридора и возвращающий Робота в исходную позицию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                                              Алгоритм должен решать задачу для произвольного конечного размера коридора. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                              Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                              Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                                №80 (Номер в базе opengia.com: Задание №EEB2B6 . Номер в базе ComputerScienceForAll.ru: 4304)

                                                                                                                                                                Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                                У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                                вверх    вниз    влево    вправо

                                                                                                                                                                При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                                Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                                Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                                сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                                Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                                если условие то

                                                                                                                                                                последовательность команд

                                                                                                                                                                все

                                                                                                                                                                Здесь условие – одна из команд проверки условия.

                                                                                                                                                                Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                                Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                                если справа свободно то

                                                                                                                                                                вправо

                                                                                                                                                                закрасить

                                                                                                                                                                все

                                                                                                                                                                В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                                если (справа свободно) и (не снизу свободно) то

                                                                                                                                                                вправо

                                                                                                                                                                все

                                                                                                                                                                Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                                нц пока  условие

                                                                                                                                                                последовательность команд

                                                                                                                                                                кц

                                                                                                                                                                Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                                нц пока справа свободно

                                                                                                                                                                вправо

                                                                                                                                                                кц

                                                                                                                                                                Выполните задание.

                                                                                                                                                                На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её нижнего конца.

                                                                                                                                                                На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                                Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены. Проход должен остаться незакрашенным. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                                                При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.

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

                                                                                                                                                                Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                                Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                                  №81 (Номер в базе opengia.com: Задание №F21898 . Номер в базе ComputerScienceForAll.ru: 4317)

                                                                                                                                                                  Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                                  У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                                  вверх    вниз    влево    вправо

                                                                                                                                                                  При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                                  Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                                  Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                                  сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                                  Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                                  если условие то

                                                                                                                                                                  последовательность команд

                                                                                                                                                                  все

                                                                                                                                                                  Здесь условие – одна из команд проверки условия.

                                                                                                                                                                  Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                                  Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                                  если справа свободно то

                                                                                                                                                                  вправо

                                                                                                                                                                  закрасить

                                                                                                                                                                  все

                                                                                                                                                                  В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                                  если (справа свободно) и (не снизу свободно) то

                                                                                                                                                                  вправо

                                                                                                                                                                  все

                                                                                                                                                                  Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                                  нц пока  условие

                                                                                                                                                                  последовательность команд

                                                                                                                                                                  кц

                                                                                                                                                                  Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                                  нц пока справа свободно

                                                                                                                                                                  вправо

                                                                                                                                                                  кц

                                                                                                                                                                  Выполните задание.

                                                                                                                                                                  На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. От правого конца этой стены отходит вниз вторая вертикальная стена неизвестной длины. Робот находится в клетке, расположенной справа от нижнего края первой вертикальной стены.

                                                                                                                                                                  На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»):

                                                                                                                                                                  Напишите для Робота алгоритм, закрашивающий клетки, расположенные под горизонтальной стеной и слева от второй вертикальной стены. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок):

                                                                                                                                                                  Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                                  Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                                  Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                                    №82 (Номер в базе opengia.com: Задание №c0ff02 . Номер в базе ComputerScienceForAll.ru: 4421)

                                                                                                                                                                    Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                                    У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                                    вверх    вниз    влево    вправо

                                                                                                                                                                    При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                                    Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                                    Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                                    сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                                    Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                                    если условие то

                                                                                                                                                                    последовательность команд

                                                                                                                                                                    все

                                                                                                                                                                    Здесь условие – одна из команд проверки условия.

                                                                                                                                                                    Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                                    Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                                    если справа свободно то

                                                                                                                                                                    вправо

                                                                                                                                                                    закрасить

                                                                                                                                                                    все

                                                                                                                                                                    В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                                    если (справа свободно) и (не снизу свободно) то

                                                                                                                                                                    вправо

                                                                                                                                                                    все

                                                                                                                                                                    Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                                    нц пока  условие

                                                                                                                                                                    последовательность команд

                                                                                                                                                                    кц

                                                                                                                                                                    Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                                    нц пока справа свободно

                                                                                                                                                                    вправо

                                                                                                                                                                    кц

                                                                                                                                                                    Выполните задание.

                                                                                                                                                                    На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены влево отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной справа от нижнего края вертикальной стены.

                                                                                                                                                                    На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                                    Напишите для Робота алгоритм, закрашивающий все клетки, расположенные правее вертикальной стены, выше горизонтальной стены и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                                                    Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                                    Алгоритм может быть выполнен в среде формального исполнителя или  записан в текстовом редакторе.

                                                                                                                                                                    Название файла и каталог для сохранения Вам сообщат организаторы экзамена.


                                                                                                                                                                      №83 (Номер в базе opengia.com: Задание №e010e1 . Номер в базе ComputerScienceForAll.ru: 4454)

                                                                                                                                                                      Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

                                                                                                                                                                      У Робота есть девять команд. Четыре команды – это команды-приказы:

                                                                                                                                                                      вверх    вниз    влево    вправо

                                                                                                                                                                      При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.

                                                                                                                                                                      Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

                                                                                                                                                                      Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

                                                                                                                                                                      сверху свободно   снизу свободно   слева свободно   справа свободно

                                                                                                                                                                      Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

                                                                                                                                                                      если условие то

                                                                                                                                                                      последовательность команд

                                                                                                                                                                      все

                                                                                                                                                                      Здесь условие – одна из команд проверки условия.

                                                                                                                                                                      Последовательность команд – это одна или несколько любых команд-приказов.

                                                                                                                                                                      Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:

                                                                                                                                                                      если справа свободно то

                                                                                                                                                                      вправо

                                                                                                                                                                      закрасить

                                                                                                                                                                      все

                                                                                                                                                                      В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

                                                                                                                                                                      если (справа свободно) и (не снизу свободно) то

                                                                                                                                                                      вправо

                                                                                                                                                                      все

                                                                                                                                                                      Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

                                                                                                                                                                      нц пока  условие

                                                                                                                                                                      последовательность команд

                                                                                                                                                                      кц

                                                                                                                                                                      Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

                                                                                                                                                                      нц пока справа свободно

                                                                                                                                                                      вправо

                                                                                                                                                                      кц

                                                                                                                                                                      Выполните задание.

                                                                                                                                                                      На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От нижнего конца стены влево отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной справа от верхнего края вертикальной стены.

                                                                                                                                                                      На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

                                                                                                                                                                      Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно правее вертикальной стены, ниже горизонтальной стены и угловую клетку. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

                                                                                                                                                                      Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.

                                                                                                                                                                      Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

                                                                                                                                                                      Сохраните алгоритм в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена


                                                                                                                                                                        Leave a Comment

                                                                                                                                                                        Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.