iniciar-programa
define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;
define-nueva-instruccion sur como mientras no-orientado-al-sur hacer gira-izquierda;
define-nueva-instruccion oeste como mientras no-orientado-al-oeste hacer gira-izquierda;
define-nueva-instruccion este como mientras no-orientado-al-este hacer gira-izquierda;
define-nueva-instruccion derecha como repetir 3 veces gira-izquierda;
define-nueva-instruccion beeper como
    inicio
       gira-izquierda;
       mientras frente-libre y no-junto-a-zumbador hacer avanza;
       si no-junto-a-zumbador entonces
           inicio
               repetir 2 veces gira-izquierda;
               mientras frente-libre hacer avanza;
               gira-izquierda;
               si frente-libre entonces
                   inicio
                       avanza;
                   fin sino
                       inicio
                           gira-izquierda;
                           si frente-libre entonces avanza;
                       fin;
           fin sino apagate;
           si derecha-libre entonces
               inicio
                   derecha;
                   avanza;
                   derecha;
                    si frente-libre entonces
                        inicio
                            avanza;
                        fin sino
                            inicio
                                gira-izquierda;
                            fin;
               fin;
    fin;
    inicia-ejecucion
        sur;
        mientras frente-libre hacer avanza;
        este;
        mientras derecha-bloqueada hacer beeper;
        apagate;
    termina-ejecucion
finalizar-programa
