VBS实现数学书上的开根思路
哈数学必修5有一个求根号2的流程图,我觉得不错,写成vbs贴上来了[code]a=1b=0.1
do
if (a+b)^2 > 2 then
msgbox a
b=b/10
else
a=a+b
end if
loop until b<0.000001
msgbox a & "<------>" & sqr(2)[/code]
[[i] 本帖最后由 523066680 于 2008-9-6 10:38 编辑 [/i]] 不错哦...什么时候搞个批处理版? 用批处理做就稍有些吃力咯……我下次上网是在下个星期呢、
收回上面的话 用批处理做应该也不错的,大伙儿试试吧 哈 谢谢batcher的加分
我去翻翻看 书上还有一些不错的算法流程图的
[[i] 本帖最后由 523066680 于 2008-9-6 14:33 编辑 [/i]] 小伙,把你书上的内容告诉我~我一字不差地记下来。 书上还有求圆周率的 方法用祖冲之的那个………有些长 我没看完 转一个我在CN-DOS发的
[color=#008000]'恩,记得用CScript调用……
'这个是连续运算最后输出,比一行一行的输出速度快。
[/color][color=#000080]Dim [/color]b, c, d, e,n, f[color=#ff0000]()
[/color]n [color=#ff0000]= [/color]1000 [color=#008000]'在这里定义位数
[/color]c [color=#ff0000]= [/color]n [color=#ff0000]/ [/color]4 [color=#ff0000]* [/color]14
[color=#000080]ReDim [/color]f[color=#ff0000]([/color]c[color=#ff0000])
[/color][color=#000080]For [/color]b [color=#ff0000]= [/color]0 [color=#000080]To [/color]c
f[color=#ff0000]([/color]b[color=#ff0000]) = [/color]2000
[color=#000080]Next
Do While[/color][color=#ff0000]([/color]c[color=#ff0000])
[/color]b [color=#ff0000]= [/color]c
d [color=#ff0000]= [/color]f[color=#ff0000]([/color]b[color=#ff0000]) * [/color]10000
f[color=#ff0000]([/color]b[color=#ff0000]) = [/color]d [color=#000080]Mod [/color][color=#ff0000]([/color]b [color=#ff0000]* [/color]2 [color=#ff0000]- [/color]1[color=#ff0000])
[/color]d [color=#ff0000]= [/color]d [color=#ff0000]\ ([/color]b [color=#ff0000]* [/color]2 [color=#ff0000]- [/color]1[color=#ff0000])
[/color]b [color=#ff0000]= [/color]b [color=#ff0000]- [/color]1
[color=#000080]Do While[/color][color=#ff0000]([/color]b[color=#ff0000])
[/color]d [color=#ff0000]= [/color]d [color=#ff0000]* [/color]b [color=#ff0000]+ [/color]f[color=#ff0000]([/color]b[color=#ff0000]) * [/color]10000
f[color=#ff0000]([/color]b[color=#ff0000]) = [/color]d [color=#000080]Mod [/color][color=#ff0000]([/color]b [color=#ff0000]* [/color]2 [color=#ff0000]- [/color]1[color=#ff0000])
[/color]d [color=#ff0000]= [/color]d [color=#ff0000]\ ([/color]b [color=#ff0000]* [/color]2 [color=#ff0000]- [/color]1[color=#ff0000])
[/color]b [color=#ff0000]= [/color]b [color=#ff0000]- [/color]1
[color=#000080]Loop
[/color]c [color=#ff0000]= [/color]c [color=#ff0000]- [/color]14
i [color=#ff0000]= [/color]e [color=#ff0000]+ [/color]d [color=#ff0000]\ [/color]10000
i [color=#ff0000]= [/color][color=#000080]Right[/color][color=#ff0000]([/color]"[color=#008080]0000[/color]" [color=#ff0000]& [/color]i,4[color=#ff0000])
[/color][color=#000080]If [/color]k [color=#ff0000]< [/color]10 [color=#000080]Then
[/color]k [color=#ff0000]= [/color]k [color=#ff0000]+ [/color]1
ShowLine [color=#ff0000]= [/color]ShowLine [color=#ff0000]& [/color]i
[color=#000080]Else
[/color]k [color=#ff0000]= [/color]0
[color=#008000]'WSH.Echo ShowLine
[/color]ShowLine [color=#ff0000]= [/color]ShowLine [color=#ff0000]& [/color][color=#000080]vbCrLf
End If
[/color]e [color=#ff0000]= [/color]d [color=#000080]Mod [/color]10000
[color=#000080]Loop
[/color]WSH.Echo ShowLine 某天看到牛顿迭代法了…… 高中时代的523066680
页:
[1]