Provvigioni dell'agente
Un’azienda che vende macchine per il caffè ai bar paga i propri agenti a provvigione, con un contratto a scaglioni progressivi calcolati mese per mese: sul venduto di ogni mese, il 3% sulla parte fino a 10.000 euro, il 5% sulla parte tra 10.000 e 20.000, l’8% sulla parte oltre i 20.000. È lo stesso meccanismo dell’IRPEF: ogni aliquota si applica solo alla fetta che cade nella sua fascia, non a tutto il venduto.
Un agente con 25.000 euro di venduto in un mese prende quindi 300 sul primo scaglione, 500 sul secondo e 400 sul terzo; uno con 10.000 esatti prende 300 e basta. L’ufficio amministrazione ti passa il vettore del venduto dei dodici mesi di un agente e vuole le provvigioni dell’anno, con due decimali. Si arrotonda una volta sola, il totale dell’anno: le provvigioni dei singoli mesi si sommano senza arrotondarle.
Prima di scrivere codice, scrivi tu la specifica con i casi al confine (10.000 esatti, 20.000 esatti, un mese a zero), poi ragiona su come applicare la regola a un mese, e infine ripetila con un ciclo.
venditevettore di numeri — venduto in euro in ciascuno dei 12 mesi
provvigioni numero — totale annuo in euro, 2 decimali
Soluzione
| caso | vendite | atteso | ottenuto |
|---|
vendite <- c(8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000, 8000)
provvigioni <- 0
for(i in 1:length(vendite)){
v <- vendite[i]
if(v <= 10000){
mese <- v * 0.03
}else if(v <= 20000){
mese <- 10000 * 0.03 + (v - 10000) * 0.05
}else{
mese <- 10000 * 0.03 + 10000 * 0.05 + (v - 20000) * 0.08
}
provvigioni <- provvigioni + mese
}
provvigioni <- round(provvigioni, 2)
provvigioni