beginning_of_program define_new_instruction turnright as {turnleft;turnleft;turnleft;} define_new_instruction busca_puerta as { while right_is_blocked do if front_is_clear then move; else turnleft; } define_new_instruction busca_pared as { while front_is_clear do baila; turnleft; } define_new_instruction salte as { turnright; move; } define_new_instruction paso_a_la_derecha as { turnright; move; turnleft; } define_new_instruction paso_a_la_izquierda as { turnleft; move; turnright; } define_new_instruction baila as { paso_a_la_derecha; if front_is_clear then { paso_a_la_izquierda; move; }} beginning_of_execution if right_is_clear then busca_pared; busca_puerta; salte; turnoff; end_of_execution end_of_program