iniciar-programa

define-nueva-instruccion vuelta como inicio
gira-izquierda;
gira-izquierda;
fin;

define-nueva-instruccion gira-derecha como inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;

define-nueva-instruccion otra como inicio

gira-derecha;
mientras frente-libre hacer inicio
avanza;
fin;

vuelta;

mientras frente-libre hacer inicio
si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;
deja-zumbador;
avanza;

si frente-bloqueado y orientado-al-este entonces inicio
gira-izquierda;
si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;
deja-zumbador;
avanza;
gira-izquierda;
fin;

si frente-bloqueado y orientado-al-oeste entonces inicio
gira-derecha;
si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;
deja-zumbador;
avanza;
gira-derecha;
fin;

si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;

fin;

fin;


    inicia-ejecucion


    si orientado-al-norte entonces inicio
    gira-izquierda;
    fin;
     si orientado-al-oeste entonces inicio
    gira-izquierda;
    fin;
     si orientado-al-sur entonces inicio
    gira-izquierda;
    fin;

    mientras frente-libre hacer inicio
    avanza;
    fin;
    gira-izquierda;
    mientras derecha-bloqueada hacer inicio
    avanza;
    fin;

    avanza;
    si junto-a-zumbador entonces inicio
    coge-zumbador;
    fin;
    vuelta;
    avanza;
    vuelta;

    gira-izquierda;


    mientras frente-libre hacer inicio

    si junto-a-zumbador entonces inicio
    coge-zumbador;
    fin;


avanza;

    si frente-bloqueado y orientado-al-oeste entonces inicio
    gira-izquierda;

            si junto-a-zumbador entonces inicio
            coge-zumbador;
            fin;

            si frente-bloqueado entonces inicio
            otra;
            fin;
    avanza;
    gira-izquierda;
    fin;

   si frente-bloqueado y orientado-al-este entonces inicio
    gira-derecha;

            si junto-a-zumbador entonces inicio
            coge-zumbador;
            fin;

            si frente-bloqueado entonces inicio
            otra;
            fin;
    avanza;
    gira-derecha;
    fin;


      si junto-a-zumbador entonces inicio
    coge-zumbador;
    fin;


     fin;

        apagate;
    termina-ejecucion
finalizar-programa
