Nello stato S, la cui moneta è il Din (D), sono in discussione due modi di pagare le imposte. La forma progressiva, illustrata nel grafico a sinistra:  fino a 2000 D di reddito annuo non si pagano imposte,  da 2000 a 4000 D si paga il 10% della parte di esso che supera i 2000 D,  da 4000 a 5500 D si paga quanto chi ha un reddito di 4000 D pił il 20% della parte che supera i 4000 D,  oltre i 5500 D si paga quanto chi ha un reddito di 5500 D pił il 35% della parte che supera i 5500 D.   A destra è illustrato il sistema di tassa piatta:  fino a 2000 D di reddito annuo non si pagano imposta,  oltre i 2000 D si paga il 15% della parte di esso che supera i 2000 D.   Quante imposte pagherebbero, con i due sistemi, coloro che hanno un reddito annuo di 1500 D, 3000 D, 5000 D, 7000 D, 15000 D?





 

Ecco il codice:

<script language="javascript">
function Calcola() { r = document.Impo.r.value; if(r < 2000) document.Impo.t1.value = 0;
 if(r >= 2000 && r < 4000) document.Impo.t1.value = (r-2000)*10/100;
 if(r >= 4000 && r < 5500) document.Impo.t1.value = 200+(r-4000)*20/100;
 if(r >= 5500) document.Impo.t1.value = 500+(r-5500)*35/100;
 if(r < 2000) document.Impo.t2.value = 0; if(r >= 2000) document.Impo.t2.value = (r-2000)*15/100 }
</script>
<center><b>
Metti il <i>Reddito</i>. Clicca e ottieni l'<i>Imposta</i><br><br>
<form name="Impo">
Reddito =        <input type="text" name="r" value="" size=20> <br/><br/>
Imposta Prog. = <input type="text" name="t1" value="" size=20><br/><br/>
Imposta  Flat  = <input type="text" name="t2" value="" size=20><br/><br/>
<input type="button" value="clicca" onClick="Calcola()">
</form>
</b></center>


Come ottenere i grafici in JavaScript: clicca qui e qui  (vedi qui).


Per l'insegnante, grafici (e calcoli) con R (vedi qui):

source("http://macosa.dima.unige.it/r.R")            # se non l'hai ancora caricato
f1=function(x) 0*x; f2=function(x) f1(2000)+10/100*(x-2000)
f3=function(x) f2(4000)+20/100*(x-4000); f4=function(x) f3(5500)+35/100*(x-5500)
f=function(x) ifelse(x<=2000,f1(x),ifelse(x<=4000,f2(x),ifelse(x<=5500,f3(x),f4(x))))
g1=function(x) 0*x; g2=function(x) g1(2000)+15/100*(x-2000)
g=function(x) ifelse(x<=2000,g1(x),g2(x))
f(7000); g(7000)
# 1025     750
# Grafici:
BF=3.5; HF=2.8; Plane(0,7000,0,1100)
graph2(f,0,7000, "brown")
x=c(0,2000,4000,5500); POINT(x,f(x),"seagreen")
text(2500,150,"10%",font=2,cex=0.9); text(4500,450,"20%",font=2,cex=0.9); text(5500,750,"35%",font=2,cex=0.9)
abovex("fasce di reddito annuo (D)"); abovey("imposte annue (D)")
BF=3.5; HF=2.8; Plane(0,7000,0,1100)
graph2(g,0,7000, "brown")
x=c(0,2000); POINT(x,g(x),"seagreen")
text(3500,350,"15%",font=2,cex=0.9)
abovex("fasce di reddito annuo (D)"); abovey("imposte annue (D)")

I grafici con Desmos: