Пока наши программы содержат не более 20-30 команд (операторов) и разобраться в них не составляет труда. В то же время профессиональные программы содержат тысячи и миллионы строк, и если бы они были написаны в виде одной длинной программы, их было бы практически невозможно понимать и редактировать. Даже книги всегда разбивают на главы и разделы.
Кроме того, в больших программах часто одни и те же действия (последовательности команд) должны выполняться несколько раз в разных местах программы. При этом приходится несколько раз переписывать (или копировать) их в текст. Если этот блок надо изменить, нужно вносить изменения в нескольких местах.
Таким образом, при работе с большими программами мы встречаемся с двумя проблемами:
- программы получаются длинные и непонятные;
- существуют целые группы команд, которые встречаются несколько раз в разных местах программы.
Выход из этой ситуации достаточно прост – надо разбить программу на несколько более мелких законченных задач (подзадач). Каждую из этих подзадач разбивают еще на более мелкие задачи так, чтобы каждая мелкая подзадача была записана в 20-50 строк программы. Для решения подзадач составляются вспомогательные алгоритмы, которые называются процедурами. Каждая процедура имеет свое имя, если написать в программе имя процедуры, то выполнятся все команды, входящие в процедуру.
Как создать РОБОТА
Фактически при создании процедуры в список команд исполнителя добавляется новая команда. Чтобы исполнитель понял ее, надо эту команду расшифровать, то есть, объяснить, что делать при получении этой команды. Важно, чтобы в конечном счете все новые команды были расшифрованы через основные команды, входящие в СКИ исполнителя.
Как ввести новую команду (задача z10-3.Maz)?

П ример 1. Рассмотрим задачу для Робота, показанную на рисунке. Попробуем решить ее, добавляя в СКИ исполнителя нужные нам команды. Сначала надо выделить те части задачи, которые одинаковы (или, по крайней мере, похожи). Легко заметить, что в нашей задаче есть три одинаковых площадки, каждая из которых состоит из угловой стенки и трех грядок.

Введем новую команду Угол. Будем считать, что Робот по этой команде обрабатывает одну такую площадку (см. рисунок слева). В конце работы машина Робота разворачивается на восток. Важно, что площадки совершенно одинаковые, поэтому каждую из них можно обрабатывать командой Угол.
Основная программа выглядит так:
Обратите внимание на команды между вызовами процедуры. Они служат для того, чтобы перевести Робота в исходное положение для следующего вызова процедуры. Подумайте, что случится, если их убрать?
перед вторым вызовом процедуры: перед третьим вызовом процедуры:
  
 
1 урок. КуМир. Первая программа для исполнителя Робот
Теперь остается только объяснить Роботу, что делать, когда он встретит в программе новую команду. После основной программы мы запишем расшифровку процедуры в виде отдельного алгоритма.
Если бы мы не знали, что это процедура, невозможно было бы отличить ее от основной программы, поскольку обе оформляются одинаково. Первую процедуру исполнитель считает основной программой.
Пример 2. Рассмотрим еще одну задачу. Робот должен посадить цветы в конце каждого тупика (см. рисунок справа). Известно, что тупики есть только слева от Робота, справа – сплошная стена. Количество тупиков и их длины заранее неизвестны.

И дея алгоритма очень проста: Робот двигается вперед до стены, на каждом шаге проверяя, есть ли стена слева. Если ее нет, он обрабатывает тупик.
Теперь остается только записать расшифровку процедуры Тупик:
Важно, что после выполнения процедуры Робот стоит в том же положении, что и до ее вызова. Иначе основная программа была бы неправильной.
Источник: studfile.net
Движение робота ev3 вперед повороты
Огромный перечень кабельно-проводниковой продукции в интернет-магазине Contactica. 
На данном уроке мы познакомимся с понятием линейного алгоритма, разберемся, как программировать движение робота Ev3.Линейный алгоритм это набор последовательных команд, которые выполняются только один раз. Команды следуют одна за другой в строго заданном порядке. 
Например, рассмотрим алгоритм движения робота по квадрату. 
Движение вперед на 1 оборот 
Поворот робота на 90 градусов направо 
Движение вперед на 1 оборот 
Поворот робота на 90 градусов направо 
Движение вперед на 1 оборот 
Поворот робота на 90 градусов направо 
Движение вперед на 1 оборот 
Перед тем как реализовывать линейные алгоритмы движения познакомился, как программировать простейшие команды движения робота EV3. 
Движение вперёд робота ev3. 1 действие. Движение вперёд робота ev3. Моторы робоат ev3 подключаются к портам с буквами: A B C D Все повороты делаются на мощностях меньше 50. 
Сбрасываем датчик моторов в ev3.  2 действие. Ставим цикл и в него ставим моторы на режиме «включить».
2 действие. Ставим цикл и в него ставим моторы на режиме «включить».  3 действие. Выставляем мощность мотора на 100.
3 действие. Выставляем мощность мотора на 100.
  4 действие. Заходим в цикл, выставляем вращение мотора «градусы».
4 действие. Заходим в цикл, выставляем вращение мотора «градусы».  5 действие. Полный оборот колеса 360 градусов.
5 действие. Полный оборот колеса 360 градусов. 
6 действие. Остановка моторов в режиме «выключить». 
Повороты робота EV3.Программа для поворота робота ev3
1 действие. Чтобы робот вращался на месте как трактор используется реверсивный поворот , когда один мотор двигается в одну сторону, а другой в противоположную. Чтобы мотор начал вращаться назад , необходимо выставить мощность -100.
  Поворот робота ev3 в другую сторону
 Поворот робота ev3 в другую сторону   1. действие. Чтобы поворачивать в другую сторону , необходимо поменять мощности моторов . Теперь мотор с портом A будет с отрицательной мощностью.
 1. действие. Чтобы поворачивать в другую сторону , необходимо поменять мощности моторов . Теперь мотор с портом A будет с отрицательной мощностью.  3 действие. Меняем порт мотора в конце цикла.
3 действие. Меняем порт мотора в конце цикла. 
Движение робота EV3 назад
Чтобы обеспечить движение робота ev3 назад, устанавливаем отрицательную мощность обоих моторов . Действие 1. В условии цикла необходимо будет поставить знак «меньше».  Действие 2. Ставим отрицательные значения градусов.
Действие 2. Ставим отрицательные значения градусов.  Задание на урок 1. Собрать робота Ev3 на двух моторах, 2. Запрограммировать движение по квадрату 3. Запрограммировать трассу «змейка», объехать две кегли. Другие схемы роботов lego ev3
 Задание на урок 1. Собрать робота Ev3 на двух моторах, 2. Запрограммировать движение по квадрату 3. Запрограммировать трассу «змейка», объехать две кегли. Другие схемы роботов lego ev3
Хотите видеть на нашем сайте больше статей? Кликните Поделиться в социальных сетях! Спасибо!
- Ардуино для начинающих » Arduino программирование
Обратите внимание полезная информация.
Источник: www.prorobot.ru
Исполнитель Робот в среде программирования Кумир
 
1. Исполнитель Робот в среде программирования Кумир
2.
Прямоугольное клетчатое поле 
Изображается: Р , *, 
, 
… 
Начальное положение: произвольное 
3.
4.
вверх 
вниз 
вправо 
влево 
закрасить 
смешается 
на 1 клетку в 
указанном 
направлении 
закрашивает клетку в 
которой находиться, причем 
одну и ту же клетку может 
закрашивать несколько раз 
5.
В 
Составить алгоритм движения Робота в клетку В вдоль стены при 
условии, что Робот не разрушится. 
6.
В 
алг Робот 
нач 
вниз 
вниз 
вправо 
вправо 
вниз 
вправо 
кц 
7.
Исполнитель 
РОБОТ 
Меню ВСТАВКА, в 
котором находятся 
все необходимые для 
составления 
алгоритма команды 
Среда исполнителя: 
Окно Робота, в котором 
графически отображаются 
шаги Робота после запуска 
команды меню выполнение 
8.
9.
Исполнитель 
РОБОТ 
Меню ВСТАВКА, в 
котором находятся 
все необходимые для 
составления 
алгоритма команды 
Среда исполнителя: 
Окно Робота, в котором 
графически отображаются 
шаги Робота после запуска 
команды меню выполнение 
10.
11. Линейная программа
Задача: Закрасить 
квадрат 2х2 
клетки. 
Зададим стартовую 
обстановку, выполнив 
Робот — Редактировать 
стартовую обстановку. 
Сохранять обстановку в 
файл не обязательно. 
Составим программу, 
после чего выполним 
ее. На рисунке 
представлена система 
КуМир после 
выполнения программы. 
12.
13.
14. Составить программу закраски периметра квадрата 4х4 клетки
15. Составить программу, результатом выполнения которой будет следующее
Система программирование КуМир
16.
17. Задание
алг Задание 
нач 
. нц 4 раз 
. . закрасить, 
. . вверх 
. . закрасить 
. . вверх 
. . закрасить 
. . вправо 
. . закрасить 
. . вниз 
. . закрасить 
. . вниз 
. . закрасить 
. . вправо 
. кц 
кон 
18.
Исполнитель Робот 
в среде программирования 
Кумир 
ЦИКЛЫ 
19. Исполнитель Робот в среде программирования Кумир
вверх 
вниз 
вправо 
влево 
закрасить 
смешается 
на 1 клетку в 
указанном 
направлении 
закрашивает клетку в 
которой находиться, причем 
одну и ту же клетку может 
закрашивать несколько раз 
20.
Исполнитель 
РОБОТ 
Меню ВСТАВКА, в 
котором находятся 
все необходимые для 
составления 
алгоритма команды 
Среда исполнителя: 
Окно Робота, в котором 
графически отображаются 
шаги Робота после запуска 
команды меню выполнение 
21.
Система программирование КуМир
22.
23. Задание
24. Задание
ЦИКЛЫ в РОБОТЕ 
Если количество повторений 
неизвестно, то используется цикл 
пока 
нц пока условие 
последовательность команд 
кц 
25. ЦИКЛЫ в РОБОТЕ
Условия исполнителя 
Робот 
сверху свободно 
сверху не свободно 
снизу свободно 
снизу не свободно 
слева свободно 
слева не свободно 
справа свободно 
справа не свободно 
26. Условия исполнителя Робот
27. Задание
• Измените размер стены 
(увеличьте или уменьшите) 
• Положение Робота не меняйте (он 
должен находиться в клетке перед 
стеной 
• Программу не меняйте. 
Выполнится ли ваша программа? 
Источник: ppt-online.org
