hcz 发表于 2009-10-11 15:24:29

ES编程基础教程!![制作完成]

已制作完成

vistasystem 发表于 2009-10-11 16:00:56

沙发支持了!!
   计算器有大家更强大~

zasdfgbnm 发表于 2009-10-17 21:18:50

好啊支持希望有人能够听懂

hcz 发表于 2009-10-18 16:00:47

写完了

zasdfgbnm 发表于 2009-10-18 18:30:26

还要下载才能看,我帮你贴出来吧。
卡西欧fx-ES计算器编程基础教程
文字叙述:黑色
代码:蓝色
按键:绿色
第一部分 历史、概述、常识
1.ES编程的历史
其实没什么历史(日。。。)。ES编程据考证最初是由Zasdfgbnm在fxesms论坛系统性地提出的,后来Shyc2001和HCZ(就是我)也加入了研究的行列。于是,它就被称为了“三个人研究的东西”。本教程的目的就是改善其很少有看得懂的尴尬境遇
2.基本概述与常识
所谓ES编程其实就是在fx-ES计算器中输入特定的算式来达到编程的目的。一段ES程序通常结构为:语句1:语句2:语句3:……:语句n
通过不断的循环及各种语句的组合来产生程序语句的效果。通常采用按“=”到Error的方式结束
3.常用符号输入方式
赋值及M+-符号:先输入一个会出错的符号(例如右括号),然后按shift+sto+字母或M+、M-,即可输入符号
语句结束冒号符号:shift+:
 
第二部分 常用语句
1.取较大数或较小数(为方便,缩写为min,max)
输入方法:max(A,B)为(A+B+|A-B|)/2,min(A,B)为(A+B-|A-B|)/2
2.截取数字的符号(为方便,缩写为sgn,sgnerr,分别表示取符号、取符号并在0时输出错误)
输入方法:sgn(X)为X/(|X|+1*10^-99),sgnerr(X)为X/|X|
注意sgn不适合绝对值小于10^-85的数
3.根据条件输出错误
例如X>0时出错,输入方法:1/(sgn(X)-1)
对于数字等于零出错的状况,可以使用1/X
4.截取整数部分、小数部分
输入方法:截取A的小数为Rec(1,A*360+180)Pol(X,Y)*0+Y/360+.5,取整数直接用A减去小数即可
 
第三部分 语句的组合
1.根据条件而赋值
例如当X>0时把X赋予Y,输入:Y+(X-Y)*((X-1*10^-99)/(|X-1*10^-99|)+1)/2->Y
2.把输出错误插入语句中
例如当X>0时错误,没有错误就把X增大1,输入:0/(sgn(X)-1)+X+1->X
3.组合赋值
利用Pol及Rec自动赋值的特性,大量减少按等号次数
把X+1>X,Y+1>Y,A+1>A组合,输入:Rec(Pol(X+1,Y+1),Y)*0+A+1->A
 
第四部分 实际运用
1.ES实际编程
ES的编程与电脑编程主要区别在于ES的语句种类少,有些判断、循环语句必须在计算的同时产生
还有就是循环以生成错误结束
以二分法解f(X)方程为例(和论坛上的不一样,这个进行了一些优化)
|f(X)|/f(X)->M:-.5M|f(X+2^Y)|/f(X+2^Y)+.5->A:-.5M|f(X-2^Y)|/f(X-2^Y)+.5->B:Y-1->Y:X+2^Y*A(1-B)-2^Y*B->X:
拆解开来就是如下
|f(X)|/f(X)->M:如果f(X)等于0,就错误,否则输出符号
-.5M|f(X+2^Y)|/f(X+2^Y)+.5->A:根据X加减2^Y后f(X)的大小来确定A,B的值
-.5M|f(X-2^Y)|/f(X-2^Y)+.5->B:
Y-1->Y:减小Y
X+2^Y*A(1-B)-2^Y*B->X:用A和B控制X的变化,继续循环,不断逼近X的值
2.减少按等号次数
以一个实际题目为例:设f1(X)=X^3-X^2+X,fn(X)=f1(fn-1(X)),求f1(X)+f2(X)+……+f10(X)
完全拆开的程序是
X^3-X^2+X->X:XM+:Y+1->Y:0/(Y-101)
但是简化后,程序可以缩到一句
Rec(Pol(X^3-X^2+X,Y+1),Y)+0/(Y-101)+XM+
3.考场应急应用
近几年很多考试、竞赛都开始放开计算器的限制。在实际的考试中应用ES程序并不一定要很精致、高效、构思巧妙,但是一定要实用。记住:不管啥程序,能解题的程序就是好程序。(这句话为什么这么耳熟。。。)
前几天一次数学竞赛,有道题大概是这样的:设f1(X)(不记得了,比较复杂的),fn(X)=f1(fn-1(X)),f(100)的末五位数字。
其它题目做完后,还剩下这道题,我就用计算器写了如下程序,最终就把题目解决了
f1(A)->A:A-(Rec(1,A/100000*360+180)Pol(X,Y)*0+Y/360+.5)*100000->A:B+1+0/(B-100)->B
但是,在能用常规方法解题的时候,尽可能使用常规方法,不要过度依赖ES编程。大家切记!

hcz 发表于 2009-10-18 19:08:58

还要下载才能看,我帮你贴出来吧。
卡西欧fx-ES计算器编程基础教程
文字叙述:黑色
代码:蓝色
按键:绿色
第一部分 历史、概述、常识
1.ES编程的历史
其实没什么历史(日。。。)。ES编程据考证最初是由Zasd ...
zasdfgbnm 发表于 2009-10-18 18:30 http://www.cncalc.org/images/common/back.gif谢谢了:)

小y 发表于 2009-10-19 21:10:02

全文 看不大懂~
但顶下
顶         但是,在能用常规方法解题的时候,尽可能使用常规方法,不要过度依赖ES编程。大家切记!

飞快 发表于 2009-10-21 20:18:09

发支持了!!
   计算器有大家更强大~

es165 发表于 2009-10-23 16:55:07

谢谢楼主分享

qingkong1330 发表于 2009-12-14 01:57:42

计算器有大家更强大~ !没有白**,好东东啊

hoooooe 发表于 2010-1-7 00:02:24

原来研究这些——阴谋大大地不小-_-

imath 发表于 2010-12-24 22:14:49

这贴不置顶,还有什么贴可以置顶?

swxve 发表于 2011-1-2 23:20:37

神级的东西OTL.....
于是这就是传说中的创新喵....
页: [1]
查看完整版本: ES编程基础教程!![制作完成]