Reptes
Repte 13 — El punt mig ★★★ Avançat
El món és un passadís buit de longitud desconeguda.
En Karel porta 2 perles a la motxilla i ha de deixar exactament una perla al punt mig del passadís.
Si la longitud és senar, la perla ha de quedar al centre exacte. Si és parell, s'accepta qualsevol de les dues caselles centrals.
La restricció clau: el teu codi no pot saber d'entrada quantes caselles té el passadís. Ha de funcionar per a qualsevol longitud.
En Karel porta 2 perles a la motxilla i ha de deixar exactament una perla al punt mig del passadís.
Si la longitud és senar, la perla ha de quedar al centre exacte. Si és parell, s'accepta qualsevol de les dues caselles centrals.
La restricció clau: el teu codi no pot saber d'entrada quantes caselles té el passadís. Ha de funcionar per a qualsevol longitud.
💡 Pista — dos punters que s'aproximen
Imagina que tens un marcador a cada extrem del passadís.
Si fas avançar el marcador dret un pas cap al centre, i el marcador
esquerre un pas cap al centre, i repeteixes fins que es troben…
a quina casella coincidiran?
En Karel pot usar
En Karel pot usar
drop() per deixar una perla com a
marcador i grab() per recollir-la i traslladar-la.
Les perles de la motxilla fan d'«eines de mesura», no de decoració.💡 Pista — la funció auxiliar
Pot ser útil escriure una funció per moure't fins a un marcador:
camina_fins_a_perla(). Pensa com pots usar-la per tornar
al marcador esquerre o al marcador dret en cada iteració.