iniciar-programa
 define-nueva-instruccion pasando como inicio
 mientras no-orientado-al-norte hacer gira-izquierda;
 avanza;
 si no-orientado-al-este y derecha-libre entonces inicio
 repetir 3 veces gira-izquierda;
 fin
 sino
 inicio
 si no-orientado-al-oeste y izquierda-libre entonces gira-izquierda;
 fin;
 si ningun-zumbador-en-la-mochila entonces inicio
 apagate;
 fin;
 fin;

 define-nueva-instruccion deja como inicio
 mientras frente-libre y algun-zumbador-en-la-mochila hacer inicio
 deja-zumbador;
 avanza;
 fin;
 deja-zumbador;
 pasando;
 deja;
 fin;

 define-nueva-instruccion vete como inicio
 mientras no-orientado-al-norte hacer gira-izquierda;
 mientras junto-a-zumbador y frente-libre hacer inicio
 coge-zumbador;
 avanza;
 fin;
 si no-orientado-al-sur entonces repetir 2 veces gira-izquierda;
 mientras frente-libre hacer avanza;
 fin;

 define-nueva-instruccion pasa como inicio
 si no-orientado-al-este y izquierda-libre entonces gira-izquierda;
 si frente-libre entonces inicio
 avanza;
 fin
 sino
 inicio
 si frente-bloqueado y no-orientado-al-oeste entonces repetir 3 veces gira-izquierda;
 deja;
 fin;
 fin;

    inicia-ejecucion
    mientras no-orientado-al-norte o orientado-al-norte hacer inicio
    vete;
    pasa;
    fin;

        apagate;
    termina-ejecucion
finalizar-programa
