Задания
Версия для печати и копирования в MS Word
Тип Д12 № 1807
i

Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в пря­мо­уголь­ном ла­би­рин­те на клет­ча­той плос­ко­сти:

вверх вниз влево впра­во

При вы­пол­не­нии этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх, вниз, влево, впра­во.

Че­ты­ре ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у той клет­ки, где на­хо­дит­ся РОБОТ:

свер­ху
сво­бод­но
снизу
сво­бод­но
слева
сво­бод­но
спра­ва
сво­бод­но

Цикл

ПОКА <усло­вие> ко­ман­да

вы­пол­ня­ет­ся, пока усло­вие ис­тин­но, иначе про­ис­хо­дит пе­ре­ход на сле­ду­ю­щую стро­ку.

Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ оста­но­вит­ся в той же клет­ке, с ко­то­рой он начал дви­же­ние?

 

НА­ЧА­ЛО

ПОКА <свер­ху сво­бод­но> впра­во

ПОКА <спра­ва сво­бод­но> вниз

ПОКА <снизу сво­бод­но> влево

ПОКА <слева сво­бод­но> вверх

КОНЕЦ

Спрятать решение

Ре­ше­ние.

Вы­яс­ним, что не­об­хо­ди­мо, чтобы РОБОТ оста­но­вил­ся в той же клет­ке, с ко­то­рой он начал дви­же­ние. Так как про­грам­ма за­кан­чи­ва­ет­ся ко­ман­дой "ПОКА <слева сво­бод­но> вверх", сле­до­ва­тель­но, для того, чтобы робот оста­но­вил­ся в той же клет­ке, с ко­то­рой он начал дви­же­ние, не­об­хо­ди­мо, чтобы у этой клет­ки была стен­ка слева. Этому усло­вию удо­вле­тво­ря­ют все клет­ки левой стен­ки ла­би­рин­та и еще пять кле­ток кроме нее.

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

 

Ответ: две клет­ки Д1 и В2.

Раздел кодификатора ФИПИ: 1.6.2 Вы­чис­ли­мость. Эк­ви­ва­лент­ность ал­го­рит­ми­че­ских мо­де­лей
Гость 02.01.2013 19:36

В клет­ке В2 робот после 1-го же хода разо­бьет­ся, а в клет­ке Д1 после про­хож­де­ния всего цикла робот ока­жет­ся в клет­ке А1.

Пра­виль­ный ответ- клет­ка С3!

Гость

Клет­ка В2:

Робот, вы­пол­няя усло­вие "ПОКА <свер­ху сво­бод­но> впра­во "Б, никак не может раз­бить­ся, он может не пойти впра­во.

 

Клет­ка Д1:

После про­хож­де­ния всего цикла, робот ока­жет­ся в клет­ке Д1.

 

<свер­ху сво­бод­но> -НЕТ, пе­ре­хо­дим к сле­ду­ю­ще­му дей­ствию.

 

<спра­ва сво­бод­но>-ДА, идем вниз.

 

<снизу сво­бод­но>-НЕТ, пе­ре­хо­дим к сле­ду­ю­ще­му дей­ствию.

 

<слева сво­бод­но>-ДА, идем вверх.

 

Клет­ки С3 в наших обо­зна­че­ни­ях не су­ще­ству­ет.

Гость 08.05.2013 11:19

Клет­ка Е1 тоже под­хо­дит

Анастасия Смирнова

В клет­ке Е1 робот не оста­но­вит­ся, а будет бес­ко­неч­но пы­тать­ся дви­гать­ся вверх.