返回列表 回复 发帖
40# xiaongxp
是的。我那个展法到是印证了你的说法:6位后就是浮点数了。

不一样的观点

1.画板迭代深度值始终存在,一种是显示是使用深度,即深度迭代,一种是隐含的使用深度,如果在跌带时不告诉画板深度就是隐含的使用深度,这时画板就自动在后台提供以个深度进行迭代。所以画板中的两种迭代本质一样。深就是用来终结循环的。
2.跳出循环:
当一个变量参与循环后,迭代完成后要让这个变量跳出循环,只要用以个新值取代这个变量就可以。
如:创建变量t1=5,a=t1/3
t1=1--->t2=t1+1
n---深度,
迭代完后,创建一个变量u=5,这个变量是迭代后创建的,它没有参加先前的迭代,接着把a=t1/3
中的t1用u取代,这就让变量a跳出了循环。
所以取代是跳出循环的方法。注意,这里的变量t1跳出循环,是指从式子:a=t1/3中跳出循环,而这个变量a的循环依旧存在,其它有t1参加的循环保持不变。

第二个例子是分离纯小数各数位上数字的流畅图,其中(10>=n?)是用逻辑工具求的布尔值,运行结果是,但n>5时,输出的结果都是0,当n<=5时,才会正常的输出小数的各个数位:

每完成一次循环后,初值是如何被取代的?
这张图表里面每次循环中a都对应两个值,为:a-->10a,a---10a+1.在构建循环时由于点选的不同,
这就造成了一个值是离初值最近的值,每次循环完了,初值总是被离它最近的值
取代。



--------------------------------------------------
利用我上面提到的每次循环完了,初值都要被离它最近的像的值取代,然后进入下一次循环。我们就可以不做实验,直接分析出下面的迭代结构。
问题1.不做实验猜猜迭代在表格中显示的结果:
====================
m=5(迭代深度)
k=1--->k1+1=2
b=123.4223--->b-trunc(b)=0.4223
trunc(10*(b-trunc(b)))=4
=====================
完成循环后结果为。。。。。
问题2.不做实验猜猜迭代的结果是是什么?
=========================
m=5(迭代深度)
k=1--->k1+1=2
b=123.4223---> 10(b-trunc(b))=4.223
trunc((b-trunc(b)))=4
=======================
完成循环后结果为。。。。。
问题3:
n=5(深度)
k=1---->k+1=2
b=123.4223----->trunc(a)/10=12.3
10*(trunc(a)/10-trunc(trunc(a)/10))=3
迭代结果是什么?
按我讲的道理就可以分析出来。
======================
问题4:希望构建一个迭代,把数x=123.4223的各个数位上的数字分离出来,下面构建的迭代,不做实验,能否判断是否可以达成目标?

n=5(深度)
k=1---->k+1=2
b=123.4223----->trunc(a)/10=12.3
10*(trunc(a)/10-trunc(trunc(a)/10))=3
10(b-trunc(b))=4.223
10*(trunc(a)/10-trunc(trunc(a)/10))=3
如果不能达成目标,不做实验迭代在表格中显示的结果是什么?
44# xiaongxp
我是利用逻辑判断的布尔值创建分支结构的。我跳出循环是采用取代的办法完成的。我在做既约分数就是这样利用布尔值创建的分支结构,利用迭代后在取代变量的方法跳出了循环,在跳出循环时利用布尔值的倒数构建“无穷大”去破坏掉我不需要出现的值。
46# xiaongxp


[深度迭代n=10我理解的意思是:“当n>10时,循环停此”。也就是说n<=10迭代是停不下来的。
1.我说的跳出循环的意思是:我在构建一个迭代的时候,变量t没办法要参加迭代的构建,但我的本意是
不要t参加迭代的构建。怎么办呢?我就只好先让它参加循环,因为不参加循环我的迭代构建不了。
当我把迭代构建完成之后,我再用一个新的变量(没有参加构建迭代的变量)去取代t的值,这样我就实现了把t跳出循环的目的。
这个实例我就是这么做的:- 小数展为幂级数.zip (4.26 KB) -
2.关于循环分支的构建:所谓分支我的意思是:当满足条件1时,按表达式1计算,当满足条:2时,就按表达式2算。这里的条件1,条件2是互为对立的两面。条件1可以让它对应布尔值1,条件2就对应布尔1的非。在表达式1,或表达式2中把这个布尔值加进去,这样就可以实现分支。其实,我有时是根据需要把布尔值加以运算后在添加到我要改变的表达式中区。布尔值当数一样的运算可以运算出“无穷大”,“未定义”,或其它我需要添加进入表达式的数。需然布尔值的底层就是sgn函数,但是如果直接用sgn函数去构建这要添加的值,很难理解,也不好想。如果采用布尔值,用逻辑的与,或,非,异或去理解想要构建的分支结构,在去计算要添加到表达式里面的数据就要自然且容易的多。而且工作的重点发生了质变,把过去的纯的数字运算,质变成了分析逻辑结构。观点不同了。但是会达成同样的结果。
3.利用布尔值构建的添加数不一定是无穷大,可以够见自己觉得想要添加的数,分形只会做点M集,我没发言权。
我的想法不一定对,但是我的确就是这么操作的,而且的确成功了的。等会我放两个简单的例子,我把我的想法和你交流一下。
我的迭代观下面的文件其实是一篇文章,是我对迭代的看法,也算是我对迭代探索的一个总结吧,如有不对的地方望批评指正。

文章:我是如何看待迭代的.zip (6.21 KB)

逻辑变量的应用---移项变号演示的制作原理

逻辑变量的应用--制作移项变号演示.gsp (6.65 KB)
48# 榕坚
你理解的是对的,迭代画板是不可能提前结束的。
49# xiaongxp
你们要的是可以控制迭代随时停此,画板办不到,迭代在画板中就只有深度可以控制停此。像完全可以构造成其它的非文本。要能提前控制迭代停下来,只有期待6.0版本了。
返回列表