5800交点法正反算程序
If N=1: T hen Goto 5: Else prog
“ Z:SXH”
Goto 6: If end ↙
LbI5: “ X” ?M: “ YP”rog?Z “ FSXH” : Goto 7: If en↙d选择反算后输入测点的 X,Y 假设里 程与正算输入一起,无需另输入 LbI6 : “ W” ?W求边桩输入边距 左=”◢:X显示所求 X 值 Y+WSin(P+90) → Y: “ Y=”◢ :Y显示所求 Y 值 P<0 => P+360 → P: “ FW=◢” :P显示所求点切线方位角 Goto 4 LbI7: “ KCD=” :◢K 显示反算出的里程 “ W=” :W◢ 显示反算出的边距 Goto 4↙
子程序 “C” X+Z[1]*cos( O) →X↙ Y+Z[1]*sin( O) →Y↙ Return↙
圆曲线要素计算子程序 “D” L*180 ÷ ( ∏ R) →↙N 2R*sin(N ÷ 2) → Z[1↙] P+(Abs(S) ÷ S)(N ÷ 2O)↙→ P+Abs(S) ÷ S→↙P Return↙。。。。。
反算循环子程序 “FSXH” LbI 0: prog “ ZSX↙H” PoL((M-X),(Z-Y)) ↙ I*cos(J- P) →N↙ I*sin(J- P) →W↙ If N<0.00 1: Then N+K → K:Return: Else K+N → K:Goto 0: If e↙nd Return↙
主程序 “ZS FS”
20→ Dim Z
“ 1→ NEW,2→ OLD”? Z ↙
IF Z=1:Then Goto 1: Else Goto 2 if end ↙ 选择输入 选一手动输入曲线要数 选二提取数 据库
LbI 1: ” JDX” ?T: “ JDY输”入?交B 点 X,Y
“ T1” ?C: ” T2”输入?D切线 1, 2 的长
子程序正算循环 “ZSXH” R(Abs(S)- 90E÷ ( ∏ R-9) 0F÷ ( ∏ R)) ∏÷ 18↙0→J If K<=( 说明:小于等于号 )E+G+J: Then Goto 1: Else Goto 3: If end↙ LbI1: Q → H:-TC*Cos(H) → X:B-C*Sin(H) → Y:根号 (R ∏ ) →A↙ If K<=G+E:Then K- G→ L:prog “ B” :P → P:prog “ C” :Goto 6: Else E → L: prog “ B” :P → P: prog “ C” :X → X:Y → Y:Goto 2: If end↙ LbI2: K-G- E→ L: prog “ D” :P → P: prog “ C”↙: Goto 6 LbI3: Q+S → H:T+D*Cos(H) → X:B+D*Sin(H) →根Y号: (RF) →A↙ If K<=G+E+J+F: Then G+E+J+F- K→ L: prog “ B”:
“ L1” ?E: “ L2输”入?前F 后缓和曲线的长
“ ZHL” ?G输入直缓里程
“ FWJ” Q输入直缓点切线方位角
“-PJ+” ?S输入偏角左负右正
?R: 输入圆曲线半径
Goto 4↙
LbI2:prog “ SJK” :go↙to 4
LbI4: “ KCD” ?K:↙?N 输入观测点里程 输入 N 值 1 为正算 其他为反算
5800 交点法 正反算 程序
自编 5800 支距及偏角法正反算程序
该程序使用支距偏角法,正算速度一般,反算速度较辛普森公式反算速度稍快
计算范围从直缓到缓直,如若缓直后为直线则无需输入变量直接继续计算
此程序在正算循环里程超限上占用字节较多,适用公路路基临时输入变量放样
运行只需从主程序进入,请各位高手多多指正
子程序 缓和段计算 “B” L- L^(5) ÷ (40A^(4))+L^(9) ÷ (3456A^(8)) ↙ →U L^(3) ÷(6A^(2))- L^(7) ÷ (336A^(6))+L^(11) ÷ (42240A^(10))↙ →(V该公式参照课本) 根号 (U^(2)+V^(2)) →Z[1] ↙ Tan-1(V- U) →N↙ H+Abs(S)*N ÷ S→O↙ H+Abs(S)*90*L^( 2) ÷ (S ∏ A^(2)) →↙P Return
O- 2Abs(S)N ÷ S→O: P-180L^(2)A bs(S) ÷ ( ∏ A^(2)S) → P: -Z[1] → Z[1]: prog “ C” : Goto 6: Else T → X:BO→: Y:H→ D+K-G-E-J- F→ Z[1]: H → P: prog “ C” : Goto 6: I↙f end LbI6: Return