iniciar-programa

define-nueva-instruccion derecha como inicio

gira-izquierda;
   
 gira-izquierda;
 
   gira-izquierda;

fin;

define-nueva-instruccion sur como inicio

mientras no-orientado-al-sur hacer gira-izquierda;

fin;

define-nueva-instruccion norte como inicio

mientras no-orientado-al-norte hacer gira-izquierda;

fin;

define-nueva-instruccion oeste como inicio

mientras no-orientado-al-oeste hacer gira-izquierda;

fin;

define-nueva-instruccion este como inicio

mientras no-orientado-al-este hacer gira-izquierda;

fin;


define-nueva-instruccion vuelta como inicio

si junto-a-zumbador entonces apagate;

repetir 2 veces gira-izquierda;

fin;


define-nueva-instruccion inicial como inicio

oeste;

mientras frente-libre hacer avanza;

sur;

mientras frente-libre hacer avanza;

norte;

fin;


define-nueva-instruccion lado como inicio

oeste;

mientras frente-libre hacer avanza;

si no-junto-a-zumbador entonces deja-zumbador;

sur;

fin;



define-nueva-instruccion sube como inicio

si orientado-al-norte entonces inicio

si frente-libre y orientado-al-norte entonces inicio

avanza;

derecha;

si frente-libre y derecha-libre entonces avanza;

norte;


fin

sino inicio

lado;

fin;

fin;

si orientado-al-sur entonces inicio

si frente-libre y orientado-al-sur entonces inicio

avanza;

fin

sino inicio

apagate;

fin;

gira-izquierda;

si frente-libre y izquierda-libre entonces avanza;

sur;

fin;

fin;




define-nueva-instruccion tache como inicio

si no-junto-a-zumbador entonces deja-zumbador;

sube;

tache;

fin;


    inicia-ejecucion
  
  inicial;
     
  tache;
    
    apagate;
  
  termina-ejecucion

finalizar-programa
