iniciar-programa
   define-nueva-instruccion kabola como inicio
     si junto-a-zumbador entonces inicio
       coge-zumbador;
       kabola;
     fin;
     deja-zumbador;
     si frente-libre entonces inicio
       avanza;
     fin;
   fin;
   define-nueva-instruccion regresa como inicio
     si junto-a-zumbador entonces inicio
      coge-zumbador;
      avanza;
      si no-junto-a-zumbador entonces inicio
         gira-izquierda;
         gira-izquierda;
         avanza;
         gira-izquierda;
         deja-zumbador;
         avanza;
      fin;
      regresa;
      deja-zumbador;
      si frente-libre entonces inicio
        avanza;
      fin;
     fin;
   fin;
    inicia-ejecucion
      si no-junto-a-zumbador y frente-bloqueado o derecha-bloqueada o izquierda-bloqueada entonces inicio
       deja-zumbador;
       apagate;
      fin;
      si no-junto-a-zumbador entonces inicio
        apagate;
      fin;
      si junto-a-zumbador entonces inicio
        coge-zumbador;
      fin;
      si no-junto-a-zumbador entonces inicio
        repetir 4 veces inicio
          avanza;
          deja-zumbador;
          gira-izquierda;
          gira-izquierda;
          avanza;
          gira-izquierda;
        fin;
        apagate;
      fin;
      si junto-a-zumbador entonces inicio
        deja-zumbador;
      fin;
        mientras no-orientado-al-este hacer inicio
          gira-izquierda;
        fin;
        kabola;
        repetir 3 veces inicio
          gira-izquierda;
          gira-izquierda;
          si no-junto-a-zumbador entonces inicio
            avanza;
          fin;
          avanza;
          regresa;
        fin;
        gira-izquierda;
        gira-izquierda;
        si no-junto-a-zumbador entonces inicio
         avanza;
        fin;
        avanza;
        mientras junto-a-zumbador hacer inicio
          coge-zumbador;
          avanza;
        fin;
        mientras frente-libre y no-junto-a-zumbador hacer inicio
          avanza;
        fin;

       gira-izquierda;
       avanza;
       gira-izquierda;
       avanza;
       repetir 4 veces inicio
          mientras no-junto-a-zumbador hacer inicio
            gira-izquierda;
            gira-izquierda;
            gira-izquierda;
            deja-zumbador;
            avanza;
            gira-izquierda;
            avanza;
          fin;
          avanza;
          gira-izquierda;
          avanza;
       fin;
       apagate;
     termina-ejecucion
finalizar-programa
