22/11/2015, 09:39
|
| | | Fecha de Ingreso: diciembre-2008 Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 11 meses Puntos: 8 | |
Respuesta: Dificil Logica de programacion como hago? Esta bien como dices, excepto por una cosa:
Es el PP lo que el HIJO le regala al padre... No el PT. en todo lo demas estas en lo correcto. es decir quedaria asi en una primera instancia:
PP de J son 30
Sus PG suman 0 y los PT son 30
******************************************
PP de I son 40
Predecesores (J) con PP 30
Sus PG suman 30 => los PT de I son 70
******************************************
PP de H son 80
Predecesores (I) con PP 40
Predecesores (J) con PP 30
Los PG de H suman 70 y los PT de H son: 80(PP)+70(PG)=150(PT)
************************************************** *****
PP de G son 20 *Predecesores:
Predecesor (H) con PP 80 (No suma para sus hijos ya que PT-H=150>=100.
Predecesor (I) con PP 40
Predecesor (J) con PP 30
Los PG suman 40+30=70 =>PT de G son 20(PP)+70(PG)=90.
*******************Calculando PG de F********************
PP de F son 10
Predecesores:
Predecesor (G) con PP 20
Predecesor (H) con PP 80 (No suma para sus hijos por que tiene PT=150>=100.)
Predecesor (I) con PP 40
Predecesor (J) con PT 30
PG suman 20+40+30=90 y los PT son 90+10=100.
******************************************
PP de E son 20
Predecesor (F) con PP 10 (No suma para sus hijos por que tiene PT=100>=100.)
Predecesor (G) con PP 20
Predecesor (H) con PP 80 (No suma para sus hijos por que tiene PT=150>=100.)
Predecesor (I) con PP 40
Sus PG suman 40+20=60 => PT son 60(PG)+20(PP)=80
Nota este usuario no tiene a J ya que a pesar de que es un Hijo, para los calculos de PG solo se toman en cuenta hasta el 5to nivel.
************************************************
PP de D son 50
Predecesor (E) con PP 20
Predecesor (F) con PP 10 (No suma para sus hijos por que tiene PT=150>=100.)
Predecesor (G) con PP 20
Predecesor (H) con PP 80 (No suma para sus hijos por que tiene PT=150>=100.)
Predecesor (I) con PP 40
Sus PG suman: 80 y los PT son 130
******************************************
PP de C son 70
Predecesor (D) con PP 50 (No suma para sus hijos por que tiene PT=130>=100.)
Predecesor (E) con PP 20
Predecesor (F) con PP 10 (No suma para sus hijos por que tiene PT=100>=100.)
Predecesor (G) con PP 20
Predecesor (H) con PP 80 (No suma para sus hijos por que tiene PT=150>=100.)
Sus PG suman 40 y los PT son 40+70(PP)=110(PT)
******************************************
PP de B son 10
Predecesor (C) con PP 70 (No suma para sus hijos por que tiene PT=110>=100.)
Predecesor (D) con PP 50 (No suma para sus hijos por que tiene PT=130>=100.)
Predecesor (E) con PP 20
Predecesor (F) con PP 10 (No suma para sus hijos por que tiene PT=100>=100.)
Predecesor (G) con PP 20
Sus PG suman 40 entonces los PT son 40+10(PP)=50
************************************************** ************************************
PP de A son 70
Predecesor (B) con PP 10
Predecesor (C) con PP 70 (No suma para sus hijos por que tiene PT=110>=100.)
Predecesor (D) con PP 50 (No suma para sus hijos por que tiene PT=130>=100.)
Predecesor (E) con PP 20
Predecesor (F) con PP 10 (No suma para sus hijos por que tiene PT=100>=100.)
Sus PG suman 30 entonces los PT son 30+70(PP)=100PT
************************************************** *************************************
Exactamente asi es.. pero si estas entendiendo espero que con el este mismo ejemplo y modificado pues lo entiendas aun mas, pero te digo, has sido uno de los pocos programadores que lo ha entendido.
En pocas palabras= El PG de un padre va a ser igual a la suma de los PP de sus hijos (de hasta el 5to nivel) que tengan PT<100.
El dilema es calcular que hijos se agregan a la sumatoria ("suman sus pp al pg de su padre") y cuales no, lo de recorrer desde el ultimo hacia arriba es correcto!
El problema de eso es que si por ejemplo en estos momentos y tomando en cuenta la corrida que acabamos de escribir, todo esta en calma, ya se le calculo los PG (por ende los PT) a todos. EJEMPLO:
Pero derrepente al usuario E se le colocan 20 Puntos... Ya su PP cambiaria de 20 a 40, el PG se mantiene igual, y ahora cuando le re-calculamos el PT nos da 40PP+60PG=100.
Eso quiere decir que en ese momento ya el usuario E no entrega sus PP a ninguno de sus 5 ascendentes. (D, C , B , A).
Por lo que a cada uno de esos ascendentes ahi que recalcularle los PG.
=) ! En otras palabras cada ves que se le asignen puntos a un usuario eso puede generar dos reacciones:
1ra-Que esos puntos hagan que el usuario llege a PT>=100 y no le de los PP a sus padres (como el ejemplo que acabo de hacer con el caso de E.)
2da- Que por consecuencia de la 1ra, los PG de un usuario disminuya, haciendo que este usuario llege a PG<100, Y por consiguiente entregandole sus PP a padres donde antes NO.
En nuestro ejemplo casualmente pasan ambas:
Usuario D: Ya no recibe los puntos de E y su PT es 110. (sigue siendo >110. NO PASA NADA. )
Usuario C: Su PG era 40 pero como ahora no recibiria los 20 puntos de D, su PG=20 por lo que al calcular los PT dan 90 quedan PT<100.
Este usuario cae en lo que es la 2da reaccion.
Ya que entregara ahora sus puntos PP a los ancestros que antes no les entregaba.
Usuario B: El se tenia 40 PG pero ahora no tendra los de E, pero si tendra los de C. por lo que recalculando su PG nos daria: 70+20=90.
Usuario A: No recibe los de E pero si recibe los de C (Le pasa lo mismo que le paso a B) por lo que su PG ahora es: 80 y su PT es: 150.
__________________ "Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
Última edición por JoseGMariani; 22/11/2015 a las 09:55 |