Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/06/2015, 12:10
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Operación matemática, calcular regla de tres o porcentaje a partir de un t

Lo que necesitás es llevar tu número de participantes a una escala del 1 al 10. Creo que la palabra adecuada para esto es "normalizar".

posición 1 = 1
posición 230 = 10

con lo que podemos tomar cada paso, o punto de quiebre, en 23 (230/10):
1-23 = 1
24-46 = 2
...
208-230 = 10

podemos usar una fórmula entonces:

puntaje = ceil(pos/23), o ceil(posicion*total_participantes/puntaje_máximo)

Si posición = 25, entonces puntaje = ceil(25/23) ~ ceil(1.1)= 2
Si posición = 100, entonces puntaje = ceil(100/23) ~ ceil(4.3) = 5

esta solución tiene dos problemas, fácilmente ajustables:
- da el puntaje máximo a la posición 230, en vez de a la 1
- en vez de dar el puntaje máximo a la posición máxima, se lo da a un rango. Esto lo podemos arreglar con floor() en vez de ceil()

Obviamente este proceso tiene un problema, que es