iniciar-programa
define-nueva-instruccion media-vuelta como inicio
repetir 2 veces gira-izquierda;
fin;
define-nueva-instruccion quitaunos como inicio
si junto-a-zumbador entonces inicio

si junto-a-zumbador entonces coge-zumbador;
si junto-a-zumbador entonces deja-zumbador;
avanzA;
quitaunos;
fin
sino inicio
mientras frente-libre hacer avanza;

 media-vuelta;
    mientras frente-libre hacer avanza;
    media-vuelta;
fin;
 fin;
define-nueva-instruccion alto (n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
alto (sucede(n));
fin
sino inicio
 media-vuelta;
mientras frente-libre y no junto-a-zumbador hacer avanza;
repetir n veces deja-zumbador;
deja-zumbador;
gira-izquierda;
fin;
fin;

define-nueva-instruccion cuenta (n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
cuenta (sucede(n));
fin
sino inicio
si si-es-cero (precede(n)) entonces inicio
mientras frente-libre hacer avanzA;
alto (0);
fin
sino inicio
mientras frente-libre hacer avanza;
si algun-zumbador-en-la-mochila entonces deja-zumbador;
 media-vuelta;
mientras frente-libre hacer avanza;
 media-vuelta;
fin;
fin;
fin;

define-nueva-instruccion quitar (n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
avanzA;
quitar(sucede(n));
fin
sino inicio
repetir n veces deja-zumbador;
cuenta(0);
fin;
fin;



    inicia-ejecucion
    mientras frente-libre y no orientado-al-sur hacer inicio
      mientras no junto-a-zumbador hacer avanzA;
    quitaunos;
    mientras no junto-a-zumbador y frente-libre  hacer avanza;
     si frente-libre entonces inicio
     quitar (0);
     fin
     sino inicio
     mientras no orientado-al-sur hacer gira-izquierda;
     mientras frente-libre hacer avanzA;
     deja-zumbador;
     mientras no orientado-al-este hacer gira-izquierda;
     fin;
     fin;
     si junto-a-zumbador y orientado-al-este entonces inicio
     coge-zumbador;
     media-vuelta;
     mientras frente-libre hacer avanzA;
     gira-izquierda;
     deja-zumbador;
     fin;
        apagate;
    termina-ejecucion
finalizar-programa

