Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Управляющая информация и системы с обратной связью




Понятие «управляющей информации» тождественно понятию «программа», а программа — это алгоритм, записанный на конкретном формальном языке, а значит такая информация может быть записана символами алфавита и быть объектом, а не субьектом.

В компьютерах чаще всего используется так называемая фон-неймановская архитектура, предполагающая, что программы сохранены в виде специального, понятного центральному процессору «машинного кода» в оперативной памяти, в том же пространстве, где хранятся и данные.

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

В любом случае вычислитель, замкнутый в своих внутренних переменных, не может ориентироваться на изменения окружающей среды. Допустим, в луноход внесена карта местности, и он движется строго по заданной траектории. При отстуствии обратной связи любые изменения рельефа будут гибельными для его миссии.
В языках программирования нечно подобное «обратной связи» позволяют задать конструкции условного исполнения операторов.

 

Задачи для выполнения на занятии

Задача 1

Какие действия необходимо сделать, чтобы перейти в закрашенную точку?
(Использовать команды вверх, вниз, вправо и влево.)

Задача 2

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

Задача 3

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

Решение

Использовать Робот

алгначнц пока снизу свободно закрасить двигаться вправо до стены закрашивая нужные клетки нц пока справа свободно вправо если снизу свободно то закрасить все кц налево до упора нц пока слева свободно влево кц внизкцкон

Задача 4

На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой ступени– одна клетка, ширина– две клетки. Робот находится справа от верхней ступени лестницы.
Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно. На рисунке указан один из возможных способов расположения лестницы и Робота.

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

Решение

Использовать Робот

0 – вверх, 1 – вправо, 2 – вниз, 3 – влево
цел направленность = 0

алгнач нц пока не клетка закрашена если держимся правой рукой то если впереди свободно то вперед иначе налево все иначе направо вперед все кцконалг впередначвыбор при направленность = 0: вверх при направленность = 1: вправо при направленность = 2: вниз при направленность = 3: влевовсеконалг лог впереди свободноначвыбор при направленность = 0: знач:= сверху свободно при направленность = 1: знач:= справа свободно при направленность = 2: знач:= снизу свободно при направленность = 3: знач:= слева свободновсеконалг лог держимся правой рукойначнаправознач:= не впереди свободноналевоконалг налевоначнаправленность:= направленность - 1если направленность = -1 то направленность:= 3всеконалг направоначнаправленность:= направленность + 1если направленность = 4 то направленность:= 0всекон

Задача 5

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

Пример лабиринта:

Решение

Использовать Робот

0 – вверх, 1 – вправо, 2 – вниз, 3 – влево
цел направленность = 0

алгнач нц пока не клетка закрашена если по правую руку стена то если впереди стена то поворот налево иначе вперед все иначе поворот направо если не впереди стена то вперед все всекцконалг поворот направоначнаправленность:= направленность + 1если направленность = 4 то направленность:= 0всеконалг поворот налевоначнаправленность:= направленность - 1если направленность = -1 то направленность:= 3всеконалг впередначвыбор при направленность = 0: вверх при направленность = 1: вправо при направленность = 2: вниз при направленность = 3: влевовсеконалг лог впереди стенаначвыбор при направленность = 0: знач:= сверху стена при направленность = 1: знач:= справа стена при направленность = 2: знач:= снизу стена при направленность = 3: знач:= слева стенавсеконалг лог по правую руку стенаначповорот направознач:= впереди стенаповорот налевокон

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...