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 salte as {turnright; move;} define_new_instruction paso_izquierda as {turnleft; move; turnright;} define_new_instruction paso_derecha as {turnright; move; turnleft;} define_new_instruction busca_pared as {while front_is_clear do { paso_derecha; if front_is_clear then {paso_izquierda; move;} } turnleft; } beginning_of_execution busca_pared; busca_puerta; salte; turnoff; end_of_execution end_of_program