Алгоритм, в котором команды выполняются в порядке их записи,
т.е. последовательно друг за другом, называется
линейным алгоритмом.
Т.е. линейная структура образуется из последовательности
действий, следующих одно за другим:

Например, в сказке Ш.Перро мачеха, собираясь с дочерьми на бал,
дала Золушке задания: собрать в амбаре рассыпанную крупу,
перебрать её, наносить воды, почистить котёл до блеска, помыть
пол. Действия Золушки представлены алгоритмом:
 |
Полное
ветвление наблюдаем в поэме А.С. Пушкина «Руслан и Людмила»:
У
лукоморья дуб зелёный;
Златая цепь на дубе том:
И днём и ночью кот учёный
Всё ходит по цепи кругом;
Идёт направо - песнь заводит,
Налево - сказку говорит.
 |
Неполное
ветвление наблюдаем в сказке А.С. Пушкина
о Золотом Петушке
Но лишь чуть со стороны
Ожидать тебе войны,
Иль набега силы бранной,
Иль другой беды незваной,
Вмиг тогда мой петушок
Приподнимет гребешок,
Закричит и встрепенётся
И в то место обернётся.
 |
Задания
для самостоятельного выполнения
1) Приведи примеры алгоритмов из литературных произведений, в
которых встречаются следующие алгоритмические конструкции:
- следование,
- ветвление,
- цикл.
Представь эти алгоритмы в любой удобной для тебя форме записи.
2) Запиши в виде блок-схем следующие пословицы:
В умной беседе ума добудешь, а в глупой - и свой потеряешь.
Семь раз отмерь, один – отрежь.
3) Исполнитель Черепашка перемещается на экране компьютера,
оставляя след в виде линии. В каждый конкретный момент известно
положение исполнителя и направление его движения. У исполнителя
существует система команд:
Вперед
n,
где
n
– число шагов,
Направо
m,
где
m
– число градусов, на которые должен повернуться
исполнитель по часовой стрелке,
Повтори к(…),
где к – количество повторений команд, указанных в скобках.
Черепашке был задан следующий алгоритм для исполнения:
Повтори 3 (Вперед 10 Направо 120)
Направо 60
Повтори 3 (Вперед 10 Направо 120)
Направо 60
Вперед 10
Направо 60
Повтори 3 (Вперед 10 Направо 120)
Какая фигура появится на экране?
4) Для числа х=11 выполни алгоритм:

5)
Исполнитель «РОБОТ»
умеет перемещаться по лабиринту на клетчатой плоскости. Ниже
приведено описание РОБОТА.
У РОБОТА есть четыре команды перемещения:
вверх
вниз
влево
вправо
При
выполнении любой из этих команд РОБОТ перемещается на одну
клетку соответственно: вверх, вниз, влево, вправо. Между
соседними (по сторонам) клетками может стоять стена, через
которую РОБОТ пройти не может. Если РОБОТ получает команду
передвижения через стену, то он разрушается. Четыре команды
проверяют истинность условия отсутствия стены у каждой стороны
той клетки, где находится РОБОТ:
сверху свободно
снизу свободно
слева свободно
справа свободно
Эти команды можно использовать вместе с оператором «ЕСЛИ»,
имеющего следующий вид:
ЕСЛИ
условие
ТО
последовательность команд
КОНЕЦ
«Последовательность команд» — это одна или несколько любых
команд РОБОТА. Например, для передвижения на одну клетку вправо,
если справа нет стенки можно использовать такой алгоритм:
ЕСЛИ справа свободно ТО вправо
КОНЕЦ
В одном условии можно использовать несколько команд, используя
логические связки И,
ИЛИ,
НЕ,
например,
ЕСЛИ (слева свободно) И НЕ (снизу свободно) ТО влево
КОНЕЦ
Для повторения последовательности команд можно использовать цикл
«пока», имеющий следующий вид:
НЦ
ПОКА условие ДЕЛАТЬ последовательность команд
КЦ
Например, для движения вправо пока это возможно можно
использовать следующий алгоритм:
ПОКА справа свободно ДЕЛАТЬ вправо
КОНЕЦ
Также у РОБОТА есть команда
закрасить,
которая закрашивает клетку, в которой РОБОТ находится в
настоящий момент времени.
На бесконечном поле имеется вертикальная стена. Длина
стены неизвестна. От верхнего конца стены вправо отходит
горизонтальная стена также неизвестной длины. Робот находится в
клетке, расположенной слева от нижнего края вертикальной стены.
На рисунке указан один из возможных способов расположения стен
и Робота (Робот обозначен буквой «Р»).

Напиши для Робота алгоритм, закрашивающий все клетки,
расположенные левее вертикальной стены и выше
горизонтальной стены и прилегающие к ним. Робот должен
закрасить только клетки, удовлетворяющие данному условию.
Например, для приведённого выше рисунка Робот должен
закрасить следующие клетки (см. рисунок).
 |