iniciar-programa

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


            define-nueva-instruccion norte como inicio
                mientras no-orientado-al-norte hacer inicio
                    gira-izquierda;
                fin;
            fin;

             define-nueva-instruccion media-vuelta como inicio
                 gira-izquierda;
                 gira-izquierda;
             fin;


             define-nueva-instruccion cuenta-avanzas como inicio
                 si frente-libre entonces inicio
                     avanza;
                     cuenta-avanzas;
                     avanza;
                 fin sino inicio
                    coge-zumbador;
                     media-vuelta;
                 fiN;

              fiN;


              define-nueva-instruccion regreso-sala como inicio
                      gira-derecha;
                  mientras frente-libre hacer inicio
                      avanza;
                  fiN;
                      gira-derecha;
                  mientras frente-libre hacer inicio
                      avanza;
                  fin;
                      gira-derecha;
                  mientras frente-libre hacer inicio
                      avanza;
                  fin;
                      deja-zumbador;
               fiN;

    inicia-ejecucion
        norte;
      mientras izquierda-bloqueada hacer inicio
        avanza;
      fiN;
        gira-izquierda;
        mientras frente-libre hacer inicio
            avanza;
        fin;
            gira-izquierda;
       cuenta-avanzas;
       regreso-sala;

        apagate;
    termina-ejecucion
finalizar-programa
