Mitternachtsformel

Mit dieser Formel lässt sich bekanntlich die Lösungen einer quadratischen Gleichung ax^2+bx+c = 0 errechnen.

Wir müssen also einfach diese 3 Koeffizienten einlesen und eine Funktion schreiben, die die drei möglichen Fälle mit einer if-Verzweigung abfrägt.

function mnf($a,$b,$c){
    //Der Ausdruck unter der Wurzel heißt Diskriminante und entscheidet,
    //ob die Gleichung 1,2 oder keine Lösung hat
    $diskriminante = $b*$b - 4*$a*$c;
 
    if ($diskriminante == 0) {		//Eine Lösung
        $ergebnis = -$b/(2*$a);
	return $ergebnis;
    }
    else if ($diskriminante < 0 ){		//Keine Lösung
        return "Keine reelle Lösung";
    }
    else if ($diskriminante > 0) {              //zwei Lösungen
        $x_1 = (-$b + sqrt($diskriminante) ) / (2*$a);
	$x_2 = (-$b - sqrt($diskriminante) ) / (2*$a);
	$ergebnis = array($x_1,$x_2);
	return $ergebnis;
    }
 
}

Die von PHP bereitgestellte Funktion sqrt() berechnet die Wurzel der ihr übergebenen Zahl. Hier gibt's das komplette Beispiel: mitternachtsformel.php