Ho bisogno di imparare un linguaggio notazionale, così posso esprimere e possibilmente dimostrare la correttezza di quello che ritengo sia un complicato algoritmo che distribuisce un aggiustamento del credito tra più bollette dell'acqua in ordine decrescente di data di emissione. Ma non posso dire quale dovrebbe essere il linguaggio notazionale.
Ogni fattura ha tre livelli di consumo, da 1 a 30, da 31 a 60 e da oltre 60. Ogni livello è associato a una diversa tariffa di acqua e fogna. Più alto è il livello, più alto è il tasso.
Due bollette dell'acqua hanno un consumo di 100 cc, il che significa che ogni fattura è fatturata in questo modo. Questa è la sua distribuzione tra i livelli 1, 2 e 3 è tier1 = -30, tier2 = -30 e tier3 = -40. Nel caso in cui non sia ovvio, la fatturazione avviene dal livello più basso al più alto, pertanto l'accredito avviene dal livello più alto al più basso.
Se applico un credito di consumo di -170, la prima bolletta consuma -100ccfs. È il credito residuo di -70 cc da applicare al secondo conto che diventa pazzo.
-40 di esso deve essere accreditato a tier3 e il restante -30 a tier2. Nulla è lasciato al livello 1 (seconda bolletta). So che questa è una distribuzione assolutamente corretta, perché ho consultato gli oracoli nel nostro comune. Sanno di cosa stanno parlando.
Con -70 a sinistra (tenuto in una variabile) e il consumo originale della seconda fattura (tenuto in una variabile separata), sottraggo il valore della somma di tier1 e di cuter di tier2 (60ccf) da 100ccf (il consumo quando il conto è stato rilasciato). Voglio dimostrare perché è giusto. Non sono contento di dire "Ehi, mi sono ingannato finché non ho ottenuto una bella risposta".
Qualsiasi idea o aiuto sarebbe apprezzato.