批处理之家's Archiver

523066680 发表于 2008-9-6 10:37

VBS实现数学书上的开根思路

哈数学必修5有一个求根号2的流程图,我觉得不错,写成vbs贴上来了[code]a=1
b=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]]

qq641255849 发表于 2008-9-6 13:10

不错哦...什么时候搞个批处理版?

523066680 发表于 2008-9-6 14:24

用批处理做就稍有些吃力咯……我下次上网是在下个星期呢、

收回上面的话 用批处理做应该也不错的,大伙儿试试吧 哈 谢谢batcher的加分
我去翻翻看 书上还有一些不错的算法流程图的

[[i] 本帖最后由 523066680 于 2008-9-6 14:33 编辑 [/i]]

pusofalse 发表于 2008-9-6 15:04

小伙,把你书上的内容告诉我~我一字不差地记下来。

523066680 发表于 2008-9-9 16:54

书上还有求圆周率的  方法用祖冲之的那个………有些长 我没看完

slore 发表于 2008-9-12 23:17

转一个我在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 发表于 2009-7-26 13:46

某天看到牛顿迭代法了……

happy886rr 发表于 2018-11-12 21:08

高中时代的523066680

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.