iniciar-programa
define-nueva-instruccion karelotl (n) como
  inicio
    si junto-a-zumbador entonces
      inicio
       coge-zumbador;
       karelotl(sucede(n));
      fin;
      repetir n veces deja-zumbador;
     repetir 4 veces
       inicio
         si frente-libre entonces
           inicio
            avanza;
             repetir n veces
              inicio
                si junto-a-zumbador entonces
                  coge-zumbador
                 sino
                   inicio
                     mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
                     karelotl(0);
                    fin;
               fin;                                          

              si junto-a-zumbador entonces
               inicio
                 repetir n veces deja-zumbador;
                 repetir 2 veces gira-izquierda;
                 si frente-libre entonces avanza;
                 repetir 2 veces gira-izquierda;
               fin

           fin;
          gira-izquierda;

       fin;
      apagate;

  fin;
    inicia-ejecucion
       karelotl(0);
        apagate;
    termina-ejecucion
finalizar-programa
