beginning_of_program define_new_instruction turnright as {iterate 3 times turnleft; } define_new_instruction bailar as { If right_is_clear then { turnright; move; turnleft; { if front_is_clear then { turnleft; move; turnright; if front_is_clear then move; else turnleft; } else turnleft; } } else turnright; } define_new_instruction buscarpared as { while right_is_blocked do { if front_is_clear then move; else turnleft; } turnright; } define_new_instruction salir as move; beginning_of_execution while front_is_clear do bailar; turnleft; buscarpared; salir; turnoff; end_of_execution end_of_program