fx-5800魔鬼程序终结版(好友提供,感谢) 程序 DD (线路调度) 2000→Dimz↙ 扩展额外变量(根据内存情况定义) '':'Z A B C D E F G'↙ 从8条线路中选择1条 Do↙ IfGetkey=27:Then 45→Z[41]:305→Z[42]:386→Z[43]:Break:IfEnd↙ IfGetkey=51:Then440→Z[41]:672→Z[42]:744→Z[43]:Break:IfEnd↙ If Getkey=52:Then 792→Z[41]:996→Z[42]:1059→Z[43]:Break:IfEnd↙ If Getkey=53:Then1101→Z[41]:1277→Z[42]:1331→Z[43]:Break:IfEnd↙ IfGetkey=54:Then1367→Z[41]:1515→Z[42]:1560→Z[43]:Break:IfEnd↙ IfGetkey=55:Then1590→Z[41]:1710→Z[42]:1746→Z[43]:Break:IfEnd↙ IfGetkey=56:Then1770→Z[41]:1862→Z[42]:1889→Z[43]:Break:IfEnd↙ IfGetkey=43:Then1907→Z[41]:1971→Z[42]1989→Z[43]:Break:IfEnd↙ LpWhile Getkey≠73↙ Z[41] 4.数据输入:SR Z[41→C :Z[42→W :Z[43→M←┘ ”PW”?N:N≠2013=>Step←┘ 输入密码 2013 “ZB1,GC2,CG3” ?N:Cls: 坐标数据按1,高程数据按2,超过数据按3。 N=2=>Goto 2:N=3=>Goto 3: Lbl 1: Z[C→A: ”K”?A: A→Z[C]: 输入线源起点桩号 Z[C+1→A: ”X”?A: A→Z[C+1]: 输入线源起点坐标X Z[C+2→A: ”Y”?A: A→Z[C+2]: 输入线源起点坐标Y Z[C+3→A: ”FW”?A: A→Z[C+3]: 输入线源起点切线方位角 Z[C+4→A: ”P”?A: A→Z[C+4]: 输入线源起点半径 Z[C+5→A: ”R”?A: A→Z[C+5]: 输入线源终点半径 Z[C+7→A: ”Q”?A: A→Z[C+7]: 输入线源方向,直线输入0,左转输入-1,右转输入1 C+7→C: Goto 1←┘ Lbl 2: Z[W→A: ”GC”?A: A→Z[W]: 输入变坡点高程 Z[W+1→A: ”JD”?A: A→Z[W+1]: 输入边坡点桩号 Z[W+2→A: ”R”?A: A→Z[W+2]: 输入竖曲线半径(起点与终点半径输入0) W+3→W: Goto 2←┘ Lbl 3: Z[M→A: ”Q(-Z+Y)”?A: A→Z[M]: 输入平曲线方向,左转输入-1 右转输入1。 Z[M+1→A: ”QK”?A: A→Z[M+1]: 输入超高起点桩号 Z[M+2→A: ”HY”?A: A→Z[M+2]: 输入缓圆点桩号 Z[M+3→A: ”YH”?A: A→Z[M+3]: 输入圆缓点桩号 Z[M+4→A: ”ZK”?A: A→Z[M+4]: 输入超高终点桩号 Z[M+5→A: ”ⅰ”?A: A→Z[M+5]: 输入超高最大横坡 M+6→M: Goto 3←┘ 1.正算主程序 GSZS ?K:'L(-Z ,+Y) '?L:'W(+Q, -H) '?W:”α”?M: Prog'SUB1':X+Lcos(F+M→X:Y+Lsin(F+M→Y: 'T(0,1)'?T : If T=0:Then X+Wcos(F)→X: Y+Wsin(F)→Y: Eles X+Wcos(F+M-90→X: Y+Wsin(F+M-90→Y: If End:Cls: 'FWJ=': Loscate 5,1,F°: ”X=”:Loscate 3,2,X : ”Y=”:Loscate 3,2,Y←┘ Prog' SJGC ': "SJGC=":Locate 6,1,H 2. 反算主程序 GSFS X:X→U:?Y: Y→V : Z[41→C: Z[C]+Abs((Y-Z[C+2])Cos(Z[C+3]-90)-(X-Z[C+1])Sin(Z[C+3]-90))→K: Lbl 0:Prog 'SUB1':Pol(U-X,V-Y): Rec(I,J-F:I+K→K Abs(I)>0.001=> Goto 0:J→A:Cls: ”K=”:Locate3,1, K : ”L=” Locate3,2,A←┘ 3. 正算子程序(SUB1) 不独立运行,供其他程序调用 Z[41→C: Lbl 1: Z[C→O: Z[C+7→H: If K≥OAnd K≤H: Then Z[C+1→N: Z[C+2→E:Z[C+3→G: Z[C+4→P: Z[C+5→R: Z[C+6→Q: Goto 0: If End: C+7→C: Goto 1←┘ Lbl 0: (P-R)÷(2(H-O)PR)→D:Abs(K-O)→J: 0.1184634425→Z[1]:0.2393143352→Z[2]:0.2844444444→Z[3]: 0.0469100770→Z[4]:0.2307653449→Z[5]: N+J(Z[1]cos(G+QZ[4]J(1÷P+ Z[4]JD)×180÷π) + Z[2]cos(G+QZ[5]J(1÷P+ Z[5]JD)×180÷π) + Z[3]cos(G+0.5QJ(1÷P+0.5JD)×180÷π) + Z[2]cos(G+Q(1- Z[5])J(1÷P+(1- Z[5])JD)×180÷π) + Z[1]cos(G+Q(1- Z[4])J(1÷P+(1- Z[4])JD) ×180÷π))→X: E+J(Z[1]sin(G+Q Z[4]J(1÷P+ Z[4]JD)×180÷π) + Z[2]sin(G+Q Z[5]J(1÷P+ Z[5]JD)×180÷π) + Z[3]sin(G+0.5QJ(1÷P+0.5JD)×180÷π) + Z[2]sin(G+Q(1- Z[5])J(1÷P+(1- Z[5])JD)×180÷π) + Z[1]sin(G+Q(1- Z[4])J(1÷P+(1- Z[4])JD) ×180÷π))→Y: G+QJ(1÷P+JD) ×180÷π→F: F>360=>F-360→F: F<0=>F+360→F:Return 高程主程序(SQXYS) "Zⅰ"?Z:"Yⅰ"?S: Lbl 3:Z→P: S→Y:?K:"ZBJ"?L:"YBJ"?B:"JGC"?T: Prog"GC"←┘ 0→Q : Z[43→C: Lbl 5:Z[C→Q: If Q=1:Or Q=-1 : Then Z[C+1→E: Z[C+4→J: If K≥EAnd K≤J: Then Z[C+2→F: Z[C+3→I: Z[C+5→G: Goto 6: If End:C+6→C:Goto 5: If End: Lbl 6:Q=0=>Goto 2:Q=-1=>Goto 1: If Q=1: And K Else If Q=1 And K Else If Q=1 And K If End:If End:If End:P >-S=>-P→Y:Goto 2:←┘ Lbl 1: If Q=-1: And K Else If Q=-1 And K Else If Q=-1 And K If End:If End:If End :Y>- Z: >-Y→P:←┘ Lbl 2:Cls: "SJGC=":Locate6,1,H-T "ZGC=":Locate6,2,HL÷(L+0.000001)+LP-T "YGC=":Locate6,3,HB÷(B+0.000001)+BY-T◢ Cls: Goto 3: 输入:Zⅰ=左横坡、Yⅰ=右横坡、 K=桩号 ZBJ=左边距、YBJ=右边距、JGC=结构层厚度 显示:SJGC=中桩高程, ZGC=左边桩高程,YGC=右边桩高程 高程子程序:(GC )不独立运行,供其他程序调用 Z[42→C:C+3→C←┘ Lbl 0←┘ (Z[C]- Z[C-3])÷(Z[C+1]- Z[C-2])→E: (Z[C+3]- Z[C])÷(Z[C+4]- Z[C+1])→F: If K≤Z[C+1]+Abs(E-F)×Z[C+2]÷2: Then Z[C→H: Z[C+1→D: Z[C+2→R: Goto 4: If End:C+3→C: Goto 0←┘ Lbl 4←┘ D- Abs(E-F)R÷2→O: E If K≤O: Then H+(K-D)E→H:Else H+(K-D)E- (O-K)^2÷2÷R→H:If End ←┘ 程序( COPY ) (数据库复制—— 整理数据库的工具) 'PW'?N:N≠2013=> Stop↙ 保护密码 ? A:?B:?N↙ 源地址? 目标地址? 数据单元个数 ? 0→T↙Do↙IszT↙ Z[A→Z[B]↙ Isz A:IszB↙ LpWhileT<> A 一、程序功能及原理 1.功能说明: 本程序由三个主程序——正算主程序(GSZS)、反算主程序(GSFS) 、高程主程序(SQXYS)和两个子程——正算子程序(SUB1)、高程子程序(SJGC)组成,可以根据——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、起点曲率半径、止点曲率半径),纵段的要素(变坡点高程变坡点桩号竖曲线半径)对全线范围内任意里程中边桩坐标进行正反算和中边桩高程及超高计算。本程序可以在CASIO fx-5800P计算器上运行。可实现坐标正反算和高程及超高的全线贯通。 2.计算原理: 坐标正反算利用Gauss-Legendre 5点通用公式。 二、说明 程序 DD (线路调度) 根据线路数据量大小和内存使用情况设置数据库起始地址,(数据库按先后顺序依次为(平曲线、竖曲线、超高)注意不要重叠,不要和数据库起始地址寄存器冲突,为合理利用内存可把数据库起始地址寄存器设置在扩展存储区的最高端。其实这一步就是改变程序中带下划线处的红色数字,不带下划线的程序不要改变。 数据输入程序:(SR) 1,坐标数据(1)桩号:当线路最后一段线源输入完毕后要输入终点桩号。 (2)半径:当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;起点与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;止点与圆曲线相接时,曲率半径等于圆曲线的半径。 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;起点与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;止点与圆曲线相接时,曲率半径等于圆曲线的半径。 2,高程数据:当起点或终点不是变坡点,半径R输入0。 主程序输入与显示: (1)输入部分: 正算时可输入里程K、左右边距'L(-Z,+Y) '(当所求点位于中线时,L=0;当位于中线左侧时,L取负值;当位于中线右侧时,L取正值)、前后距离'W(+Q, -H) ' (W计算构造物角点用,如果不需要可输入0,当位于K前侧时,W取正值;当位于K后侧时,W取负值)、右交角M(0~180的正值)、及判断计算模式'T(0,1)'(当构造物是斜交时输入0计算平行四边形,输入1计算矩形)可实现全线坐标高程计算,反算时可仅输入实测点坐标X Y,即可算出该点所对应的线路的里程桩号和左右偏距。 (2)显示部分: X=×××正算时,计算得出的所求点的X坐标Y=×××正算时,计算得出的所求点的Y坐标 SJGC=×××计算得出中桩设计高程, K=××× 反算时,计算得出的所求点的里程 L=××× 反算时,计算得出的所求点的边距 放样程序 FY Prog”GSZS”:?X:?Y:Prog”LTKZD”:?L: ?P: Pol(N-U,E-V): J<0=>J+360→J: “HSJL=”:I◢ J→O:If X=0: Then U+LCos(J+P)→U:V+LSin(J+P)→V: ”X=”:U◢:”Y=”:V◢: Eles Pol(X-U, Y-V): J<0=>J+360→J: J→H:H-O→J:J<0=>J+360→J:“ANG=”:J◢“QSJL=”:I◢ 凌铁大桥控制点数据库 LTKZD C=23:D=24:E=25:F=26:G=27:H=28:I=29←┘: A: If A=11 Then****→U:****→V :Goto 0: Return: If End←┘ If A=12 Then****→U:****→V :Goto 0: Return: If End←┘ If A=13 Then****→U:****→V :Goto 0: Return: If End←┘ If A=15 Then****→U:****→V :Goto 0: Return: If End←┘ (注:如有多个控制点继续添加入数据库LTKZD中) Lbl 0:?B : If B=11 Then ****→N:****→E: Return: If End←┘ If B=12 Then ****→N:****→E: Return: If End←┘ If B=13 Then ****→N:****→E: Return: If End←┘ If B=15 Then ****→N:****→E: Return: If End←┘ (注:如有多个控制点继续添加入数据库LTKZD中) 无定向程序(WDXDX) "JSDS="?→N: "QX="?U: "QY="?V: "ZX="?X: "ZY="?Y:Pol(X-U,Y-V):J→B: J→Q: U→E: V→F:B-180→B:0→T: For 0→I To N "JIAODU="?A: A→Z[4I+1]: B+180+ Z[4I+1]→Z[4I+1]: Z[4I+1]→B: "JULI="?D: D→Z[4I+2]: T+Z[4I+2]→T E+Z[4I+2]Cos(B)→Z[4I+3]: F+Z[4I+2]Sin(B)→Z[4I+4]: Z[4I+3]→E: Z[4I+4]→F: Next Pol(E-U,F-V): Q-J→O: U→E: V→F: For 0→I To N E+Z[4I+2]×Cos(Z[4I+1]+O)→Z[4I+3]: F+Z[4I+2]×Sin(Z[4I+1]+O)→Z[4I+4]: Z[4I+3] →E: Z[4I+4]→F: Next E-X→E: F-Y→F: Cls:"K=":T÷√(E2+F2)◢ 0→C For 0→I To N C+[4I+2]→Z[4I+2]: Z[4I+2]→C: Z[4I+3]-E÷T×Z[4I+2]→Z[4I+3] Z[4I+4]-F÷T×Z[4I+2]→Z[4I+4] Cls: "X=": Locate2,1,I+1: Locate 3,1,”=”: Locate 4,1, Z[4I+3] "Y=": Locate2,2,I+1: Locate 3,2,”=”: Locate 4,2, Z[4I+4] Next 测量构造物位置程序(ZBFS) K:?M: Prog'SUB1':Cls:'Z(0),X(1)'?T :Lbl 1: 'X='?U:'Y='?V: Pol(U-X,V-Y: Rec(I,F+M-J: If T?0: Then I-Jtan(90-M) →I:J ÷cos(90-M) →J: If End ←┘ Cls:'ZY=':Locate 4,1, I ”L=”Locate 4,2,J◢←┘Goto 1: (1)输入部分: ?U 所求点X坐标 ?V 所求点Y坐标 ?K 基准点桩号 ?T 判断正算,斜算 (2)显示部分X 所求点距基准点距离(右为正,左为负) Y所求点距基线的前后距离(前为正,后为负) 锥坡(ZHUIPO) ?K:'L(-Z ,+Y) '?L:”α”?M: Prog'SUB1' X+Lcos(F+M→X:Y+Lsin(F+M→Y:Cls: 'HS'?A :' HJ '?B :'P1'?E :'P2'?Z : '0T(0),WT(1)'?T : Lbl 1:?N : E(A-B)N÷sin(M→U :L<0=>-U→U: Z(A-B)÷sin(M)√(1- N2) →V :T?0:=> - V→V: Cls: 'X=':Locate 3,1,X+U cos(F+M)+ V cos(F 'Y=':Locate 3,2,Y+U sin(F+M)+V sin(F: Goto 1: 输入部分: HS 锥顶高程 HJ 锥基高程 P1 坡率1(横桥向)按1:M表示 P2 坡率2(纵桥向)按1:N表示 T 0号台输入0,桥尾输入1 N 将长轴a分成N等份以小数表示 隧道超欠挖程序:(CQW) “H1=” ?Z:输入实测高程 Prog”GSFS”: Prog”SJGC”: ”SJGC=”:Locate 6,3,H IF Z-H>5.845:Then 7.45→R:0.45→G:0→L:Else IF Z-H≤5.845 And Z-H>-1.169:Then 6→R:1.5→G:1→L:Else IF Z-H<-1.169:then 16.5→r:14.05→g:0→l:ifend:="" ifend:="">-1.169:then> “+C-Q=”: Locate 6,4,√((Abs(A)- L)2+(Z-H-G)2)-R 红色数字为上、下圆弧的弦线高程减去路面设计高程(例如下圆弧弦线高程减去设计高程等于-1.169) 说明:R=圆半径:G=圆心至路面设计高程之差(如果圆心位于路面以下要输入负值) : L=圆心至隧道中心线的左右偏距(无论左右均为正值) 显示: K=××× 反算计算得出的所求点的里程 L=××× 反算计算得出的所求点的边距 SJGC=中桩高程, +C-Q=超欠挖“+”为超挖“-”为欠挖 链接: http://pan.baidu.com/s/1sj15Put 密码: j5ar 更多精彩请关注微信号:37655317 来源:网络 版权归原作者所有 *手机在线免费下载路桥软件及资料,加微信37655317 (测量软件电脑版、手机版,公路施工测量坐标计算系统、交通规划系列软件、纬地、CASS等)或如下教学视频 (建造师视频课件、纬地、CASS、轻松、交通规划、CAD、PS 、WORD、EXCEL、PPT、同望、鸿业市政道路、广联达GBQ4.0等)*** 关注本微信平台,好运自然来! 有人用微信聊天,有人却在微信中每天学习,自我成长。分享是种快乐,抓紧分享给你的微友吧,他们会感谢你的! 您看此文用了 点击右上角分享至朋友圈,只需一秒哟~ ↙↙点击「阅读原文 」即可阅读更多精彩内容。 |
|