Л.р. 1 Линейные и циклические алгоритмы.

Линейные и циклические алгоритмы.

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

Алгоритм, в котором команды выполняются в порядке их записи, то есть последовательно друг за другом, называется линейным.

Например, линейным является следующий алгоритм нахождения среднего арифметического двух чисел:

1) Задумать два числа.

2) Сложить два задуманных числа.

3) Полученную сумму поделить на 2.

Другой базовой структурой является цикл.

Цикл - подразумевает многократное повторение одних и тех же действий или команд.

Циклический алгоритм - это алгоритм, содержащий конструкцию повторения, т.е. содержит цикл.

Последовательность действий, выполняемая многократно, называется телом цикла.

Каждый алгоритм предназначен для определённого исполнителя.

Исполнитель - это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.

Каждый исполнитель предназначен для решения определённого круга задач.

Существует также среда исполнителя - это область, обстановка, условия, в которых действует исполнитель.

Система команд исполнителя - совокупность всех команд, которые которые могут быть выполнены некоторым исполнителем. Команда - предписание исполнителю о выполнении отдельного законченного действия.

В данной лабораторной работе исполнителем был Робот.

"Робот" — один из учебных исполнителей (т.е. устройств, способных выполнять определенный набор команд). "Робот" является исполнителем команд. Как и любой исполнитель, "Робот" понимает только ограниченный набор команд, которые входят в его СКИ (список команд исполнителя).

Среда в которой находится робот - это ограниченное по длине и ширине клетчатое поле.

Система команд исполнителя Робот.

Команды действий:

    1. вверх

    2. влево

    3. вниз

    4. вправо

    5. закрасить

Команды проверки условий:

    1. клетка закрашена

    2. клетка чистая

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

    4. сверху стена

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

    6. слева стена

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

    8. снизу стена

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

    10. справа стена

Команды-измерения:

    1. температура

    2. радиация

Задание 1.1

1. Составьте программу закрашивания периметра квадрата 3×3, считая, что Робот находится где-то в центре поля.

Пример программы и стартовой обстановки представлен на рисунке 1. Результат на рисунке 2.

Рисунок 1.

Рисунок 2.

2) Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.

Пример программы и стартовой обстановки представлен на рисунке 3. Результат на рисунке 4.

Рисунок 3.

Рисунок 4.

3. Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.

Пример программы и стартовой обстановки представлен на рисунке 5. Результат на рисунке 6.

Рисунок 5.

Рисунок 6.

Задание 1.2

1. Составьте программу закрашивания 5-ти клеток по диагонали вправо вниз от Робота, считая, что изначально Робот находится в левом верхнем углу поля.

Пример программы и стартовой обстановки представлен на рисунке 7. Результат на рисунке 8.

Рисунок 7.

Рисунок 8.

2. Необходимо провести Робота по лабиринту из начального положения (◊) в точку A.

Пример программы и стартовой обстановки представлен на рисунке 9. Результат на рисунке 10.

Рисунок 9.

Рисунок 10.

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

Пример программы и стартовой обстановки представлен на рисунке 11. Результат на рисунке 12.

Рисунок 11.

Рисунок 12.