使不断增加的正数流按比例递增和递减计数

时间:2018-07-13 15:34:57

标签: math theory

我有一个主变量,按顺序生成从0到1000000的数字

我希望子变量捕获的第一个0到200000,该子变量将0计数到100000(与master变量同步,从master的100001到200000,从99999倒数到0倒数

我的语言是ksp(对c友好),并且计数看起来像这样

on init
      declare $master (0,1000000)  {**create master with it's range**)
      declare $child (0,100000)    {**create child with it's range**}
end on 

on ui_control ($master)     {**when the master generates numbers**}
    if (in_range($master,0,100000))
        $child := $master   {**assign master's value to child when in range**}
    end if
    if (in_range($master,100001,200000))
        $child := ???         {**count backwards from 99999 to 0 please**}
    end if
end on

所以我的问题是我要写什么代码来使孩子将100001至200000当作99999到0来反向计数,因为主机会生成100001至200000?我有一个abs运算符可用,我可以使用负数而不会出现任何问题,这是我需要使用的某种方式吗?  我以前不必解决此类问题。

正如您可能意识到的那样,其余的值还会有其他子项,但是如果我能正确理解这一点,则它们都将遵循相同的模式。

1 个答案:

答案 0 :(得分:0)

好的,我要继续在这里回答我自己的问题。如果您是ksp用户,并且遇到过这个问题,那么可以找到一个答案,您可以加载并观看它的工作。

on init
    declare $new_value
    declare ui_slider $master (0,1000000)
    message("")
end on

on ui_control ($master)
   $new_value := abs ($master - 1000000)

    message ($master & "  :::: " & $new_value)
end on