Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Исп Робот.doc
Скачиваний:
21
Добавлен:
13.11.2019
Размер:
838.14 Кб
Скачать

11.6 Общий вид команды выбор

В общем виде команда выбор записывается так:

выбор

при условие 1 : серия 1

при условие 2 : серия 2

….

при условие н : серия н

иначе серия н+1

все

выбор

при условие 1 : серия 1

при условие 2 : серия 2

….

при условие н : серия н

все

Графическая схема выполнения команды выбор показана на рисунке 32.

Рис. 32

Допустимо любое количество условий и соответствующих им серий команд. Как и в команде если, серия н + 1 вместе со служебным словом иначе может отсутствовать.

При выполнении команды выбор компьютер последовательно проверяет условия: условие 1, условие 2 и т. д. Как только очередное условие окажется верным, компьютер выполняет соответствующую ему серию команд и прекращает выполнение команды выбор, переходя к командам, записанным после слова все. Оставшиеся условия не проверяются и серии не выполняются.

Например, если Робот стоит в чистом поле без стен, то при выполнении алгоритма "уйти из клетки" первое условие (сверху свободно) оказывается верным, компьютер командует Роботу вверх, и на этом исполнение алгоритма заканчивается.

Если все условия проверены и ни одно из них не соблюдается, то выполняется серия команд, записанная после слова иначе, или, если слова иначе нет, никакие команды не выполняются.

ЗАДАЧИ И УПРАЖНЕНИЯ

1. На поле Робота стен нет. В ряду из десяти клеток правее Робота некоторые клетки закрашены. Составьте алгоритм, который закрашивает клетки:

а) ниже каждой закрашенной;

б) выше и ниже каждой закрашенной;

в) левее каждой закрашенной;

г) правее каждой закрашенной;

д) левее и правее каждой закрашенной.

2. Воспользовавшись вспомогательными алгоритмами "вверх до стены", "вниз до стены", "вправо до стены", "влево до стены", составьте алгоритмы со следующими заголовками:

а) алг переход в противоположный угол

дано | Робот стоит в каком-то углу прямоугольника,

| огороженного стенами. Других стен нет

надо | Робот в противоположном углу

б) алг к противоположной стене

дано I Робот стоит у стены (но не в углу) внутри прямо-

| угольника, обнесенного со всех сторон стенами;

| внутри прямоугольника других стен нет

надо | Робот перешел к противоположной стене

3. Петя решил сделать алгоритм "уйти из клетки" более понятным и не использовать команду выбор. Вот что у него получилось:

а

А30

лг уйти из клетки '

дано | Робот в клетке, из которой есть выход

надо | Робот вышел из исходной клетки

нач

е сли сверху свободно

| то вверх

все :'

если справа свободно

| то вправо

все

если снизу свободно

[ то вниз

все

если слева свободно

| то влево

все

кон

Всегда ли после выполнения этого алгоритма Робот выйдет из исходной клетки?

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

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

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