iniciar-programa
    define-nueva-instruccion derecha como
        inicio
            repetir 3 veces
                inicio
                    gira-izquierda;
                fin;
       fin;

     define-nueva-instruccion subir como
         inicio
             mientras junto-a-zumbador hacer
                 inicio
                     avanza;
                  fin;
             mientras no-junto-a-zumbador hacer
                 inicio
                     si frente-libre entonces
                         inicio
                             avanza;
                          fin;
                     si frente-bloqueado entonces
                         inicio
                             si no-junto-a-zumbador entonces
                             inicio
                             derecha;

                                 si frente-libre entonces
                                     inicio
                                         avanza;
                                         derecha;
                                      fin;

                                sal-de-instruccion;
                             fin;
                          fin;
                    fin;
                  mientras junto-a-zumbador hacer
                  inicio
                      coge-zumbador;
                  fin;
                   gira-izquierda;
                gira-izquierda;
           fin;

       define-nueva-instruccion bajar como
           inicio

                mientras frente-libre hacer
                    inicio
                        avanza;
                    fin;
                si orientado-al-sur entonces
                    inicio
                        gira-izquierda;
                        gira-izquierda;
                     fin;


            fin;

       define-nueva-instruccion construir como
           inicio

               mientras algun-zumbador-en-la-mochila hacer
                   inicio
                       deja-zumbador;
                       avanza;
                   fin;
            fin;

         define-nueva-instruccion orientar como
             inicio
                 gira-izquierda;
                 gira-izquierda;
                 mientras frente-libre hacer
                     inicio
                         avanza;
                     fin;
                 gira-izquierda;
                 mientras frente-libre hacer
                     inicio
                         avanzA;
                     fin;
                 gira-izquierda;
                 gira-izquierda;
             fin;

          define-nueva-instruccion arreglar como
              inicio
                  si junto-a-zumbador entonces
                      inicio
                          mientras junto-a-zumbador hacer
                          inicio
                              coge-zumbador;
                         fin;

                     fin;
                      deja-zumbador;
                   avanza;


             fin;

           define-nueva-instruccion siguiente como
               inicio
                   gira-izquierda;
                   gira-izquierda;
                   mientras frente-libre hacer
                       inicio
                           avanza;
                        fin;
                    gira-izquierda;
                    si frente-libre entonces
                        inicio
                            avanza;
                            gira-izquierda;
                         fin;
                     fin;





    inicia-ejecucion
            mientras no-orientado-al-este hacer
                inicio
                    subir;
                    bajar;
                    construir;
                 fin;
             orientar;
             mientras frente-libre hacer
                 inicio

                 mientras junto-a-zumbador hacer
                 inicio
                     arreglar;
                     fin;
                     siguiente;
                  fin;

        apagate;
    termina-ejecucion
finalizar-programa
