iniciar-programa
 define-nueva-instruccion av como
  inicio
   si izquierda-bloqueada entonces
    inicio
     avanza;
    fin
   sino
    inicio
     gira-izquierda;
     avanza;
    fin;
  fin;
 define-nueva-instruccion cer(n) como
  inicio
   si no-junto-a-zumbador entonces
    inicio
     deja-zumbador;
     deja-zumbador;
     av;
     repetir n veces
      inicio
       si no-junto-a-zumbador entonces
        inicio
         deja-zumbador;
         av;
        fin;
      fin;
     si no-junto-a-zumbador entonces
      inicio
       cer(n);
      fin;
    fin;
  fin;
 define-nueva-instruccion bar(n) como
  inicio
   si junto-a-zumbador entonces
    inicio
     coge-zumbador;
     bar(sucede(n));
    fin
   sino
    inicio
     deja-zumbador;
     repetir n veces
      deja-zumbador;
     avanza;
     repetir 2 veces
      gira-izquierda;
     cer(n);
    fin;
  fin;
 define-nueva-instruccion pos como
  si junto-a-zumbador entonces
   inicio
    coge-zumbador;
    si junto-a-zumbador entonces
     inicio
      coge-zumbador;
      av;
      pos;
      deja-zumbador;
     fin
    sino
     inicio
      deja-zumbador;
      av;
      pos;
     fin;
   fin
  sino
   inicio
    avanza;
    gira-izquierda;
    avanza;
   fin;
 define-nueva-instruccion val como
  inicio
   si junto-a-zumbador entonces
    inicio
     coge-zumbador;
     si junto-a-zumbador entonces
      inicio
       coge-zumbador;
       avanza;
       gira-izquierda;
       avanza;
       avanza;
      fin
     sino
      inicio
       av;
       val;
       deja-zumbador;
      fin;
    fin
   sino
    inicio
     av;
     val;
    fin;
  fin;
 define-nueva-instruccion bet como
  inicio
   repetir 3 veces
    gira-izquierda;
   avanza;
   gira-izquierda;
   coge-zumbador;
   bar(0);
   pos;
   gira-izquierda;
   gira-izquierda;
   avanza;
   repetir 3 veces
    gira-izquierda;
   avanza;
   repetir 2 veces
    deja-zumbador;
   repetir 3 veces
    gira-izquierda;
   avanza;
   val;
   gira-izquierda;
   gira-izquierda;
   mientras frente-libre hacer
    avanza;
   repetir 3 veces
    gira-izquierda;
  fin;
    inicia-ejecucion
     bet;
        apagate;
    termina-ejecucion
finalizar-programa
