iniciar-programa
define-nueva-instruccion agarra como inicio
     si junto-a-zumbador entonces   inicio
        coge-zumbador;
        si junto-a-zumbador entonces   inicio
            coge-zumbador;
            si junto-a-zumbador entonces   inicio
                deja-zumbador;   deja-zumbador;
                apagate;
            fin;
            deja-zumbador;
        fin;deja-zumbador;
    fin;
fin;

define-nueva-instruccion oeste como inicio
        si no-orientado-al-oeste entonces inicio
            gira-izquierda;
            oeste;
            fin;
fin;
define-nueva-instruccion recorre como inicio
    si frente-libre entonces inicio
         agarra;
        avanza;
         agarra;
         recorre;
    fin
    sino inicio                 
        si orientado-al-norte entonces inicio
            gira-izquierda;gira-izquierda;
            mientras frente-libre  hacer
            avanza;
            fin;
            gira-izquierda;
            si frente-libre entonces inicio
               avanza;
                 agarra;
            gira-izquierda;
            recorre;
            fin;
    fin;
fin;
    inicia-ejecucion
    oeste;
            mientras frente-libre  hacer
            avanza;
            gira-izquierda;
            mientras frente-libre  hacer
            avanza;
            gira-izquierda;gira-izquierda;
    recorre;
        apagate;
    termina-ejecucion
finalizar-programa
