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

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

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

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

define-nueva-instruccion ir_izq como inicio
  oeste;
    mientras frente-libre hacer inicio
      avanza;
    fin;
  este;
fin;

define-nueva-instruccion bajar como inicio
   ir_izq;
     mientras derecha-bloqueada y frente-libre hacer inicio
      avanza;
    fin;
     si derecha-bloqueada entonces inicio
      norte;
     fin sino inicio
      sur;
      avanza;
     fin;
   fin;

define-nueva-instruccion contar como inicio
  si no-orientado-al-norte entonces inicio
  si izquierda-bloqueada y derecha-bloqueada entonces inicio
    bajar;
    contar;
    deja-zumbador;
     fin sino inicio
       bajar;
       contar;
        fin;
     fin sino inicio
     ir_izq;                                         
   fin;
fin;


inicia-ejecucion
contar;
apagate;
termina-ejecucion
finalizar-programa
