iniciar-programa
define-nueva-instruccion kallejon(n) como
inicio
  si no-junto-a-zumbador entonces
   inicio
     si frente-libre y no-junto-a-zumbador entonces
       inicio
         avanza;
         kallejon(sucede(n));
       fin
     sino
       inicio
         si derecha-libre y no-junto-a-zumbador entonces
           inicio
             repetir 3 veces gira-izquierda;
             kallejon(sucede(sucede(sucede(n))));
           fin;
         si izquierda-libre y no-junto-a-zumbador entonces
           inicio
             gira-izquierda;
             kallejon(sucede(n));
           fin;
       fin;
   fin
  sino
   inicio
     coge-zumbador;
     repetir n veces deja-zumbador;
   fin;
fin;

define-nueva-instruccion comprobar como
inicio
  repetir 4 veces si frente-bloqueado entonces gira-izquierda;
  si frente-bloqueado entonces   inicio
     si junto-a-zumbador entonces coge-zumbador;
     apagate;
     fin;
fin;


    inicia-ejecucion
        comprobar;
        kallejon(0);
        apagate;
    termina-ejecucion
finalizar-programa
