iniciar-programa
define-nueva-instruccion orientate como inicio
mientras no orientado-al-norte hacer gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
si junto-a-zumbador entonces gira-izquierda;
fin;
define-nueva-instruccion mide como inicio
si no frente-libre  entonces repetir 2 veces gira-izquierda;
si frente-libre y orientado-al-este entonces inicio
avanza;
mide;
fin;
si frente-libre y orientado-al-oeste  entonces inicio
si frente-libre entonces avanza;
si frente-libre entonces avanza;
fin;
si no  frente-libre y orientado-al-oeste entonces inicio
repetir 2 veces gira-izquierda;
fin;
si frente-libre y orientado-al-este  entonces avanza;
fin;
define-nueva-instruccion mide2 como inicio
mientras no orientado-al-sur hacer gira-izquierda;
si no frente-libre  entonces repetir 2 veces gira-izquierda;
si frente-libre y orientado-al-sur entonces inicio
avanza;
mide2;
fin;
si frente-libre y orientado-al-norte  entonces inicio
si frente-libre entonces avanza;
si frente-libre entonces avanza;
fin;
si no  frente-libre y orientado-al-norte entonces inicio
repetir 2 veces gira-izquierda;
fin;
si frente-libre y orientado-al-sur  entonces avanza;
fin;
define-nueva-instruccion tache como inicio
mientras no izquierda-bloqueada hacer inicio
deja-zumbador;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
 fin;
 deja-zumbador;
 repetir 3 veces gira-izquierda;
 mientras frente-libre hacer avanza;
 repetir 3 veces gira-izquierda;
 si izquierda-bloqueada y orientado-al-norte entonces inicio
  mientras no derecha-bloqueada hacer inicio
si no junto-a-zumbador entonces deja-zumbador;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
 fin;
 deja-zumbador;
 gira-izquierda;
 fin;
 orientate;
 mide;
 repetir 2 veces gira-izquierda;
 repetir 2 veces avanza;
 deja-zumbador;
 si junto-a-zumbador entonces inicio
 gira-izquierda;
 mientras frente-libre hacer inicio
 si frente-libre entonces avanza;
 si no junto-a-zumbador entonces deja-zumbador;
 fin;
 fin;
 orientate;
 mide2;
 repetir 2 veces gira-izquierda;
 repetir 2 veces avanza;
 deja-zumbador;
 si junto-a-zumbador entonces inicio
 repetir 3 veces gira-izquierda;
 mientras frente-libre hacer inicio
 si frente-libre entonces avanza;
 si no junto-a-zumbador entonces deja-zumbador;
 fin;
 fin;
 orientate;
 FIN;
    inicia-ejecucion
    orientate;
    tache;
        apagate;
    termina-ejecucion
finalizar-programa
