5800计算程序
Fx-5800计算器程序
QXJS-000 主程序
Fix 3:Deg:Lbl 4:“1.SZ=>XY”:“2.XY=>SZ”:“1,2=”? →Q:”LICHENG=”? →S:Prog“QXJSSUB0”↙
Lbl 0:IfQ=1:Then Goto1:IfEnd:IfQ=2:ThenGoto2:IfEnd↙
Lbl 1:”OUT JL=”? →Z: “OUT JD=”?G:Prog“QXJSSUB1”:“XZB=”:N→N◢
“YZB=”:E→E◢
“QXFWJ=”:F→F:F▲DMS◢
Goto4↙
Lbl 2: “XZB=”? →B: “YZB=”? →C:B→N: C→E:Prog“QXJSSUB2”: “LICHENG=”:S →S◢
“OUT JL=”:Z →Z◢
Goto4↙
说明:
Q:代表正反算,其中1为正算,2为反算; S:代表里程; Z:代表偏移距离; G:代表偏移角度(以线路前进方向为X方向,顺时针转为正; N:X坐标; E:Y坐标; F:切线方位角;
QXJSSUB0 (数据库)
Goto1↙
Lbl 1
IF S<157687.528:THEN 2884169.2517→U:471475.6573→V:157547.528→O:98°32′43.08″→A:140→L:10^45→P:10000→R: Return:IfEnd↙
IF S<157993.605:THEN 2884148.1260→U:471614.0539→V:157687.528→O:98°56′46.93″→A:306.0771→L:10000→P:10000→R: Return:IfEnd↙
IF S<158133.605:THEN 2884095.9086→U:471915.6318→V:157993.605→O:100°42′0.22″→A:140→L:10000→P:10^45→R: Return:IfEnd↙
IF S<163641.879:THEN 2884069.2735→U:472053.0744→V:158133.605→O:101°6′4.07″→A:5508.274→L:10^45→P:10^45→R: Return:IfEnd↙
IF S<163781.879:THEN 2883008.7030→U:477458.2815→V:163641.879→O:101°6′4.08″→A:140→L:10^45→P:10000→R: Return:IfEnd↙
IF S<164195.661:THEN 2882981.4268→U:477595.5984→V:163781.879→O:101°30′7.93″→A:413.7833→L:10000→P:10000→R: Return:IfEnd↙
IF S<164335.661:THEN 2882890.5519→U:477999.2492→V:164195.6623→O:103°52′22.82″→A:140→L:10000→P:10^45→R: Return:IfEnd↙
IF S<171831.142:THEN 2882856.3502→U:478135.0069→V:164335.6623→O:104°16′26.67″→A:7495.481→L:10^45→P:10^45→R: Return:IfEnd↙
IF S<171961.1406:THEN 2881008.2613→U:485399.0830→V:171831.1404→O:104°16′26.65″→A:130→L:-10^45→P:-11000→R: Return:IfEnd↙
IF S<172204.6898:THEN 2880976.4567→U:485525.1322→V:171961.1406→O:103°56′7.81″→A:243.5492→L:-11000→P:-11000→R: Return:IfEnd↙
IF S<172334.6898:THEN 2880920.4244→U:485762.1431→V:172204.6898→O:102°40′0.93″→A:130→L:-11000→P:-10^45→R: Return:IfEnd↙
说明:S:里程;157547.528→O为线元终点里程;2884169.2517→U为线元起点X坐标;471475.6573→V为线元起点Y坐标;98°32′43.08″→A线元起点切线方位角;0^45→P线元起点半径(左转为负右转为正);10000→R线元终点半径(左转为负右转为正)
QXJSSUB1 正算子程序
0.5(1÷R-1÷P)÷L→D:S-O→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙
A+(X÷P+DX2)×180÷π→F↙
N+Zcos(F+G) →N:E+Zsin(F+G) →E
Return
QXJSSUB2 反算子程序
Lbl 1:0→Z:1→Q:Prog“QXJSSUB0”: 0.5(1÷R-1÷P)÷L→D:S-O→X↙
U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙
V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙
A+(X÷P+DX2)×180÷π→F↙
N+Zcos(F+90) →N:E+Zsin(F+90) →E:
Pol(N-B+10^(-46), E-C+10^(-46)):Isin(F-90-J) →W:S+W→S↙
IfAbs(W)>0.0001 :Then Goto1:IfEnd↙
Lbl 2: 0→Z:Prog“QXJSSUB1”:(C-E) ÷sin(F+90) →Z
Return
H(高程主程序)
Fix 3:Lb1 3:”LICHENG=”?Z: Prog“SQXZL”:(P-Q)÷Abs(P-Q) →W↙
If Z<(H-T):Then(H-Z)×P→X:Goto 2:IfEnd↙
If Z≥(H-T) And Z<H:Then (H-Z)×P+(Z-H+T)2÷(2WR) →X:Else (H+T-Z)2÷(2WR)-(Z-H)×Q→X: Goto 2:IfEnd↙
Lb1 2:”GAO CHENG=”D-X →X◢
Goto 3
SQXZL(竖曲线数据库)
Goto 1
Lb1 1
If Z≤157893.75:Then 25000→R:93.75→T:157800→H:421.977→D:-0.0045→P:0.003→Q:Return:IfEnd↙
If Z≤159000:Then 25000→R:150→T:158850→H:425.127→D:0.003→P:0.015→Q:Return:IfEnd↙
If Z≤165017.5:Then 25000→R:117.5→T:164900→H:515.877→D:0.015→P:0.0056→Q:Return:IfEnd↙
If Z≤168207.5:Then 25000→R:107.5→T:168100→H:533.797→D:0.0056→P:-0.003→Q:Return:IfEnd↙
If Z≤172175:Then 25000→R:75→T:172100→H:521.797→D:-0.003→P: 0.003→Q:Return:IfEnd↙
说明:157893.75代表竖曲线终点里程,25000→R代表竖曲线半径;93.75→T代表竖曲线切长;421.977→D代表边坡点标高(未改正之前);-0.0045→P代表前段坡度,上坡为正,下坡为负;0.003→Q代表后段坡度,上坡为正,下坡为负;