\b;Ćwiczenie Przeszukaj \l;robotem szperaczem\u object\botsr; całą strefę otoczoną barierami, aby znaleźć odpowiednie miejsce na kopalnię. Gdy robot przebada podglebie i odkryje odpowiednie miejsce na kopalnię, oznaczy je czerwonym plusem. \b;Opis Strefa otoczona barierami jest kwadratem o boku 25 metrów. Najskuteczniejszym sposobem działania jest sprawdzanie podglebia co 5 metrów. \image sniff1 12 12; Jedynym sposobem osiągnięcia tego jest zagnieżdżenie wewnątrz siebie dwóch pętli \c;\l;for\u cbot\for;\n;: \c; \s;for ( int y=0 ; y<6 ; y=y+1 ) \s;{ \s; for ( int x=0 ; x<5 ; x=x+1 ) \s; { \s; \n;bada podglebie\c; \s; \n;jedzie 5m naprzód\c; \s; } \s; \n;bada podglebie\c; \s; \n;ćwierć obrotu w lewo\c; \s; \n;jedzie 5m naprzód\c; \s; \n;ćwierć obrotu w lewo\c; \s;} \n; Program działa dobrze tylko na początku. Po pierwszym wierszu robot obraca się prawidłowo w lewo i bada drugą linię. Ale po drugiej linii powinien skręcić w prawo! Należy zauważyć, że jeśli \c;y\n; jest parzyste, robot powinien skręcić w lewo, a jeśli \c;y\n; jest nieparzyste, powinien skręcić w prawo. \l;Wyrażenie\u cbot\expr; \c;y%2\n; podaje resztę z dzielenia \c;y\n; przez \c;2\n;. Na przykład jeśli \c;y=3\n;, wyrażenie zwróci wartość \c;1\n;. Po teście \c;\l;if\u cbot\if; { }\n; może pojawić się instrukcja \c;else { }\n;. Jeśli warunek jest prawdziwy, wykonywany jest pierwszy \l;blok\u cbot\bloc; \c;{ }\n;. W przeciwnym przypadku zostanie wykonany drugi blok \c;{ }\n;. \c; \s;if ( y%2 == 0 ) \s;{ \s; y \n;jest parzyste\c; \s;} \s;else \s;{ \s; y \n;jest nieparzyste\c; \s;} \n; Do Ciebie należy dokończenie programu. \b;Uwaga Użyj instrukcji \c;\l;sniff\u cbot\sniff;( )\n; do badania podglebia oraz instrukcji \c;\l;move\u cbot\move;( )\n; i \c;\l;turn\u cbot\turn;( )\n; przemieszczania robota. \t;Zobacz również \l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.