集算器之四:程序流程

代码块:网格中一片缩进的单元格称为代码块,其起始格为代码块的主格,代码块的主格一般都是语句格。

语句格:格串是以保留字起头的语句代码

  注意:集算器利用直接的代码块格式决定语句的作用范围。

if/else语句

  1、单行的if x...else...:x成立时执行其后语句,否则执行else后的语句。

    else和if必须写在同一行上

  2、多块的if x...else if y...:可一直重复写下去,else if必须写在同一格内。

for/next/break语句

  循环语句for将重复执行以其为主格的代码块,有如下几种格式:

    1、for:死循环,格值依次为当前循环计数

    2、for n:循环n遍,格值依次为当前循环计数

    3、for A:循环序列A的成员,格值依次为当前A的成员。

    4、for x:当x为真时循环,格值为x计算值

  在循环体内:

    #c  当前循环读数,c是循环体的主格,即for所在单元格

    next  跳过当前最内层循环体剩下的代码,直接进入下一轮循环。

    next C  进入下一轮以C为主格的循环体

    break  跳出当前最内层循环体到代码块后面的单元格去执行。

    break C  跳出以C为主格的循环体。

call/func/return/end语句

  func  定义子程序,子程序代码为func为主格的代码块。调用参数抄在func所在单元格。

  return  从子程序返回结果并结束子程序执行。

  call c,arg  以参数arg调用起始于单元格c的子程序,返回值填入本格。

  end  结束整个程序执行。

函数调用及网格组:

  func(c@s,arg):调用名称为s的网格以单元格c起始的子程序,返回子程序的返回值,调用本网格时@s部分可省略。

    注意:如果两个网格同名,则次序靠后的将不能被call访问到。

  在跨网格引用时需要所有被引用的网格文件已经被打开并列在导航区中。集算器不会自动去寻找被引用的网格文件。当经常使用一组相互引用的网格时,就可以使用文件菜单上保存网格组功能在导航区选定多个网格文件保存成网格组,下次使用打开网格组功能直接批量打开。

程序执行和调试

  

案列:

  分解质因数

  

  年终奖重分配

    

  

原文地址:https://www.cnblogs.com/zhanghonggang/p/3296359.html