Инфознайка
Главная

Информация вокруг нас

Виды информации
Измерения информации
Алфавитный подход
Содержательный подход
Файловая система
Кодирование графики
Кодирование звука
Скорость передачи
Электронная таблица Excel
Графы
Система счисления
Кодирование информации
Логика
Адресация в Интернете
Поиск в Интернете
Алгоритмы
Кумир
Массивы

Тема: Алгоритм

Коротко о главном 

Алгоритмы - заранее заданное точное предписание возможному исполнителю совершить определённую последовательность действий для получения решения задачи за конечное число шагов.

Свойства алгоритмов:

1.   Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке)

2.   Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае)

3.   Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения)

4.   Массовость (один и тот же алгоритм можно использовать с разными исходными данными)

5.   Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях)

Виды алгоритмов:

1.   Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке)

2.   Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание)

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

4.   Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя)

Для более наглядного представления алгоритма широко используется графическая форма - блок-схема, которая составляется из стандартных графических объектов.

Вид стандартного графического объекта

Назначение

 Начало алгоритма

 

 Конец алгоритма

 

 Выполняемое действие записывается внутри прямоугольника

 

 Условие выполнения действий записывается внутри ромба

 

 Счетчик кол-во повторов

 

 Последовательность выполнения действий.

Способы задания алгоритма:

  • словесный (недостаток–многословность, возможна неоднозначность–«он встретил ее на поле с цветами»)
  • табличный (физика, химия и т. д.)
  • графический (блок-схемы)

Стадии создания алгоритма:

1.   Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает

2.   Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия

Объект, который будет выполнять алгоритм, обычно называют исполнителем.

Исполнитель - объект, который выполняет алгоритм.

Идеальными исполнителями являются машины, роботы, компьютеры...

Компьютер – автоматический исполнитель алгоритмов.

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется 
программой.

Линейный алгоритм

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

 

Алгоритмический язык

Блок-схема

действие 1

действие 2

.................

действие N

Пример задания:

Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала в обратном порядке записываются буквы исходной цепочки символов, потом две последние буквы исходной цепочки символов в прямом порядке и, наконец, первая буква исходной цепочки символов. Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной цепочкой была цепочка СОН, то результатом работы алгоритма будет цепочка НОСОНС.
Дана цепочка символов ДНО. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (то есть применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

Решение:

Выполним алгоритм, строго соблюдая последовательность действий. Для верности, составим таблицу выполнения данного алгоритма.

Действие

Результат

 

Первое выполнение алгоритма.
Входные данные

ДНО

1

Записать буквы в обратном порядке

ОНД

2

Дописать две последние буквы исходной цепочки
в исходном порядке

ОНДНО

3

Дописать первую букву исходной цепочки

ОНДНОД

 

Второе выполнение алгоритма.
Входные данные

ОНДНОД

1

Записать буквы в обратном порядке

 ДОНДНО

2

Дописать две последние буквы исходной цепочки
в исходном порядке

 ДОНДНООД

3

Дописать первую букву исходной цепочки

 ДОНДНООДО

 

Полученный результат:

 ДОНДНООДО

Ответ: ДОНДНООДО

Примечание: Для решения данных задач, удобнее пользоваться таблицей, чем выполнять данный алгоритм в «голове». 

Еще пример задания:

У исполнителя Калькулятор две команды, которым присвоены номера:

1. прибавь 3

2. умножь на 4

Выполняя первую из них, Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на 4. Запишите порядок команд в программе получения из числа 3 числа 57, содержащей не более 6 команд, указывая лишь номера команд.

 (Например, программа 21211 это программа

умножь на 4

прибавь 3

умножь на 4

прибавь 3

прибавь 3

которая преобразует число 2 в 50.)

Решение:

1) нам нужно увеличить число (с 3 до 57), для этого в большинстве случаев умножение эффективнее сложения, поэтому нужно постараться максимально использовать умножение, а сложение – только в крайних случаях

2) попробуем решить задачу «обратным ходом», начав с числа 57;

3) очевидно, что последней командой не может быть умножение на 4 (57 на 4 не делится), поэтому последняя команда – сложение (прибавь 3), над стрелкой записан номер команды:

1

54→57

4) число 54 также не делится на 4, поэтому предыдущая команда – тоже сложение:

      1      1

51→54→57

5) аналогично для числа 51:

     1      1       1

48→51→54→57

6) число 48 делится на 4, поэтому используем умножение:

     2      1      1       1

12→48→51→54→57

7) наконец, добавив в начало программы еще одно умножение, получаем полную цепочку:

   2     2      1     1     1

3→12→48→51→54→57

8) таким образом, правильный ответ – 22111, эта программа состоит из 5 команд.

Возможные ловушки и проблемы:

·    иногда может потребоваться «откат» назад, например, если исходное число – 6, то применив деление на 4 для 12 мы «проскакиваем» его (получаем 12/4=3<6), поэтому нужно возвращаться обратно к 12 и дважды применять сложение; в этом случае ответ будет такой:

   1    1     2     1     1      1

6→9→12→48→51→54→57

Еще пример задания:

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

вправо

вверх

влево

влево

вниз

вниз

вправо

вправо

вправо

вниз

влево

Укажите наименьшее возможное число команд в программе, переводящей Робота из той же начальной клетки в ту же конечную.

Решение:

1)      отметим, что в условии ничего не говорится о стенках, то есть, молчаливо предполагаем, что их нет

2)      обратим внимание, что пары команд «вперед-назад» и «влево-вправо» дают нулевой эффект, то есть, не перемещают  Робота, поэтому все такие пары можно выкинуть из программы

3)      поскольку стенок нет, все равно где стоят парные команды в программе, вычеркиваем их:

вправо

вверх

влево

влево

вниз

вниз

вправо

вправо

вправо

вниз

влево

4)      смотрим, какие команды остались (они отмечены желтым маркером), их всего 3

5)      таким образом, ответ – 3.

Еще пример задания:

Решение:

1)      обозначим через  х  количество команд «Вперед 4» в программе, а через  у  – количество команд «Назад 3»

2)      для того, чтобы КУЗНЕЧИК попал в точку 27 из точки 0, должно выполняться условие

4х-3у=27-0=27

3)      это уравнение называется диофантовым; поскольку числа 4 и 3 – взамнопростые (их наибольший общий делитель равен 1), оно имеет бесконечно много решений

4)      из всех решений нас интересует такое, при котором  у  – наименьшее возможное неотрицательное (!) число

5)      представим уравнение в виде

4х=27+3у

нужно подобрать минимальное неотрицательное  у , при котором правая часть делится на 4

6)      дальше используем метод подбора (или перебора), начиная от 1; получаем

у=0→4х=27

у=1→4х=30

у=2→4х=33

у=3→4х=36

. . .

7)      видим, что первое  у , при котором 27+3у  делится на 4, это  у=3  (при этом  х=9 ).

8)      таким образом, ответ – 3.

 

 

Разветвляющий алгоритм

Коротко о главном

Cтруктура  ветвление. Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

  • если—то
  • если—то—иначе
  • выбор
  • выбор—иначе

Алгоритмический язык

Блок-схема

если—то

если условие
   то действия
 все

если—то—иначе

 если условие
   то действия 1
   иначе действия 2
 все

выбор

выбор
   при условие 1: действия 1
   при условие 2: действия 2
   . . . . . . . . . . . .
   при условие N: действия N
 все

выбор—иначе

выбор
   при условие 1: действия 1
   при условие 2: действия 2
   . . . . . . . . . . . .
   при условие N: действия N
   иначе действия N+1
 все


 
Пример задания:

 Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

вверх       вниз      влево     вправо.

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

сверху свободно        снизу свободно

слева свободно         справа свободно

 

 

 

 

 

 

6

 

 

 

 

 

 

5

 

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

 

 

 

1

A

B

C

D

E

F

 

 Цикл ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение?

 1) 1                          2) 2                                     3) 3                               4) 0

НАЧАЛО

ПОКА <снизу свободно> вниз

ПОКА <слева свободно> влево

ПОКА <сверху свободно> вверх

ПОКА <справа свободно> вправо

КОНЕЦ

Решение: 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)      легко понять, что для того, чтобы исполнитель вернулся обратно в ту клетку, откуда он начал движения, четыре стенки должны быть расставлены так, чтобы он упирался в них сначала при движении вниз, затем – влево, вверх и, наконец, вправо:

на рисунке красная точка обозначает клетку, начав с которой РОБОТ вернется обратно;

2)      кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке справа зеленым фоном, был свободен для прохода

3)      обратим внимание, что возможны еще «вырожденные» варианты, вроде таких:

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

4)      итак, мы выяснили, что нужно рассматривать лишь те клетки, где есть стенка справа; отметим на исходной карте клетки-кандидаты:

 

 

·

 

 

·

6

 

 

 

 

·

·

5

 

 

 

 

 

·

4

 

 

 

 

 

·

3

 

·

 

 

 

·

2

·

 

 

 

 

·

1

A

B

C

D

E

F

 

 

 

 

 

 

 

·

6

 

 

 

 

 

·

5

 

 

 

 

 

·

4

 

 

 

 

 

·

3

 

 

 

 

 

·

2

 

 

 

 

 

·

1

A

B

C

D

E

F

 

5)      этих «подозрительных» клеток не так много, но можно еще сократить количество рассматриваемых вариантов: если РОБОТ начинает движение с любой клетки на вертикали F, он все равно приходит в клетку F4, которая удовлетворяет заданному условию, таким образом, одну клетку мы нашли, а остальные клетки вертикали F условию не удовлетворяют:

 

6)      проверяем оставшиеся четыре клетки-кандидаты, но для каждой из них после выполнения алгоритма РОБОТ не приходит в ту клетку, откуда он стартовал:

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

5

 

 

 

 

 

4

 

 

 

 

 

 

3

 

·

 

 

 

 

2

 

 ↑↓

 

 

 

 

1

A

B

C

D

E

F

 

 

 

·

 

 

 

6

 

 

 

 

 

5

 ↑←

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

 

 

 

1

A

B

C

D

E

F

 

 

 

 

 

 

 

 

6

 

 

 

 

·

 

5

 

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

 

 

 

1

A

B

C

D

E

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

5

 

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

 

 

 

 

2

·

 

 

 

 

 

1

A

B

C

D

E

F

 

 

 

 

 

 

 

 

 

 

 

 

7)      итак, условию удовлетворяет только одна клетка – F4

8)      таким образом, правильный ответ – 1.

 

Возможные ловушки и проблемы:

·    вариантов может быть достаточно много, важно не пропустить ни один из них

·    можно попытаться выполнить алгоритм для каждой клетки лабиринта, но это займет много времени; поэтому лучше ограничиться только клетками-кандидатами

·    нужно правильно определить свойства, по которым клетку можно считать «кандидатом»

·    можно не заметить стенку и таким образом получить лишнее решение

 

 

Еще пример задания:

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

вверх       вниз      влево     вправо.

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

сверху свободно        снизу свободно

слева свободно         справа свободно

 

 

 

 

 

 

6

 

 

 

 

 

 

5

 

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

 

 

 

1

A

B

C

D

E

F

 

 Цикл ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет (не врежется в стену) и остановится в той же клетке, с которой он начал движение?

 1) 1                          2) 2                                     3) 3                               4) 0

НАЧАЛО

ПОКА <слева свободно> вверх

ПОКА <сверху свободно> вправо

ПОКА <справа свободно> вниз

ПОКА <снизу свободно> влево

КОНЕЦ

Решение: 

 

1)      особенность этой задач в том, что РОБОТ проверяет стенку в одном направлении, а движется в другом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

2)      рассмотрим первый цикл:

ПОКА <слева свободно> вверх

понятно, что при движении вверх РОБОТ остановится в первой же клетке, где слева будет стена

3)      рассуждая аналогично, находим, что во втором цикле при движении вправо РОБОТ останавливается в клетке, где есть стена сверху; в третьем цикле (движение вниз) РОБОТ останавливается в клетке, где есть стена справа;

4)      наконец, в четвертом цикле РОБОТ останавливается в клетке, где есть стена снизу; при этом он должен попасть обратно в исходную клетку, обозначенную на рисунке красной точкой;

5)      кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке зеленым фоном, был свободен для прохода, иначе РОБОТ врежется в стенку

6)      теперь отметим на карте все клетки-кандидаты, где снизу есть стена: 

 

 

 

 

·

 

6

 

·

 

 

 

 

5

 

 

 

 

 

 

4

 

 

 

 

 

·

3

 

 

·

 

 

 

2

·

·

·

·

·

·

1

A

B

C

D

E

F

 

7)      при движении из клеток B5, D1, E1, E6, F1 и F3 РОБОТ врежется в стенку, потому что слева стены нет и условие «слева свободно» всегда истинно:

 

 

·

6

 

·

 

 

 

5

 

 

 

 

 

 

4

 

 

 

 

 

·

3

 

 

·

 

 

2

·

·

·

·

·

·

1

A

B

C

D

E

F

 

8)      начав движение с клетки A1, C1 или C2, РОБОТ также врезается в стенку и разрушается:

 

 

 

 

 

 

6

 

 

 

 

 

5

 

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

·

 

 

 

2

·

·

·

 

 

 

1

A

B

C

D

E

F

 

9)      и только путь, начатый в клетке B1, приводит РОБОТА обратно в точку старта:

 

 

 

 

 

 

6

 

 

 

 

 

 

5

 

↑↓

 

 

 

 

4

 

 ↑↓

 

 

 

 

3

 

 ↑↓

 

 

 

 

2

 

 ·

 

 

 

 

1

A

B

C

D

E

F

 

10)   таким образом, только клетка B1 удовлетворяет условию задачи, поэтому …

11)   правильный ответ – 1.

Еще пример задания:

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

вверх       вниз      влево     вправо.

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

сверху свободно        снизу свободно

слева свободно         справа свободно

 Цикл ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет (не врежется в стену)?

 1) 1                          2) 13                                  3) 21                            4) 39

НАЧАЛО

ПОКА <снизу свободно> вниз

ПОКА <слева свободно> влево

вверх

вправо

КОНЕЦ

 

Решение: 

 1) нарисуем примерный путь Робота в соответствии с программой; вот три варианта, когда Робот не разбивается:

1)

?

?

?

?

 

2)

?

?

 

?

3)

?

?

?

 

?

?

?

?

 

 

?

?

 

?

 

?

 

?

?

 

?

 

 

?

 

 

?

 

 

?

 

?

 ↓→

 

?

 

 

 

 

 

 

 

 

 

?

 

 

 →↑

?

?

 

?

?

?

?

 

 

?

?

 

?

 

?

 

?

?

здесь ключевые клетки – две стенки (слева и снизу) и три ярко-зеленых клетки, которые должны быть свободны

2) теперь ищем на карте участки, где есть все ключевые клетки (они выделены на рисунке):


 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обратите внимание, что в двух случаях нижняя «ключевая» стенка имеет длину больше 1 (темно-коричневый цвет), то есть Робот может спускаться по разным линиям.

3) теперь осталось подсчитать все клетки, спускаясь из которых Робот упирается в темно-коричневые стенки:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

4)  подсчет показывает, что их 39 штук;

5) поэтому правильный ответ – 4.

 Циклический алгоритм

Коротко о главном

Псевдокод:

·      в школьном алгоритмическом языке нц обозначает «начало цикла», а кц – «конец цикла»; все команды между нц и кц – это тело цикла, они выполняются несколько раз

·      запись нц для i от 1 до n обозначает начало цикла, в котором переменная i (она называется переменной цикла) принимает последовательно все значения от 1 до n с шагом 1

Структура цикл. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Циклы бывают трех видов: с предусловием «пока-делай», постусловием «делай-пока», со счётчиком «для».

Алгоритмический язык

Блок-схема

Цикл с предусловием (Цикл пока)
Предписывает выполнение тела цикла до тех пор, пока выполняется условие, записанное после слова пока

нц пока условие

  тело цикла

кц

2. Цикл с постусловием
Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне

нц

тело цикла

пока условие

кц

Проверочные задания

  1. Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала записывается исходная цепочка символов, после нее записывается исходная цепочка символов в обратном порядке, затем записывается буква, следующая в русском алфавите за той буквой, которая в исходной цепочке стояла на последнем месте. Получившаяся цепочка является результатом работы алгоритма. Например, если исходная цепочка символов была ЛЕС, то результатом работы алгоритма будет цепочка ЛЕССЕЛТ.

    Дана цепочка символов ЕН. Какая цепочка символов получится, если к данной цепочке применить алгоритм дважды (то есть к данной цепочке применить алгоритм, а затем к результату его работы еще раз применить алгоритм)?

      ЕНОЕННЕОНЕП
      ЕННЕООЕННЕП
      ЕННЕОННЕОЕП
      ЕННЕННЕООЕП

     

  2. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

    вверх       вниз      влево     вправо.

    При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

    сверху свободно        снизу свободно

    слева свободно         справа свободно

     

     

     

     

     

     

    6

     

     

     

     

     

     

    5

     

     

     

     

     

     

    4

     

     

     

     

     

     

    3

     

     

     

     

     

     

    2

     

     

     

     

     

     

    1

    A

    B

    C

    D

    E

    F

     

     Цикл ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение

    НАЧАЛО

    ПОКА <справа свободно> вправо

    ПОКА <сверху свободно> вверх

    ПОКА <слева свободно> влево

    ПОКА <снизу свободно> вниз

    КОНЕЦ

    1
    2
    3
    4

  3. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

    вверх       вниз      влево     вправо.

    При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

    сверху свободно        снизу свободно

    слева свободно         справа свободно

     Цикл ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку.

    Если РОБОТ начнет движение в сторону стены, он разрушится и программа прервется.

     

     

     

     

     

     

    6

     

     

     

     

     

     

    5

     

     

     

     

     

     

    4

     

     

     

     

     

     

    3

     

     

     

     

     

     

    2

     

     

     

     

     

     

    1

    A

    B

    C

    D

    E

    F

     

    Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет и остановится в той же клетке, с которой он начал движение?

    НАЧАЛО

    ПОКА <сверху свободно> вправо

    ПОКА <справа свободно> вниз

    ПОКА <снизу свободно> влево

    ПОКА <слева свободно> вверх

    КОНЕЦ

     

    1
    2
    3
    4

  4. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:

    Вперед n (где n - целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.

    Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.

    Запись Повтори 5 [Команда1 Команда2] означает, что последовательность команд в скобках повторится 5 раз.

    Черепашке был дан для исполнения следующий алгоритм:

    Повтори 6 [Вперед 10 Направо 72]

    Какая фигура появится на экране?

    незамкнутая ломаная линия
    квадрат
    правильный пятиугольник
    правильный шестиугольник

      

  5. Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:

    Вперед n (где n – целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.

    Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.

    Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится k раз.

    Черепашке был дан для исполнения следующий алгоритм:

    Повтори 12 [Направо 45 Вперед 20 Направо 45]

    Какая фигура появится на экране?

    квадрат
    правильный двенадцатиугольник
     правильный восьмиугольник
    незамкнутая ломаная линия