iniciar-programa
define-nueva-instruccion gira-derecha como inicio
repetir 3 veces gira-izquierda;
fin;


    inicia-ejecucion
    mientras (frente-bloqueado y derecha-bloqueada) y (izquierda-bloqueada y no-junto-a-zumbador) hacer inicio
    deja-zumbador;
    apagate;
    fin;

    mientras no-orientado-al-norte hacer inicio
    gira-izquierda;
    fin;
    si ningun-zumbador-en-la-mochila entonces apagate;
    mientras (orientado-al-norte y  frente-libre) y
    (izquierda-libre o derecha-libre) hacer inicio
    mientras frente-libre hacer avanza;
    fin;
    si ningun-zumbador-en-la-mochila entonces apagate;
    mientras (orientado-al-norte y frente-bloqueado) y izquierda-libre hacer inicio
    gira-izquierda;
    mientras frente-libre hacer inicio
    avanza;
    fin;
    fin;
      si ningun-zumbador-en-la-mochila entonces apagate;
    mientras (orientado-al-oeste o orientado-al-norte) y
    (izquierda-bloqueada o derecha-bloqueada) hacer inicio
    mientras no-orientado-al-sur hacer inicio
    gira-izquierda;
    fin;
    fin;
    si algun-zumbador-en-la-mochila entonces deja-zumbador;
    mientras frente-libre y orientado-al-sur hacer inicio
    si frente-libre entonces avanza
    sino inicio
    gira-izquierda;
    mientras frente-libre hacer avanza;
    fin;
    gira-izquierda;
    si frente-libre entonces avanza;
    si no-junto-a-zumbador entonces deja-zumbador;
    gira-derecha;
    fin;
    si ningun-zumbador-en-la-mochila entonces apagate;
    mientras orientado-al-sur y frente-bloqueado hacer inicio
    repetir 2 veces gira-izquierda;
    mientras frente-libre hacer avanza;
    si frente-bloqueado y orientado-al-norte entonces inicio
    repetir 2 veces gira-izquierda;
    fin;
    fin;
    si algun-zumbador-en-la-mochila entonces deja-zumbador;
    mientras orientado-al-sur y frente-libre hacer inicio
    gira-derecha;
    si frente-libre entonces avanza;
    gira-izquierda;
    si frente-libre entonces avanza
    sino apagate;
    si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador;
    fin;









        apagate;
    termina-ejecucion
finalizar-programa

 