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 orientado 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
orientado;
tache;
apagate;
termina-ejecucion
finalizar-programa
