iniciar-programa
define-nueva-instruccion orienta-este como inicio
  mientras no-orientado-al-este hacer inicio
    gira-izquierda;
  fin;
Fin;
define-nueva-instruccion orienta-oeste como inicio
 mientras no-orientado-al-oeste hacer inicio
    gira-izquierda;
  fin;
FIN;
define-nueva-instruccion orienta-norte como inicio
 mientras no-orientado-al-norte hacer inicio
    gira-izquierda;
  fin;
FIN;
define-nueva-instruccion orienta-sur como inicio
 mientras no-orientado-al-sur hacer inicio
    gira-izquierda;
  fin;
FIN;

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

Define-nueva-instruccion irizquierda como inicio
   orienta-oeste;
   mientras frente-libre hacer inicio
      avanza;
   fin;
   orienta-este;
FIN;

Define-nueva-instruccion bajar como inicio
  irizquierda;
  mientras frente-libre y derecha-bloqueada hacer inicio
     avanza;
  fin;
  si derecha-bloqueada entonces inicio
     orienta-norte;
  fin sino inicio
     orienta-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
        irizquierda
   fin;
FIN;

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