iniciar-programa
   define-nueva-instruccion hu como inicio
      mientras no-junto-a-zumbador hacer inicio
          si no-junto-a-zumbador entonces
              deja-zumbador;
          mientras no-orientado-al-norte hacer
             gira-izquierda;
          avanza;
           mientras no-orientado-al-oeste hacer
             gira-izquierda;
          avanza;
      fin;
    fin;
    define-nueva-instruccion ha como inicio
      mientras no-junto-a-zumbador hacer inicio
          si no-junto-a-zumbador entonces
              deja-zumbador;
          mientras no-orientado-al-sur hacer
             gira-izquierda;
          avanza;
           mientras no-orientado-al-oeste hacer
             gira-izquierda;
          avanza;
      fin;
    fin;
   define-nueva-instruccion hi como inicio
      mientras no-junto-a-zumbador hacer inicio
          si no-junto-a-zumbador entonces
              deja-zumbador;
          mientras no-orientado-al-sur hacer
             gira-izquierda;
          avanza;
           mientras no-orientado-al-este hacer
             gira-izquierda;
          avanza;
      fin;
    fin;
    define-nueva-instruccion he como inicio
       mientras no-junto-a-zumbador hacer inicio
          si no-junto-a-zumbador entonces
              deja-zumbador;
          mientras no-orientado-al-norte hacer
             gira-izquierda;
          avanza;
           mientras no-orientado-al-este hacer
             gira-izquierda;
          avanza;
       fin;
    fin;
    define-nueva-instruccion ho(n) como inicio
       si junto-a-zumbador entonces inicio
          coge-zumbador;
          ho(sucede(n));
       fin
       sino inicio
          repetir n veces
             avanza;
          repetir 2 veces
             gira-izquierda;
          deja-zumbador;
          repetir n veces
             avanza;
          repetir n veces
             avanza;
          repetir 2 veces
             gira-izquierda;
          deja-zumbador;
          repetir n veces
             avanza;
          mientras no-orientado-al-este hacer
             gira-izquierda;
          repetir n veces
             avanza;
          repetir 2 veces
             gira-izquierda;
          deja-zumbador;
           repetir n veces
             avanza;
           repetir n veces
             avanza;
           deja-zumbador;
       fin;
    fin;
    inicia-ejecucion
       si no-junto-a-zumbador entonces inicio
          deja-zumbador;
          apagate;
       fin;
       mientras no-orientado-al-norte hacer
          gira-izquierda;
       ho(0);
       mientras no-orientado-al-norte hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-este hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          he;
       mientras no-orientado-al-sur hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-este hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          hi;
        mientras no-orientado-al-sur hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-oeste hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          ha;
        mientras no-orientado-al-norte hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-oeste hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          hu;
        apagate;
    termina-ejecucion
finalizar-programa