# equazione di secondo grado e grafico della parabola

solve.eq2 <- function(a, b, c) {
   # att: non ci sono controlli su a, b e c !!
   #
   discr <- b^2-4*a*c                         # discriminante
   if (discr < 0) discr <- as.complex(discr)  # se negativo -> complesso
   ( -b + c(-1,1)*sqrt(discr) ) / (2*a)       # soluzioni
}


salva.su.file = !TRUE  # per stampare su file togliere '!' 
 
if (salva.su.file) png("equazione_secondo_grado.png")

a=2; b=-1; c=-3
sol <- solve.eq2(a, b, c)
print(sol)

# plot della funzione, con le soluzioni, se reali

titolo <- sprintf("a=%.1f, b=%.1f, b=%.1f", a, b, c)


plot(function(x) a*x^2 + b*x + c, -2, 2, ylab='y', col='blue', main=titolo)
grid()
abline(h=0)
if (!is.complex(sol[1])) {
  abline(v=sol[1], lty=2, col='magenta')
  abline(v=sol[2], lty=2, col='magenta')
}

if (salva.su.file) dev.off()
#-------------------------------------------------------------------------
