Меню сайта
Вход на сайт
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Наш опрос
Оцените мой сайт
Всего ответов: 25
Статистика

Онлайн всего: 23
Гостей: 23
Пользователей: 0
Исполнитель Робот. Цикл Пока
До сих пор мы приказывали Роботу выполнить какую-то задачу, предполагая, что обстановка полностью известна: мы точно знаем сколько шагов до стенок, какую они имеют форму и где расположены. Мы не анализировали результаты действий Робота и обстановку на поле. При решении сложных задач ситуация часто известна не полностью и надо анализировать обстановку, которая изменяется во время работы исполнителя 

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

Робот может проверять следующие простые условия 

 

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

Цикл пока

 

пока ( условие )

  {

  команды;

  }

Пример  задача "Дл_клумба" в папке "Лабиринты для Робота".

Составить программу, после выполнения которой Робот посадит цветы в прямолинейную грядку неизвестной длины до стены и вернется на Базу»  

Сначала решим упрощенную Задачу

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

Анализ задачи. 

Ясно, что пока будет выполняться условие впереди_свободно, нужно выполнять команды:

вперед ( 1 );
посади;

Решение упрощенной задачи

{
пока ( впереди_свободно )
{
вперед ( 1 );
посади;
}

 Решение исходной задачи.

Длинная_клумба
{
пока ( впереди_свободно )
{
вперед ( 1 );
посади;
}
налево;
вперед ( 1 );
налево;
пока ( слева_клумба )
{
вперед ( 1 );
}
налево; вперед ( 1 );
}

 

Составные условия

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

Составные условия образуются из простых условий добавлением логических операций ИИЛИНЕ.

Пусть АВ – простые условия.

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

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

Составное условие ( не А ) будет выполняться, когда не выполняется  простое условие А.

Применение составных условий рассмотрим в Практической работе.

Практическая работа

Пример 3 задача Коридор из папки "Лабиринты для Робота" (рис 3.17, учебник ) Составить программу, после выполнения которой Робот посадит цветы в прямом коридоре неизвестной длины и вернется на Базу»  

Решение задачи Клумба_в_коридоре
{
вперед ( 1 );
пока ( слева_стена и справа_стена )
{
посади; вперед ( 1 );
}
налево; вперед ( 2 );
налево; вперед ( 1 );
пока ( слева_стена )
{
вперед ( 1 );
}
налево; вперед ( 2 );

Домашнее задание № 10 (файл 10.maz)