semana 8 ~ lotería primitiva ~

Vamos a ver la potencia de calculo, sobre todo por velocidad, de los ordenadores.

Escribimos un programa que procesa una apuesta de lotería primitiva (una apuesta son 6 números del 1 al 49 que no se repiten). Para procesar una apuesta se guardan los números de la apuesta en un array A de 6 elementos. Tendremos también la combinación ganadora anotada en otro array G. Se trata de contar cuantos aciertos tiene A.

Cuando se resuelve para una apuesta se puede aplicar el algoritmo a n apuestas.

Podemos escribir un programa que básicamente será

Inicio

         hacer

  •        generar apuesta
  •         comprobar apuesta

       muchas veces

       mostrar resultados generales

Fin

Para que el programa sea más real, vamos a tener las apuestas grabadas en un fichero y el programa debe procesar el fichero. Dejo aquí  en BOX   varios ficheros de apuestas, uno pequeño de 20 apuestas, otro de 50.000 y otro de 1 millón de apuestas.  dejo también un programa en C que se encarga de leer las apuestas de una en una, ese programa sirve de base y hay que completarlo: leer y procesar. Tenéis que escribir la parte de procesar la apuesta.

Procesar 1 millón  de apuestas puede llevar un buen rato, así que primero hacer pruebas con los ficheros pequeños y cuando el programa funcione se procesará el millón de apuestas.

En realidad, con un  pc moderno, un millón de apuestas se procesa en muy poco tiempo -menos de 1 minuto- pero si el programa va visualizando los resultados de cada proceso sí irá lento. Es decir,  lo que retrasa es la salida por pantalla. Pero un programa que no informa de lo que hace puede ser un poco intrigante (o frustrante si no funciona bien y no acaba nunca), así que conviene que vaya informando, por ejemplo cada 1000 apuestas procesadas, que el programa avanza.

Como wordpress no permite alojar ficheros de código, dejo el programa y los datos en un servicio de compartir documentos: BOX  ( así también vais conociendo estos servicios).

Advertisement

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s