iniciar-programa
define-nueva-instruccion media-vuelta como
inicio
 repetir 2 veces
  gira-izquierda;
fin;
define-nueva-instruccion busqueda como
inicio
 si no-junto-a-zumbador entonces
  inicio
   deja-zumbador;
   deja-zumbador;
   repetir 4 veces
   inicio
    si frente-libre entonces
     inicio
      avanza;
      busqueda;
      media-vuelta;
      avanza;
      media-vuelta;
     fin;
   gira-izquierda;
   fin;
  fin;
fin;
    inicia-ejecucion
    mientras no-orientado-al-sur hacer
     gira-izquierda;
    mientras frente-libre hacer
     avanza;
    repetir 3 veces
     gira-izquierda;
    mientras frente-libre hacer
     avanza;
    repetir 3 veces
     gira-izquierda;
    busqueda;
    mientras frente-libre hacer
    inicio
     si no-junto-a-zumbador entonces
      inicio
       busqueda;
       mientras no-orientado-al-sur hacer
        gira-izquierda;
       mientras frente-libre hacer
        avanza;
       mientras no orientado-al-oeste hacer
        gira-izquierda;
       mientras frente-libre hacer
        avanza;
       repetir 3 veces
        gira-izquierda;
       deja-zumbador;
      fin
      sino
      inicio
       avanza;
      fin;
    si frente-bloqueado entonces
     inicio
      media-vuelta;
      mientras frente-libre hacer
       avanza;
      gira-izquierda;
      si frente-libre entonces
       inicio
       avanza;
       gira-izquierda;
       fin;
     fin;
   fin;
   media-vuelta;
   mientras frente-libre hacer
    avanza;
   coge-zumbador;
   coge-zumbador;

        apagate;
    termina-ejecucion
finalizar-programa

