iniciar-programa

   define-nueva-instruccion sube como inicio

   si no-junto-a-zumbador entonces inicio

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


   mientras frente-bloqueado hacer inicio
   mientras no-orientado-al-norte hacer gira-izquierda;


   mientras derecha-bloqueada y frente-libre y no-junto-a-zumbador  hacer avanza;

   mientras frente-bloqueado hacer inicio
   mientras no-orientado-al-sur hacer   gira-izquierda;

   mientras izquierda-bloqueada y no-junto-a-zumbador hacer avanza;

mientras junto-a-zumbador hacer apagate;
   fin;

    fin;


   mientras no-orientado-al-este hacer gira-izquierda;
   mientras frente-libre y no-junto-a-zumbador hacer avanza;
   mientras junto-a-zumbador hacer apagate;
   fin;

     fin;
     fin;






    inicia-ejecucion
   mientras no-junto-a-zumbador hacer inicio
   si frente-libre entonces inicio
   sube;
    fin
   sino inicio
   mientras frente-bloqueado hacer inicio
   mientras no-orientado-al-norte hacer gira-izquierda;

   mientras derecha-bloqueada y frente-libre hacer inicio
   avanza;
   mientras no-orientado-al-este hacer gira-izquierda;
   fin;

   mientras frente-bloqueado hacer inicio
   mientras no-orientado-al-sur hacer gira-izquierda;
   fin;
   mientras izquierda-bloqueada hacer avanza;
   mientras no-orientado-al-este hacer gira-izquierda;

     fin;
     fin;
     fin;



        apagate;
    termina-ejecucion
finalizar-programa
