CASIO_5800计算器公路测量计算程序
- 格式:doc
- 大小:46.00 KB
- 文档页数:6
卡西欧fx-5800p计算器测量程序(作者:水江华)1.坐标反算程序"ZBFS QH1-4"◢Deg:Fix 3←┘"X+YiS(m)="?A←┘Lb1 0:"X+YiE(m),0=>END="?B←┘Abs(B)=0=>Goto E←┘Arg(B-A)→JJ<0=>J+360→J"DIST(m)=":Abs(B-A)◢"α(DMS)=":J▶DMS◢Goto 0←┘Lb1 E:"ZBFS QH1-4=>END"2.坐标正算程序"ZBZS QH1-3"◢Deg:Fix 3←┘"XS(m)= "?A:"YS(m)= "?B←┘Lb1 1:"DIST(m)= "?L←┘If L≤0:Then Goto 2:IfEnd←┘"α(Deg)="?R←┘A+Lcos(R)→C←┘B+Lsin(R)→D←┘Fix 3:"XE(m)= ":C◢"YE(m)= ":D◢Goto 1←┘Lb1 2:"ZBZS QH1-3=>END"3.单一闭、附合导线近似平差程序"BFHDXPC QH1-8"◢Deg:Norm 1:FreqOn←┘n→N←┘If List Y[N]=0:Then N-1→DimZ:Goto 0←┘Else N→DimZ:Goto 1: IfEnd←┘Lb1 0: "CLOSE Or CONECT TRA VE"◢"ANGLE NUM=":N◢"SIDE NUM=":N-1◢"UNKNOWN P NUM=":N-2◢"CLOSE(0),CONNECT(≠0)="?→Z←┘Fix 3:"XA(m),≤0=>αA→B(Deg)="?A←┘If A>0:Then "YA(m)= "?B:Else "αA→B(Deg)="?R:IfEnd←┘"XB(m)= "?C:"YB(m)= "?D←┘C+Di→U:U→V←┘If A>0:Then Pol(C-A,D-B):Cls←┘J<0=>J+360→J:J→R←┘"DIST A→B(m)=":I◢"αA→B(DMS)=":R▶DMS◢IfEnd←┘If Z≠0:Then "XC(m)= "?E:"YC(m)= "?F←┘E+Fi→V←┘"XD(m),≤0=>αC→D(Deg)="?G←┘If G>0:Then "YD(m)= "?H←┘Pol(G-E,H-F):Cls←┘J<0=>J+360→J:J→S←┘"DIST C→D(m)=":I◢"αC→D(DMS)=":S▶DMS◢Else "αC→D(Deg)="?S:IfEnd←┘Else If R>180:Then R-180→S:Else R+180→S:IfEnd←┘IfEnd←┘∑y→M←┘For 1→I To N←┘If I=1:Then R+List X[I]→L:Else L+List X[I]→L:IfEnd←┘If L>180:Then L-180→L:Else L+180→L:IfEnd←┘Nent←┘3600(L-S)→T←┘"α CLOSE ERROR(S)=":T◢40→W←┘Abs(T)>W=>"α CLOSE ERROR OVRE!"←┘-T÷N÷3600→P:0→O←┘For 1→I To N←┘If I=1:Then R+List X[I]+P→L←┘Else L+List X[I] +P→L:IfEnd←┘If L>180:Then L-180→L:Else L+180→L:IfEnd←┘If I<N:Then List Y[I]<L→Z[I] :Z[I]+O→O:IfEnd←┘Nent←┘3600(L-S)→T←┘"CHECK α CLOSE ERROR(S)=":T◢U+O-V→O←┘Int(M÷Abs(O))→K←┘"DELTA X(m)= ":ReP(O)◢"DELTA Y(m)= ":ImP(O)◢"RELAT CLOSE ERROR=1÷":K◢K<4000=>"RELAT CLOSE ERROR OVER! "←┘For 1→I To N-1←┘Z[I]-OList Y[I]÷M→X←┘If I=1:Then U+X→Y:Else Y+X→Y:IfEnd←┘Norm 1:"POINT n=":I◢Fix 3:"X(m)= ":ReP(Y)◢"Y(m)= ":ImP(Y)◢Nent←┘Y-V→Q←┘"CHECK X (m)= ":ReP(Q)◢"CHECK Y (m)= ":ImP(Q)◢Goto E←┘Lb1 1:"NO DIRECT TRA VE"◢"ANGLE NUM=":N-1◢"SIDE NUM=":N◢"UNKNOWN P NUM=":N-1◢"XA(m)= "?A:"YA(m)= "?B←┘"XB(m)= "?C:"YB(m)= "?D←┘A+Bi→U:C+Di→V←┘0→H:U+List Y[1]<H→Z[1]←┘For 1→I To N-1←┘H+List X[1]→H←┘If H>180:Then H-180→H:Else H+180→L:IfEnd←┘以下未完程序由读者完成。
5800计算器公路全线坐标正、反算计算程序正算主程序(ZS)Lb1 0FIX4:?S:?Z:Prog “PM-SJ”:Abs(S-O) → W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F(需要时可以让他显示,不要时不必输入):Prog“SQX-SJ”: Prog“SQX”:“H=”:H◢Goto 0反算主程序(FS)正算子程序(SUB1):(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+F WD))+Acos(G+QEMW(C+MWD))) → X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+F WD))+Asin(G+QEMW(C+MWD))) → Y:G+QEW(C+WD)+90→ F:X+ZcosF→ X:Y+ZsinF→ Y反算子程序(SUB2):Abs((Y-V)cosT-(X-U)sin(T)) → W:0→ Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cosL-(I-X)sinL → Z:ifAbsZ<1E-6:thenGoto1:ElssW+Z → W:Goto 0:IfEnd←┘:0→ Z:Prog "SUB1":(J-Y)÷sinF→ Z子程序(平面线形数据库)PM-SJ1÷P→ CG-90→TLbl 1ifS ≥500(线元起点里程)AndS<769.256(线元止点里程):Then19942.837 →U (线元起点X坐标):28343.561 →V(线元起点Y坐标):500 →O(线元起点里程):125°16°31°→G(线元起点方位角):269.265 →H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q (线元左右偏标志:左负右正):IfEnd←┘ifS ≥769.256(线元起点里程)AndS<806.748(线元止点里程):Then19787.34 →U (线元起点X坐标):28563.378→V(线元起点Y坐标):769.256→O(线元起点里程):125°16°31°→G(线元起点方位角):37.492→H(线元长度):10^(45)→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥806.748(线元起点里程)AndS<919.527(线元止点里程):Then19766.566→U (线元起点X坐标):28594.574→V(线元起点Y坐标):806.748→O(线元起点里程):120°25°54.07°→G(线元起点方位角):112.779→H(线元长度):221.75→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥919.527(线元起点里程)AndS<999.812(线元止点里程):Then19736.072 →U(线元起点X坐标):28701.893 →V(线元起点Y坐标):919.527→O(线元起点里程):91°17°30.63°→G(线元起点方位角):80.285→H(线元长度):221.75→P(线元起点曲率半径):9579.228→R(线元终点曲率半径):-1→Q (线元左右偏标志:左负右正):IfEnd←┘ifS ≥999.812(线元起点里程):Then19744.038 →U(线元起点X坐标):28781.659→V(线元起点Y坐标):999.812→O(线元起点里程):80°40°50°→G (线元起点方位角):100→H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘子程序(竖曲线数据库)SQX-SJifS≤999.812(竖曲线终点里程):then0.0357(前坡度:上坡正下坡负)→E:0.0227(后坡度:上坡正下坡负)→F:600→R(竖曲线半径):780→G(变坡点里程):110→C(变坡点高程):IfEnd←┘子程序(竖曲线计算公式)SQXE-F→J:ifJ>0:then-R→R:ElssR→R:Abs(R*J÷2)→T:IfEnd←┘ifS≤G-T:thenG-S→L:C-LE→H:IfEnd←┘ifS>G-T And S≤G:thenG-S→L:(S+T-G)²÷2÷R→N:C-LE+N → H:IfEnd←┘ifS>G And S≤G+T:then S-G→L:(G +T- S)²÷2÷R→N:C+LF+N → H:IfEnd←┘ifS>G+T :thenS-G→L:C+LF → H:IfEnd←┘三、使用说明1、规定(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
5800直线、圆曲线缓和曲线、坐标计算CASIO fx—5800计算器工程测量与公路测量程序1、坐标正算"X0=″?X:"Y0=″?Y:"I=″?I:"J=″?JX+ICos(J)→U:Y+ISin(J)→V"X=″:U (待求点的X坐标)"Y=″:V (待求点的Y坐标)说明:X0 Y0:已知点坐标I:两点的距离J:方位角2、坐标反算Lbl 0"X1=″?X:"Y1=″?Y:"X2=″?U:"Y2=″?VPol(U-X,V-Y):J<0 J+360→J"I=″:I"J=″:J DMSGOTO 0说明:X1Y1:第一点的坐标,X2Y2第二点的坐标,I:两点的距离,J:方位角3、圆曲线"X0=″?X: "Y0=″?Y:"FWJ=″?D:"QDHAO=″?G: "ZDHAO=″?C: "R=″?R Lbl 1"DQHAO=″?LL<G Or L>C GOTO 2"PY=″?K180(L-G)÷(πR) →E2RSin(0.5E) →FReC(Abs(F),D+0.5E):Cls"X=″:X+I+KCos(D+E+90) →A"Y=″:Y+J+KSin(D+E+90) →BD+E→o:o<0 360+o→0o"FWJ=″:o DMSGoto 1Lbl 2"END″说明:X0Y0:起始点的坐标,FWJ:起始点的方位角,QDHAO:起点里程,ZDHAO 终点里程,R:半径,DQHAO:待求点里程,PY:偏移量4、竖曲线"QZHAO =″?J: "H+B″=?B:"I1=″?C:"I2=″?D:"R=″?R:"T=″?T:((D-C)÷100) ÷Abs((D-C) ÷100)→A:Abs(0.5R(D-C) ÷100)→S"T″:SJ-T→XJ+T→YLbl 0"DQ=″?LIf L<X:Then Goto 1:Else If L>Y:Then Goto 1:If End:If End"GC=″:B+C(L-J) ÷100+A(L-J+T) ÷(2R) →HGoto 0Lbl 1"END″说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。
卡西欧5800程序(修改于湘桂)R(主程序,通过里程求中桩、边桩坐标,在输入测站坐标后并求极坐标放样要素)1→M :“NEWZ CIRCLE”?M : If M=-1: Then “JD”?U :“1-TR-1-TL” ? N : “AT ” ? O : “JX” ? S : “JY ” ? P : “L0 ” ? H : “R” ? R : “ZJ” ? A : IfEnd↙“OPP NAME ”?W : If W=-1 : Then “OPPX”?B : “OPPY”?C : Else Prog“CONTREL”:IfEnd↙Lbl 0: “C”?K : If Int(K÷1000)>0 : Then Int(K÷1000)→V :Else “V”?V :K+1000V→K:IfEnd↙If M=1:Then Prog“CIRCLE” IfEnd↙H÷2-H^(3)÷(240R2)+(R+H2÷(24R))tan(A÷2)→T:πR(A-180H÷π÷R)÷180+2H→L↙U-T→G:K→Q↙If Q≤G+L÷2:Then Q-G→Q: Else G+L-Q→Q: IfEnd↙If Q<0:Then Prog “L”:Goto1: IfEnd↙If Q≤H:Then Q-Q^(5)÷(40R2H2)→X:Q^(3)÷(6RH)-Q^(7)÷(336R^(3)H^(3)) →Y:90Q2÷(πRH) →F: Else 180(Q-H÷2)÷(πR) →F:Rsin(F)+H÷2-H^(3)÷(240R2) →X:R(1-Cos(F))+H2÷(24R) →Y: IfEnd↙Pol(T-X,Y) ↙If K≤G+L÷2:Then O-180-NJ→E:NF+O→F: “F=”:F▲DMS◢ ElseNA+NJ+ O→E: O+NA-NF→F: “F=”:F▲DMS◢IfEnd↙“X=”:S+Icos(E)→X◢“Y=”:P+Isin(E)→Y◢If F<0:Then 360+F→F: IfEnd↙If F≥360:Then F-360→F: IfEnd↙Lbl1: “÷1”?Z: If Z=1:Then Prog “I”: IfEnd↙If Z=2:Then Prog “LD”: IfEnd↙If Z=-1:Then Prog “Q”: “X=”:X◢“Y=”: Y◢IfEnd↙Prog “P”↙Goto 0↙P(子程序,受主程序R调用,求极坐标放样要素:方位角及平距)Pol(X-B,Y-C): “D=”:I◢If J<0:Then 360+J→J: Else 0+J→J: IfEnd↙“AQ=”:J▲DMS◢L(子程序,受主程序R调用,求直线上点位坐标及切线方位角)T-Q→Q:If K<G:Then O+180→E: O→F: “X=”:S+Qcos(E)→X◢“Y=”:P+Qsin(E) →Y◢ Else O+NA→F: “X=” S+Qcos(F) →X◢“Y=”:P+Qsin(F) →Y◢IfEnd↙I(子程序,受主程序R调用,求边桩坐标)“RA”?E:“D”?D:E+F→E: If E≥360:Then E-360→E: IfEnd↙X+Dcos(E)→X: Y+Dsin(E)→Y: “X=”: X◢“Y=”: Y◢E→F↙Q(子程序,受主程序R调用,求副线边桩坐标)“1A”?E:“1D”?D:E+F→E↙X+Dcos(E)→X: Y+Dsin(E)→Y:E→F↙“2R”?E: “2D”?D: E+F→E↙X+Dcos(E)→X: Y+Dsin(E)→Y↙E→F↙LD(子程序,受主程序R调用,通过坐标反求里程和偏距)40→DimZ↙O→Z[1]:U→Z[2]:S→Z[3]: P→Z[4] ↙H÷2-H^(3)÷(240R2)→M: H2÷(24R)-H^(4)÷(2688R^(3))→V:90H2÷(πR)→D:(R+V)Tan(A÷2)+M→T: πRA÷180+H→K:O+NA→J:Prog“JD”:J→Z[21]:U-T+K→Z[22]: S-Tcos(O)→Z[5]:P-Tsin(O)→Z[6]:Z[5]+Mcos(O)+(R+V)cos(O+90N)→Z[7]:Z[6]+Msin(O)+ (R+V)sin(O+90N)→Z[8] ↙H-H^(5)÷(40R2H2)→Z:H^(3)÷(6RH)-H^(7)÷(336R^(3)H^(3))→C: Pol(C,Z):90-J→J:Prog“JD”: O+JN→J:Prog“JD”↙Z[5]+Icos(J)→Z[9]:Z[6]+Isin(J)→Z[10]:S+Tcos(Z[21])→Z[11]: P+Tsin(Z[21])→Z[12] ↙Pol(Z[10]-Z[8],Z[9]-Z[7]):90-J→J:Prog“JD”:J→Z[13] ↙J+(A-2D)N→J: Prog“JD”: J→Z[14] ↙“CEDIAN”◢Lbl 0: ↙“B”?B:If B=0:Then Prog “R”: IfEnd↙“XN=”?X: “YN=”?Y:Pol(Y-Z[8],X-Z[7]) ↙90-J→J: Prog“JD”:J→W:J-Z[13]→J↙Prog“JD”:J→Z[15] ↙W-Z[14]→J↙Prog“JD”:J→Z[16] ↙If N=1:Then Goto 1: IfEnd↙If N=-1:Then Goto 2: IfEnd↙Lbl 1: ↙If Z[15]>180:Then Goto 3: IfEnd↙If Z[16]≤180:Then Goto 5:Else Goto 4 : IfEnd↙Lbl 2: ↙If Z[15]<180:Then Goto 3: IfEnd↙If Z[16] >180:Then Goto 5:Else Goto 4 : IfEnd↙Lbl 3: ↙“H1”◢Pol(Y-Z[6],X-Z[5]):90-J→J: Prog“JD”↙J-Z[1]+90→J: Prog“JD”↙Isin(J)→G↙If G>0:Then 0→L:Goto 6: IfEnd↙If G≤0:Then “DK=”:Z[2]-T+G→Z[19]◢If N=1:Then “LD=”:-NIcos(J)→Z[20]◢Else “LD=”:NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 4: ↙“Y”◢If N=-1:Then 360-Z[15]→Z[15]: IfEnd: “DK=”:Z[2]-T+H+πR(Z[15])÷180→Z[19]◢If N=1:Then “LD=”:-(I-R)→Z[20]◢Else “LD=” :I-R→Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 5: ↙“H2”◢Pol(Y-Z[12],X-Z[11]):90-J→J: Prog“JD”:J→W:Z[21]-90→J: Prog“JD”:W-J→J: Prog“JD”:Isin(J)→G:If G<0:Then 0→L: -G→G↙Goto 7: IfEnd↙If G≥0:Then “DK=”:Z[22]+G→Z[19]◢IfEnd: If N=1:Then “LD=”:-NIcos(J)→Z[20]◢Else “LD=”:NIcos(J)→Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 6: ↙L+G→L:L-L^(5)÷(40R2H2)→Z:L^(3)÷(6RH)-L^(7)÷(336R^(3)H^(3)) →C:Pol(C,Z):90-J→J: Prog“JD”:J→W:Z[1]+WN→J: Prog“JD”:Z[5]+Icos(J)→Z[17]: Z[6]+Isin(J) →Z[18] ↙J+2WN→J: Prog“JD”:J-90→J: Prog“JD”:J→W↙Pol(Y-Z[18],X-Z[17]):90-J→J: Prog“JD”↙J-W→J: Prog“JD”:Isin(J)→G:If Abs(G)>0.001:Then Goto 6: IfEnd↙“DK=”:Z[2]-T+L+G→Z[19]◢If N=1:Then “LD=”:-Ncos(J) →Z[20]◢Else“LD=”:NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙Lbl 7: ↙L+G→L:L-L^(5)÷(40R2H2)→Z:L^(3)÷(6RH)-L^(7)÷(336R^(3)H^(3)) →C:Pol(C,Z):90-J→J: Prog“JD”:J→W:Z[21]-180-WN→J: Prog“JD”↙Z[11]+Icos(J)→Z[17]:Z[12]+Isin(J)→Z[18]:J-2WN→J: Prog“JD”↙J-90→J: Prog“JD”:J→W↙Pol(Y-Z[18],X-Z[17]):90-J→J: Prog“JD”↙J-W→J:Prog “JD”↙Isin(J)→G: If Abs(G)>0.001:Then Goto 7:IfEnd↙“DK=”:Z[22]-L-G→Z[19]◢If N=1:Then “LD=”:NIcos(J)→Z[20]◢Else“LD=”:-NIcos(J) →Z[20]◢IfEnd↙“SD=1,LD≠1”?D:If D=1:Then Prog “SDCQJC”: IfEnd↙Goto 0↙JD(子程序,受LD程序调用,计算角度归化值)If J<0:Then J+360→J: IfEnd↙If J≥360:Then J-360→J: IfEnd↙CIRCLE(子程序,线路平面曲线要素,受主程序R调用)If K≤缓直点里程:Then 交点里程→U:交点X坐标→S:交点Y坐标→P:转角值→A:-1(曲线段左偏)或1(曲线段右偏)→N:圆曲线半径→R:缓和曲线长→H:直线段起始方位角→O:Goto 1: IfEnd↙If K≤……(同上输完全部曲线要素为止)Lbl 1↙CONTREL(控制点坐标数据库子程序,受主程序R和ZBFS调用)If W=控制点点号:Then 控制点X坐标→B:控制点Y坐标→C: IfEnd↙If W=……(同上输完全部控制点数据为止)ZBFS(主程序,求两已知点方位角及平距,或已知两点求后方交会点坐标)Lbl 0:1→W: “NEW OPP”?W:If W=1:Then “OPPX”?X: “OPPY”?Y:Else Prog “CONTREL”:B→X:C→Y: IfEnd↙Lbl 1:-1→W: “NEW CPP”?W: If W=-1:Then “CPPX”?S: “CPPY”?T: Else Prog “CONTREL”:B→S:C→T: IfEnd↙Pol(S-X,T-Y): “D=”:I◢If J<0:Then J+360→J: Else 0+J→J: IfEnd↙“AQ=”:J▲DMS◢Lbl 2:0→W: “ZBFS=0,SQS≠0”?W:If W=0:Then Goto 1: Else Prog “SQS”: IfEnd↙Goto 0↙SQS(子程序,受主程序ZBFS调用,通过角度边长求交会点坐标值)Lbl 0: “S1=”?A: “J1=?M: “J2=”?N: “S2=?D:N-M→Q: If Q <0:Then Q+360→Q: IfEnd↙If Q<45°0′0″:Then “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙√(A2+D2-2ADos(Q))→E: “S3=”:E◢If Abs(A-D)≥60:Then “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙If Abs(I-E)<0.01:Then cos-1((A2+E2-D2)÷(2AE))→R: cos-1((D2+E2-A2) ÷(2DE))→G: Else “ERROR PLEASE REPEAT”◢Goto 0: IfEnd↙If J<0:Then J+360→J:IfEnd↙(X+Acos(J+R)+S+Dcos(J+180-G))÷2→F: “X=”:F◢(Y+Asin(J+R)+T+Dsin(J+180-G))÷2→P: “Y=”:P◢SQX(主程序,竖曲线求线路各里程点中桩设计高程)1→S:“NEWZ SQXK”?S: If S=-1:Then ?U:?R:?T:?N:?I:?F: “HB”?B: IfEnd↙Lbl 0: “C”?K : If Int(K÷1000)>0 : Then Int(K÷1000)→V :Else “V”?V :K+1000V→K:IfEnd↙If S≠-1:Then Prog “SQXK”: IfEnd↙U-T→G:K→Q: If Q≤G:Then Q-U→Q: Else Q-G→W: IfEnd↙If Q≤G:Then “H=”:B+QN÷1000→H◢Goto 1↙Else If Q≤U+T:Then “H=”:B+(Q-U)N÷1000+FW2÷(2R)→H◢Goto 1↙Else If Q≥U+T:Then “H=”:B+(Q-U)I÷1000→H◢Goto 1:IfEnd↙Lbl 1: “P”?P: “O=”:H-P→O◢Goto 0↙SQXK(子程序,受主程序SQX调用,竖曲线要素)If K≤竖曲线圆直点里程:Then 变坡点里程→U:变坡点设计高程→B:竖曲线圆曲线半径→R:竖曲线切线长→T:竖曲线直线段坡度常数(上、下坡有正负之分)→N:变坡点常数(凸为-1,凹为1)→F: Goto 0: IfEnd↙If K≤……(同上输完全部竖曲线要素为止)Lbl 0↙SDCQJC(子程序,受LD程序调用,采集隧道支护位置坐标高程数据一次性计算出该支护位置的超欠挖量)40→DimZ↙Lbl 0:Z[19]→Z[23]:Prog “SQXZ”↙Z[24]-Z[27]→Z[30]: Z[23]→Z[31] ↙If Z[31]≤Z[30]:Then Z[31]-Z[24]→Z[31]:Else Z[31]-Z[30] →Z[32]: IfEnd↙If Z[31]≤Z[30]:Then Z[25]+(Z[31])×(Z[28])÷1000→Z[33]: Goto 1↙Else If Z[31]≤Z[24]+Z[27]:Then Z[25]+(Z[31]-Z[24])×(Z[28])÷1000+(Z[29])×(Z[32])2÷(2×Z[26])→Z[33]: Goto 1↙Else If Z[31]≥Z[24]+Z[27]:Then Z[25]+(Z[31]-Z[24])×I÷1000→Z[33]: Goto 1: IfEnd↙Lbl 1: “H0=”:Z[33]+内轨面至圆心高差常数→Z[33]◢“HN”?K: “Δh=”:K-Z[33]→Z[34]◢If Z[20]≥隧道中心线与设计中心线的偏移量ω:Then Z[20]-ω→Z[35]:Else ω- Z[20]→Z[35] : IfEnd↙“RN=”:√((Z[34])2+(Z[35])2)→Z[36]◢“R0”?Z: “RCQ=”: Z[36]-Z→Z[37]◢SQXZ(子程序,受主程序SDCQJC调用,竖曲线要素)40→DimZ↙If Z[23]≤竖曲线圆直点里程:Then 变坡点里程→Z[24]:变坡点设计高程→Z[25]:竖曲线圆曲线半径→Z[26]:竖曲线切线长→Z[27]:竖曲线直线段坡度常数(上、下坡有正负之分)→Z[28]:变坡点常数(凸为-1,凹为1)→Z[29]:IfEnd↙If Z[23]≤……(同上输完全部竖曲线要素为止)Lbl 0↙。
5800计算器公路坐标计算程序(全线)原4850程序改编Lb1 1”K”?K:”W”?W:”O”?O:”I”?IIF K<41490.879:Then 40776.825→A: 41490.879→ B: 3761346.715→ M: 505279.147→N:166°45′36.3″→F: 1/1045→D:1/1045→E :Goto 0 :Return:IfendIF K<41690.879:Then 41490.879→A: 41690.879→ B: 3760651.641→ M: 505442.686→N:166°45′36.3″→F: 1/1045→D:1/1000→E :Goto 0 :Return:IfendIF K<42242.154:Then 41690.879→A: 42242.154→ B: 3760455.626→ M: 505481.961→N:172°29′22.78″→F: 1000→ R:Goto 2: Return:IfendIF K<42442.154:Then 42242.154→A: 42442.154→ B: 3759916.982→ M: 505403.549→N:204°04′31.62″→F: 1/1000→D: 1/1045→E: Goto 0 : Return:IfendIF K<42673.884:Then 42442.154→A: 42673.884→ B: 3759740.299→ M: 505310.019→N :209°48′18.1″→F: 1/1045→D: =1/1045→E :Goto 0 : Return:IfendIF K<42863.884:Then 42673.884→A: 42863.884→ B:3759539.223→ M:505194.838→N:209°48′18.1″→F:-1/1045→D:-1/800→E:Goto 0 : Return:IfendIF K<43636.692:Then 42863.884→A: 43636.692→ B:3759370.853→ M:505107.051→N:203°00′04.15″→F:R=-800:Goto2 : Return:IfendIF K<43826.692:Then 43636.692→A: 43826.692→ B:3758630.216→ M: 505167.591→N:147°39′10.35″→F: -1/800→D:E=-1/1045→E :Goto 0 : Return:IfendIF K<44825.092:Then 43826.692→A: 44825.092→ B:3758478.338→ M: 505281.555→N:140°50′56.4″→F:-1/1045→D:-1/1045→E: Goto 0 : Return:IfendIF K<45025.092:Then 44825.092→A: 45025.092→ B:3757704.093→ M: 505911.911→N:140°50′56.4″→F: 1/1045→D:1/1000→E:Goto 0 : Return:IfendIF K<45300.109:Then 45025.092→A: 45300.109→ B:3757544.945→ M: 506032.892→N:146°34′42.88″→F:R=1000:Goto 2 : Return:IfendIF K<45500.109:Then 45300.109→A: 45500.109→ B:3757297.588→ M: 506151.102→N:162°20′09.32″→F: 1/1000→D: 1/1045→E :Goto 0 : Return:IfendIF K<45805.835:Then 45500.109→A: 45805.835→ B:3757103.485→ M: 506198.937→N:168°03′55.8″→F: 1/1045→D:1/1045→E: Goto 0 : Return:IfendIF K<45980.835:Then 45805.835→A: 45980.835→ B:3756804.367→ M: 506262.160→N:168°03′55.8″→F: -1/1045→D: -1/1000→E:Goto 0 : Return:IfendIF K<46136.333:Then 45980.835→A: 46136.333→ B:3756634.336→ M: 506303.312→N:163°03′07.63″→F:R=-1000:Goto 2 : Return:IfendLb1 0(E-D)÷(Abs(B-A)) →P:Abs(K-A) →Q:F+(PQ+2D)Q×90÷∏→JF+(PQ÷4+2D)Q×45÷(2∏) →GF+(3PQ÷4+2D)Q×135÷(2∏) →HF+(PQ÷2+2D)Q×45÷∏→S:M+Q÷12×(COS F+4(COS G+COS H)+2COS S+COS J) →X▲N+Q÷12×(SIN F+4(SIN G+SIN H)+2SIN S+SIN J) →Y▲GOTO 3LbI 2F+ABS(K-A)*180/(∏R) →JM+R(SIN J-SIN F) →X▲N-R(COS J-COS F) →Y ▲GOTO 3LbI3If W=0:Then Goto 1 :Else Goto 4:IfEndLb14X+ O COS(J-180+W) →Z▲Y+ O SIN(J-180+W) →Z▲X+I COS(J+W) →Z ▲Y+I SIN(J+W) →Z ▲Goto 1:”OK”说明:“YJ”为右交角,当它输入为0时,只计算中桩坐标。
卡西欧5800程序(完整版)Lbl 31If A>P-T+L:Then P-T+S-B-I^Z: Else P-T+B+I-Z:IfEndlIf K=l:Then If A<P-T+S-L:Then D-E -> B: Else E-D-B:IfEnd:IfEndlIf K=-l:Then If A<P-T+S-L:Then E・D - B: Else D ・E- B:IfEnd:IfEndFSHHQX1Z[5]->X:Z[6]->Y:Z[l]+90K->JlProg " HHQX u IX—Z[3]:Y—Z[4]lRYJ+2Fr+90K—JlProg " XZBH " IX—G:Y—Z1Z[3]->X:Z[4]->Y IProg、' DOTLINE u JDZBProg ” QDZB IZ[5]-Z[3]:Z[6]-Z[4] IIf O=-l:Then P-T+S—A: Prog n QDZB n :Z[3]^Z[5]:Z[4]^ Z[6]: Else Z[l]+90K+K(L^(6R))r^J:L-L A34-(9eR2)^C: Prog ”XZBH ” "End I(Z[6]-Y+Xtan(Z[2])-Z[5]tan(Z[l]))^(tan(Z[2])-tan(Z[l]))->G ItanZ[2](G-X)+Y->ZlProg n FWJ HZFXZ If M=6:Then Prog " ZSPD " : Else Prog n FSTJ n :IfEndFSLINE Prog ” QDZB IX—G:Y—Z:J—NlProg M FWJ H IN—J:F-J—FlIcos(F)-GlIf G<D:Then If A>P-T+S-L:Then P・T+S+G—Z:Isin(F)-B:Else P-T-G^Z:-Isin(F)^B:IfEnd :1-A:2-O: Else 0-A:IfEndXZBHX+Ccos(J)^XlY+Csin(J)-YHENG PO If A<P-T+L-Z[10] :Then Z[8]->V:Gotol:IfEndlE:Z[8] + (A-P+T-L+Z[10])E->V: Goto l:IfEndlIf A<P-T+S-L:Then Z[9]^V:Goto l:IfEndlIf A<P-T+S-L+Z[10]:Then (Z[8]-Z[9])vZ[10]->E:Z[9] + (A-P+T-S+L)E->V: Goto l:IfEndlZ[8]->V ILbl 1GAO CHENG……(交点桩号)-0:……(交点高程)-D:……(小桩号坡度)-N:……(切线长度)-G:……(圆曲线半径)-R I If A<O-G:Then 0^K: Goto l:IfEndlIf A<O+G:Then 1-K: Goto l:IfEndl(K=0为直线、K=1为凸圆、K二・l为凹圆)……(同上)Lbl l:Prog " HENG PO " IK ( A6G ) 2+(2R)-P ID+N(A-O)-P+WV^Fl FWJJS (测回法测坐标)A 1 XA u:B ” YA n :C H XB ':D " YB 1: K H CHANG DU ” :G11JIAO DU 11I=0:J=0:Pol(C-A,D-B):J<0 J=J + 360zlE=J+GlJ " FWJ 1X"X " =A+KcosE,Y ' Y n二B+KsinE,”END M说明:H JIAO DU ”顺时钟为正、逆时针为负,“ XA “、' YA ”为测站点坐标.”XB“. ”YB”为后视点坐标,“X”. “Y”为前视即待测点坐标," CHANG DU ”为测站点到待测点距离。
FX5800计算器测量程序集2.4 版一、程序功能主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本优化:1、优化程序语句、2、以复数形式输入变量及做数据库,取消原矩阵数据库;3、修改隧道超欠挖程序为通用形,不受圆心个数限制、4、新增测量资料表计算二、源程序(绿色为程序名;蓝色为输入计算器内容)紫色为新版改动处(可以根据自己标段情况用相关主程序及子程序,再在0程序中汇总)0.汇总程序(1、坐标计算放样程序(1XY、A、AB、HX、JS、DX、QX、F、XY、X1);2、坐标反算程序(2ZD、A、B、AB、HX、QX、F、ZD、X1);3、高程计算查阅程序(3GC、H、I、QX、S1、I1);4、路基半幅标准宽度查阅程序(4GD、C、QX、G1);5、路基边坡及开挖口放样程序(5BP、A、B、AB、HX、H、I、C、JS、DX、QX、F、ZD、X1、S1、I1、G1、W1);6、路基标准距离放样(6FM、A、AB、HX、H、I、JS、DX、QX、F、XY、X1、S1、I1);7、桥梁锥坡计算放样程序(7ZP、A、AB、HX、C、JS、DX、QX、F、XY、X1、G1);8、极坐标计算程序(8JS、JS、DS);9、隧道超欠挖计算程序(A、B、AB、HX、H、I、QX、S、SD、F、ZD、X1、S1、I1、SD1)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。
输入-2,返回选择线路。
程序名:0(数子0)ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY":WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":WhileEnd: While Z[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”:计算内程序排例:0、01(测量资料专用)、1SC(水准测量用)、1XY、2XY-S(由坐标计算面积)、2ZD、3GC、4GD、5BP、6FM、7ZP、8JS、9S D、A、AB、B、B6(测量表格检表6)、B7(检表7)、B8(检表8)、B 9(检表9)、C、DX、DX0、F、G1、H、HX、I、I1、JS、M(度分秒转十进制)、QX、S、S1、SD0、SD1、T、W1、X1、XY、XYH(五点通线元法计算坐标)、ZD程序内容无电子版。
CASIO fx—计算器工程测量与公路测量程序CASIO fx—5800计算器工程测量与公路测量程序CASIO fx—5800计算器工程测量与公路测量程序1、坐标正算"X0=″?X:"Y0=″?Y:"I=″?I:"J=″?JX+ICos(J)→U:Y+ISin(J)→V"X=″:U (待求点的X坐标)"Y=″:V (待求点的Y坐标)说明:X0 Y0:已知点坐标I:两点的距离J:方位角2、坐标反算Lbl 0"X1=″?X:"Y1=″?Y:"X2=″?U:"Y2=″?VPol(U-X,V-Y):J<0 J+360→J"I=″:I"J=″:J DMSGOTO 0说明:X1Y1:第一点的坐标,X2Y2第二点的坐标,I:两点的距离,J:方位角3、圆曲线"X0=″?X: "Y0=″?Y:"FWJ=″?D:"QDHAO=″?G: "ZDHAO=″?C: "R=″?RLbl 1"DQHAO=″?LL<G Or L>C GOTO 2"PY=″?K180(L-G)÷(πR) →E2RSin(0.5E) →FReC(Abs(F),D+0.5E):Cls"X=″:X+I+KCos(D+E+90) →A"Y=″:Y+J+KSin(D+E+90) →BD+E→o:o<0 360+o→0o"FWJ=″:o DMSGoto 1Lbl 2"END″说明:X0Y0:起始点的坐标,FWJ:起始点的方位角,QDHAO:起点里程,ZDHAO终点里程,R:半径,DQHAO:待求点里程,PY:偏移量4、竖曲线"QZHAO =″?J: "H+B″=?B:"I1=″?C:"I2=″?D:"R=″?R:"T=″?T:((D-C)÷100) ÷Abs((D-C) ÷100)→A:Abs(0.5R(D-C) ÷100)→S"T″:SJ-T→XJ+T→YLbl 0"DQ=″?LIf L<X:Then Goto 1:Else If L>Y:Then Goto 1:If End:If End"GC=″:B+C(L-J) ÷100+A(L-J+T) ÷(2R) →HGoto 0Lbl 1"END″说明:QZHAO:曲中点里程,H+B:曲中点高程,I1:第一坡度,I2:第二坡度,R:半径,T:切线长,DQ:待求点里程。
CASIO fx-5800测量计算器实用程序一、概述近年来,我国的公路建设事业飞速发展,在今后一段时期仍将持续稳定发展。
测量放样工作做为公路工程施工中的一个重要环节,既要保证公路路线符合设计的要求,又要确保施工中不发生任何差错。
如何能高效、准确的完成测量放样工作,在测量仪器有限的情况下,能够快速、简便、精确的计算出各测量要素,是提高测量放样工作效率的关键所在。
现阶段卡西欧fx4800计算器做为一种普遍的测量辅助计算工具被广泛应用,现就测量放样工作中,利用卡西欧fx4800计算器计算各测量要素的一些编程方法,经本人总结、简化后,与大家共同讨论学习。
二、各输入符号所代表的含义X0?Y0?输入测站点X、Y坐标A?输入转角:左转为负,右转为正R?输入圆曲线半径LS?输入缓和曲线长度JD?输入交点桩号JJ?输入边桩与中线的斜交角度,正交输90°N?E?输入交点X、Y坐标F?输入路线方位角K?输入所求点的桩号W?输入到中线的边桩距离Defm 计算器扩充字节LblGoto◢显示X∧Y X的Y次方,即X y三、具体编程步骤1 7→DimZ:“X0”?T:“Y0”?G:?A:?R:“LS”?C:“JD”?D:“JJ”?H2 C∧2/24/R-C∧4/2688/R∧3→P3 90C/兀/R→B4 C/2-C∧3/240/R∧2→Q5 (R+P)tan(AbsA/2)+Q→Z[1]6 (R+P)/cos(A/2)-R→Z[2]7 ((AbsA)-2B)兀R/180+2C→Z[3]8 D- Z[1]→Z[4]9 Z[4]+C→Z[5]10 Z[4]+ Z[3]/2→Z[6]11 Z[4]+ Z[3]-C→Z[7]12 Z[4]+ Z[3]→M13 ?N:?E:?F14 If A<0:Then--1→S:Else1→S:IfEnd15 F+A/2+90S →U18 E+VsinU →O19 Lbl 120 ?K21 If K≤Z[4]:Then Z[1]+ Z[4]-K→L22 F+180 →V23 F →U24 Goto 2:IfEnd25 If K≤Z[5]:Then K- Z[4]→L26 L-L∧5/(90R∧2C∧2) →V27 30L∧2S/(兀RC) →L28 F+180 →P29 F+L→Q30 F+3L →U31 Goto 4:IfEnd32 If K≤Z[7]:Then F+A/2+90S+180+180(K- Z[6])S/R/兀→L33 L+90S →U34 Goto 5: IfEnd35 If K≤M: Then M-K→L36 L-L∧5/(90R∧2C∧2) →V37 30SL∧2/(兀RC) →L38 F+A →P39 F+A+180-L→Q40 F-3L+A →U41 Goto442 If K>M: ThenK-M+ Z[1] →L43 F+A →U44 U →V45 Goto 2: IfEnd46 Lbl 247 N+LcosV →X48 E+LsinV→Y49 Goto 350 Lbl 351 ?W52 “X=”:X+Wcos(U+H) →X◢53 “Y=”:Y+Wsin (U+H) →Y◢53-1 Pol((X-T),(Y-G)):If J<0:Then J+360→J:Else J→J:IfEnd 53-2 “FWJ=”:J▼DMS ◢53-3 “S=”: I◢54 Goto 155 Lbl 456 N+ Z[1]cosP+VcosQ →X57 E+ Z[1]sinP+VsinQ→Y58 Goto 359 Lbl 562 Goto 3四、步骤阐述(1)为防止已有英文字母不够使用,故先扩充七个字节。
CASIO 5800计算器公路测量计算程序 新版程序把线元法和交点法已经集成在一个模块中了,用户只需修改JD程序和ZA程序中的数据部分即可,其余不需作任何的改动。 2.因为每条路高程计算不尽相同,且比较复杂,现在可利用PC机EXCEL计算好打印成表格带到工地上使用,所以本版程序未对线路高程序进行专门的编程计算,而是利用统计计算模式中来输入桩号(第一列X)及左、右高程(第二、三列Y,Freq),这种输入数据的方式最为直观,易发现错误,也易修改,输入完毕后运行S程序对数据按桩号进行排序,在程序中通过调用GG程序来进行内插计算,SG=-1得左标高,SG=1得右标高(若SG输入0,则可进行一般的线性内插计算)。 3.在JD程序和XY程序中,先将一个计算单元的数据置入矩阵F中(1行8列或1行9列),这样程序可读性极好。 4.相比原CASIO4850程序操作习惯,作了一点小小的改动,测站坐标存在Z[10],N中,X坐标原存在M中容易被误操作修改,而设计标高存在M中,这样易于修改,因为CASIO5800没有IN,OUT功能,很不方便。 4.程序利用Z[2]变量值来判断是采用交点法还是线元法模型计算,Z[2]=0为线元法,否则为交点法。 一、PQX程序:计算中边桩坐标及近似的桩号反算,在运行模式直接调用。 ① Z[10]→S:”XO”?S:S→Z[10]:”YO”?N:Prog “AU” ② Lbl 2:?L:Prog “Z”:Prog “E”:1n→O:90→S ③ Lbl 4:”JJ”?S:”YC”?O:SO=0 =>Goto 2‘原来lbl 后没有标号4的。 ④ O=-1 =>Goto 6 ⑤ “X,Y”:R+OCos(Z+S)→X▲U+OSin(Z+S)→Y▲Prog “D”:Goto 4 ⑥ Lbl 6:Z[7]→X:Z[8]→Y:”XF”?X:”YF”?Y:XY=0 =>Goto 4 ⑦ X→Z[7]:Y→Z[8]:Pol(X-R,Y-U+1p):Z+S-J→J:”YC,DL,L”:ICos(J)→O▲ISin(J)→I▲L+I▲Goto 6 二、P程序:在程序中提供一个自由运算的模式。 ①Lbl 1:”TMP”?I:If I≠0:Then “RST”:I▲Goto 1:IfEnd 二、LYC程序:进行桩号反算及边坡放样,在运行模式直接调用。 ①Prog “AU” ②Lbl 1:Z[7]→X: Z[8]→Y: Z[6]→S: ”XF”?X :X→Z[7]:”YF”?Y:Y→Z[8]: ”ZF”?S: S→Z[6] ③Lbl 2:Prog “Z”:Y=U =>Y+1p→Y ④Pol(X-R,Y-U):J-Z→J:Isin(J)→O:Icos(J)→I ⑤If Abs(I)≤0.1:Then Prog “E”:”L,YC”:L+I→L▲O▲Goto 3:IfEnd ⑥If Z[9]≠0:Then Pol(Z[9]-SO,I):πJZ[9]÷180→I:IfEnd ⑦”DL”:I▲L+I→L:Goto 2 ⑧Lbl 3: Z[6]→S:If S=0:Then Goto 1:IfEnd ⑧ M→Z ⑨ Lbl 4:”SG”?Z:Z→M:If Abs(Z)=1: Then Prog “GG”:Y→Z:If X=1:Then X→Z:IfEnd:Z→M:IfEnd ⑾If Z=0:Then Z[11]→C:Z[12]→D: Z[13]→E: Z[14]→F:”LA”?C:C→Z[11]: ”HA”?D:D→Z[12]: ”LB”?E:E→Z[13]: ”HB”?F:F→Z[14]:D+(E-C)-1(F-D)(L-C)→Z:Z→M:IfEnd ⑿Lbl 5:”SG”:Z:”TW”:Z-S→C▲:Z[3]→P: Z[4]→Q: :Z[5]→T:”YC0”?P:P→Z[3]: :”HC0”?Q:Q→Z[4] :”M”?T:T→Z[5]:O÷Abs(O)→I:”BL”:I(P+TC(C+Q)÷Abs(C))→U▲”DB”:IU-IO→J▲ Ans→I:Prog “P”:Goto 1 四、I程序:通过手工方式输要素 ①Z[2]=0 =>Goto 2 ②Z[1]→R:Z[2]→U:”JL”?K:”JX”?G:”JY”?H:”JA”?V:”JJ”?W:”R”?A:”LS”?B:”L1”?R:”L2”?U:R→Z[1]:U→Z[2]:ReTurn ③Lbl 2:”L0”?K:”X0”?G:”Y0”?H:”A0”?V”:”L1”?F:”L-0 Z=-1 Y=1”?W:W=0 =>ReTurn ④”R0”?A:”R1”?B 五、D程序:根据测站点的坐标及放样点的坐标计算水平距离及方位角 ①Y=N =>Y+1n→Y ②Pol(X-Z[10],Y-N):J<0 =>J+360→J ③”A,D”:J→DMS▲I▲ 六、E程序:桩号出界判断 ①Z[2]=0 =>Goto 2 ②If L>Z[2]: Then “>L2”:L▲IfEnd ③If L④Goto 3 ⑤Lbl 2:If L⑥If L>F:Then “>L1”:L-F▲IfEnd ⑦Lbl 3 七、GG程序:用统计数据中桩号,左右高程数据进行内插计算。 ①FreqOff : n→C:FreqOn:If L②If L>maxX: Then “L>maxX”:C-1→I:Goto 8:IfEnd ③For 1→I To C-1 ④If L≤List X: Then Break:IfEnd:Next ⑤Lbl 8 : (L-List X)÷(List X- List X)→J : List Y+J(List Y-List Y)→X : List Freq +J(List Freq -List Freq )→Y 八、S程序:对统计数据列表中数据按桩号进行排序。 ①FreqOff : n→C:FreqOn“WAIT„n=”:Locate 10,1,C ②If C<2 Then Return:IfEnd ③For 1→D To C: D→I: ④For D+1→E To C: ⑤If List X[E]⑥If I≠D: Then List X[D]→F:List X→List X[D]:F→List X: List Y[D]→F:List Y→List Y[D]:F→List Y: List Freq[D]→F:List Freq→List Freq [D]:F→List Freq :IfEnd:Next ⑦Locate 1,2,”minX:”Locate 6,2,minX ⑧Locate 1,3,”minX:”Locate 6,3,maxX 九、X程序:计算缓和曲线坐标增量xx,yy ①AB→U:U÷O→Z[9]:0.5O2÷U→R:O-0.1OR2→I:6-1OR(2-7-1R2)→J:Rr→R 十、JS程序:内插计算的接口程序,在运行模式直接调用。 ①Prog “S” ②Lbl 1:”L=”?L:L=0 =>Return ③Prog “GG”:”X,Y”:X▲Y▲Goto 1 十一、GZW程序:构造物坐标放样计算,在运行模式直接调用。 ①Z[10]→S:”XO”?S:S→Z[10]:”YO”?N:0→T ②Lbl 1;”X0”?R:”Y0”?U:”A0”?Z:IF Z=-1 :Then “A0,DD”:J→Z▲I▲IfEnd ③If Z=0:Then R→X:U→Y:Prog “D”:Goto 1:IfEnd '在④后增加一句,解决了程序再次运行时,交角的初值被置为测站点的X坐标的BUG. ④O-Z→S:”J0”?S:Z+S→O:”0-XX,YY→X,Y”:”1-X,Y→XX,YY”?T:If T≠0: Then Goto 3:IfEnd ⑤Lbl 2:”XX”?P:”YY”?Q:If PQ=0:Then Goto 1:IfEnd ⑥”X,Y”:R+Pcos(Z)+Qcos(O)→X▲U+Psin(Z)+Qsin(O)→Y▲Prog “D”:Goto 2 ⑦Lbl 3:”XF”?X:”YF”?Y:If XY=0: Then Goto 1:IfEnd ⑧”XX,YY”:((X-R)sin(O)-(Y-U)cos(O))÷sin(S)→P▲((Y-U)cos(Z)-(X-R)sin(Z))÷sin(S)→Q▲ ⑨Goto 3 十二、Y程序:线元法计算匝道坐标 ①L-K→C:If L>F:Then F-K→C:IfEnd ②If W=0 or C<0:Then G+Ccos(V)→R:H+Csin(V)→U:0→Z[9]:Goto 8:IfEnd ③W÷Abs(W)→W:If A=B:Then 0→B:IfEnd ④If B=0:Then (A-1C)r→C:Asin(C)→I:A(1-cos(C))→J:A→Z[9]:Goto 7:IfEnd ⑤A-B→S:B(F-K)÷Abs(S)→R:AR→U:S÷Abs(S)→S:0.5R2÷U→D:R+SC→T: ⑥0.5T2÷U→E:U÷T→Z[9]:T(1-0.1E2+E22÷216-E^(6)÷9360)-R(1-0.1D2+D22÷216-D^(6)÷9360)→I: ⑦3-1(TE(1-E2÷14+E22÷440-E^(6) ÷25200)-RD(1-D2÷14+D22÷440-D^(6) ÷25200))→J:Pol(1n+Abs(I),Abs(J):Rec(I,Abs(J-Dr):Abs(E-D)r→C ⑧Lbl 7:G+Icos(V)-WJsin(V)→R:H+Isin(V)+WJcos(V) →U:V+WC→Z ⑨Lbl 8:If L>F:Then R+Rec(L-F,Z) →R:U+J→U:0→Z[9]:IfEnd 十三、Z程序:交点法计算中桩坐标 ①If Z[2]=0:Then Prog “Y”:Return:IfEnd ②B2÷A÷24→P:0.1B(5-P÷A) →Q:Q+(A+P)tan(0.5Abs(W)) →T:K-T→C:C+B→D:D+πAAbs(W) ÷180→F:F-B→E ③W÷Abs(W)→S:0→Z[9]:If L≤C:Then L-K→O:V→Z:Goto 2:IfEnd ④If L≥F:Then L-F+T→O:V+W→Z:Goto 2:IfEnd ⑤If L≥E:Then F-L→O:Prog ”X”:V+W→O:O-SR→Z:G+(T-I)cos(O)-SJsin(O)→R:H+(T-I)sin(O)+Sjcos(O) →U:Goto 3:IfEnd ⑥If L>D:Then ((L-D+0.5B)÷A)r→O:Q+Asin(O)→I:P+A(1-cos(O)) →J:A→Z[9]:V+SO→Z:Goto 4:IfEnd ⑦L-C→O:Prog “X”:V+SR→Z ⑧Lbl 4:G+(I-T)cos(V)-Sjsin(V)→R:H+(I-T)sin(V)+Sjcos(V)→U:Goto 3 ⑨Lbl 2:G+Ocos(Z)→R:H+Osin(Z)→U ⑩Lbl 3 十四、AU程序: 注:L0-输测段桩号近似值,”AU”子程序根据桩号近似值自动调用曲线要素(包括线元法和交点法要素),Z[2]=0则调用线元法数据,否则为交点法数据 (L0=0-默认为原曲线要素 L0=-1-手工输入曲线要素) ①Cls:” L0= 0-Conti.”:” L0=-1-Input”:If Z[2]=0:Then Locate 13,2,”(XY)”:Else Locate 13,2,”(JD)”:IfEnd ②Z[2]→S:”0-XY E.-JD”?S:S→Z[2]:”L0”?L:If L=0:Then ReTurn:IfEnd ③If L=-1:Then Prog “I”:ReTurn:IfEnd ④If Z[2]=0:Then Prog “ZA”:Else Prog “JD”:IfEnd ⑤Mat F[1,1]→K: Mat F[1,2]→G: Mat F[1,3]→H: Mat F[1,4]→V: Mat F[1,5]→W: Mat F[1,6]→A: Mat F[1,7]→B: If Z[2]=0:Then Mat F[1,8]→F:Else Mat F[1,8]→Z[11]: Mat F[1,9]→Z[12]:IfEnd 十五、JD程序:交点法矩阵每一行数据依次为交点桩号,交点X坐标,交点Y坐标,起始边方位角,偏角,圆曲线半径,缓和曲线长度,计算单元起点,计算单元终点 ①If L<24900: Then “L<minX”:L▲Stop:IfEnd ②If L>30801.27: Then “L>maxX”:L▲Stop:IfEnd ③IF L≤26227.359:Then [[25676.236, 142225.377,504270.949,6°24°59.6°,-70°50°10.6°,770,300.007,24900,26227.359]]→Mat F:Return:IfEnd ④IF L≤27318.276:Then [[27026.458, 142873.016,502918.028,295°34°49.°,-15°31°18.5°,1500,180.003,262