欢迎您点击文章上方蓝字,关注本公众号
一、简要说明
geogebra相比几何画板一个独特的地方:可以利用指令来和电脑交互,这样相当于人工智能,所以非常先进。
但是有些高手大神喜欢把指令嵌套很多层,虽然非常简洁的完成了一些工作,但是可读性比较差。
笔者建议嵌套指令不要超过三层,其它分步完成,可能更好,可读性更强,因为数学已经很难了,如果在难的数学上再加上难懂的ggb,那引起兴趣或推广的可能性就更低。我们学习ggb的目的之一本来就是辅助理解数学或物理,对吧。当然,能把ggb当成一个独立的学问进行研究也是可以的想法。
二、映射指令的基础知识
映射指令在唐老师的指令汇编中,做了如下一些简单的介绍。(当然能写成这样的指令汇编也非常不容易!)
Zip. 映射 (本案例的源文件在文尾可下载)
Zip( ( ,,,,,...) ) ;
映射( (< < 表达式 >,< 变量 1>,< 列 表1>,< 变量 2>,< 列表 2>,...) ) 。
生成一个新列表,其元素是:将指定列表中相应位置的元素依次作为变量代入表达式而取得的
结果。新列表的长度是输入的列表中最短的长度。
事实上,映射指令完全可以只使用单一集合作为参数。这使它在需要对一个集合中的元素进行逐个调用的时
候,相比序列指令更为简短便捷从而替代使用。
例如:“映射[a^2,a,数集]”就比“序列[元素[数集,a]^2,a,1,长度[数集]]”简捷得多。
这个案例什么意思呢?
即已有序列 产生的数集:序列(k + 1, k, 0, 10)
如果应用映射指令:映射(a², a, l1)
得到的结果为:
但如果利用序列:序列(元素(l1, a)², a, 1, 长度(l1))
得到的结果为:
两个指令的效果是一样的。
但是映射指令要简短一些!
提示:映射指令类似于其它编程语言中被称为“map”的概念。
又如:映射[n+m, n, {1, 2, 3}, m, {1, 2}],
结果是{2,4};
大家能看明白吗?1+1=2,2+2=4,3就不能参与运算了!
又如:设 P,Q,R,S 是一些点,映射[中点[A,B],A,{P,Q},B,{R,S}]
返回一个取线段 PR和 QS 中点的集合:{PR 的中点坐标,QS 的中点坐标}。
又如:设多项式的集合 list1={x^2,x^3,x^6}