Основная часть:
Учебный исполнитель Робот предназначен для того, чтобы без участия человека сажать цветы в подготовленные для них грядки. В программе, с которой вы будете работать, Робот изображен в виде машинки, которая ездит по полю. Поле размечено на квадраты, каждый из которых может быть: 1) свободным местом ; 2) грядкой или 3) стенкой. Робот может переходить из клетки в клетку по грядкам или по свободным клеткам, ходить по клумбам с цветами запрещается. Он должен посадить цветы на всех грядках и вернуться на Базу для пополнения запасов.
Робот может двигаться вперед и назад, а также разворачиваться на 90 и 180 градусов влево или вправо. Конечно, в реальной обстановке на Робота влияет ветер, дождь, неровность земли и т.п., но мы их не будем учитывать. Такое упрощенное представление называется моделью Робота.
Основные команды Робота
Как и любой исполнитель, Робот понимает только ограниченный набор команд, которые входят в его СКИ (список команд исполнителя). Пока нам хватит нескольких команд, перечисленных ниже:
СКИ Робота:
направо; повернуться на 90 градусов вправо
налево; повернуться на 90 градусов влево
кругом; развернуться кругом (на 180 градусов)
вперед ( n ); перейти на n клеток вперед
назад ( n ); перейти на n клеток назад
посади; посадить цветы на грядке в том месте, где стоит Робот
Позже мы немного расширим СКИ и добавим в него новые команды. Робот не может ходить по диагонали, проходить сквозь стенки и топтать цветы на клумбах.
Создание простейшей программы:
Код программы:
Программа04
{
вперед ( 3 );
направо;
вперед ( 1 );
посади;
кругом;
вперед ( 2 );
посади;
вперед ( 1 );
направо;
вперед ( 2 );
направо;
вперед ( 2 );
посади;
вперед ( 2 );
направо;
вперед ( 1 );
}
Циклы. Цикл "Повтори"
Часто исполнителю надо выполнить какую-то последовательность команд несколько раз. Например, предположим, Робот должен посадить цветы в 6 подряд расположенных грядок, Пока мы можем это сделать 6 раз использовав пару команд: вперед (1) и посади.
В данном случае эти команды надо повторить только 6 раз и можно легко 6 раз написать одинаковые команды. Но представьте, что надо сделать одинаковые операции 100 или 200 раз! В программировании в таких случаях используется специальная команда (оператор цикла), которая говорит исполнителю, что какую-то часть программы надо сделать несколько раз.
Цикл — это многократное повторение одинаковых действий
Тело цикла – это команды, которые выполняются несколько раз.
Шаг цикла – это однократное выполнение тела цикла.
Существует несколько вариантов циклов. Для начала мы рассмотрим цикл повтори. Он используется в тех случаях, когда заранее известно количество повторений. Например, рассмотрим решение 13 задачи:
Программа13
{
налево;
повтори ( 10 )
{
вперед ( 1 );
посади;
}
налево;
вперед ( 2 );
налево;
повтори ( 8 )
{
посади;
вперед ( 1 );
}
вперед ( 2 );
}
Работа в классе: 16,22,23
Домашнее задание: 14,21 (обязательно выполняем с помощью цикла "Повтори")
Если у вас возникли вопросы при выполнении д/з - решение