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