Ich kam gerade und beschloss, etwas Ada zu versuchen. Der Nachteil ist, dass die Syntax und Funktion von C++ entfernt ist. Also musste ich verschiedene Sachen stopfen, um dieses Ding zur Arbeit zu bringen.Quadratische Gleichung in Ada
Meine Frage ist, ob es eine bessere Art und Weise sind diese Berechnung zu tun, was ich hier
IF(B < 0.0) THEN
B := ABS(B);
X1 := (B/2.0) + Sqrt((B/2.0) ** 2.0 + ABS(C));
X2 := (B/2.0) - Sqrt((B/2.0) ** 2.0 + ABS(C));
ELSE
X1 := -(B/2.0) + Sqrt((B/2.0) ** 2.0 - C);
X2 := -(B/2.0) - Sqrt((B/2.0) ** 2.0 - C);
END IF;
ich ein Problem mit negativen Zahlen hatte getan, deshalb habe ich eine Erklärung ab und ABS verwendet IF hat() um diese positiv zu machen. Aber das Seltsame ist, dass es perfekt für den anderen Fall arbeitet, die seltsam ist ...
+1 in SO – ja72
In Bezug auf die ersten beiden Zeilen ADA zu erwähnen - ich vermeiden würde abs() verwenden wenn Sie bereits wissen, B ist negativ. Benutze B: = - B. Auch wenn der Compiler schlau ist und Inline-Zeug kann. – DarenW