您的位置:程序门 -> vb -> 基础类



急:循环语句


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


急:循环语句
发表于:2007-08-21 09:54:14 楼主
在for   next语句中,step有正有负的情况下,该如何处理,谢谢
发表于:2007-08-21 10:04:011楼 得分:0
vb   会根据   step   的正负对循环变量进行加或减,不用额外处理,例:
for   i=   1   to   10   step   1
for   i=   10   to   1   step   -1
发表于:2007-08-21 10:30:412楼 得分:0
首先感谢上面的仁兄,我的问题是:
for   t   =   5000   to   6000  
    s   =   t   +   9
    form1.pset   (t,   s)
next   t

for   t   =   6000   to   5000   step   -1
s   =   t   +   9
    form1.pset   (t,   s)
next   t
对于第一段程序可以省略step;而对于第二段程序,如果省略step,程序就不运行。也就是说,我的循环数据里面,step有可能是正,也有可能是负,那程序该如何写,或者不用for   next循环?
发表于:2007-08-21 10:54:453楼 得分:0
a   =   min(5000,   6000)
b   =   max(5000,   6000)
for   t   =   a   to   b
    ...
next
发表于:2007-08-21 11:01:424楼 得分:0
鉴定.楼上说的没错
发表于:2007-08-21 11:22:215楼 得分:0
非常谢谢tiger_zhao(vb老鸟),我在做等值线光滑处理,我用三次样条函数插值,至少要4个已知点,我们都知道等值线大多是闭合的,这4个点的x值并不一定是单调递增或递减的,这种情况下如果用fox   next语句该如何处理。
发表于:2007-08-21 11:50:286楼 得分:0
图形处理不熟,没有理解。
已知无序的   {x1,   x2,   x3,   x4},请问需要达到什么目的?
发表于:2007-08-21 11:56:477楼 得分:0
不明白楼主的问题所在,只要把坐标位置放在数组里,每次就只要遍历数组就可以画出所有的点了,而不用坐标的排列先后,只要它们都在数组里就一定可以画出来。

另外,楼主似乎没有把form的scalemode设为pixel,这样会增加很多不可见点的绘制,程序速度会降低很多。
发表于:2007-08-21 15:33:018楼 得分:0
for   t   =   a   to   b   step   sgn(b   -   a)

next
发表于:2007-08-21 16:21:499楼 得分:0
zzyong00(阿勇)  
没有考虑   a=b   的情况!
发表于:2007-08-21 17:14:1210楼 得分:0
如果a=b怎么做插值阿
发表于:2007-08-21 17:23:4811楼 得分:0
a   =   3
    b   =   4
    for   x   =   a   to   b   step   sgn(sgn(b   -   a)   *   2   +   1)
        debug.print   x
    next
发表于:2007-08-21 17:24:2312楼 得分:0
a=b的时候   sgn(sgn(b   -   a)   *   2   +   1)=1
发表于:2007-08-21 19:25:3613楼 得分:0
楼主还是把整个需求和出问题的代码段贴上来吧,不要弄得象挤牙膏那样一点一点的

看得都费力阿
发表于:2007-08-21 21:19:0514楼 得分:0
ayalicer(小刀惋心)考虑全面
发表于:2007-08-22 11:47:4815楼 得分:0
a   =   3
    b   =   4
    for   x   =   a   to   b   step   sgn(sgn(b   -   a)   *   2   +   1)
        debug.print   x
    next


好思路!
发表于:2007-08-22 14:29:5116楼 得分:0
长见识了


快速检索

最新资讯
热门点击