iniciar-programa

  define-nueva-instruccion norte como inicio
  mientras no-orientado-al-norte hacer gira-izquierda;
  fin;

  define-nueva-instruccion este como inicio
  mientras no-orientado-al-este hacer gira-izquierda;
  fin;

  define-nueva-instruccion gira-derecha como inicio
 repetir 3 veces gira-izquierda
 fin;

 define-nueva-instruccion camina como inicio
 mientras izquierda-bloqueada y frente-libre hacer inicio avanza;
 si izquierda-libre entonces gira-izquierda;avanza;
 mientras frente-bloqueado y orientado-al-sur y derecha-bloqueada hacer inicio
 apagate;
 fin;
 fin;
 fin;

 define-nueva-instruccion mide (a) como inicio
 mientras izquierda-bloqueada y frente-libre hacer inicio deja-zumbador;
 avanza;
 mide (sucede(a));

 si izquierda-libre entonces gira-izquierda; avanza;
 mide (sucede(a));
 fin;
 mientras izquierda-libre y orientado-al-sur y derecha-bloqueada hacer inicio
 avanza;
 repetir a veces deja-zumbador;
 apagate;
 fin;
 fin;



 inicia-ejecucion
 norte;
 avanza;
 este;
 avanza;
  mide (0);
 camina;
 mientras frente-bloqueado y orientado-al-sur y derecha-bloqueada hacer apagate;





        apagate;
    termina-ejecucion
finalizar-programa

