Muchos baldes

A medida de como aumenta el número de baldes, enElBalde se hace un tanto difícil de manejar. Con dos baldes, la cosa cambia:

Pero con cuatro baldes ya es aparatoso.

Hay dos problemas. Uno es que tenemos que inventar nuevos nombres de variables para cada resultado. El otro es que tenemos que calcular el intervalo de cada balde.

Empezaremos por solucionar el segundo problema. Si el número de baldes es
numBaldes, la anchura de cada balde es 1.0 / numBaldes.

Usaremos un bucle para calcular el intervalo de cada balde. La variable del bucle, i, cuenta de 1 a numBaldes-1:

Para calcular el lı́mite inferior de cada balde, multiplicamos la variable de bucle por la anchura de balde. El lı́mite superior está a tan sólo una anchuraBalde.

Con numBaldes = 8, la salida sería:

Puede confirmar que todos los bucles tienen la misma anchura, que no se solapan y que cubren todo el intervalo entre 0,0 y 1,0.

Volvamos ahora al primer problema. Necesitamos un modo de almacenar ocho enteros, usando la variable de bucle para señalarlos uno por uno. En estos momentos deberı́a usted estar pensando en una “¡Lista!”.

Debemos crear la lista de baldes fuera del bucle, porque sólo queremos hacerlo una vez. Dentro del bucle, podemos llamar repetidamente a enElBalde y
actualizar el elemento i de la lista:

Con una lista de 1000 valores, este código genera esta lista de baldes:

Estos números son razonablemente próximos a 125, que es lo que esperábamos. Por lo menos, están lo bastante cerca como para que podamos pensar que el generador de números aleatorios funciona.