joseluispalma wrote:Hola compañeros,
Muchísimas gracias a todos por la ayuda prestada. Ya prácticamente está.
El problema es que las tarifas deben ser acumulativas. Me explico, si tengo 303 m3 de agua:
- Los primeros 100 litros van a la primera tarifa, de 0,2/m3
- Los 99 siguientes van a la segunda tarifa, de 0,3/m3
- Los 99 siguientes van a la tercera tarifa, de 0,4/m3
- Los 5 últimos litros van a la cuarta tarifa, de 0,5/m3
Tal que así para 303 m3 de agua:
De 0 a 100 m3->: 0,2 x 100 m3 =20 euros
De 101 a 200->: 0,3 x 99 m3 =29,7 euros
De 201 a 300->: 0,4 x 99 m3 = 39,6 euros
De 301 a 303->: 0,5 x 5 m3 = 2,5 euros
Total: 91,8 euros
Esto de tener que aplicar varios tramos a la vez es lo que me estoy volviendo loco.
Disculparme el no haberme explicado bien.
Muchísimas gracias de verdad. Un saludo,
No entiendo porque tanta vuelta y enredo si con lo que dice el colega esta mas claro, el detalles es que no se toma todo el monto leido para buscar a que tarifa pertecene, sino que se va dividiendo y cobrando cada parte en el rango de las tarifas, en su ejemplo esta claro, como son 303, entonces revisa cual es el rango de la primera tarifa, como es de 0-100 y el monto leido es superior, entonces los primero 100 de la lectura de los 303 se cobran al precio de la tarifa 1, ahora quedan 203, pero en la 2da.tarifa no son 100 el rango, sino 99, como el monto faltante por cobrar supera los 99 porque son 203, entonces se toman solo 99 de los 203 para cobrarse a monto de la 2da.tarifa, ahora faltan por cobrar 104, pasamos a la 3ra.tarifa el cual el rango tanbien es de 99, asi que tomamos de nuevo 99 de los 104 que supera el rango y los cobramos al monto de la tarifa 3, ahora, solo nos faltan 5 por cobrar del consumo leido, nos vamos a la tarifa 4 y es donde entra su duda, porque el rango de la tarifa 4 es solo de 2, a menos que sea de 301 hasta nRangoFin, si tomasemos el rango, entonces solo seria de los 5 faltantes 2 del consumo, quedando aun pendiente por cobrar 3, para completar los 303, pero como al parecer no existe mas rango de tarifas, toma los 5 restantes y los cobra al precio de la ultima tarifa, dando asi la tabla de cobranza que el creo. En resumen, si ya las tarifas estan dadas y los rangos, con hacer unos IF anidados o CASE, creo que el problema estaria resuelto, nose, alguien que de alguna opinion al respecto, creo que es un sistema muy sincello y sin complicaciones, solo que el colega no lo aclaro desde el principio, es mi humilde opinion y analisis del sistema, saludos...