iniciar-programa
define-nueva-instruccion gira(n) como
inicio
      repetir n veces
         gira-izquierda;
   fin;
   define-nueva-instruccion acaba(n) como
   inicio
      repetir 4 veces
      inicio
          si frente-libre entonces
          inicio
             avanza;
             si junto-a-zumbador entonces
             inicio
                 coge-zumbador;
                 si junto-a-zumbador entonces
                 inicio
                     mientras junto-a-zumbador hacer
                        coge-zumbador;
                     acaba(sucede(n));
                 fin
                 sino
                   acaba(n);
             fin;
             gira(2);
             avanza;
             gira(2);
          fin;
          gira-izquierda;
      fin;
      repetir n veces
         deja-zumbador;
      apagate;
   fin;

   define-nueva-instruccion dfs(n) como
   inicio
      repetir 4 veces
      inicio
          si frente-libre entonces
          inicio
             avanza;
             si junto-a-zumbador entonces
             inicio
                 coge-zumbador;
                 si junto-a-zumbador entonces
                 inicio
                     mientras junto-a-zumbador hacer
                        coge-zumbador;
                     si si-es-cero(n) entonces
                        acaba(1)
                     sino
                        dfs(precede(n));
                 fin
                 sino
                    dfs(n);
             fin;
             gira(2);
             avanza;
             gira(2);
          fin;
          gira-izquierda;
      fin;
      mientras no-orientado-al-este hacer
         gira-izquierda;
      avanza;
      repetir 5 veces
         deja-zumbador;
      apagate;
    fin;
    define-nueva-instruccion coge(n) como
    inicio
       si junto-a-zumbador entonces
       inicio
           coge-zumbador;
           coge(sucede(n));
       fin
       sino
          dfs(n);
    fin;
    inicia-ejecucion
        coge(0);
        apagate;
    termina-ejecucion
finalizar-programa
