Reparto ciclista

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

Este es un programa que te ayudará a sortear ciclistas.

Debido a las vueltas de los ciclistas, muchas veces aprovechamos esta ocasión para apostar entre amigos.

A cada participante se le asignan aleatoriamente varios ciclistas, ganando o perdiendo en función de lo que hagan.

A continuación una posible apuesta:

    Al ganador de la etapa, cada uno le entregará un duro. Esta apuesta se realiza diariamente.
  • Persona ganadora de la devolución (una vez finalizada) 50 ptas. cada una. los entregará. El segundo, 25 ptas. cada uno y el tercero, 10 ptas.

Al ganador de los destinos intermedios, cada uno 10 ptas. entrega (una vez finalizada la vuelta completa).

Al ganador de puertos de montaña, cada uno 25 ptas. entrega (una vez finalizada la vuelta completa).

Al ganador de la clasificación de equipos, cada uno 25 pts. entrega (una vez finalizada la vuelta completa).

Este es un programa que te ayudará a sortear ciclistas.

Observaciones:

1.- En el número anterior analizamos el problema de repetición de aleatorios. En esta ocasión, debemos ordenar aleatoriamente un conjunto de números (correspondiente a los ciclistas). Por tanto, hay que tener en cuenta dos condiciones:

    En la lista final cada número sólo debe aparecer una vez. Esta lista debe contener todos los números. Para resolver este problema vamos a seguir los siguientes pasos: Una vez extraído el número aleatorio, se utilizará como índice de esta tabla y el elemento situado en el lugar indicado por el aleatorio pasará a otra tabla (líneas 390-410). Para evitar que se repita el mismo número, este elemento deberá eliminarse de la matriz, adelantando una posición posterior. Además, se deberá actualizar el área de aleatorios reduciendo uno cada vez que se borre un elemento (líneas 420-440). Adviértase que aunque se repita el aleatorio, en la posición que representa este aleatorio no existirá el número que ya existía. De esta manera se evitará que los números estén repetidos en la lista final. Por otra parte, dado que este proceso se repite hasta que se borren todos los elementos de la primera tabla o matriz, todos los elementos iniciales estarán en la segunda lista.

2.- Con el fin de hacer la distribución lo más equitativa posible, los jefes de los grupos se han incluido en otra tabla, separando los primeros (líneas 110 a 120). Puede ocurrir que no todos los participantes tengan el mismo número de ciclistas. En estos casos se ha redactado el programa para que la mayor diferencia entre los participantes sea de un solo participante (líneas 210-270).

3.- Para que los participantes que tienen que quedarse con menos ciclistas no sean siempre los mismos, la mejor solución ha sido ordenar aleatoriamente a los participantes (líneas 90-100).

4.- En este programa no hemos tenido en cuenta los nombres de los ciclistas, sino los números que llevan.

5.- Introduce en la línea 1010 todos los nombres de los que vais a participar en el sorteo antes de ejecutar el programa.

6.- Nuestras limitaciones son: Nº de ciclistas: 200 Número de equipos: 20 Asistentes: 20 Si se desea superar estos límites bastará con modificar las dimensiones de las matrices en la línea 20.

10 CICLISTAS REM 20 DIM TXIRRIN1(20),TXIRRIN2(200),PARTICIPANTE(20), MAT1(200),MAT2(200) 30 KEY OFF : SCREEN 2,0 : CLS 40 LOCATE 3,28:PRINT "REPARTO DE CICLISTAS": LOCATE 4,28:PRINT "==========================" 50 LOCATE 10,10: INPUT "Número total de ciclistas";KOP1 60 LOCATE 12,10: INPUT "Cuántos equipos son";EKI 70 LOCATE 14,10: NUM.1(Nº DE PARTICIPANTES)

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila