" → XY, → SZ "?N:Lbl 1:”S=”?S: Prog "SUB0": N≥2=>Goto 2:
Abs(S-O)→W:”Z=”?Z:Prog "SUB1":
"XS=”:X→X◢"YS=”:Y→Y◢"FS=”:(F-90) →F:F△DMS◢
Lbl 2:”CX=”?X: X→I:”CY=”?Y: Y→J: Prog "SUB2":"S=":(O+W) →S◢"Z=":Z◢
Goto 2
2正算子程序
Lbl 1: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:
→A: →B: →K: →L: (1-L) →F: (1-K)→M:
G+QEKW(C+KWD→Z[1]: G+QELW(C+LWD→Z[2]: G+QEFW (C+FWD) →Z[3]:
G+QEMW(C+MWD) →Z[4]
Acos(Z[1])→X
X+Bcos(Z[2]) →X
X+Bcos(Z[3]) →X
X+Acos(Z[4]) →X
U+WX→X
Asin(Z[1]) →Y
Y+Bsin(Z[2]) →Y
Y+Bsin(Z[3]) →Y
Y+Asin(Z[4]) →Y
V+WY→Y
G+QEW(C+WD)+90→F
X+Zcos(F) →X
Y+Zsin(F) →Y
3反算子程序
G-90→T: (Y-V)cos(T)-(X-U)sin(T) →W:Abs(W) →W:0→Z
Lbl 0:Prog "SUB1"
T+QEW(C+WD) →L: (J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<:Then 0→Z:Prog "SUB1"
(J-Y)÷sin(F)→Z
Else W+Z→W
Goto 0:IfEnd
4 Z-SQX(竖曲线)
O-S→L:A-B→W:Abs(R*W÷2) →T:O-T→M:O+T→P
If S≤M:ThenG-L*B→H:Goto 5:Else If S≤O:Then Goto 3:Else If S≤P:Then Goto 4:IfEnd: IfEnd: IfEnd
Lbl3
If W>0:Then G+(M-S)2÷2÷R-L*B→H:Goto5: Else If W<0: Then G-(M-S)2÷2÷R-L*B→H:Goto5: IfEnd: IfEnd
Lbl4
If W>0:Then G+( S-P)2÷2÷R-L*A→H:Goto 5: Else If W<0: Then G-( S-P)2÷2÷R-L*A→H:Goto 5: IfEnd: IfEnd
Lbl 5 :H→H:”H”:H◢(为所求的高度)
SQX(程序名)
If S<下一竖曲线前变坡桩号And S≥前一竖曲线后变坡桩号:Then大里程坡度→A:小里程坡度→B:交点里程→O:交点高度→G:半径→R:Prog“Z-SQX”:IfEnd
有多个竖曲线,依照上面的依次变更,每多一个,就增加一个。每次只需要修改以上的数据或增加一个判断,子程序不用变动。
SUB0 数据库子程序
Goto1↙
Lbl
5800计算器曲线任意里程坐标正反算 来自淘豆网www.taodocs.com转载请标明出处.