5800计算程序主程序QXJSLbI0:“1
SZ=>XY”:“2
XY=>SZ”“3
GC=>SQX”:
Q:Q=1=>Goto1:Q=2=>Goto2:Q=3=>Goto3LbI1:“CE:X”
G:“CEY:”
H:Prog“XLXY”:LbIA:“K=”
S:Prog“KM”:“-B,0,B=”
Z:“σ右交角=”
M:Prog“SUB1”:Fix4:Cls“X=”:Locate3,1,N◢“Y=”:Locate3,1,E◢Prog“JI”:GotoALbI2:“X=”
B:“Y=”
C:B→N:C→E:Prog“SUB2”:“K=”:S◢“-B,0,B=”:Z◢Goto0LbI3:0→B:“H-B”
B:B→Z[9]:LbID:Prog“XLXY”:“KM”
Z:Prog“KM”:“-B,0,B”
D:Prog“H”Fix5:“H=”:H-Z[9]→H◢“I=”:I◢GotoD说明:Q:代表正反算及竖曲线,其中1为正算,2为反算;3代表竖曲线;S:代表里程;Z:代表偏移距离;M:代表偏移角度(以线路前进方向为X方向,顺时针转为正;N:X坐标;E:Y坐标;F:切线方位角;SUB1正算子程序0
5(1÷R-1÷P)÷L→D:S-O→XU+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→NV+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→EA+(X÷P+DX2)×180÷π→FN+Zcos(F+M)→N:E+Zsin(F+M)→EReturnSUB2反算子程序Lbl1:0→Z:1→Q:Prog“KM”:Prog“SUB1”Pol(N-B+10^(-46),E-C+10^(-46)):Isin(F-90-J)→W:S+W→SIfAbs(W)>0
0001:ThenGoto1Lbl2:0→Z:Prog“SUB1”:(C-E)÷sin(F+90)→Z次程