卡西欧FX5800全线贯通万能正、反算程序

FX5800计算器的积分程序(正反算、全线贯通、新线路)终极版
ZHUCHENGXU    主程序
“1.ZS,2.FS” ?→Q              输入1正算,输入2反算  
“NEW=0,OLD ≠0”?Z
If  Z=0:Then  “X0=”?A:“Y0=”?B:“C0=”?C:“1/R0=”?D:“1/RI=”?E:“SP=”?F:“EP=”?G:Ifend:Q=2=>Goto 2
Lbl  1 :“KM=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PY=”?L
Lbl  Z:Z=1=> Prog“01”:Z=2=> Prog“02”                选择数据库文件,可增加
H- F→X:0.5(E-D)÷(G-F)→N
C+(XD+NX2)*180÷π→P:P<0=>P+360→P:P>360=>P-360→P
A+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→U
B+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→V
Q=2=>Goto  4:Cls:Fix 3
“Xn=”:Locate  4,1,U:”Yn=”: Locate  5,2,V:“FWJ=”:P▶DMS◢
Norm 2:Cls:Goto  1
Lbl  2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S
“KMDG=”?H :90→O:0→L:Goto  Z                 (H线路范围内的任意桩号)
Lbl  4:Pol(R-U,S-V):J<0 => J+360→J
While  abs(Icos(J-P))≤0.001:P-J>180=> J+360→J: P-J<-180=> P+360→P:IF P-J>0:then -I→L:else I→L ifend
Goto  3: Whileend:H+Icos(J-P)→H:Goto  Z
Lbl  3:Cls:Fix 3
“KM=”: Locate  4,1,H:“PY=”: Locate  4,2,L◢
Norm 2:Cls:Goto  2
01(数据库子程序)
If H<=第一曲线终点桩号:then  第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend
……………
程序说明:
1、该程序可以计算任意线形(直线、圆曲线、缓和曲线、不完整曲线)任意桩号的坐标(正算,输入1),也可根据坐标计算该点到线路的距离及垂足桩号(反算,输入2);
2、(NEW=0,OLD≠0)?如果要计算的点为数据库线路中的点,则输入数据库编号(以整数1、2、3…代替输入);如果在数据库中没有要计算线路的数据,则输入曲线要素
X0:曲线起点X坐标;
Y0:曲线起点Y坐标;
C0:曲线起点方位角;
R0-1、 RI-1:曲线起点、终点曲率,直线为0,曲线左偏输入负值,右偏输入正值;
SP、 EP:曲线起点桩号,终点桩号;
KM:待求点桩号;
PJ:正斜交的设定;
PY:偏中距离,线路上的点输入0,右偏输入+值,左偏输入-值;
3、正算显示坐标及切线方位角;反算输入线路的任意桩号(此桩号越接近真实值计算速度越快)、待求点坐标,显示待求点桩号及偏中距离;
4、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。
5、此程序显示较直观,结果在同一屏幕显示。注* :程序中乘号用*标示,其余为X。

转自surmap