Для успешного выполнения самостоятельной работы вам необходимо уметь составлять линейные алгоритмы для Робота с использованием команд перемещения, закраски и построения стенок.
Дополнительные задания:
21. Робот находится в лабиринте. Напишите программу, которая позволит ему выбраться из него.
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() |
* | ||||||||
22. Напишите программу изображения орнамента.
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() |
Урок 9. Циклические алгоритмы.
Цикл «N раз»
Итак, мы с вами научились управлять Роботом. Под нашим руководством он рисует красивые узоры, ремонтирует трубопроводы и многое другое. Но давайте представим такую ситуацию: нам нужно, чтобы робот закрасил сто подряд идущих клеток. Так и писать сто раз команды закрасить и вправо? А если нужно закрасить несколько тысяч клеток? Такого количества команд никакой программный листок не вместит. Да и писать это тоскливо.
Конечно, чтобы закрасить сто клеток, Робот сто раз должен выполнить команды закрасить и вправо, тут уж ничего не поделаешь. Но совершенно не обязательно записывать их сто раз. Есть способ указать в алгоритме, что некоторая команда или группа команд должна выполниться Роботом несколько раз. Такая структура записи команд алгоритма называется циклом.
Цикл – это многократное исполнение последовательности команд.
Итак, пусть исполнителю требуется перекрасить в красный цвет ряд из 6 синих клеток (см. рисунок справа). При решении этой задачи Робот должен подойти к ряду клеток, которые необходимо перекрасить, а затем выполнить 6 раз команды закрасить и вправо.
Для нашей задачи подходит цикл "N раз" с известным числом повторений.
В общем виде структура цикла выглядит так:
нц n раз
|

команда 2;
…
кц
А как вы думаете зачем писать кц, обозначающий конец цикла?
Дело в том, что, как мы уже сказали, повторять иногда необходимо несколько команд и слово «кц» как раз и отделяет команды, которые выполняются многократно, от других, которые не нужно повторять. А чтобы легче было заметить, какие команды находятся внутри цикла, их следует писать с небольшим отступом вправо.
Для графического изображения цикла так же существует свой символ:
Решение задачи перекраски ряда с использованием цикла "N раз" выглядит так:
алг ряд
дано! ряд из 6 синих клеток
надо! перекрасить ряд в красный цвет
нач
краска (4);
вправо (3);
нц 6 раз
закрасить;
вправо;
кц
кон
В виде блок-схемы решение этой задачи будет выглядеть следующим образом:
Правила использования оператора цикла:
1. Цикл " N раз " используется тогда, когда число повторений цикла заранее известно или может быть вычислено.
2. Цикл начинается заголовком цикла – ключевым словом нц, за которым указывается нужное количество повторений цикла.
3. Цикла заканчивается ключевым словом кц.
4. В цикле повторяются все команды, находящиеся между заголовком цикла и ключевым словом кц (тело цикла).
5. Для того чтобы легче разбираться в программе, применяют специальную систему записи с отступами: все команды, входящие в цикл, смещают вправо на 2-3 символа – это позволяет сразу видеть, где начинается и где заканчивается цикл.
Задание:
23. Нарисуйте конечное положение робота (звездочка) после выполнения следующего алгоритма:
алг поход
| ||||||
* | ||||||
дано! чистое поле
надо! передвинуть робота
нач
нц 300 раз
вправо;
кц
нц 298 раз
влево;
кц
кон
24. Что будет изображено на экране и где будет расположен Робот, после выполнения следующего алгоритма:
алг стенки
* | ||||||||
дано! чистое поле
надо! выполнить алгоритм
нач
вправо(2);
нц 6 раз
построить(1);
построить(0);
вниз;
вправо;
кц
кон
25. Робот должен был построить следующее изображение, но при составлении алгоритма была допущена ошибка. Исправьте алгоритм.
алг узор
* | |||||||||||||
◦ |
дано! чистое поле
надо! выполнить алгоритм
нач
вправо;
вниз;
краска(5);
нц 5 раз
закрасить;
вниз;
вправо;
вправо;
вниз;
кон
26. Нужно провести робота сквозь лабиринт. Допишите начатый алгоритм до конца
алг лабиринт
дано! лабиринт
надо! выйти из лабиринта
нач
вправо(2);
вниз;
нц раз
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() | |||
![]() |
27. Нужно создать узор следующего вида. Составьте два алгоритма: С одним циклом и двумя циклами. Оформите решения в виде блок-схем.
* | |||||||||||
С одним циклом С двумя циклами
Урок 10. Решение задач
28. Спасти клубнику от вредителей! Написать программу построения изгороди из стенок вокруг клубничной грядки.
![]() |

![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() |
29. Оформить решение задачи в виде блок – схемы. Показать траекторию полета снаряда от самолета до вертолета.
30. Огородить спираль стенками и закрасить синим цветом. Напишите программу решения данной задачи.
![]() |

![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() |
31. Изобразить в тетради то, что получится после исполнения роботом следующего алгоритма:
* | |||||||||||||||
алг задача
дано! чистое поле, в верхнем левом
! углу которого расположен Робот
надо! изобразить, что получится после
! выполнения Роботом команд
нач
краска (1); вправо; вниз;
нц 3 раз
построить(2); закрасить; вниз;
кц
вправо;
нц 2 раз
вверх; закрасить;
кц
вправо; вниз; закрасить; краска (2);
нц 4 раз
вниз; вправо(2);
кц
нц 3 раз
построить (2); закрасить; вниз;
кц
вправо;
нц 2 раз
вверх; закрасить;
кц
вправо; вниз; закрасить;
кон
32. Перекрасить все поле 16х16 клеток в зеленый цвет. Составить наиболее короткую программу. (Для решения данной задачи необходимо воспользоваться приемом организации одного цикла внутри другого).
алг
дано!
надо!
нач
краска ();
нц 15 раз
нц 15 раз
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() |
33. Написать программу для изображения на синей доске слова АНАНАС. (Вверху экрана показаны варианты написания букв).
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() | ||||
![]() |
34. Дана блок – схема алгоритма. Определить, что будет изображено на рабочем поле после выполнения этого алгоритма Роботом.
* | |||||||||||||||