iniciar-programa
define-nueva-instruccion sur como inicio mientras no-orientado-al-sur hacer gira-izquierda; fin;
define-nueva-instruccion este como inicio mientras no-orientado-al-este hacer gira-izquierda; fin;
define-nueva-instruccion oeste como inicio mientras no-orientado-al-oeste hacer gira-izquierda; fin;
define-nueva-instruccion norte como inicio mientras no-orientado-al-norte hacer gira-izquierda; fin;
define-nueva-instruccion ve como
    inicio
         si frente-libre y izquierda-bloqueada entonces
             inicio
                 avanza;
                 si izquierda-libre entonces
                     inicio
                         gira-izquierda;
                         avanza;
                         mientras frente-libre hacer avanza;
                         sur;
                     fin;
                 fin;
    fin;
define-nueva-instruccion ve2(i) como
    inicio
          si frente-libre entonces
              inicio
                  avanza;
                  ve2(sucede(i));
             fin;
         si junto-a-zumbador entonces
             inicio
                 coge-zumbador;
                 norte;
                 repetir i veces avanza;
                 este;
                 mientras frente-libre hacer avanza;
                 sur;
                 mientras frente-libre hacer avanza;
                 oeste;
                 mientras frente-libre hacer avanza;
                 si algun-zumbador-en-la-mochila entonces deja-zumbador;
                 apagate;
             fin;
     fin;
    inicia-ejecucion
    norte;
    ve;
    ve2(0);
        apagate;
    termina-ejecucion
finalizar-programa
