iniciar-programa
define-nueva-instruccion cuentahuu como
inicio
  repetir 10 veces
  inicio
    si junto-a-zumbador entonces
    inicio
       coge-zumbador;
       mientras no-orientado-al-norte hacer gira-izquierda;
     fin
     sino
         mientras no-orientado-al-sur hacer gira-izquierda;
     fin;
   fin;

define-nueva-instruccion suma(n) como
inicio
  si junto-a-zumbador entonces
  inicio
    coge-zumbador;
    suma(sucede(n));
  fin
  sino
  inicio
     avanza;
     repetir n veces deja-zumbador;
   fin;
  fin;
  define-nueva-instruccion diezwi como
  inicio
            cuentahuu;
            si orientado-al-norte entonces
             inicio
            si frente-libre entonces avanza;
            repetir 9 veces deja-zumbador;
            si frente-libre entonces avanza;
            deja-zumbador;
            repetir 2 veces gira-izquierda;
            repetir 2 veces si frente-libre entonces avanza;
            diezwi;
          fin
          sino si orientado-al-sur entonces
          inicio
               mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
               mientras no-orientado-al-norte hacer gira-izquierda;
               repetir 2 veces si frente-libre entonces avanza;
               mientras junto-a-zumbador hacer coge-zumbador;
               repetir 2 veces gira-izquierda;
               mientras frente-libre hacer avanza;
               repetir 3 veces gira-izquierda;
               si frente-libre entonces avanza;
               si no-junto-a-zumbador entonces
               inicio
                  mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
                  apagate;
                 fin;
                 si no-junto-a-zumbador y ningun-zumbador-en-la-mochila entonces
                 apagate;
                mientras algun-zumbador-en-la-mochila  hacer deja-zumbador;
                diezwi;
              fin;
            fin;



  define-nueva-instruccion vamos como
  inicio
   repetir 3 veces gira-izquierda;
         si frente-libre entonces avanza;
         si junto-a-zumbador entonces
         inicio
            repetir 3 veces gira-izquierda;
            mientras junto-a-zumbador hacer avanza;
            repetir 2 veces gira-izquierda;
            si no-junto-a-zumbador entonces avanza;
            mientras frente-libre hacer suma(0);
            vamos;
           fin
           sino
           inicio
              mientras no-orientado-al-este hacer gira-izquierda;
              si frente-libre entonces avanza;
              mientras junto-a-zumbador y frente-libre hacer avanza;
              repetir 2 veces gira-izquierda;
              si no-junto-a-zumbador entonces avanza;
              diezwi;
             fin;
           fin;

    inicia-ejecucion
        avanza;
       repetir 3 veces gira-izquierda;
       mientras no-junto-a-zumbador y frente-libre hacer avanza;
       mientras junto-a-zumbador y frente-libre hacer avanza;
       repetir 2 veces gira-izquierda;
       si no-junto-a-zumbador entonces avanza;
       repetir 3 veces gira-izquierda;
       mientras junto-a-zumbador y frente-libre hacer avanza;
       repetir 2 veces gira-izquierda;
       si no-junto-a-zumbador entonces avanza;
       mientras frente-libre hacer
         suma(0);
       vamos;


        apagate;
    termina-ejecucion
finalizar-programa
