Risolvere equazioni di secondo grado in JavaScript

Risolvere un'equazione di secondo grado è un'abilità matematica cruciale che trova applicazione in diversi campi, dalla fisica all'ingegneria e alla programmazione. In questa guida, esploreremo come risolvere un'equazione di secondo grado utilizzando il linguaggio di programmazione JavaScript. Impareremo i passaggi fondamentali per trovare le soluzioni di un'equazione quadratica e vedremo esempi pratici per comprendere il processo.

Introduzione alle equazioni di secondo grado

Un'equazione di secondo grado è un'equazione algebrica della forma:ax2 + bx + c=0

Dove a, b, e c sono coefficienti, con a diverso da zero. Invece, x è l'incognita che vogliamo risolvere. L'obiettivo è trovare i valori di x che soddisfano l'equazione.

Per risolvere un'equazione di secondo grado si utilizza la formula quadratica 

La formula quadratica

La formula quadratica è un approccio comune per risolvere un'equazione di secondo grado. La formula è la seguente:

\(x=\frac{-b \pm \sqrt{b^2-4ac}}{2a}\)

dove a, b, e c sono i coefficienti dell'equazione.Invece ± indica due possibili soluzioni, una con il segno positivo e l'altra con il segno negativo. Infine \(\sqrt{b^2-4ac}\) è la radice quadrata del discriminante.

Il discriminante (b2-4ac) determina il tipo di soluzioni:

  • Se il discriminante è positivo, ci sono due soluzioni reali distinte.
  • Se il discriminante è uguale a zero, c'è una sola soluzione reale (soluzione doppia).
  • Se il discriminante è negativo, non ci sono soluzioni reali (soluzioni complesse).

Calcolo del discriminante in JavaScript

Come abbiamo visto, per risolvere un'equazione di secondo grado è necessario calcolare il discriminante e quindi trovare le soluzioni in base al suo valore. Il discriminante (b2 −4ac) è fondamentale per determinare il tipo di soluzioni, come descritto sopra.

Ecco come puoi implementare questo approccio in JavaScript:

function eqSecondoGrado(a, b, c) {
	const discriminante = b * b - 4 * a * c;
	let soluzioni = [];

	if (discriminante > 0) {
		const x1 = (-b + Math.sqrt(discriminante)) / (2 * a);
		const x2 = (-b - Math.sqrt(discriminante)) / (2 * a);
		soluzioni.push(x1, x2);
	} else if (discriminante === 0) {
		const x = -b / (2 * a);
		soluzioni.push(x);
	}

	return soluzioni;
}

const a = 1;
const b = -3;
const c = 2;

const soluzioni = eqSecondoGrado(a, b, c);
console.log(`Le soluzioni dell'equazione sono: ${soluzioni}`);

In questo esempio, calcoliamo il discriminante e quindi determiniamo le soluzioni in base al suo valore. Le soluzioni vengono inserite nell'array soluzioni e restituite come risultato.