Autor Tema: Sistema de Reputación de un usuario  (Leído 5110 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Paulita

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +2/-1
    • Ver Perfil
Sistema de Reputación de un usuario
« en: Junio 22, 2014, 08:30:50 pm »
Buenas Noches! Escribo en esta oportunidad porque estoy desarrollando un sistema en vb6 de préstamo de libros pero en un módulo tengo que hacer un sistema de reputación del usuario,  los tipos de calificación serían buenos o malos pero tengo que trabajar con porcentaje, si me pudieran dar una idea de ¿cómo trabajarlo con porcentaje para el sistema de reputación?

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Sistema de Reputación de un usuario
« Respuesta #1 en: Junio 22, 2014, 09:00:18 pm »
No capto donde esta tu inquietud. El porcentaje es una parte de algo, se puede decir una fraccion, por eso seria bueno que representes el porcentaje con decimales y asi lo guardas.
Por ejemplo, el 80% lo guardas como 0.8. Cuando necesites saber cuantos es el porcentaje de un numero, digamos de 120, lo multiplicas por 0.8 y tendrás 96 que es el 80% de 120.

Sino es esto, tendrias que especificar un poco mas. Saludos
Me encuentras en YAcosta.com

Paulita

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +2/-1
    • Ver Perfil
Re:Sistema de Reputación de un usuario
« Respuesta #2 en: Junio 22, 2014, 09:17:16 pm »
Gracias YAcosta por responderme, detallo un poco lo que tengo que hacer, en el caso que al usuario ha tenido 4 préstamos pero 3 han sido calificado como “buenos” y 1 ha sido como “malo”, en ese ejemplo su reputación sería de 75%, mi duda es ¿Cómo hago para que me de ese 75%? ¿Qué valor debería de tener cada calificación?

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Sistema de Reputación de un usuario
« Respuesta #3 en: Junio 22, 2014, 09:53:54 pm »
En ese caso entra una regla de 3.

Numero de Prestamos = 100%

Si se prestó 10 veces dividirás 100 / 10  = 10
Si se prestó 4 veces dividirás 100 / 4 = 25

25 o 10 lo guardas multiplicando como 10 / 100 lo que te da 0.1 o 25 / 100 lo que te da 0.25 y ese sera tu porcentaje de reputación. Esto seguramente va a variar dependiendo de cuanto se preste y como lo califiquen.

Si se presto 4 veces y 3 son buenos entonces multiplicas 3 por 0.25 lo que te da 0.75 que al multiplicar por 100 obtienes 75 que es tu porcentaje de presentación.

Si se presto 10 veces y 2 fueron buenos, siguiendo la misma logica multiplicas 2 por 0.1 lo que te da 0.2 x 100 obtienes 20 que seria el porcentaje, o sea, de 100% tiene 20% positivo.

Por cada ingreso recalculas pero siguiendo el mismo patron.

Salvo mejor idea.
Me encuentras en YAcosta.com

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Sistema de Reputación de un usuario
« Respuesta #4 en: Junio 22, 2014, 10:27:49 pm »
Hola.
Consulta, Yván.
¿Para qué dividís por 100 el número 25 (en el segundo ejemplo) si después multiplicás por 100 el número 0.75? Es por una cuestión de conservar el coeficiente? ¿O será para preservar el concepto de porcentaje? Me interesa saberlo.
Si no, lo dejaría así:
Cantidad de veces que se prestó: 4
Entonces, 100 / 4 = 25
Si de las 4 veces que se prestó, se calificó como bueno en 3 de ellas: 3 x 25 = 75. Ese sería el porcentaje: 75 %.
Dicho de otra manera:
La cantidad de veces que se prestó (4) es el 100 %, entonces la cantidad de buenas calificaciones (3) representa el 75 %: 3 * 100 / 4 = 75
O una manera más "gráfica":
(P = cantidad de veces que se prestó; PB = préstamos calificados como buenos)
4P...........................100%
3B...........................X = 3 * 100 / 4 = 75%
Escribí esto porque es como me resultaba más fácil recordar la "fórmula" al comienzo. Y esto es porque tomo en cuenta que la manera de mostrarlo al final es del tipo: 75%. Está claro que el número debiera ser como sugiere Yván: 0.75.
Saludos.

Jerónimo

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Sistema de Reputación de un usuario
« Respuesta #5 en: Junio 22, 2014, 10:48:12 pm »
Buena observación,  por costumbre, porque siempre guardo en la tabla los temas porcentuales como decimales para luego en la lectura tirarle una multiplicada directa ¿Cual es el 18% de 97?, multiplico 97 * 0.18 y tengo 17.46 que depende donde lo muestre lo presento formateando o lo concateno para tener 17.46%.

Pero cierto, no es necesario tanta ida y vuelta.

Si se presta 9 veces tenemos 11.11 de 100%.

Si de ellas son buenas 5 entonces damos 5 x 11.11 = 55.55%

Bien alli.
Me encuentras en YAcosta.com

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Sistema de Reputación de un usuario
« Respuesta #6 en: Junio 22, 2014, 11:20:04 pm »
Muchas gracias por la aclaración, Yván.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Sistema de Reputación de un usuario
« Respuesta #7 en: Junio 22, 2014, 11:39:42 pm »
A veces uno esta tan nublado de temas que empieza a complicar donde no es necesario, la forma que comentas es la correcta.
Me encuentras en YAcosta.com

Paulita

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +2/-1
    • Ver Perfil
Re:Sistema de Reputación de un usuario
« Respuesta #8 en: Junio 23, 2014, 01:26:29 am »
Muchas Gracias YAcosta y Jeronimo, me ayudaron bastante con lo que me han respondido ambos,  han aclarados mis dudas y ya tengo idea de como hacerlo, lo voy aplicar al sistema que estoy desarrollando  :) :D

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:Sistema de Reputación de un usuario
« Respuesta #9 en: Junio 23, 2014, 12:04:23 pm »
lo bueno de guardar por ej el 75% como un 75 en numero entero, es que se ahorra los dolores de cabeza de trabajar con la base y vb con decimales, ya que desp tenes que tener en cuenta la configuración regional, si usa coma o punto, y la instrucción SQL  siempre usará punto como separador decimal.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Sistema de Reputación de un usuario
« Respuesta #10 en: Junio 23, 2014, 12:49:51 pm »
Ah bueno, yo nunca tuve problema con la configuración regional en ningún cliente en mas de 10 años, las muy poquísimas veces que pasó que alguien metió la mano a la configuración regional los cuento con los dedos de una mano y fue porque el usuario de curioso cambió la configuración regional de Español(Perú) a Español(España) y el soft da una alerta temprana cuando detecta esa inconsistencia por el histórico del tipo de cambio (que en realidad está para cuando el usuario comete el error de poner 28.25 en vez de 2.825 al valor del dolar, igual con un ratio bajísimo), también que mi soft es chico y de alcance local (Lima-Peru) y aquí todo peruano que se respeta :-) usa el punto como separador decimal y la coma para miles.
Por ello los decimales no me califica como problema, mi explicación fue partiendo de lo particular pero es cierto y tienes mucha razón que para un aspecto general si se debe considerar ese detalle y en ese caso cabria guardarlo como dices.

Saludos
« última modificación: Junio 23, 2014, 12:53:17 pm por YAcosta »
Me encuentras en YAcosta.com

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:Sistema de Reputación de un usuario
« Respuesta #11 en: Junio 23, 2014, 01:05:44 pm »
aquí todo peruano que se respeta :-) usa el punto como separador decimal y la coma para miles.
Que suerte, aca en Argentina, todos ingresamos el separador decimal con el punto del teclado numerico, pero como la definicion de Argentina es separador decimal usando coma, te genera muchos dolores de cabeza.