Исполнитель Робот. Цикл «пока». Работа в среде Алгоритмика 7 класс Яблоновская СОШ № 3, Тахтамукайский район, Республика Адыгея Учитель информатики Нигматуллин Р.Р. 1 Проверка домашней работы №24 (р.т.). Написать программу, с помощью которой Робот из исходного положения попадет в клетку Б: Б Б Б вправо вниз влево вниз вправо вниз вниз влево вправо вниз влево вниз вправо вниз вниз влево вправо вниз влево вниз вправо вниз вниз влево 2 №26 (б) (р.т.). Известен вспомогательный алгоритм для Робота: ПРОЦ узор_2 НАЧАЛО верх; вправо; закрась вниз; вниз; закрась влево; влево; закрась вверх; вверх; закрась вправо; вниз КОНЕЦ Нарисовать, что получится при выполнением Роботом основного алгоритма: ПОВТОРИТЬ 7 РАЗ узор_2 вправо КОНЕЦ 3 №26 (в) (р.т.). Известен вспомогательный алгоритм для Робота: ПРОЦ узор_1 Нарисовать, что получится при НАЧАЛО выполнением Роботом основного верх; закрась; вниз алгоритма: вправо; закрась; влево узор_1 вниз; закрась; вверх вправо; вправо; вправо влево; закрась; вправо вверх; вверх КОНЕЦ узор_1 вправо; вправо; вправо вниз; вниз узор_1 4 №26 (г) (р.т.). Известен вспомогательный алгоритм для Робота: ПРОЦ узор_2 ПРОЦ узор_1 НАЧАЛО НАЧАЛО верх; вправо; закрась верх; закрась; вниз вниз; вниз; закрась вправо; закрась; влево влево; влево; закрась вниз; закрась; вверх вверх; вверх; закрась влево; закрась; вправо вправо; вниз КОНЕЦ КОНЕЦ Нарисовать, что получится при выполнением Роботом основного алгоритма: узор_1 вправо; вправо узор_2 вправо; вправо 5 узор_1 Нарисовать, что получится при выполнением Роботом основного алгоритма: узор_1 вправо; вправо узор_2 вправо; вправо узор_1 6 №27 (а) (р.т.). Составить алгоритмы, под управлением которых Робот закрасит указанные клетки: ПОВТОРИТЬ 3 РАЗ угол вниз; вниз влево; влево КОНЕЦ ПРОЦ угол НАЧАЛО вниз; вниз; вниз; вниз; закрась; вверх закрась; вверх закрась; вверх закрась; вверх закрась; вправо закрась; вправо закрась; вправо закрась; вправо; закрась КОНЕЦ 7 №27 (б) (р.т.). Составить алгоритмы, под управлением которых Робот закрасит указанные клетки: ПОВТОРИТЬ 3 РАЗ угол вниз влево; влево; влево КОНЕЦ ПРОЦ угол НАЧАЛО вниз; вниз; вниз; вниз; закрась; вверх закрась; вверх закрась; вверх закрась; вверх закрась; вправо закрась; вправо закрась; вправо закрась; вправо; закрась КОНЕЦ 8 №27 (в) (р.т.). Составить алгоритмы, под управлением которых Робот закрасит указанные клетки: ПОВТОРИТЬ 3 РАЗ угол вниз влево; влево КОНЕЦ ПРОЦ угол НАЧАЛО вниз; вниз; вниз; вниз; закрась; вверх закрась; вверх закрась; вверх закрась; вверх закрась; вправо закрась; вправо закрась; вправо закрась; вправо; закрась КОНЕЦ 9 Цикл «пока» Закрасить все клетки справа от Робота: Известно, что: 1. Справа на неизвестном расстоянии есть стена. 2. Клетки нужно закрасить, пока Робот не подойдет к стене вплотную. 10 Робот может анализировать и сообщать обстановку вокруг себя, проверяя следующие условия: справа свободно слева свободно сверху свободно снизу свободно закрашено Пока справа свободно, нужно выполнять команды: вправо закрась 11 Алгоритмическая конструкция – цикл «пока»: ПОКА справа свободно ДЕЛАТЬ вправо закрась КОНЕЦ Общий вид цикла «пока»: ПОКА условие ДЕЛАТЬ тело цикла (последовательность команд) КОНЕЦ 12 Блок-схема цикла «пока»: Условие не выполняется Проверка условия, записанного после пока Нет Условие выполняется Да Выполнение тела цикла (последовательность команд) 13 При выполнении цикла исполнитель повторяет следующие действия: 1) Проверяет записанное после служебного слова ПОКА условие; 2) Если условие не соблюдается (Нет), то выполнение цикла прекращается; и Робот начинает выполнять команды, записанные после служебного слова КОНЕЦ. Если же условие соблюдается (Да), то Робот выполняет тело цикла и снова проверяет условие. 14 Составим программу, исполняя которую Робот нарисует на клетчатом поле меандр из пяти витков: ПОКА справа свободно ДЕЛАТЬ вправо закрась; влево закрась; влево закрась; вверх закрась; вверх закрась; вправо; закрась вправо; вправо; вправо вниз; вниз КОНЕЦ 15 Простые и составные условия В цикле «пока» могут использоваться как простые, так и составные условия с помощью слов И, ИЛИ, НЕ. А – простое условие сверху свободно В – простое условие справа свободно А И В – составное условие сверху свободно И справа свободно А выполняется выполняется не выполняется В выполняется не выполняется выполняется АИВ выполняется не выполняется не выполняется 16 А выполняется выполняется не выполняется В выполняется не выполняется выполняется А выполняется не выполняется А ИЛИ В выполняется выполняется выполняется НЕ А не выполняется выполняется 17 Составить алгоритм, под управлением которого Робот закрасит все клетки коридора и вернется в первоначальное положение. НАЧАЛО Закраска всех клеток коридора выше исходной Возвращение в исходное положение Закраска всех клеток коридора ниже исходной Возвращение в исходное положение Закраска исходной клетки НАЧАЛО 18 вверх ПОКА НЕ слева свободно И НЕ справа свободно ДЕЛАТЬ закрась вверх КОНЕЦ вниз ПОКА закрашено ДЕЛАТЬ вниз КОНЕЦ вниз ПОКА НЕ слева свободно И НЕ справа свободно ДЕЛАТЬ закрась вниз КОНЕЦ вверх ПОКА закрашено ДЕЛАТЬ вверх КОНЕЦ закрась 19 №29 (р.т.). Известно, что где-то правее Робота есть стена. Начертить блок-схему алгоритма, под управлением которого Робот закрасит ряд клеток до стены и вернется в исходное положение. 20 №30 (р.т.). Известно, что где-то правее Робота закрашена клетка. Составить алгоритм, под управлением которого Робот закрасит ряд клеток до закрашенной клетки и вернется в исходное положение. вправо ПОКА НЕ закрашено ДЕЛАТЬ закрась вправо КОНЕЦ ПОКА закрашено ДЕЛАТЬ влево КОНЕЦ влево 21 Домашнее задание • §3. (3, 4) • Р.т. № 28, 31, 32, стр. 104-106 22