iniciar-programa
define-nueva-instruccion gira(n) como repetir n veces gira-izquierda;
define-nueva-instruccion resta(a) como inicio
  si no si-es-cero(a) entonces inicio
    si junto-a-zumbador entonces coge-zumbador sino inicio
        mientras algun-zumbador-en-la-mochila hacer  deja-zumbador;
        gira(2);
        avanza;
        gira(1);
        si orientado-al-sur entonces apagate;
        fin;
    resta(precede(a));
    fin
    sino mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
    fin;

define-nueva-instruccion cuenta(a) como
  inicio
    si algun-zumbador-en-la-mochila entonces inicio
      deja-zumbador;
      cuenta(sucede(a));
    fin
    sino inicio                      
    avanza;
    resta(a);
    fin;
    fin;
    inicia-ejecucion

    mientras junto-a-zumbador hacer inicio
      mientras junto-a-zumbador hacer
        coge-zumbador;
        cuenta(0);
        fin;

        apagate;
    termina-ejecucion
finalizar-programa
