Bäver älskar tjusiga skosnören. Han önskar sig en robot som kan snöra skorna åt honom, så han frågade sig "Hur kan jag berätta för roboten hur jag vill ha mina skor snörda? Jag behöver ett programmeringsspråk. Hur borde det se ut?"
Ett vanligt sätt att snöra skorna på visas i följande bild.
Anta att snöret som börjar på höger sida alltid är orange och snöret som börjar på vänster sida alltid är vitt. Bäver föreslår följande program för snörningen:
orange: up
white: up
{
orange: + change up
white: + change up
}
Förklaring:
|
allt som finns mellan måsvingar upprepas så många gånger som möjligt |
|
samma som ovan fast det som finns mellan måsvingarna upprepas exakt 3 gånger, fungerar på samma sätt för andra tal |
|
följande kommandon tillämpas endast på orange snören |
|
följande kommandon tillämpas endast på vita snören |
|
dra snöret nerifrån upp genom hålet där den orange eller vita pilen är, se startpositionen i bilden ovan |
|
samma som "up" fast dra nu snöret uppifrån ned genom hålet |
|
flytta den orange eller vita pilen framåt en position (till nästa hål) |
|
flytta pilen bakåt ett hål |
|
gör så att den orange eller vita pilen byter från höger till vänster eller från vänster till höger (beroende på dess nuvarande position) |
Vilken snörning skapas av följande program? (Tips: Koncentrera dig på ett av snörena.)
orange: up
white: up
2{
orange: + change up
white: + change up
}
orange: + down
white: + down
{
orange: + change up
white: + change up
}