iniciar-programa
    define-nueva-instruccion in  como inicio
        mientras no-orientado-al-oeste hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no-orientado-al-sur hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        mientras no-orientado-al-norte hacer gira-izquierda;
    fin;
    define-nueva-instruccion resta como inicio
        si junto-a-zumbador entonces inicio
           coge-zumbador;
           si no-junto-a-zumbador entonces inicio
               repetir 100 veces deja-zumbador;
               apagate;
           fin;
           si frente-libre entonces avanza sino inicio
               si orientado-al-norte entonces inicio
                  repetir 3 veces gira-izquierda;
                  si frente-libre entonces avanza sino inicio
                     in;
                     resta;
                  fin;
                  repetir 3 veces gira-izquierda;
               fin sino inicio
                  gira-izquierda;
                  si frente-libre entonces avanza sino inicio
                     in;
                     resta;
                  fin;
                  gira-izquierda;
               fin;
           fin;
           resta;
        fin sino inicio
           repetir 100 veces deja-zumbador;
        fin;
    fin;

    inicia-ejecucion
        in;
        resta;
        apagate;
    termina-ejecucion
finalizar-programa
