iniciar-programa
 define-nueva-instruccion mv como
  inicio
   repetir 2 veces
    gira-izquierda;
  fin;
 define-nueva-instruccion baja como
  inicio
   avanza;
   gira-izquierda;
  fin;

 define-nueva-instruccion identa(n) como
  inicio
   si no-junto-a-zumbador entonces
    inicio
     avanza;
     identa(sucede(N));
    fin
   sino
    inicio
     coge-zumbador;
     si frente-libre entonces
      inicio
       avanza;
       mv;
       repetir n veces
        avanza;
       repetir n veces
        deja-zumbador;
       gira-izquierda;
       baja;
      fin
     sino
      inicio
       mv;
       repetir n veces
        avanza;
        mv;
        avanza;
       repetir n veces
        deja-zumbador;
       repetir 3 veces
        gira-izquierda;
       baja;
      fin;
    fin;
  fin;

    inicia-ejecucion
     mientras no-orientado-al-sur hacer
      gira-izquierda;
     baja;
     mientras no-junto-a-zumbador hacer
      identa(1);

        apagate;
    termina-ejecucion
finalizar-programa
