iniciar-programa
define-nueva-instruccion derecha como inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
fin;
define-nueva-instruccion voltea como inicio
    gira-izquierda;
    gira-izquierda;
 fin;
 define-nueva-instruccion buscar-pared como inicio
      mientras frente-libre  hacer inicio
          avanza;
      fin;
      si frente-bloqueado entonces inicio
          gira-izquierda;
      fin;
      fin;
      define-nueva-instruccion perimetro como inicio
          si junto-a-zumbador entonces inicio
               apagate;
          fin;
          mientras no junto-a-zumbador hacer inicio
          si derecha-bloqueada entonces inicio
                  gira-izquierda;
                   mientras frente-libre y no junto-a-zumbador hacer inicio
                       avanza;
                       si junto-a-zumbador entonces inicio
                           apagate;
                       fin;    
                   fin;
                   si frente-bloqueado entonces inicio
                        voltea;
                    fin;
                    mientras frente-libre y no junto-a-zumbador hacer inicio
                        avanza;
                        si junto-a-zumbador entonces inicio
                            apagate;
                            fin;
                    fin;
                    si frente-bloqueado entonces inicio
                        gira-izquierda;
                        si frente-libre entonces inicio
                            avanza;
                            si junto-a-zumbador entonces
                                apagate;
                        fin;
                        fin;
                        si frente-bloqueado y derecha-bloqueada entonces inicio
                            gira-izquierda;
                        fin;
                  fin;
                 si derecha-libre entonces inicio
                     derecha;
                     si frente-libre entonces inicio
                         avanza;
                         derecha;
                         si frente-libre entonces inicio
                             avanza;
                             fin;
                             si frente-bloqueado entonces inicio
                                 gira-izquierda;
                              fin; 
                  fin;
                  fin;
            fin;
        fin;
    inicia-ejecucion
    buscar-pared;
    perimetro;
        apagate;
    termina-ejecucion
finalizar-programa

