iniciar-programa
define-nueva-instruccion media-vuelta como inicio
 repetir 2 veces
  gira-izquierda;
 fin;
define-nueva-instruccion gira-derecha como inicio
 repetir 3 veces
  gira-izquierda;
 fin;
define-nueva-instruccion mitad como
 inicio
  si frente-libre entonces
   inicio
    repetir 2 veces
     avanza;
    mitad;
    avanza;
   fin
 sino inicio
  media-vuelta;
 fin;
fin;
define-nueva-instruccion esquina como inicio
 gira-izquierda;
 mientras frente-libre hacer
  avanza;
 media-vuelta;
 fin;

    inicia-ejecucion
     mientras algun-zumbador-en-la-mochila hacer
     inicio
      esquina;
      mitad;
      gira-derecha;
      deja-zumbador;
      si frente-libre entonces
      inicio
       avanza;
      fin
      sino inicio
       esquina;
       mientras frente-libre y izquierda-bloqueada hacer
        avanza;
       gira-izquierda;
       si frente-libre entonces
       avanza;
       si frente-bloqueado entonces
       apagate;
      fin;
     fin;
      apagate;
    termina-ejecucion
finalizar-programa
