我刚刚开始学习Ada并尝试编写一些代码。不过缺点是,它的语法和函数与C++有很大区别,因此我必须强行将各种东西塞进去才能让这个程序正常运行。
我的问题是,是否有更好的方法来执行我在这里所做的计算?
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;
我遇到了一些关于负数的问题,所以我使用了IF语句并使用ABS()将其变成正数。但奇怪的是,这对于另一种情况完美地起作用,这很奇怪...