我不能写pascal表达式

时间:2014-09-08 17:20:39

标签: pascal

我尝试在PascaL中写这个表达式(sin(x * g))^ 3 - cos(g ^ 2)但我一直都是错的 我的代码在这里:

 z:=exp(ln(sin(x*g))*3)-cos(exp(ln(g)*2));
 Writeln('z=',z);

z,x,g是真实的

1 个答案:

答案 0 :(得分:0)

您的代码有三个潜在问题。

首先,如果sin函数有可能返回负值(或者如果g为负数),则日志函数将失败并显示错误。

其次,Sqr(g),甚至g * g,比exp(ln(g)* 2)更有效,更清晰。

第三,更清楚地理解,可能更有效,并且使用Power函数而不是exp / ln方法在数值上更准确。

所以我会用以下内容替换你的代码:

 Temp := Sin(x*g);
 z := Sign(Temp)*Power(Abs(Temp),3) - cos(Sqr(g));