返回列表 回复 发帖

if语句:语法if ... then ... else(如果...那么...否则....)

1.创建数值变量t=1,并生成滑块
2.if[t<0.5,(1,2),(2,3)]ggb中会生成点。拖动滑块生成的点会轮换的出现。
3.if[t<0.5,t x,-2 x]轮换出现直线y=tx和y=-2x
4.if[t<0.5,"hello","world"],轮换出现hello,world
5.if[t<0.5,"hello",2 x]只会生产 hello,类型不匹配 。
6.if[t<0.5,2 x,"hello"]只会生产y=2x类型不匹配 。
7.if[t<0.5,2 x+y=1]失败
8.if[a<0,(1,2),if[a==0,(-1,2),if[a>0,(4,5)]]] ,嵌套
9.if[a>0,line[(1,0),(2,3)]],a>0时创建直线
10.if[a>0,circle[(0,0),2],circle[(2,3),2] ] 创建不同的圆
11.if[a>0,circle[(0,0),2],line[(2,3),(2,5)] ]失败,类型不匹配 。
我感觉到if运算符要求类型匹配才可以正常使用。其中的一个功能就是可以用来创建(create object)对象(台湾叫物件)。

==================
现在的编程都是面向对象的,ggb也不例外,控制对象的最重要的是就控制其属性,这一点和可以通过右键菜单完成,还有就是创建对象,这一点可以通过工具栏和命令完成。

Reimann和.ggb (4.29 KB)

is运算符

isdefined[]---是定义的吗?
1.输入K=if[a>0,circle[(0,0),2]]
这时在代数数区将看到这个园的名字K
2.输入c=isdefine[k]
3.拉动滑竿,会看到c在两值之间变化true  or  false
isinteger---是整数吗?
输入isinteger[   2.3]
=====
感觉学ggb难度比gsp大的多。记忆量大的多。所以这个软件要想像几何画板那样流行难。除非在大学时代就开始接触。教了5年以**的老师外语都忘记的差不多了,而命令是永远不会汉化的。据说有一种语言叫易语言,它就是用汉语编程,是中国人搞出来的,网上还挺火的,又听说发展还不完备,不知道将来会不会迎来一个汉语为主体的编程时代,如过真的能来到的话,咱国人学软件就没那么累了。那么多命令记忆起来有难度。掌握这个软件并非像网上说的那样轻松。当然如果只要求画个线,画个园,那网上说和几何画板差不多容易学,这到也没错。但是网上都没有把学这个软件的难度真实的告诉大家。
ggb关键要去学习命令。如果故用命令的话迭代就完成不了。数列也生成不了。
感觉控制动画不如几何画板方便,也许是习惯问题吧。但是控制色彩比几何画板方便的多。
19# chengshu1258
我把帮助文档看完了,也动手把文档中的例子做了一下,就软件本身来讲的确比几何画板强,而且包含几何画板的功能。但是有的地方还是不如几何画板,如按钮。界面风格类似于网页风格。自建坐标系没问题。几何画板的方法可以搬过来的。控制动画没几何画板方便。
函数命令
1.在command box中,直接输入f(x)=x^2+2,按下enter则创建函数对象。
2.在command box中输入function[x^2,2,4],按下enter则创建区间[2,4]上的函数对象。
创建区间上的函数比gsp方便。自变量系统约定为x,这点和gsp相同。
3.command box不接受latex语言。要是接受就更方便了。
4.ggb的文本框:
  在文本框中用latex输入a间隔b,回车会发现ab并没分开。因为输入语法错误,正确的做法是:
\mbox{a                b},这时a和b才会间隔开。
mbox就是model box---模式盒子。
另:在文本框中按如下方法输入:
-{3\atop 2}
3与2就会重叠显示。也就是说,出现的是无分数线的分数。
真恼火:
命令--lineareccentricity,直译为线性离心率,台湾版的help说成是离心率,可以理解。中国ggb总部也跟着叫离心率,恼火。这明明就是半焦距c。离心率e=c/a.还不如直译,就叫线性离心率。
只能说恼火。
做一个椭圆c=1,a=2,用命令就是的结果是1.
再坐一椭圆c=3,a=4,用命令求出的结果是3.难道我们大陆也把这东西叫离心率吗?
1.randombinomial[number n of trails,probability p]---翻译为:
“随机二项分布[n的踪迹,概率p]”,我的理解是如下含义,
首先,该值随n,p的变化而变化。
其次,产生的是0,1,2,...,n这n+1个integer。结果是随机整数。从这句话:number n of trails可以看得出来。
2.polygon[]
用工具栏的多边形工具不可以直接画直角三角形,要画直角三角形可以用该命令完成,如下:
polygon[(1,1),(1,4),(3,1)],按下enter,ok。当然用垂线工具结合多边形工具也可以完成rt三角形的作图,但是麻烦,没有使用命令简单。
别把对象名称和标签名搞混了
举个例子:命令corner[]的使用:
1.假设在ggb中有一个文本框。我们首先要找个这个文本框对象(object)的名(name),方法如下,选中文本框,右键,弹出菜单的第一行就是该对象的名,一般为text1,text2,。。。
2.在命令框中输入corner[text1,2],回车,则会在文本框的右下角产生一个点,并同时在代数区上显示出该点的坐标。
也就是说,我们是通过对象的名而不是标签名去调用对象的属性的,对象和其名是一一对应的关系。

极值

1.极值问题:
ggb只可以直接计算多项式函数的极值,当我们要求三角函数的极值时,就要用到taylor展式(一般采用零点展式),我们可以先把三角函数展为taylor多项式,然后用命令extremum求其极值点。
2.if and intersect
  这两个命令配合,可以让交点依次出现

Taylor展式求三角函数的极值点.ggb (3.57 KB)

if与intersect.ggb (4.08 KB)

看来ggb还不够完善:

ggb中的命令directrix,求准线的命令,ggb的注解为directrix[<conic>],这个意思就是输入圆锥曲面的名称,就可以获得其准线,然事实并非如此,事实上只有输入抛物线的名称才对。也就是说ggb对这个命令的注解应该是directrix[<parabola>],这才是正确的。
  也许ggb在4.0测试版中会改正。
1.关于命令polar和tangent
  由于从配极论的观点看圆锥曲线,圆锥曲线就是自共轭点的集合。也就说如果我们在圆锥曲线上点一个点A,求点A的极线和求点A的切线是一回事。因此对圆锥曲线而言命令tangent是多余的。
polar[A,c],
tangent[A,c]效果相同。
2.命令function和命令curve
  这两个命令都可以做出部分正弦线。如下:
a)function[sin(x),-4,4],这里的自变量x是系统约定,不可以改动。
b)curve[k,sin(k),k,-4,4],不需用预先定义parameter k,且parameter k可以改为其它字母。这里系统接受的是参数方程。
3.软件风格
  ggb的风格和gsp的风格完全不同。可以这么说ggb是明显的参考了顶级数学软件maple或mathematica的风格。到今天我可以肯定的说ggb的风格和那两个顶级数学软件的风格完全一样。不过那两个顶级数学软件里面还可以用和basic语言差不多的语句进行编程。ggb没有。作者在设计者个软件时应该是参考了maple和mathematica的。ggb的数据类型羞羞答答。代数功能比几何画板强,几何功能不如几何画板。或者说几何功能上没有明显的超过几何画板。控制动画,ggb是右键菜单完成,用惯了几何画板,我还是喜欢几何画板的按钮控制动画。还有几何画板的ctrl+h,则可以影藏对象,ggb中没这个快捷方式。当然可以点击algebra view完成。但我还是喜欢几何画板的ctrl+H.这个软件有很强的功能,整体功能比几何画板强,这是必须要认可的。代数,几何,微分,统计这个软件都可以解决。解决的范围较广。
4.在命令体系中参数曲线(curve)等同于函数(function)处理。而把方程作为另一个类别处理。
如poin命令,curvature,curvaturevector,length命令etc.我学习时我就注意区分类型,在学习中逐步建立类型匹配的概念。

曲率验证.ggb (4.13 KB)

命令name与object

name---获取对象的名
object---获取对象。
1.假设ggb中有一个点叫A,运行命令T=NAME[A],则在ggb中的变量T被赋值为一个字符串"A",并在ggb中以文本框显示这个字符串。
2.object[name of object as text]---as text 即作为文本之意。以就是说如果以字符串形式输入对象的名,则可以获取这个对象的值。
如:代数区(algebra view)有一个列表为:list1={1,2,3},
这是输入命令:
object["list1"],ENTER则可以得到一个新的列表为list2={1,2,3}.
因此object是用来创建对象的,更准确的讲是复制对象。
总之name是获取对象名,并以字符中形式显示,object是copy对象,特别注意objec对文本框作用时,我们在ggb中看不到变化,这时你进入属性对话框就可以看到复制的新对象了。它与就的对象完整的重合在一起了,你只要采用隐藏与显示的方法就可以验证是否真的创建了这个对象。
3.ggb中,对象的名,对象的属性,对象的行为是学习的核心内容。
几何画板的学习要简单的多。
4.如何让你的电脑死机
在ggb的命令框中输入sequence[2 i,i,0,无穷大],这个软件不报错,直接让你的电脑死机。
5.表格
  tabletext[{1,2,3},{1,3}]
tabletext[{1,2,3},{1,3},"h"]---h(horizontal 水平的,系统默认同上)
tabletext[{1,2,3},{1,3},"v"]---v(vertical 垂直)
命令:iteration,iterationlist,sequence
1.iteration只产生最后的结果,即只出现终点像。
iteration[x+1,1,3]只出现4,变数只能用x。
2.iterationlist将产生系列值(像),结果为列表对象,只能用字母x,如:
iterationlist[x+1,1,3]将出现一个列表对象{1,2,3,4},含初值。
3.sequence(数列)也是迭代,如:
sequence[n+1,n,1,3]结果为列表对象:{2,3,4}
数列命令的参数可以改为任意的字母。
数列属于特殊的列表对象。list对象的元素可以是非数字的东西。list对象包含了如下一些常见对象:
数列,集合。只要把一些东西放在一起就可以构成列表对象。list对象里面的元素是可以重复的,且类型也不要求一致。list对象可以像数一样的进行相关运算。还可以把新的对象加入到list中。
帮助文档中把list翻译为数列是不恰当的。两个数列可以做除法吗?但列表可以。
4.if和delete
if[list1==true,delete(list1)]
返回列表