fx5800小程序.docx
- 文档编号:29868851
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:14
- 大小:24.32KB
fx5800小程序.docx
《fx5800小程序.docx》由会员分享,可在线阅读,更多相关《fx5800小程序.docx(14页珍藏版)》请在冰豆网上搜索。
fx5800小程序
5800计算器由坐标计算面积小程序
ClrMemory:
1→N:
LbI0:
E:
F:
"XO"?
X:
"Y0"?
Y:
(XF-EY)/2→G:
Q+G→Q:
X→E:
Y→F:
Abs(Q)→S:
Fix1:
" S=":
Locate6,4,S▲Norm2:
" N=":
Locate6,4,N▲N+1→N:
Goto0:
(说明:
至少输入三点坐标,才能计算正确的面积,N为了计输了的点数)
线路坐标正反算,竖曲线计算及边坡放样程序
坐标计算程序
可计算中边桩及进行坐标反算,边坡放样
PAN(主程序):
LbI0“1.SZ=>XY,XY=>SZ”:
?
N
IfN=1:
ThenGoto1:
IfEnd
IfN=2:
ThenGoto21:
IfEnd
LbI1:
“DKI=”?
S:
S>终止桩号=>Goto1:
S<起始桩号=>Goto1:
“BJ=”?
Z:
Prog“PAN-1”:
Prog“PAN-2”:
IfZ=0:
Then90→T:
EIse“PJ=”?
T:
IfEnd
"XS"=X◢
"YS"=Y◢
"FS"=F-90▲DMS◢
Goto1
LbI2:
“DKI=”?
S:
S>终止桩号=>Goto2:
S<起始桩号=>Goto2:
0→Z:
90→T:
Prog“PAN-1”:
Prog“PAN-2”:
“XC=”?
N:
"YC"=?
E:
Prog“PAN-3”
IfI>0:
Then“YOU,I=”:
I◢IfEnd
IfD<0:
Then“ZUO,I=”:
I◢IfEnd
"ZHUANG,HAO"=K◢
Goto2
PAN-1:
(平曲线数据库)
IfS<(线元终点桩号):
Then线元起点桩号→O:
线元终点桩号→H:
线元起始切线方位角→G:
线元起点坐标→X:
线元起点坐标→Y:
线元起点半径→P:
线元终点半径→R:
偏转方向常量→Q:
IfEnd
………………………………………………..
Q值当线元向左偏时输负值,当线元向右偏时输正值。
当线元与直线相接时半径输10的45次方,与圆曲线相接时半径输圆曲线半径。
PAN-2:
(平曲线正算程序)
1÷P→C
(P-R)÷(2(H-O)PR)→D
180÷∏→E
Abs(S-O)→W:
0.1739274226→A:
0.3260725774→B:
0.0694318442→K:
0.3300094782→L:
1-L→F:
1-K→M:
U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X:
V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Y
G+QEW(C+WD)+90→F
Return
PAN-3:
(平曲线反算程序)
0→Z:
90→T:
Pol(N-X,E-Y)
IfJ<0:
ThenJ+360→J:
IfEnd
F-J→C:
:
S+IsinC→K:
IcosC→I
Return
GotoD
PAN-4:
(竖曲线计算子程序)
Prog“PAN-5”:
Q-T→C:
Q+T→D
IfS≤C:
ThenGoto1:
EIse
IfS ThenGoto2: EIse IfS ThenGoto3: IfEnd: IfEnd: IfEnd LbI1: E+(Q-S)A→H: Goto4 LbI2: E+(Q-S)A+(S-C)2/2/R→H: Goto4 LbI3: E+(S-Q)B+(S-D)2/2/R→H: Goto4 LbI4: H→H: Return PAN-5: (竖曲线数据库,支持断链) IfS=84100: Then84100+3.45→S: Return: IfEnd IfS=87900: Then87900+12.85→S: Return: IfEnd IfS≤本段竖曲线终点桩号: Then竖曲线交点高程→E: 前坡坡率→A: 后坡破率→B: 交点桩号→Q: 竖曲线半径→R: 切线长→TReturn: IfEnd ………………………………………………. 竖曲线数据库输入说明: S为计算里程,破率输入时以交点为起算点,上坡输正值,下坡输负值。 竖曲线半径输入,当竖曲线为凹曲线时半径输正值,当竖曲线为凸曲线时半径输负值。 PAN-SQX(竖曲线计算主程序): LbI0: “DK=”: ? S: S<线路起点桩号=>Goto0: S>线路终点桩号=>Goto0: Prog“PAN-4”: “BJ=”: ? B: H-B*横坡→H: “H=”: H◢ Goto0 PAN-BIANPO(边坡放样主程序): LbI0: “DK=”: ? S: S<线路起点桩号=>Goto0: S>线路终点桩号=>Goto0: 0→Z: 90→T: Prog“PAN-1”: Prog“PAN-2”: “XC=”: ? N: “YC=”: ? E: “DMG=”: ? G: Prog“PAN-3”: Prog“PAN-4”: Goto1 LbI0: “BJ=”: ? B: H-B*横坡-G→P: “P=”: P◢(可显示也可不显示) IfP>10: ThenGotoP: IfEnd IfP>0: ThenGotoT: IfEnd IfP<0: ThenGotoW: IfEnd LbIT: “PO,BI=”: ? O: O*ABS(P)+B→L: GotoJ LbIW: “PO,BI=”: ? O: “PINGTAI=”: ? C: O*ABS(P)+B+2(侧沟宽度)+C(平台宽度)→L: GotoJ LbIP: “PO,BI=”: ? O: “PING,TAI=”: ? C: O*8+C+(P-8)O+B→L: GotoJ LbIJ: K-S→K: I→A: L-ABS(A)→D IfD>0: Then“WAI,D=”: D◢IfEnd IfD<0: Then“NEI,D=”: D◢IfEnd IfK>0: Then“XIAO,K=”: K◢IfEnd IfK<0: Then“DA,D=”: K◢IfEnd "CL"=L◢ Goto0 5800正反算及隧道超欠挖 任意坐标正反算及隧道超欠挖程序 1-JINYU(主程序) Lbl4: "1→ZS,2→FS,3→CQW"? N N=1=>Goto1: N=2=>Goto2: N=3=>Goto3 Lbl1: “K=”? S: “P=”? Z: Prog“SJ¬-PM”: Abs(S-O)→W: Prog"SUB1-ZS": “X=": Locate4,4,X: "Y=": Locate4,4,Y: F-90→F: S→K: Prog“SJ¬-GC”: “H=”: Locate4,4,H◢ Goto4 Lbl2: “X=”? X: “Y=”? Y: Prog“SJ¬-PM”: X→I: Y→ J: Prog"SUB2-FS": O+W→S: “K=": S◢ “P=": Z◢ S→K: Prog“SJ¬-GC”: “H=”: H◢ Goto4 Lbl3: “X=”? X: “Y=”? Y: Prog“SJ¬-PM”: X→I: Y→ J: Prog"SUB2-FS": O+W→S: “K=": S◢ “P=": Z◢ S→K: Prog“SJ¬-GC”: “H=”: H◢ Prog“SJ-CQW”◢ Goto4 SJ¬-PM(子程序名-平面线形数据库) IfS≥59227.681(线元起点里程): Then2599818.013→U(线元起点X坐标): 496887.918→V(线元起点Y坐标): 59227.681→O(线元起点里程): 208028’39”→G(线元起点方位角): 100→H(线元长度): 1×1045→P(线元起点曲率半径): 1×1045→R(线元终点曲率半径): 0→Q(线元左右偏标志: 左-1右1): IfEnd IfS≥59327.681(线元起点里程): Then2599730.112→U(线元起点X坐标): 496840.237→V(线元起点Y坐标): 59327.681→O(线元起点里程): 208028’39”→G(线元起点方位角): 90→H(线元长度): 1×1045→P(线元起点曲率半径): 750→R(线元终点曲率半径): -1→Q(线元左右偏标志: 左-1右1): IfEnd …… …… SJ-GC¬(子程序名-竖数据库) IfS<变坡终点里程AndS≥变坡起点里程: Then大里程坡度→A: 小里程坡度→B: 变坡点里程→O: 变坡点高度→G: 半径→R: Prog“SUB3-GC”: IfEnd (注: 1.有多个竖曲线,依照上面的依次变更,每多一个,就增加一个。 每次只需要修改以上的数据或增加一个判断,子程序不用变动。 2.如整条线只有一个纵坡比喻为2﹪,那么程序应为IfS<终点里程AndS≥起点里程: Then0.02→A: 0.02→B: 起点里程→O: 起点高程→G: 1×1045→R: Prog“SUB3-GC”: IfEnd) SJ-CQW(子程序名-隧道数据库) “H1=”? F: ”P=”? Z IfF-H>5.845: Then√((Abs(Z))2+(F-H-0.45)2)-7.45→W: IfEnd: IfF-H≤5.845AndF-H>-1.169: Then√((Abs(Z)-1)2+(Abs(F-H-1.5))2)-6→W: IfEnd: IfF-H≤-1.169: Then√((Abs(Z))2+(H-F+14.05)2)-16.5→W: IfEnd: … … “+CQ,-CQ=”: W SUB1-ZS(正算子程序)¬ 1÷P→C: (P-R)÷(2HPR)→D: 180÷π→E: 0.1739274226→ A: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: 1-L→F: 1-K→M: U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Y: G+QEW(C+WD)+90→F: X+Zcos(F)→X: Y+Zsin(F)→Y SUB2-FS(反算子程序)¬ G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T))→W: 0→Z: Lbl0: Prog"SUB1-ZS": T+QEW(C+WD)→L: (J-Y)cos(L)-(I-X)sin(L)→Z: IfAbs(Z)<1E-6(注: 此处1E-6可输入0.000001): thenGoto1: ElseW+Z →W: Goto0: IfEnd Lbl1: 0→Z: Prog"SUB1-ZS": (J-Y)÷sin(F)→Z SUB3-GC(高程子程序) O-S→L: A-B→W: Abs(R*W÷2)→T: O-T→M: O+T→P IfS≤M: ThenG-L*B→H: Goto5: ElseIfS≤O: ThenGoto3: ElseIfS≤P: ThenGoto4: IfEnd: IfEnd: IfEnd Lbi3 IfW>O: ThenG+(M-S)2÷2÷R-L*B→H: Goto5: ElseIfW<O: ThenG-(M-S)2÷2÷R-L*B→H: Goto5: IfEnd: IfEnd Lbi4 IfW>O: ThenG+(S-P)2÷2÷R-L*A→H: Goto5: ElseIfW<O: ThenG-(S-P)2÷2÷R-L*A→H: Goto5: IfEnd: IfEnd Lbi5 H→H: Return 说明: (正算1秒,反算和超欠挖5秒完成) 所有程序名。 不同线路,只需改动SJ-PM,SJ-GC,SJ-CQW三个子程序里的内容,其它不变。 1为正算,2为反算,3为超欠挖. K= 正算时,输入所求点里程。 反算时得出里程结果 X=,Y= 正算时得出结果。 反算时输入实测坐标 P= 正算时输入偏距。 反算时得出偏距 H= 正算时得出高程。 反算时得出高程 H1= 超欠挖时输入实测高程 +CQ,-CQ= 得出超欠挖值 注,超欠挖输入时显示里程,编距,设计高程,不需输入。 只输入实测量高程H1 5800p全线高程计算程序带数据库 竖曲线全线高程计算程序 Lbl1: “k=”? H: Prog"子程序" C-D→F: Abs(RF/2)→T: R(Abs(F)/F)→R IfH≤B-T: Then0→K: ElseIfH≥B+T: Then0→K: D→CElseH-B+T→K: IfEnd: IfEnd "H=": A-(B-H)C-K2/2R→G: "G=": G◢ Goto1 子程序 IFH≤第二竖曲线起点桩号: Then第一竖曲线交点高程→A: 交点桩号→B: 前坡→C: 后坡→D: 曲线半径→R: (Else): IfEnd 继续添加曲线要素 10-11-6 楼主: WJ~~强少 作者: 本文已被浏览 2458 次 5800超欠挖程序 1.主程序(NTSSD--CQW) Lbl1: 5→DimZ: (增加Z型5个变量) 600→S: (输入近似里程) Prog“SUB0”↙(定义所在线元数据库) 1÷P→C: (P-R)÷(2HPR)→D: 180÷∏→E: “X=”? X: “Y=”? Y: X→I: Y→J: (输入实测XY坐标,) “H=”? →Z[1]: (输入实测高程) “R=”? →Z[2]: (输入断面理论半径) Prog“SUB2”: (调用反算子程序,由反算两次调用正算子程序) O+W→S: “K=”: S◢“BIANJULI=”: Z◢(得到桩号及离中心桩距离) Abs(Z)→B: (将变量值另存,利于后面计算) 617.42→C: (定义此段竖曲线变坡点桩号,也可? C: 输入) 71.1→D: (定义此段竖曲线此段竖曲线变坡点高程) 1→I: (定义此段竖曲线后坡点坡度) -0.6→J: (定义此段竖曲线前坡点坡度) 1500→R: (定义此段竖曲线变坡半径值) -1→Q: (判断是凸凹曲线类型,-1→Q: I 240→L: (定义此段竖曲线曲线长) 120→T: (定义此段竖曲线切线长) 0.48→E: (定义此段竖曲线外距) 497.42→M: (定义此段竖曲线变坡曲线起点桩号) 737.42→N: (定义此段竖曲线变坡曲线终点桩号) S→K: (将变量值另存,利于后面计算) Prog“SUB3”: (调用高程计算子函数) Fix3: (输出保留3位小数) 1.5+Z→Z: (将路面设计值加减设计值得到开挖圆心高程) 开平方根((Z[1]-Z)2+B2)→X: (得到实测点到圆心的距离) “CQW=”: X-Z[2]→A: ◢(将实测点半径减理论半径即为超欠挖) ClrMemory: Goto1 2. SUB0数据库子程序 Goto1↙同时保存多个曲线时的指针 Lbl1: IFS<***(线元终点里程): Then***→G(线元起点方位角): ***→O(线元起点里程): ***→U(线元起点X): ***→V(线元起点Y): ***→P(线元起点曲率半径): ***→R(线元终点曲率半径): ***→H(线元起点至终点长度): 0或1、-1→Q: Return: IfEnd↙ Lbl1: IFS<***(线元终点里程): Then***→G(线元起点方位角): ***→O(线元起点里程): ***→U(线元起点X): ***→V(线元起点Y): ***→P(线元起点曲率半径): ***→R(线元终点曲率半径): ***→H(线元起点至终点长度): 0或1、-1→Q: Return: IfEnd …………….. 为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件 3.正算子程序(SUB1) 0.1739274226→A: 0.3260725774→B: 0.0694318442→K: 0.3300094782→L: 1-L→F: 1-K→M↙ U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+Acos(G+QEMW(C+MWD)))→X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Y: G+QEW(C+WD)+90→F: X+Zcos(F)→X: Y+Zsin(F)→Y 4.反算子程序(SUB2) G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T))→W: 0→Z: Lbl0: Prog"SUB1": T+QEW(C+WD)→L: (J-Y)cos(L)-(I-X)sin(L)→Z: IFAbs(Z)<0.000001: Then0→Z: Prog"SUB1": (J-Y)÷sin(F)→Z↙ ElseW+Z→W: Goto4: IfEnd 5高程计算子程序(SUB3) IFK≤M: ThenD+(K-C)I/100→Z: Return: IfEnd↙ IFK>MAnd K≤C: Then(K-M)2/(2R)→P: D+(K-C)I/100+QP→Z: Return: IfEnd↙ IFK>CAnd K≤N: Then(K-M)2/(2R)→P: D+(K-C)J/100+QP→Z: Return: IfEnd↙ IFK>N: ThenD+(K-C)J/100→Z: Return: IfEnd↙ 经反复核对的,绝对能用,5800P上运行要4秒出结果。 Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序 Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序 《Casio5800交点法程序》与《线元法(积木法)匝道坐标正反算放样程序》, 程序由一个主程序ZBZFS和8个子程序(JS、XY-A、XY-B、JDYS、1、2、3、4)构成,运行时只需运行主程序即可! 本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标正反算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并能对单一线元进行坐标正反算。 1主程序名: ZBZFS(功能: 进入计算主程序) 65→Dimz↙ Deg: Fix3↙ "1.JDZFS 2.ZHADAOZFS"? I: I→Z[61]: "1.ZHONGSHUJS2.JS"? I↙ IfI=1: ThenGoto1: ElseGoto2: IfEnd↙ LbI1: IfZ[61]=1: ThenProg"JDYS": Else Cls: "K0"? A: "KN"? L: "X0"? U: "Y0"? V: "F0"? W: "R0"? P: "RN"? Q: "ZX: -1,+1,0"? G: IfEnd↙ LbI2: Prog"JS" 2子程序名: JS(功能: 选择正算或反算模式) Cls: "XC"? H: "YC"? Z↙ Cls: "1.ZS 2.FS"? I: I=2=>Goto3↙ LbI1: Cls: IfZ[61]=1: Then"JDZSKX+XXX"? K: Prog"4": Else"ZHADAOZSKX+XXX"? K: IfEnd↙ LbI 2: Cls: 90→B: Cls: "RJOr0 ToK"? B: B=0=>Goto1: "Z"? T↙ Prog"XY-A"↙ X+Tcos(M+B)→X↙ Y+Tsin(M+B)→Y↙ 360Frac((M+360)÷360→M↙ Pol(X-H,Y-Z: 360Frac((J+360)÷360→J↙ 2→O: Prog"XY-B": Goto2↙ LbI3: Cls: IfZ[61]=1: Then"JDFSKN+"? K: "X"? C: "Y"? D: Prog"4": ElseCls: "ZHADAOFS": "X"? C: "Y"? D: IfEnd↙ LbI4: Prog"XY-A"↙ (D-Y)sin(M)+(C-X)cos(M)→H↙ IfAbs(H)>X10-3: ThenK+H→K: Goto4: IfEnd↙ (D-Y)÷cos(M)→T↙ 3→O: Prog"XY-B": Goto3↙ 3子程序名: XY-A(功能: 坐标计算程序) 5→N: G(Q-1-P-1)÷Abs(L-A)→F: Abs(K-A)÷N→R: 90R÷π→S: W+(FNR+2GP-1)NS→M: 1→E↙ U+R÷6×(Cos(W)+Cos(M)+4∑(Cos(W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(Cos(W+((EFR+2GP-1)ES,E,1,(N-1)))→X↙ V+R÷6×(sin(W)+sin(M)+4∑(sin(W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(sin(W+((EFR+2GP-1)ES,E,1,(N-1)))→Y↙ 4子程序名: XY-B(功能: 显示正算或反算结果) IfO=2: Then↙ Cls: "K×××=": "Z=": "X=": "Y=": Locate6,1,K: Locate4,2,T: Locate4,3,X: Locate4,4,Y◢ IfT=0: ThenCls: "QF(Z)=": Locate8,1,M: M▼DMS◢ IfEnd↙ Cls: "K×××=": "S=": Locate6,1,K: Locate4,2,I: "F=": J: J▼DMS◢ IfEnd↙ IfO=3: Then"X=": "Y=": "K×××=": "Z=": Locate4,1,C: Locate4,2,D: Locate6,3,K: Locate4,4,T◢ IfEnd: Cls↙ 5子程序名: 4(功能: 将交点参数转为线元计算参数) LbI1: IFZ[48]<0: Then-1→Z[62]: Else: 1→Z[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fx5800 程序