iniciar-programa
define-nueva-instruccion suave como
inicio
     mientras no orientado-al-este hacer gira-izquierda;
     apagate;
fin;
define-nueva-instruccion perfecta como
inicio
     mientras no orientado-al-norte hacer gira-izquierda;
     apagate;
fin;
define-nueva-instruccion dura como
inicio
     mientras junto-a-zumbador hacer coge-zumbador;
     mientras no orientado-al-oeste hacer gira-izquierda;
     apagate;
fin;
define-nueva-instruccion compara como
inicio
       si no junto-a-zumbador entonces
       inicio
           si frente-libre entonces
           inicio
           avanza;
           compara;
           si junto-a-zumbador entonces coge-zumbador
           sino
           suave;
           fin
           sino
           inicio
               repetir 2 veces gira-izquierda;
               mientras frente-libre hacer avanza;
               gira-izquierda;
               si frente-libre entonces
               inicio
                   avanza;
                   gira-izquierda;
                   compara;
                   si junto-a-zumbador entonces coge-zumbador
                   sino
                   suave;
               fin
               sino
               inicio
                   repetir 2 veces gira-izquierda;
                   mientras frente-libre hacer avanza;
                   mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
                   si junto-a-zumbador entonces coge-zumbador
                   sino
                   suave;
               fin;
            fin;
        fin
        sino
        inicio
           coge-zumbador;
           si frente-libre entonces
           inicio
           avanza;
           compara;
           fin
           sino
           inicio
               repetir 2 veces gira-izquierda;
               mientras frente-libre hacer avanza;
               gira-izquierda;
               si frente-libre entonces
               inicio
                   avanza;
                   gira-izquierda;
                   compara;
               fin
               sino
               inicio
                   repetir 2 veces gira-izquierda;
                   mientras frente-libre hacer avanza;
                   mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
               fin;
            fin;
        fin;
fin;
    inicia-ejecucion
    compara;
    si junto-a-zumbador entonces dura
    sino perfecta;
        apagate;
    termina-ejecucion
finalizar-programa
