Слайд 2Вспомним и повторим:
Объясните понятие: Алгоритм.
Перечислите типы алгоритмов.
Что такое исполнитель?
Для чего нужна
блок-схема?
Из чего состоит блок-схема?
Что такое следование?
Что такое повторение?
Что такое ветвление?
Слайд 3 Ветвление — алгоритмическая конструкция, в которой в зависимости
от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей).
Ветвление
Слайд 4Ветвление
Алгоритм является разветвляющимся, если проверяется условие и исполнение
алгоритма идёт по одной из двух ветвей.
Пример: Если выполнил домашнее задание, можешь идти гулять, иначе садись за уроки.
Какая форма алгоритма
подходит к примеру?
Слайд 5Ветвление
Блок-схема ветвления может быть любой степени сложности, а
может вообще не содержать предписаний.
Для организации ветвлений в исполнителе Робот предусмотрена специальная команда Если. Ее общий вид:
ЕСЛИ <условие> ТО <серия действий 1> ИНАЧЕ <серия действий 2> КОНЕЦ
Служебные слова ЕСЛИ, ТО,
ИНАЧЕ имеют прямое значение.
Слайд 6Ветвление
Между То и Иначе записываются одно или несколько действий, составляющих
серию действий 1.
Между Иначе и Конец помещается серия действий 2.
Служебное слово Иначе вместе с серией действий 2 может отсутствовать (сокращенная форма ветвления).
Слайд 7Исполнитель Робот
Исполнитель Робот действует на прямоугольном клетчатом поле.
Между
некоторыми клетками поля могут быть расположены стены.
Некоторые клетки могут быть закрашены.
Робот занимает ровно одну клетку поля.
Слайд 8Исполнитель Робот
Робот
Командная строка
Слайд 9Исполнитель Робот
Для создания задачи (лабиринта) на панели управления необходимо выбрать Лабиринт
и из списка выбрать необходимый пункт
Слайд 10Исполнитель Робот
При выборе пункта Редактировать лабиринт откроется окно редактора
Свободная клетка
Грядка
Клумба
Робот
База
Редактирование поля
Новый
лабиринт
Стена
Выход
Поясняющий курсор
Слайд 11Среда исполнителя Робот
Робот выполняет специальную задачу - сажает цветы в
грядки на поле (лабиринте).
Поле размечено на квадраты, каждый из которых может быть:
1) свободным местом;
2) грядкой;
3) клумбой с цветами;
3) стенкой .
Робот может переходить из клетки в клетку по грядкам или по свободным клеткам.
Слайд 12 Робот не может проходить через стенки, ходить по клумбам с
цветами, выходить за границы поля.
Робот должен посадить цветы на всех грядках и вернуться на Базу для пополнения запасов.
Среда исполнителя Робот
Слайд 13Основные команды:
направо; - повернуться на 90 градусов вправо
налево; - повернуться
на 90 градусов влево
кругом; - развернуться кругом (на 180 градусов)
вперед ( n ); - перейти на n клеток вперед
назад ( n ); - перейти на n клеток назад
посади; - посадить цветы на грядке, где стоит Робот
Слайд 14Пример простой задачи
Задача1
{
вперед ( 3 );
налево;
назад (
1 );
посади;
вперед ( 2 );
посади;
вперед ( 1 );
направо;
вперед ( 2 );
направо;
вперед ( 2 );
посади;
вперед ( 2 );
направо;
вперед ( 1 );
}
Слайд 15Возможные ошибки исполнителя Робот
1. Синтаксические (“НЕ ПОНИМАЮ”) – появляются при ошибках
в написании команд, например:
влево;
вперет ( 3 );
направо ( 2 );
2. Отказы (“НЕ МОГУ”) – появляются, например, если Роботу дают команду идти прямо на стенку или сажать цветы там, где нет грядки.
3. Логические – возникают тогда, когда Робот понимает команды и выполняет их, но результат не тот, какой нужен.
Слайд 16Пример алгоритма
Составить программу, после выполнения которой Робот посадит цветы в
грядку в форме меандра из 4 витков и придет на Базу.
1 способ
Меандр1
{
направо;
вперед ( 1 );
повтори ( 4 )
{
налево;
посади; вперед ( 1 );
посади; вперед ( 1 );
посади;
направо; вперед ( 1 );
посади; направо;
вперед ( 2 ); налево;
посади; вперед ( 1 );
посади; вперед ( 1 );
}
}
Слайд 17Пример алгоритма
Меандр2
{
направо;
вперед ( 1 );
повтори ( 4
) Виток;
}
Виток
{
налево;
посади; вперед ( 1 );
посади; вперед ( 1 );
посади;
направо; вперед ( 1 );
посади; направо;
вперед ( 2 ); налево;
посади; вперед ( 1 );
посади; вперед ( 1 );
}
2 способ
Слайд 18Пример задачи с кратким ветвлением
Робот находится перед коридором неизвестной длины,
у которого одна стена сплошная, а другая имеет проходы. Составить программу, после выполнения которой Робот посадит цветы в грядки возле проходов.
Слайд 19Пример задачи с кратким ветвлением
Клумбы_выбор
{
вперед ( 2 );
пока
( не справа_свободно )
{
если ( слева_свободно )
{ посади; }
вперед ( 1 );
}
вперед ( 1 );
}
Слайд 20Пример задачи с полным ветвлением
Робот должен посадить цветы во всех
клетках вдоль стены, а если в стене проход, то посадить в нем. Составить программу, после выполнения которой Робот посадит цветы в нужные грядки и придет на Базу.
Слайд 21Пример задачи с полным ветвлением
Клумбы_выбор2
{
вперед ( 1 ); направо;
пока ( впереди_свободно )
{
вперед ( 1 );
если ( слева_свободно )
{
налево; вперед ( 1 );
посади;
назад ( 1 ); направо;
}
иначе
{ посади; }
}
направо; вперед ( 1 );
}
Слайд 23Самостоятельная работа
Напишите программу, с помощью которой Робот сможет пройти по
извилистому коридору. Коридор имеет ширину в одну клетку и идет в направлении слева-снизу вправо-вверх. Пример возможного коридора:
Слайд 24Самостоятельная работа
РТ35
{
пока ( слева_свободно или впереди_свободно )
{
если ( слева_свободно )
{
налево; вперед ( 1 ); направо;
}
иначе
{
вперед ( 1 );
} } }
Слайд 25Домашнее задание:
Учить конспект в тетради
Придумать и нарисовать лабиринт для использования алгоритма
с ветвлением
Написать программу для прохождения вашего лабиринта