iniciar-programa


    inicia-ejecucion
    mientras orientado-al-norte  o orientado-al-este hacer inicio
mientras frente-libre hacer avanza;
mientras no-orientado-al-este hacer gira-izquierda;
mientras no-junto-a-zumbador y frente-libre y izquierda-bloqueada hacer avanza;

mientras junto-a-zumbador hacer inicio
si junto-a-zumbador y frente-bloqueado y izquierda-bloqueada y orientado-al-sur entonces apagate;
mientras frente-libre hacer avanza;
mientras no-orientado-al-sur hacer gira-izquierda;
si frente-libre entonces avanza;

mientras no-junto-a-zumbador y orientado-al-sur y frente-bloqueado  hacer inicio
si algun-zumbador-en-la-mochila entonces deja-zumbador;
mientras no-orientado-al-norte hacer gira-izquierda;
mientras frente-libre hacer avanza;
mientras no-orientado-al-oeste hacer gira-izquierda;
si frente-libre entonces avanza;
mientras no-orientado-al-sur hacer gira-izquierda;
si frente-libre entonces avanza;
si junto-a-zumbador y orientado-al-sur entonces inicio
    mientras no-orientado-al-este hacer gira-izquierda;
mientras junto-a-zumbador y frente-libre hacer avanza;
  fin;
fin;

mientras no-junto-a-zumbador y orientado-al-sur y frente-libre  hacer inicio
si algun-zumbador-en-la-mochila entonces deja-zumbador;
mientras no-orientado-al-norte hacer gira-izquierda;
mientras frente-libre hacer avanza;
mientras no-orientado-al-oeste hacer gira-izquierda;
si frente-libre entonces avanza;
mientras no-orientado-al-sur hacer gira-izquierda;
si frente-libre entonces avanza;

si junto-a-zumbador y orientado-al-sur entonces inicio
    mientras no-orientado-al-este hacer gira-izquierda;
mientras junto-a-zumbador y frente-libre hacer avanza;
  fin;
 fin;
fin;
mientras orientado-al-sur y no-junto-a-zumbador y derecha-bloqueada y izquierda-bloqueada hacer deja-zumbador;
si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada y junto-a-zumbador entonces apagate;


mientras no-orientado-al-norte hacer gira-izquierda;
mientras frente-libre hacer avanza;
mientras no-orientado-al-este hacer gira-izquierda;
mientras junto-a-zumbador hacer inicio
mientras frente-libre hacer avanza;
mientras no-orientado-al-sur hacer gira-izquierda;
si frente-libre entonces avanza;
mientras no-junto-a-zumbador y orientado-al-sur y frente-libre hacer inicio
si algun-zumbador-en-la-mochila entonces deja-zumbador;
mientras no-orientado-al-norte hacer gira-izquierda;
mientras frente-libre hacer avanza;
mientras no-orientado-al-oeste hacer gira-izquierda;
si frente-libre entonces avanza;
mientras no-orientado-al-sur hacer gira-izquierda;
si frente-libre entonces avanza;
fin;
fin;
si frente-libre entonces avanza;
mientras no-orientado-al-sur hacer gira-izquierda;
si junto-a-zumbador y derecha-bloqueada y izquierda-bloqueada entonces inicio
si frente-libre entonces avanza;
si algun-zumbador-en-la-mochila entonces deja-zumbador;
fin;
mientras frente-libre y izquierda-bloqueada hacer avanza;
si frente-bloqueado y izquierda-bloqueada entonces apagate;
mientras no-orientado-al-este hacer gira-izquierda;
si frente-libre entonces avanza;
mientras no-orientado-al-norte hacer gira-izquierda;
fin;

        apagate;
    termina-ejecucion
finalizar-programa
