Capítol 1 — Coneix en Karel
Capítol 1

Coneix en Karel

El món de Karel

En Karel és una medusa programable que viu dins d'una graella: una quadrícula de caselles, com un tauler d'escacs submarí. En Karel ocupa sempre una sola casella i sempre mira en una de quatre direccions:
Nord (amunt), Sud (avall), Est (dreta) o Oest (esquerra).

La teva tasca és escriure instruccions. En Karel les llegirà de dalt a baix i les executarà una per una, quan premis ▶ Executa.

La primera ordre: move()

move() fa avançar en Karel una casella en la direcció que mira. Si davant seu hi ha un límit que impedeix avançar, el programa s'atura i mostra un error.

En l'exemple següent, en Karel mira cap a l'Est i té tres ordres move().

Atenció: En aquests exemples, no pots modificar el codi. Prem ▶ Executa i observa com funciona:

En Karel ha avançat tres caselles cap a la dreta, perquè mirava cap a l'Est i tenia tres ordres move(). Si hagués trobat un impediment per avançar, el programa hauria retornat un error.

Girar a l'esquerra: turn_left()

turn_left() fa que en Karel giri 90° en sentit antihorari (cap a l'esquerra). Girar no és avançar: en Karel canvia de direcció però no es mou de casella.

Observa l'exemple: Karel està mirant cap a l'Est (dreta). Quan faci un gir a l'esquerra, mirarà cap al Nord (amunt).

Fem que Karel avanci dues caselles; després, li diem que giri a l'esquerra i, finalment, que avanci dues caselles més.

Girar a la dreta: turn_right()

turn_right() indica a Karel que ha de girar 90° en sentit horari (cap a la dreta). El seu funcionament és molt similar a turn_left().

En l'exemple següent, en Karel comença a l'extrem superior esquerre, i mirant cap a l'Est. Avança dues caselles i gira a la dreta (per tant, mirarà al Sud). Finalment, avança dues caselles més:

Fins ara coneixes les tres instruccions bàsiques de moviment:

  • move() — avança una casella en la direcció i sentit actual.
  • turn_left() — gira 90° cap a l'esquerra (sentit antihorari).
  • turn_right() — gira 90° cap a la dreta (sentit horari).

Amb aquestes tres instruccions, pots portar en Karel a qualsevol casella del seu món.

Exercici

En Karel és a l'extrem inferior esquerre del seu món, i està mirant cap a l'Est. Hi ha una perla a l'extrem oposat. Escriu el codi per portar en Karel fins a sobre de la casella on és la perla. No cal que la reculli.