夏枫 发表于 2005-1-11 10:42:00

问你

我用VBA编了一个 程序,用作 螺旋桨 画图,但在定义一个用于计算切线的函数时,发生了“除数为零”的现象,在函数内的除数全是“行参”,不存在“定义时赋值为零”的情况,我想问一下大家:是不是在引用时发生的“除数为零”,或还有 其它的什么原因?请各位给我提提建议。祝大家过年快乐!

王咣生 发表于 2005-1-11 13:09:00

回复

贴上你的代码.


可能是参数没有正确地传递过来吧!

houlinbo 发表于 2005-2-24 22:32:00

如果sin(0) 那么sin(360)

clement 发表于 2005-2-25 08:16:00

houlinbo发表于2005-2-24 22:32:00static/image/common/back.gif如果sin(0) 那么sin(360)


<BR>Sin函数里面的参数是以弧度表示的,而且0是在Sin的定义域里面,并不回出除0的问题。


360如果是弧度的话算算出来可就不是0了

houlinbo 发表于 2005-2-25 20:32:00

S = 3.141592654 * (d - t)<BR>TT = S / m<BR>BB = B / (n - 1)<BR>H = 2 * R * Tan(3.141592654 / (180 / (BB / 2)))<BR>aa = 0<BR>For i = 1 To m / 2 + 1<BR>If aa = 0 Then aa = 360<BR>If aa = 90 Then aa = 450<BR>If aa &gt;= 0 And aa &lt;= 90 Or aa = 360 Or aa = 450 Then<BR>ln = (d - 2 * t) * Tan(3.141592654 / (180 / (BB / 2))) * Cos(3.141592654 / (180 / aa)) / 2 + H / 2<BR>End If<BR>If aa &gt; 90 And aa &lt;= 180 Then<BR>ln = d * Tan(3.141592654 / (180 / (BB / 2))) * Cos(3.141592654 / (180 / aa)) / 2 + H / 2<BR>End If<BR>If aa = 360 Then aa = 0<BR>If aa = 450 Then aa = 90<BR>point1(0) = 3 * S + rrr<BR>point1(1) = 0<BR>point1(2) = 0<BR>point2(0) = 3 * S + rrr<BR>point2(1) = ln<BR>point2(2) = 0<BR>Set plineobj = ThisDrawing.ModelSpace.AddLine(point1, point2)<BR>ThisDrawing.Application.ZoomAll<BR>next i


通过以上例子也许你能理解我

clement 发表于 2005-2-26 08:57:00

Pi的更精确值应为4*atn(1)。
页: [1]
查看完整版本: 问你