iniciar-programa
  define-nueva-instruccion regresa como inicio
    gira-izquierda;
    gira-izquierda;
    avanza;
    gira-izquierda;
    gira-izquierda;
  fin;
  define-nueva-instruccion gira-derecha como inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
  fin;
  define-nueva-instruccion camino(x) como inicio
    si junto-a-zumbador entonces inicio
      coge-zumbador;
      si junto-a-zumbador entonces inicio
        mientras junto-a-zumbador hacer inicio
          coge-zumbador;
        fin;
        camino(sucede(x));
        deja-zumbador;
      fin;
    fin;
    si no-junto-a-zumbador entonces inicio
     repetir 3 veces inicio
       si frente-libre entonces inicio
         avanza;
       si junto-a-zumbador entonces inicio
         gira-derecha;
         camino(x);
       fin
       sino inicio
         regresa;
         gira-izquierda;
       fin;
       fin
       sino inicio
        gira-izquierda;
       fin;
     fin;
    fin;
  fin;
  define-nueva-instruccion recoge(n) como inicio
    si junto-a-zumbador entonces inicio
      coge-zumbador;
      recoge(sucede(n));
    fin
    sino inicio
      avanza;
      gira-derecha;
      camino(0);
      repetir n veces inicio
        si junto-a-zumbador entonces inicio
          coge-zumbador;
        fin;
      fin;
      si no-junto-a-zumbador entonces inicio
        mientras no-orientado-al-este hacer inicio
          gira-izquierda;
        fin;
        avanza;
        repetir 5 veces inicio
          deja-zumbador;
        fin;
      fin;
      apagate;
    fin;
  fin;
    inicia-ejecucion
        recoge(0);
        apagate;
    termina-ejecucion
finalizar-programa
