iniciar-programa
define-nueva-instruccion derecha como repetir 3 veces gira-izquierda;
define-nueva-instruccion vuelta como repetir 2 veces gira-izquierda;
define-nueva-instruccion siguiente como
    inicio
       mientras no-junto-a-zumbador y frente-libre hacer avanza;
       si junto-a-zumbador entonces
           inicio
               vuelta;
               si frente-libre entonces avanza;
               vuelta;
               si junto-a-zumbador y algun-zumbador-en-la-mochila entonces coge-zumbador;
           fin;
    fin;
define-nueva-instruccion escalera como
    inicio
       derecha;
       avanza;
       gira-izquierda;
       si frente-libre y no-junto-a-zumbador entonces
           inicio
               avanza;
               si junto-a-zumbador entonces
                   inicio
                       repetir 2 veces
                           inicio
                               gira-izquierda;
                               avanza;
                           fin;
                    gira-izquierda;
                    avanza;
                   fin;
           fin sino
               inicio
                   gira-izquierda;
                   avanza;
                   vuelta;
               fin;
    fin;
define-nueva-instruccion rombo como
    inicio
       si no-junto-a-zumbador entonces deja-zumbador;
       si frente-libre entonces
           inicio
               escalera;
           fin sino
               inicio
                   derecha;
                   si frente-libre entonces avanza;
                   siguiente;
               fin;
    fin;
    inicia-ejecucion
        mientras frente-libre hacer avanza;
        mientras algun-zumbador-en-la-mochila hacer rombo;
        apagate;
    termina-ejecucion
finalizar-programa
