iniciar-programa
   define-nueva-instruccion regresa como inicio
      gira-izquierda;
      gira-izquierda;
   fin;
   define-nueva-instruccion derecha como inicio
      gira-izquierda;
      gira-izquierda;
      gira-izquierda;
   fin;

   define-nueva-instruccion deja(x) como inicio
      si junto-a-zumbador entonces inicio
         coge-zumbador;
         deja(sucede(x));
      fin;
      si no-junto-a-zumbador entonces inicio
         repetir x veces
            avanza;
         deja-zumbador;
         regresa;
         repetir x veces
            avanza;
         repetir x veces
            deja-zumbador;
         regresa;
      fin;
   fin;
    inicia-ejecucion
      si frente-libre entonces inicio
       repetir 4 veces inicio
          deja(0);
          gira-izquierda;
       fin;
       avanza;
       mientras no-junto-a-zumbador hacer
          avanza;
       repetir 4 veces inicio
          gira-izquierda;
          avanza;
          mientras no-junto-a-zumbador hacer inicio
             gira-izquierda;
             avanza;
             si no-junto-a-zumbador entonces inicio
                deja-zumbador;
                derecha;
                avanza;
             fin;
          fin;
          derecha;
       fin;
       fin
       sino deja-zumbador;

        apagate;
    termina-ejecucion
finalizar-programa