Дополнительное задание 1 Параграф 15 ГДЗ Семакин 8 класс (Информатика)
9_13.exe
ЕК ЦОР: Часть2, глава 5, §30. ЦОР №10
Домашнее задание №21
Тема: Циклические алгоритмы
1. Начальное состояние: исполнитель находится в нижнем правом углу и смотрит вверх. Где будет исполнитель после выполнения следующих программ?
а)
пока впереди не край повторять
нц
прыжок
кц
поворот
поворот
пока впереди не край повторять
нц
прыжок
кц
б)
пока впереди не край повторять
нц
прыжок
поворот
прыжок
поворот
поворот
поворот
кц
а) Исполнитель после выполнения программы вернется в начальную позиции, но будет направлен вниз б) Если поле квадратное, исполнитель будет находится в левом верхнем углу.
2. Составьте алгоритм, переводящий графического исполнителя (ГРИС) в угол поля из любого исходного положения.
3. Дан следующий алгоритм:
пока впереди не край повторять
нц
поворот
кц
При каком исходном положении графического исполнителя данный алгоритм зациклится?
Исполнитель крутится в одном месте. Если он находится не в каком-нибудь углу данный алгоритм зацикливается.
4. Внесите исправления в приведённый ниже алгоритм, чтобы в результате его работы была нарисована рамка вдоль границ поля (исходное положение графического исполнителя – произвольное) и алгоритм не зацикливался:
ПЕРЕХОД
Поворот
ПЕРЕХОД
Поворот
Пока впереди не край
нц
ЛИНИЯ
Поворот
кц
Процедура ПЕРЕХОД
пока впереди край повторять
нц
прыжок
кц
конец процедуры
Процедура ЛИНИЯ
Пока впереди не край повторять
нц
шаг
кц
конец процедуры
4. Внесите исправления в приведённый ниже алгоритм, чтобы в результате его работы была нарисована рамка вдоль границ поля (исходное положение графического исполнителя – произвольное) и алгоритм не зацикливался:
ПЕРЕХОД
Поворот
ПЕРЕХОД
Поворот
Пока впереди не край
нц
ЛИНИЯ
Поворот
кц
Процедура ПЕРЕХОД
пока впереди не край повторять
нц
прыжок
кц
конец процедуры
Процедура ЛИНИЯ
Пока впереди не край повторять
нц
шаг
кц
конец процедуры
1. В программе
пока впереди не край повторять
нц
прыжок
кц
поворот
поворот
пока впереди не край повторять
нц
прыжок
кц
исполнитель сначала движется вперёд до края поля, затем поворачивается на $$180^\circ$$ и снова идёт до края. Значит, он вернётся в исходную клетку, но будет смотреть в противоположную сторону.
2. Чтобы перевести графического исполнителя в угол поля из любого положения, нужно сначала дойти до одной стены, затем повернуть и дойти до соседней стены:
НАЧ
ПОКА впереди НЕ стена
НЦ
ПРЫЖОК
КЦ
ПОВОРОТ
ПОКА впереди НЕ стена
НЦ
ПРЫЖОК
КЦ
3. Алгоритм
пока впереди не край повторять
нц
поворот
кц
зациклится, если исполнитель не стоит в углу. Тогда он будет бесконечно поворачиваться на месте, не приближаясь к краю.
4. Чтобы нарисовать рамку вдоль границ поля и не зациклиться, нужно в процедуре ПЕРЕХОД идти до края, а в основной программе после каждой стороны делать переход к следующей стороне:
ПЕРЕХОД
Поворот
ПЕРЕХОД
Поворот
ПОКА впереди не край
НЦ
ЛИНИЯ
Поворот
КЦПроцедура ПЕРЕХОД
ПОКА впереди НЕ край повторять
НЦ
прыжок
КЦ
конец процедурыПроцедура ЛИНИЯ
ПОКА впереди НЕ край повторять
НЦ
шаг
КЦ
конец процедуры
В таком виде исполнитель проходит по периметру поля, рисуя рамку, и алгоритм завершает работу.