iniciar-programa
DEFINE-NUEVA-INSTRUCCION  DIGIERE(N) COMO INICIO
SI JUNTO-A-ZUMBADOR ENTONCES  INICIO
COGE-ZUMBADOR;
MIENTRAS NO-ORIENTADO-AL-SUR HACER GIRA-IZQUIERDA;
SI JUNTO-A-ZUMBADOR ENTONCES INICIO
COGE-ZUMBADOR;
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
DIGIERE(SUCEDE(N));
FIN
SINO DIGIERE(N);
FIN
SINO INICIO
SI ORIENTADO-AL-SUR ENTONCES INICIO
REPETIR N VECES INICIO
DEJA-ZUMBADOR;
DEJA-ZUMBADOR;
FIN;
DEJA-ZUMBADOR;
MIENTRAS NO-ORIENTADO-AL-OESTE HACER GIRA-IZQUIERDA;
FIN
SINO INICIO
SI ORIENTADO-AL-NORTE ENTONCES INICIO
REPETIR N VECES INICIO
DEJA-ZUMBADOR;
DEJA-ZUMBADOR;
FIN;
MIENTRAS NO-ORIENTADO-AL-ESTE HACER GIRA-IZQUIERDA
FIN;
FIN;
FIN;
FIN;

DEFINE-NUEVA-INSTRUCCION  COMES(N) COMO INICIO
SI JUNTO-A-ZUMBADOR ENTONCES INICIO
SI JUNTO-A-ZUMBADOR Y ORIENTADO-AL-ESTE ENTONCES INICIO
COGE-ZUMBADOR ;
COMES(1);
FIN
SINO
SI JUNTO-A-ZUMBADOR Y ORIENTADO-AL-OESTE ENTONCES INICIO
COGE-ZUMBADOR;
COMES(0);
FIN
SINO  INICIO
DIGIERE(0);
COMES(2);
FIN;
FIN
SINO INICIO
SI NO JUNTO-A-ZUMBADOR Y FRENTE-LIBRE ENTONCES INICIO
MIENTRAS NO-ORIENTADO-AL-ESTE HACER GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI NO-JUNTO-A-ZUMBADOR ENTONCES INICIO
MIENTRAS NO-ORIENTADO-AL-OESTE HACER GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI NO JUNTO-A-ZUMBADOR ENTONCES INICIO
MIENTRAS NO-ORIENTADO-AL-ESTE HACER GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI NO-JUNTO-A-ZUMBADOR ENTONCES INICIO
MIENTRAS NO-ORIENTADO-AL-SUR HACER GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI FRENTE-LIBRE ENTONCES INICIO
AVANZA;
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
FIN;
FIN;
FIN;
FIN;
SI JUNTO-A-ZUMBADOR ENTONCES INICIO
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
COMES(2)
FIN
SINO INICIO
SI NO-JUNTO-A-ZUMBADOR ENTONCES INICIO
SI ORIENTADO-AL-NORTE ENTONCES INICIO
SI FRENTE-LIBRE ENTONCES AVANZA;
FIN ;
DEJA-ZUMBADOR;
FIN;
FIN;
FIN;
FIN;
SI SI-ES-CERO(N) ENTONCES INICIO

MIENTRAS NO-ORIENTADO-AL-OESTE HACER GIRA-IZQUIERDA ;
MIENTRAS FRENTE-LIBRE HACER AVANZA;
MIENTRAS NO-ORIENTADO-AL-SUR HACER GIRA-IZQUIERDA;
MIENTRAS FRENTE-LIBRE HACER AVANZA;

DEJA-ZUMBADOR;
FIN
SINO INICIO
SI SI-ES-CERO(PRECEDE(N)) ENTONCES INICIO

MIENTRAS NO-ORIENTADO-AL-OESTE HACER GIRA-IZQUIERDA ;
MIENTRAS FRENTE-LIBRE HACER AVANZA;
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
MIENTRAS FRENTE-LIBRE HACER AVANZA;

DEJA-ZUMBADOR;
FIN  ;
FIN;
FIN;
DEFINE-NUEVA-INSTRUCCION BUSCA COMO INICIO
MIENTRAS FRENTE-LIBRE HACER INICIO
MIENTRAS FRENTE-LIBRE Y JUNTO-A-ZUMBADOR  HACER AVANZA;
GIRA-IZQUIERDA;
GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES  AVANZA;
GIRA-IZQUIERDA; GIRA-IZQUIERDA; GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI NO-JUNTO-A-ZUMBADOR ENTONCES INICIO
GIRA-IZQUIERDA; GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI NO JUNTO-A-ZUMBADOR ENTONCES INICIO
GIRA-IZQUIERDA;
GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
GIRA-IZQUIERDA;
SAL-DE-INSTRUCCION;
FIN;
FIN;
FIN;
FIN;
    DEFINE-NUEVA-INSTRUCCION  RESTA(N) COMO INICIO
    SI JUNTO-A-ZUMBADOR ENTONCES INICIO
    COGE-ZUMBADOR;
    RESTA(SUCEDE(N));
    FIN
    SINO INICIO
    SI FRENTE-LIBRE ENTONCES AVANZA;
    REPETIR N VECES INICIO
    SI JUNTO-A-ZUMBADOR ENTONCES COGE-ZUMBADOR;
    FIN;
    FIN;
   FIN;
      DEFINE-NUEVA-INSTRUCCION  TRASLADA(N) COMO INICIO
    SI JUNTO-A-ZUMBADOR ENTONCES INICIO
    COGE-ZUMBADOR;
    TRASLADA(SUCEDE(N));
    FIN
    SINO INICIO
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
MIENTRAS FRENTE-LIBRE HACER AVANZA;
      MIENTRAS NO-ORIENTADO-AL-ESTE HACER GIRA-IZQUIERDA;
MIENTRAS FRENTE-LIBRE HACER AVANZA;
MIENTRAS NO-ORIENTADO-AL-OESTE HACER GIRA-IZQUIERDA;
SI FRENTE-LIBRE ENTONCES AVANZA;
SI JUNTO-A-ZUMBADOR ENTONCES INICIO
COGE-ZUMBADOR;
  MIENTRAS NO-ORIENTADO-AL-ESTE HACER GIRA-IZQUIERDA;
SI  FRENTE-LIBRE ENTONCES AVANZA;
FIN
SINO  INICIO
   MIENTRAS NO-ORIENTADO-AL-SUR  HACER GIRA-IZQUIERDA;
SI  FRENTE-LIBRE ENTONCES AVANZA;
      SI JUNTO-A-ZUMBADOR ENTONCES INICIO
      COGE-ZUMBADOR;
  MIENTRAS NO-ORIENTADO-AL-ESTE HACER GIRA-IZQUIERDA;
SI  FRENTE-LIBRE ENTONCES AVANZA;
FIN ;
FIN;
    REPETIR N VECES INICIO
    DEJA-ZUMBADOR ;
    FIN;
    FIN;
   FIN;
inicia-ejecucion
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
     BUSCA;
     MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
      COMES(2);
      MIENTRAS NO-ORIENTADO-AL-OESTE HACER GIRA-IZQUIERDA ;
MIENTRAS FRENTE-LIBRE HACER AVANZA;
MIENTRAS NO-ORIENTADO-AL-NORTE HACER GIRA-IZQUIERDA;
MIENTRAS FRENTE-LIBRE HACER AVANZA;
MIENTRAS NO-ORIENTADO-AL-SUR HACER GIRA-IZQUIERDA;
            RESTA(0);
            SI JUNTO-A-ZUMBADOR ENTONCES INICIO
            TRASLADA(0);
            FIN;
        apagate;
    termina-ejecucion
finalizar-programa



