Л.р. 1 Линейные и циклические алгоритмы.
Линейные и циклические алгоритмы.
Любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование).
Алгоритм, в котором команды выполняются в порядке их записи, то есть последовательно друг за другом, называется линейным.
Например, линейным является следующий алгоритм нахождения среднего арифметического двух чисел:
1) Задумать два числа.
2) Сложить два задуманных числа.
3) Полученную сумму поделить на 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.