『再次用手机发帖』一些条件分支结构的初步实现方法
手机发帖打字辛苦,废话不多说,看示例程序段……if a <= 5 then
a = a + 1
else
a = a+ b
end if
转化为es语言,为
(A+.5B+.5B*ispositive (A-5)+.5-.5*ispositive (A-5)) --> A
若设M=ispositive (A-5),可节省大量空间,但要用一个储存器,并且要多按等号。好处是可以传递到下一句(es语言只能逐条判断逐条执行,所以条件分支结构要用大量空间)。
其他语句可以依照这个思路来构造。这就是我的研究成果。另外编译器的事就不要太指望我了,我觉得我的水平最多只能写个代码对照表……我要开发一语言容易,写编译器难啊!…… 我以前一直是把if(condition)-else语句处理为if(condition):if(not condition),你只用一条语句确实能少按等号。
若设M=ispositive (A-5),可节省大量空间,但要用一个储存器,并且要多按等号。好处是可以传递到下一句(es语言只能逐条判断逐条执行,所以条件分支结构要用大量空间)。
这个方法很好 我认为卡西欧ES的特点是任何语句均为表达式,建议改研究if为研究函数iif
shyc2001 发表于 2010-4-1 14:00 http://www.cncalc.org/images/common/back.gif
切不可把编程语言“函数化”,否则就失去了易懂的最大优势。
否则就失去了易懂的最大优势。
991es82es 发表于 2010-4-1 21:01 http://www.cncalc.org/images/common/back.gif
ES语言最缺乏的就是这个 贴出通用形式:
if(condition) then
a = b;
else
a = c;
endif
计算器语言:
a + (b - a)*condition+(c - a)(!condition)→ a
其中!condition为condition的“非”,见http://www.cncalc.org/viewthread.php?tid=1625&page=1&fromuid=28#pid41868
页:
[1]