Гипермаркет знаний>>Информатика >>Информатика 7 класс>> Управление исполнителем Робот
§ 3.3. Управление исполнителем Робот По команде закрасить Робот закрашивает клетку, в которой .стоит. Если клетка уже была закрашена, то она закрасится повторно, хотя никаких видимых изменении не произойдет. Важно помнить, что Робот может исполнять только правильно записанные команды. Например, если вместо команды вниз написать внис, то Робот эту запись не поймет и сразу же сообщит об ошибке. Вспомните, как называются ошибки в записи команд. Каких еще ошибок следует избегать при разработке алгоритмов? ПОВТОРИТЬ 5 РАЗ Если оформить процедуру виток, то основная программа окажется совсем короткой. Вспомогательный алгоритм: 1) справа на неизвестном расстоянии есть стена; Воспользуемся тем, что Робот может анализировать и сообщать обстановку вокруг себя, проверяя следующие простые условия: 1) проверяет записанное после служебного слова ПОКА условие; 2) если условие не соблюдается (Робот ответил «Нет»), то выполнение цикла прекращается, и Робот начинает выполнять команды, записанные после служебного слова КОНЕЦ. Если же условие соблюдается (Робот ответил «Да»), то Робот выполняет тело цикла и снова проверяет условие. Напишем программу, исполняя которую Робот нарисует на клетчатом поле меандр (рис. 3.12), число витков которого зависит от положения правой стены. Виток меандра умещается на клетчатом поле, если между клеткой, занимаемой Роботом, и правой стеной есть 1 клетка. Подумайте, каким должно быть исходное положение Робота в программе рисования меандра, чтобы тело цикла не выполнилось ни разу. Из-за логических ошибок, допущенных при составлении алгоритма, может возникнуть ситуация зацикливания. Это значит, что условие будет всегда соблюдаться, и выполнение цикла «пока» никогда не завершится. Рассмотрим следующий пример: Условие в цикле «пока» проверяется только перед вы полнением тела цикла, но не в процессе его выполнения. Подумайте, что произойдет, если Робот начнет выполнять нашу программу рисования меандра с циклом «пока», находясь в следующем исходном положении:
Составное условие образуется из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ. Рассмотрим составное условие А И В, где А, В — простые условия. Условие А И В выполнено, когда выполнено каждое из двух входящих в него простых условий. Пусть А - простое условие справа свободно, В — простое условие справа свободно. Рассмотрим подробно проверку составного условия А И В - сверху свободно. (рис. 3.15). В случае б выполнено условие А, условие В не выполнено. Составное условие А И В не выполнено. В случае в не выполнено условие А, условие В выполнено. Составное условие А И В не выполнено. В случае г не выполнено условие А, не выполнено условие В. Составное условие А И В не выполнено. Нужно ли проверять условие В в составном условии АИВ, если условие А не выполнено? Составное условие А ИЛИ В выполнено, когда выполнено хотя бы одно из двух входящих в него простых условий. Рассмотрим проверку составного условия А ИЛИ В — сверху свободно ИЛИ справа свободно (см. рис. 3.15). В случае а выполнено условие А (сверху свободно), выполнено условие В (справа свободно). Составное условие А ИЛИ В (сверху свободно ИЛИ справа свободно) выполнено. В случае б выполнено условие А, не выполнено условие В. Составное условие А ИЛИ В выполнено. В случае в не выполнено условие А, выполнено условие В. Составное условие А ИЛИ В выполнено. В случае г не выполнено условие А, не выполнено условие В. Составное условие А ИЛИ в не выполнено. Нужно ли проверять условие В в составном условии А ИЛИ В, если условие А выполнено? Составное условие НЕ А выполнено, когда не выполнено условие А. Пусть А — простое условие закрашено. Рассмотрим проверку составного условия НЕ А (рис. 3.16). В случае б условие А не выполнено, условие НЕ А (НЕ закрашено) выполнено. Рассмотрим пример использования составного условия. Известно, что Робот находится где-то в вертикальном коридоре. Ни одна из клеток коридора не закрашена. Составим алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернется в исходное положение. Так как Роботу предстоит закрасить только клетки коридора, мы должны «научить» его их распознавать. Чем же клетки коридора отличаются от всех прочих клеток поля? Из рис. 3.17 видно, что каждая клетка коридора слева и справа ограничена стеной. 1. Чтобы закрасить все клетки коридора, находящиеся выше Робота, прикажем Роботу шагнуть вверх и выполним цикл «пока»: При каком исходном положении Робота этот цикл не выполнится ни разу? 2. Командой вниз вернем Робота в коридор. Наша задача — вернуть его в исходную точку. Эта точка имеет единственный отличительный признак — она не закрашена. Поэтому пока занимаемая Роботом клетка оказывается закрашенной, будем перемещать его вниз: Графически ветвление можно представить, как показано на рис. 3.19. Между ТО и ИНАЧЕ записываются одно или несколько действий, составляющих серию действий 1. Между ИНАЧЕ и КОНЕЦ помещается серия действий 2. Служебное слово ИНАЧЕ вместе с серией действий 2 может отсутствовать (сокращенная форма ветвления). Пусть теперь Робот находится в горизонтальном коридоре, нижняя граница которого сплошная, а в верхней имеются выходы (рис. 3.20). Требуется провести Робота через весь коридор и закрасить клетки коридора, не имеющие верхних границ.
Если заранее не известно, сколько именно раз следует выполнить тело цикла, используется специальная конструкция алгоритмического языка — цикл «пока». В цикле «пока» могут использоваться не только простые, но и составные условия. Составное условие образуется из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ. Для организации ветвлений в СКИ Робота предусмотрена специальная команда ЕСЛИ. 2. Петя составил алгоритм, переводящий Робота из клетки А в клетку Б с закрашиванием каких-то клеток. Что должен сделать Коля с этим алгоритмом, чтобы получить алгоритм, переводящий Робота из Б в А и закрашивающий те же клетки? 3. Петя составил алгоритм, при выполнении которого Робот вернулся в исходное положение. Коля стер одну из команд. При выполнении Колиного алгоритма Робот также вернулся в исходное положение. Какую команду стер Коля? 4. Маша придумала узор для Робота. Коля стер ровно половину закрашенных клеток. Восстановите рисунок, зная, что он симметричен относительно вертикальной оси. Напишите программу для Робота. Составьте алгоритм, под управлением которого Робот закрасит ряд клеток до стены и вернется в исходное положение. 11. Известно, что Робот находится рядом с левым входом в горизонтальный коридор. 12. Известно, что Робот находится где-то в горизонтальном коридоре. Ни одна из клеток коридора не закрашена. Составьте алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернется в исходное положение. ПОКА з а крашено ДЕЛАТЬ
Босова Л. Л., Информатика и ИКТ : учебник для 7 класса Л. Л. Босова. М. : БИНОМ. Лаборатория знаний, 2010. 229 с. : ил.
Содержание урока конспект урока опорный каркас презентация урока акселеративные методы интерактивные технологии Практика задачи и упражнения самопроверка практикумы, тренинги, кейсы, квесты домашние задания дискуссионные вопросы риторические вопросы от учеников Иллюстрации аудио-, видеоклипы и мультимедиа фотографии, картинки графики, таблицы, схемы юмор, анекдоты, приколы, комиксы притчи, поговорки, кроссворды, цитаты Дополнения рефераты статьи фишки для любознательных шпаргалки учебники основные и дополнительные словарь терминов прочие Совершенствование учебников и уроков исправление ошибок в учебнике обновление фрагмента в учебнике элементы новаторства на уроке замена устаревших знаний новыми Только для учителей идеальные уроки календарный план на год методические рекомендации программы обсуждения Интегрированные уроки
Если у вас есть исправления или предложения к данному уроку, напишите нам. Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум. |
Авторські права | Privacy Policy |FAQ | Партнери | Контакти | Кейс-уроки
© Автор системы образования 7W и Гипермаркета Знаний - Владимир Спиваковский
При использовании материалов ресурса
ссылка на edufuture.biz обязательна (для интернет ресурсов -
гиперссылка).
edufuture.biz 2008-© Все права защищены.
Сайт edufuture.biz является порталом, в котором не предусмотрены темы политики, наркомании, алкоголизма, курения и других "взрослых" тем.
Ждем Ваши замечания и предложения на email:
По вопросам рекламы и спонсорства пишите на email: