|
楼主 |
发表于 2009-10-16 22:14:59
|
显示全部楼层
我所说的一直都是怎么往计算器里输,也就是把计算器语言转换成计算器语言,不是什么深奥的理论,我所用的那些max(a,b),ispositive(a,b)都只不过是一些记号而已,打个比方吧,大家在研究软升级的时候叙述操作的时候经常会说:“第一步:打出r”而不是说:“第一步先打出pol(1,0),第二步狂按分数线……”因为打出r已经成了一种固定的操作,同样,我在我的方法中说用(x-y)×ispositive(a)+y->y进行条件赋值实际上就是让大家根据我前面说的方法自己把ispositive(a)转换成按键打到计算器里,我总不能说:“第一步:按‘(’键,第二步:按Alpha键……”吧,(x-y)×这些大家都会输,而ispositive(x)我介绍过代表了什么。这次我的发现时计算器的if语句的实现,if语句实现标志着计算器编程探索的完结,有了if语句,只要程序足够短能打到计算器上,就能将所有的与数学计算有关的程序转换到计算器上,我重新解释一下,我认为我的发现真的很重要,希望大家耐下心来仔细看看
数学上有个函数叫sgn(x)大家都知道吧?当x为正数时sgn(x)为1,当x为负数时sgn(x)为-1,当x=0时sgn(x)=0,但是计算器上没有这个函数,但是我们可以用绝对值来实现这个功能:x÷(|x|+1×10^-99)不信大家用计算器试试,但是由于叙述的时候说sgn(x)比说x÷(|x|+1×10^-99)更条理,也更方便,所以我在文中一直说是sgn(x).具体往计算器里输入的时候把我写的sgn(x)换成
x÷(|x|+1×10^-99)就行了。例如我写的
用(x-y)×ispositive(a)+y->y进行条件赋值
但是具体怎么往计算器里输入呢?我在前文中已经说了ispositive(x)=max(0,sgn(x))
而Max(a,b)=(a+b+|a-b|)/2具体往计算器里输入的时候,把它代进去就成了:
ispositive(x)=max(0,sgn(x))
=(0+sgn(x)+|0-sgn(x)|)/2
=(sgn(x)+|sgn(x)|)/2
=(x÷(|x|+1×10^-99)+|x÷(|x|+1×10^-99)|)/2
往计算器里输入时把ispositive(a)带入就成了:
(x-y)×(a÷(|a|+1×10^-99)+|a÷(|a|+1×10^-99)|)/2+y->y
往计算器里输入时就输入这个就行了 |
|