Исполнитель робот умеет пе­ре­ме­щать­ся по лабиринту, на­чер­чен­но­му на плоскости, раз­би­той на клетки. между со­сед­ни­ми (по сторонам) клет­ка­ми может сто­ять стена, через ко­то­рую робот прой­ти не может. у ро­бо­та есть де­вять команд. че­ты­ре команды — это команды-приказы: вверх вниз влево вправопри вы­пол­не­нии любой из этих ко­манд робот пе­ре­ме­ща­ет­ся на одну клет­ку соответственно: вверх ↑ вниз ↓, влево ← , впра­во →. если робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он разрушится. также у ро­бо­та есть ко­ман­да закрасить, при ко­то­рой за­кра­ши­ва­ет­ся клетка, в ко­то­рой робот на­хо­дит­ся в на­сто­я­щий момент.ещё че­ты­ре команды — это ко­ман­ды про­вер­ки условий. эти ко­ман­ды проверяют, сво­бо­ден ли путь для ро­бо­та в каж­дом из четырёх воз­мож­ных направлений: сверху свободно снизу свободно слева свободно спра­ва свободноэти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид: если условие топоследовательность командвсездесь условие — одна из ко­манд про­вер­ки условия. последовательность команд — это одна или не­сколь­ко любых команд-приказов. например, для пе­ре­дви­же­ния на одну клет­ку вправо, если спра­ва нет стенки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой алгоритм: если спра­ва сво­бод­но товправозакраситьвсев одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки условий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, например: если (справа свободно) и (не снизу свободно) товправовседля по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид: нц пока командкцнапример, для дви­же­ния вправо, пока это возможно, можно ис­поль­зо­вать сле­ду­ю­щий алгоритм: нц пока спра­ва сво­бод­новправокцрешение

Brаun Brаun    1   17.03.2019 16:28    6

Другие вопросы по теме Информатика