вниз

advertisement
Исполнитель Робот.
Цикл «пока».
Работа в среде Алгоритмика
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
Download