前言:在GeoGebra中,具有简单规律性的操作,可以考虑用指令:序列,英文为Sequence。
比如,需要数据:1,2,3,4,……,10
只需在指令栏输入序列(10)

序列(10)
几何对象也是可以的,比如,需要一系列同心圆,输入:序列(圆周((0, 0), r), r, 1, 5),即可得到以(0,0)为圆心,半径分别为1,2,3,4,5的圆。【注:圆周即circle】

序列(圆周((0, 0), r), r, 1, 5)
序列(Sequence)的语法较多,都有哪些呢——
1. 序列( <终止值> )
2. 序列( <起始值>, <终止值> )
3. 序列( <起始值>, <终止值>, <增量> )
4. 序列( <表达式>, <变量>, <起始值>, <终止值> )
5. 序列( <表达式>, <变量>, <起始值>, <终止值>, <增量> )
语法释疑
第一条,序列( <终止值> ),开头已举例序列(10),即第二条的起始值没有输入,默认为1。
第四条,序列( <表达式>, <变量>, <起始值>, <终止值> ),刚刚举例序列(圆周((0, 0), r), r, 1, 5),实际上就是第五条的增量没有输入,也默认为1。
所以,语法虽多,实际上,可以理解为两条。即重点在于理解第三条和第五条,没有书写起始值、增量,都是默认为1。前面三条,可以用在具有简单规律性的一串数据上。后面两条,关键在于表达式的书写。
下面开始简单举例说明序列的应用。
例子一
在GeoGebra中,直角坐标系并不是那么合我们心意,那么,有没有想过自己动手做一个?
这其中,用序列指令就可以减少大量的工作了!比如说,刻度线的本质就是一系列线段——垂直于x轴或垂直于y轴的线段,也就是构成线段的点的横坐标或纵坐标相同。于是,用序列就可以轻松搞定:
l1 = 序列(线段((k, 0), (k, 0.3)), k, -5, 5)
l2 = 序列(线段((0, k), (0.3, k)), k, -5, 5)

例子二
序列(k "^2=" k², k, 1, 20),你可以猜测到这一条指令表达的是什么吗?
先揭晓答案:

序列(k "^2=" k², k, 1, 20)
再来看看如何理解:
这里的表达式k "^2=" k²,是k + "^2=" + k²的简写,也就是动态文本与静态文本的结合运用。双引号" "里面的是静态文本,是固定不变的,用加号+来连接动态文本(加上加号+,是为了方便理解与区分)。
也就是序列(k + "^2=" + k², k, 1, 20)中的k是可以变化的,其值是从1以增量1的方式增加到20,即k分别取值:1,2,3,……,20。于是就有了上图。
我们发现,用序列指令得到的,其实是一个列表。

那么,又如何让序列(k + "^2=" + k², k, 1, 20)得到的这20条式子在绘图区中显示呢?
序列与表格文本(tabletext)
表格文本( <列表1>, <列表2>, ..., <对齐方式 "v" #垂直|"h" #水平|"l" #左对齐|"r" #右对齐|"c" #居中|...> )

表格文本(l1, "v")
由上图可以发现,式子太多,不好显示,那么可以分列。
最简单的方式,将序列(k + "^2=" + k², k, 1, 20)写成两条:l1=序列(k + "^2=" + k², k, 1, 10),l2=序列(k + "^2=" + k², k, 11, 20);再输入:表格文本(l1, "v"),表格文本(l2, "v")。
不过,啊K想要的是分列,并且逐条显示,于是,还可以这样做:
a=滑动条(1,20)
l1=序列(k + "^2=" + k², k, 1, a)
表格文本(提取(l1, 1, 如果(a > 10, 10, a)), 提取(l1, 11, a), "v")
注意:滑动条(slider)上场啦,只需将k的终止值用滑动条来表示,就可以动态显示了。

表格文本(提取(l1, 1, 如果(a > 10, 10, a)), 提取(l1, 11, a), "v")
提取( <列表>, <起始位置>, <终止位置> )
这里提一句:提取(take)指令特好用,可以选取列表当中的某些元素,也就是得到由这些元素组成的列表。
回顾与小结
有规律性的操作,可以运用序列指令,重点语法如下。
序列( <起始值>, <终止值>, <增量> )
序列( <表达式>, <变量>, <起始值>, <终止值>, <增量> )
如果想逐一显示由序列得到的对象,可以用滑动条来表示终止值。
序列还可以配合表格文本使用,使得由序列得到的对象可在绘图区中显示。