Comment Faire Une Fonction Du Second Degré En Javascript

Alors, figurez-vous que l'autre jour, j'étais en train de jouer à un jeu vidéo un peu nul (oui, ça arrive, même aux meilleurs !). Le jeu en question impliquait de lancer des projectiles avec une certaine trajectoire. Et devinez quoi ? La trajectoire était, en gros, une parabole. Et une parabole, c'est... roulement de tambour... une fonction du second degré ! Je me suis dit : "Tiens, ça serait cool de pouvoir automatiser ça avec du JavaScript."
C'est comme ça que j'ai plongé tête la première dans le monde merveilleux (et parfois un peu effrayant) de l'implémentation des fonctions du second degré en JS. Et je me suis dit que j'allais partager ça avec vous, parce que, soyons honnêtes, qui n'a jamais rêvé de résoudre des équations du second degré en JavaScript ? (Okay, peut-être pas tout le monde, mais restez avec moi, promis, ça peut être utile !)
La base : Qu'est-ce qu'une fonction du second degré ?
Pour ceux qui auraient oublié leurs cours de maths (ça arrive à tout le monde, hein ?!), une fonction du second degré, c'est une fonction qui peut s'écrire sous la forme : f(x) = ax² + bx + c, où a, b, et c sont des constantes, et a est différent de 0. La représentation graphique de cette fonction, c'est une parabole. Vous savez, la forme en U plus ou moins large, plus ou moins retournée.
Must Read
Et pourquoi c'est utile ? Eh bien, les paraboles, on les retrouve partout ! Dans les trajectoires des balles, l'architecture des ponts, même dans l'optimisation de certains algorithmes. Donc, savoir manipuler ces fonctions, c'est un peu comme avoir un super pouvoir de prédiction !
Coder une fonction du second degré en JavaScript
Maintenant, passons à la partie fun : le code ! On va créer une fonction JavaScript qui prendra en entrée les coefficients a, b, et c, et la valeur de x, et qui retournera le résultat de f(x).

Voilà le code :
function fonctionSecondDegre(a, b, c, x) {
return a * x * x + b * x + c;
}
Simple, non ? Vraiment simple. On prend les coefficients, on applique la formule, et hop, on retourne le résultat.
Pour l'utiliser, c'est tout aussi simple :
![Tutoriel Javascript - #5 - Les fonctions [FR] - YouTube](https://i.ytimg.com/vi/3TNeldIjdmk/maxresdefault.jpg)
let a = 2;
let b = -3;
let c = 1;
let x = 4;
let resultat = fonctionSecondDegre(a, b, c, x);
console.log("f(" + x + ") = " + resultat); // Affiche : f(4) = 21
Et voilà ! Vous avez votre fonction du second degré opérationnelle. Vous pouvez maintenant calculer la valeur de votre fonction pour n'importe quelle valeur de x. (N'oubliez pas de changer les valeurs de a, b et c pour tester différents scénarios !)
Aller plus loin : Résoudre l'équation du second degré
Calculer f(x), c'est bien, mais résoudre l'équation f(x) = 0, c'est encore mieux ! Pour ça, il faut trouver les racines de la fonction, c'est-à-dire les valeurs de x pour lesquelles f(x) = 0. On utilise pour ça le fameux discriminant, Δ = b² - 4ac.
Si Δ > 0, il y a deux racines réelles.

Si Δ = 0, il y a une racine réelle (dite double).
Si Δ < 0, il n'y a pas de racine réelle (mais il y a des racines complexes, mais on va éviter de partir là-dedans pour l'instant, d'accord ?).
Voilà le code pour calculer les racines :

function resoudreSecondDegre(a, b, c) {
let delta = b * b - 4 * a * c;
if (delta > 0) {
let x1 = (-b - Math.sqrt(delta)) / (2 * a);
let x2 = (-b + Math.sqrt(delta)) / (2 * a);
return [x1, x2];
} else if (delta === 0) {
let x = -b / (2 * a);
return [x];
} else {
return "Pas de racines réelles";
}
}
let a = 1;
let b = -5;
let c = 6;
let racines = resoudreSecondDegre(a, b, c);
console.log(racines); // Affiche : [ 2, 3 ]
Et voilà ! Vous avez maintenant une fonction qui résout les équations du second degré. (Attention, il y a peut-être quelques arrondis dus à la précision de JavaScript, mais en général, ça marche plutôt bien.)
Conclusion
Alors, convaincus ? Les fonctions du second degré en JavaScript, c'est pas si sorcier finalement ! Et c'est même plutôt fun une fois qu'on a compris le principe. J'espère que cet article vous aura aidé à y voir plus clair. Et maintenant, à vous de jouer ! N'hésitez pas à expérimenter, à modifier le code, à l'adapter à vos propres besoins. Et surtout, amusez-vous bien ! (C'est le plus important, non ?)
Et qui sait, peut-être que vous créerez le prochain jeu vidéo à succès grâce à vos connaissances en fonctions du second degré. On ne sait jamais !
