beginning_of_program define_new_instruction turnright as { ITERATE 3 TIMES turnleft; } define_new_instruction busca_puerta as WHILE right_is_blocked DO IF front_is_clear THEN move; ELSE turnleft; DEFINE_NEW_INSTRUCTION salte AS { turnright; move; } DEFINE_NEW_INSTRUCTION busca_pared AS {WHILE front_is_clear DO move; turnleft;} DEFINE_NEW_INSTRUCTION baila AS beginning_of_execution busca_pared; busca_puerta; salte; turnoff; end_of_execution end_of_program