No es que "mientras esté por debajo de la barra del medio". "ElMedio" es la posición en una tabla ordenada de menor a mayor, y ahí es donde se ubica la mediana, y siempre es el centro: "ElMedio" le llamo yo.
Gracias a tu pregunta y a que he escrito el funcionamiento completo del ejemplo, he corregido otro error.
Suponiendo el ejemplo de antes, tenemos 11 velas cuyos valores son :
3, 3, 4, 5, 5, 4, 4, 2, 1, 3, 2
Sabemos que una vez estén ordenados de menor a mayor, el que ocupe la posición central (ElMedio) es la mediana.
La tabla vacía para ordenar de menor a mayor:
Posición 1 (j1) -> ?
Posición 2 (j2) -> ?
Posición 3 (j3) -> ?
Posición 4 (j4) -> ?
Posición 5 (j5) -> ?
Posición 6 (j6) -> ?
etc. hasta
Posición 11 (j11) -> ?
Como puedes ver, la j no representa el nº de barra, sino al nº de posición de la tabla que tenemos que crear ordenada de menor a mayor.
Lo que nos interesa es el valor de la barra que caiga en la posición 6 que es el centro de la tabla.
Vamos a ver que valor, de las 11 velas, ocupa la posición 1 (j=1).
Para ello comenzamos a leer
barra 1 (i=1): valor 3 ¿es menor que xxx (99999) y mayor que MinAnt (0)? si -> xxx=3, repes=0
barra 2 (i=2): valor 3 ¿es menor que xxx (3) y mayor que MinAnt (0)? no -> ¿es igual a xxx (3)? si, repes=repes+1 (repes=1)
barra 3 (i=3): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (0)? no -> ¿es igual a xxx (3) ? no, se mantiene el valor xxx=3
barra 4 (i=4): valor 5 ¿es menor que xxx (3) y mayor que MinAnt (0)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 5 (i=5): valor 5 ¿es menor que xxx (3) y mayor que MinAnt (0)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 6 (i=6): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (0)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 7 (i=7): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (0)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 8 (i=8): valor 2 ¿es menor que xxx (3) y mayor que MinAnt (0)? si -> xxx=2, repes=0
barra 9 (i=9): valor 1 ¿es menor que xxx (2) y mayor que MinAnt (0)? si -> xxx=1, repes=0
barra 10 (i=10): valor 3 ¿es menor que xxx (1) y mayor que MinAnt (0)? no -> ¿es igual a xxx (1)? no, se mantiene el valor xxx=1
barra 11 (i=11): valor 2 ¿es menor que xxx (1) y mayor que MinAnt (0)? no -> ¿es igual a xxx (1)? no, se mantiene el valor xxx=1
Hemos acabado el primer barrido (j=1) y tenemos que la Mediana=xxx (Mediana=1), que el MinAnt=Mediana (MinAnt=1). La tabla empieza a llenarse:
Posición 1 (j1) -> 1
Posición 2 (j2) -> ?
Posición 3 (j3) -> ?
Posición 4 (j4) -> ?
Posición 5 (j5) -> ?
Posición 6 (j6) -> ?
etc. hasta
Posición 11 (j11) -> ?
Vamos a ver que valor, de las 11 velas, ocupa la posición 2 (j=2).
Entramos de nuevo en el bucle i con valor j=2
barra 1 (i=1): valor 3 ¿es menor que xxx (99999) y mayor que MinAnt (1)? si -> xxx=3, repes=0
barra 2 (i=2): valor 3 ¿es menor que xxx (3) y mayor que MinAnt (1)? no -> ¿es igual a xxx (3)? si, repes=repes+1 (repes=1)
barra 3 (i=3): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (1)? no -> ¿es igual a xxx (3) ? no, se mantiene el valor xxx=3
barra 4 (i=4): valor 5 ¿es menor que xxx (3) y mayor que MinAnt (1)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 5 (i=5): valor 5 ¿es menor que xxx (3) y mayor que MinAnt (1)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 6 (i=6): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (1)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 7 (i=7): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (1)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 8 (i=8): valor 2 ¿es menor que xxx (3) y mayor que MinAnt (1)? si -> xxx=2, repes=0
barra 9 (i=9): valor 1 ¿es menor que xxx (2) y mayor que MinAnt (1)? no -> ¿es igual a xxx (2)? no, se mantiene el valor xxx=2
barra 10 (i=10): valor 3 ¿es menor que xxx (2) y mayor que MinAnt (1)? no -> ¿es igual a xxx (2)? no, se mantiene el valor xxx=2
barra 11 (i=11): valor 2 ¿es menor que xxx (2) y mayor que MinAnt (1)? no -> ¿es igual a xxx (2)? si, repes=repes+1 (repes=1)
Hemos acabado el segundo barrido (j=2) y tenemos que la Mediana=xxx (Mediana=2), que el MinAnt=Mediana (MinAnt=2). Y además el 2 se repite una vez, así que avanzamos j una posición extra (j=j+repes). La tabla está algo mas completa:
Posición 1 (j1) -> 1
Posición 2 (j2) -> 2
Posición 3 (j3) -> 2
Posición 4 (j4) -> ?
Posición 5 (j5) -> ?
Posición 6 (j6) -> ?
etc. hasta
Posición 11 (j11) -> ?
Vamos a ver que valor, de las 11 velas, ocupa la posición 2 (j=4) (Nos saltamos el j=3 porque el 2 se repetía una vez).
Entramos de nuevo en el bucle i con valor j=4
barra 1 (i=1): valor 3 ¿es menor que xxx (99999) y mayor que MinAnt (2)? si -> xxx=3, repes=0
barra 2 (i=2): valor 3 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? si, repes=repes+1 (repes=1)
barra 3 (i=3): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3) ? no, se mantiene el valor xxx=3
barra 4 (i=4): valor 5 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 5 (i=5): valor 5 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 6 (i=6): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 7 (i=7): valor 4 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 8 (i=8): valor 2 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 9 (i=9): valor 1 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
barra 10 (i=10): valor 3 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? si, repes=repes+1 (repes=2)
barra 11 (i=11): valor 2 ¿es menor que xxx (3) y mayor que MinAnt (2)? no -> ¿es igual a xxx (3)? no, se mantiene el valor xxx=3
Hemos acabado el tercer barrido (j=4) y tenemos que la Mediana=xxx (Mediana=3), que el MinAnt=Mediana (MinAnt=3). Y además el 3 se repite dos veces, así que avanzamos j dos posiciones extra (j=j+repes). La tabla se ha llenado lo suficiente:
Posición 1 (j1) -> 1
Posición 2 (j2) -> 2
Posición 3 (j3) -> 2
Posición 4 (j4) -> 3
Posición 5 (j5) -> 3
Posición 6 (j6) -> 3
etc. hasta
Posición 11 (j11) -> ?
Como j=6 y eso es el ElMedio, el primer bucle se acaba y ya tenemos el indicador Mediana=3