iniciar-programa
   define-nueva-instruccion bola 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 ka 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 travis 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 raro 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 javo(n) como inicio
       si junto-a-zumbador entonces inicio
          coge-zumbador;
          javo(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;
       javo(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
          raro;
       mientras no-orientado-al-sur hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-este hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          travis;
        mientras no-orientado-al-sur hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-oeste hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          ka;
        mientras no-orientado-al-norte hacer
          gira-izquierda;
       avanza;
       mientras no-orientado-al-oeste hacer
         gira-izquierda;
       avanza;
       mientras no-junto-a-zumbador hacer
          bola;
        apagate;
    termina-ejecucion
finalizar-programa
