Доклад: Информация и управление. Обратная связь

Управление -- это целенаправленное воздействие управляющего объекта на управляемый для организации его функционирования заданным образом. Оказывается, самые разнообразные процессы управления (в природе, обществе, технических устройствах) происходят сходным образом, основаны на одних и тех же принципах20.

Любое управляющее воздействие, в какой бы форме оно производилось, можно рассматривать как информацию, передаваемую в форме команд. Например, при нажатии кнопки на пульте управления телевизором мы передаем команду "переключить канал". Как сказано в определении, команды отдаются не случайно, а целенаправленно. Иногда цель достигается после исполнения одной команды, чаще приходится пользоваться последовательностью команд. Вы уже знаете, что такая последовательность называется алгоритмом.

Достаточно ли односторонней передачи информации (только от управляющего объекта к управляемому)? Иногда, да. Но чаще желательно (а нередко, и необходимо) иметь возможность реагировать на изменения реальной ситуации, т.е. управляющий объект должен получать информацию от управляемого объекта и, в зависимости от его состояния, так или иначе менять управляющее воздействие. Для передачи информации о состоянии управляемого объекта служит обратная связь. Системы управления, содержащие ветвь обратной связи, называются замкнутыми, а не имеющие ее -- разомкнутыми.

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

Возможно вы искали - Доклад: Алгоритм и программа

Чтобы автоматическая система могла получить информацию о состоянии управляемого объекта и внешней среды, необходимы специальные устройства -- датчики (Например, датчик температуры, датчик вибрации, датчик освещенности и т.д.). В ЛогоМирах тоже есть датчики -- функции, передающие компьютеру значения, в зависимости от состояния системы или своих аргументов. Например, датчик "ответ". Его значение зависит от того, что набрал человек в ответ на последний вопрос компьютера. Существуют датчики, значение которых зависит от состояния черепашки. Например, "цвет_поля" (цп, colorunder) выдает код цвета, на котором в данный момент находится черепашка.

Используя уже изученные команды, мы можем изменять характеристики того или иного действия, но не можем отменить его или заменить на другое. На практике же нередко требуется именно такая реакция на изменение состояния системы.

Взгляните на программу "уравнение" из предыдущей главы. Она будет нормально работать, если человек задаст корректные исходные данные. Но что произойдет, если в качестве коэффициента а будет введен ноль? Программа аварийно завершится с сообщением "не могу разделить на ноль". Лучше сделать так, чтобы компьютер и не пытался выполнять такое действие. Для этого мы можем записать фрагмент программы вот так:

...

если не :a = 0

Похожий материал - Доклад: Компьютер рисует

[

пусть “x 0 - :b / :a

сообщи пред [Корень уравнения x=] :x

]

...

Очень интересно - Доклад: Информатика и информационные технологии

Теперь при ошибочном значении переменной "а" программа будет завершаться нормально. Правда, при этом человек не получит никакого сообщения. Это, опять-таки, не слишком хорошо. Желательно, чтобы пользователь получал сообщение об ошибке. Придется еще немного усложнить программу.

...

если_иначе :a = 0

[

сообщи [При а=0 уравнение не имеет решений!]

Вам будет интересно - Реферат: Динамические структуры данных: списки

]

[

пусть “x 0 - :b / :a

сообщи пред [Корень уравнения x=] :x

]

Похожий материал - Реферат: Динамические структуры данных: очереди

...

Мы использовали условные команды, с помощью которых реализовали алгоритмическую структуру "ветвление" (другое название -- альтернатива21). Ветвление -- выбор одной из двух последовательностей команд в зависимости от выполнения некоторого условия. Ветвление бывает неполным (как в первом примере -- выбиралось, делать что-то или не делать ничего) и полным (когда выбирается вариант действия). Им соответствуют краткая и полная формы условной команды.

если <условие> if <условие>

[<действия>] [<действия>]