iniciar-programa
   define-nueva-instruccion gira(n) como inicio
      repetir n veces
         gira-izquierda;
   fin;
   define-nueva-instruccion mueve(n) como inicio
      mientras no-orientado-al-oeste hacer
         gira(1);
      mientras frente-libre hacer
         avanza;
      gira(1);
      mientras frente-libre hacer
         avanza;
      gira(1);
      repetir n veces inicio
         avanza;
         avanza;
      fin;
      gira(2);
   fin;
   define-nueva-instruccion deja(n) como inicio
      mueve(n);
      repetir n veces inicio
         si no-junto-a-zumbador entonces
            deja-zumbador;
         avanza;
         si no-junto-a-zumbador entonces
            deja-zumbador;
         gira(3);
         avanza;
         gira(1);
      fin;
      si no-junto-a-zumbador entonces
         deja-zumbador;
      si algun-zumbador-en-la-mochila entonces
         deja(sucede(n));
   fin;
   define-nueva-instruccion escala como inicio
      si junto-a-zumbador entonces inicio
         avanza;
         avanza;
         escala;
         avanza;
      fin
      sino inicio
         gira(2);
         avanza;
      fin;
   fin;
   define-nueva-instruccion pico como inicio
      gira(2);
      escala;
      gira(3);
      mientras junto-a-zumbador hacer
         avanza;
      gira(2);
      avanza;
   fin;
   inicia-ejecucion
      mientras no-orientado-al-oeste hacer
         gira(1);
      deja(0);
      mueve(0);
      pico;
      apagate;
   termina-ejecucion
finalizar-programa