Foros del Web » Programación para mayores de 30 ;) » Programación General »

Número entero entre 1 y 5 ???

Estas en el tema de Número entero entre 1 y 5 ??? en el foro de Programación General en Foros del Web. Hola, esta es una pregunta de matemáticas, más que de programación (soy programador "amateur" de PHP). Quiero mostrar en pantalla de 1 a 5 estrellas ...
  #1 (permalink)  
Antiguo 05/01/2004, 14:53
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Número entero entre 1 y 5 ???

Hola, esta es una pregunta de matemáticas, más que de programación (soy programador "amateur" de PHP).

Quiero mostrar en pantalla de 1 a 5 estrellas según la popularidad de descargas de unos archivos que tengo guardados en una tabla de mySQL.

Lo que estoy intentando es guardar en esa tabla, junto con el nombre de archivo, etc, un campo donde se incrementa en 1 cada vez que alguien descarga dicho archivo.

Hasta aquí todo bien.

Digamos que tengo 3 archivos... uno con 42 descargas, uno con 21 descargas y otro con 8 descargas.

Siendo el 42 el que tiene más descargas, éste debiera aparecer con 5 estrellas, el de 21, debiera salir que está más o menos al centro, debiera tener 3 estrellas y el de 8, que es el que tiene menos, debiera tener 1 estrella

Luego entonces, necesito una fórmula que me arroje un número entero entre 1 y 5 a partir de ese valor máximo y ese valor mínimo.

¿Alguna idea?

Algún post, algún foro donde lo pueda postear?

Mil gracias
  #2 (permalink)  
Antiguo 06/01/2004, 16:42
 
Fecha de Ingreso: enero-2004
Mensajes: 13
Antigüedad: 20 años, 3 meses
Puntos: 0
Es fácil.

Si no me equivoco deseas saber que porcentaje corresponde a determinado download según su comparación con otro.

Si partes de la base de que el que tiene más descargas es el 5 estrellas, solo necesitas saber que tanto por uno representa con el otro.

Por ejemplo, dices que tienes 42, 21 y 8.

Partimos de que 42 vale 5 estrellas. Divides el 21 por 42. Te dará 0.5. Ese es el tanto por uno. En tanto por cien seria 50%, por lo tanto la mitad de estrellas. Si sabes de antemano que tienes 5 estrellas, en lugar de fijarte en el tanto por ciento debes fijarte en el tanto por cinco, es decir, multiplicas el tanto por uno por cinco. (0.5 x 5 = 2.5) Por lo tanto el 21 tiene dos estrellas y media.

21/42 = 0.5 * 5 = 2.5 estrellas.

8/42 = 0.19 * 5 = 0.95 estrellas.

No obstante no me parece un método demasiado bueno, puesto que en tu planteamiento la popularidad de un download no depende de sí mismo si no de los demás. Imagina que tienes un archivo que se han descargado 3 veces y otro que han descargado 2. Uno tiene cinco estrellas y el otro tiene 3.66. Si al de 3 le añaden otra descarga este sigue siendo igual de popular que era antes (5 estrellas), mientras que el otro decae a 2.5 estrellas. Es decir, el que debiere haber subido la popularidad no tiene cambios y el que sigue estando igual que antes se ve mermado. Por otra parte, imagina un archivo que entraste hace 3 meses y tiene 10 visitas, y otro que colgaste hoy y ya tiene 5. ¿En verdad es más popular el de hace tres meses que el que colgaste hoy?

Bueno, te dejo pensando en esto, espero haberte ayudado.
  #3 (permalink)  
Antiguo 07/01/2004, 12:54
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Kolombo, tienes razón. ¿Cómo podría mejorar la cuestión de la popularidad?

Se me ocurre partiendo de tu comentario que cruzando descargas con fechas, para determinar cuántas descargas ha tenido en los últimos 15 días por ejemplo. Y eso resuelve la "vigencia" de la popularidad, pero no lo que me comentas de cómo afecta la popularidad de unos a otros.

¿Cómo me recomendarías que hiciera ésto? Tal vez asignando intervalos como 1-20 = 1 estrella, 21-40 = 2 estrellas ... 91 en adelante = 5 estrellas

¿Cómo se acostumbra en otros sitios, por ejemplo?

Saludos y gracias por tu comentario
  #4 (permalink)  
Antiguo 08/01/2004, 15:52
 
Fecha de Ingreso: enero-2004
Mensajes: 13
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola,

Me preguntas como suele hacerse eso.

Bien, yo lo he visto hacer de muchas maneras, la tuya incluida, pero te diré lo que pienso al respecto.

Yo creo que cuando se desarrolla una aplicación o web debes contar solo con su funcionalidad, en un principio.

Luego, puedes añadir las cosas que crees que mejoraran tu web.

El tema es ¿crees que poner la popularidad del download mejorara tu web o dará facilidades al usuario?

Yo creo, teniendo en cuenta la dificultad de reflejar la popularidad, que no la mejoras en nada.

Yo pienso, que añadir algo de lo que no estas convencido al 100% sobra.

No obstante, si deseas hacerlo porque lo crees importante, yo te aconsejaria basar la popularidad en los votos de los internautas, y en todo caso apoyar esa información con el numero de votos y el de descargas.

Pero en todo caso, y lo hagas como lo hagas, eso nunca será demasiado fiel a la realidad.

Te lanzo una pregunta : Cuando tu entras en una web de descargas, ¿influye en tu descarga la popularidad propuesta?

En mi caso, pocas veces, solo cuando no tengo ni idea de que estoy descargando, lo que no es muy habitual.

Ese es un problema que tenemos muchos desarrolladores. Sabemos que podemos hacer determinada cosa y tratamos de implantarla en nuestro desarrollo, independientemente de si realmente mejora el producto o lo empeora.

Y eso carga el producto, lo complica de cara al usuario (del cual siempre se tiene que esperar que sea tonto, por si las moscas) y añade horas de desarrollo.

Sea como sea, suerte en tu desarrollo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:31.