计算器5800编程
计算器5800编程

一、程序功能本程序由6个主程序、5个次子程序及5个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型.二、源程序1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 0:Norm 2F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)Z[1]=90(与路线右边夹角)Prog"THB":F=1=>Goto 1:F=2=>Goto 2Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:”H=”:Locate 6,4,H◢“I=”: Locate 6,4,I◢Goto 03.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:3JSX:Y:1268.123→K(置仪点X坐标)2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)Y-L→E:X-K→F:Pol(F,E):IF J<0:ThenJ+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) F ix 4:” FWJ=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix 3:”S=”:Locate 6,4,I◢4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)程序名:4JH-XYLbI 0:Norm 290→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量)1→F:Prog”THB”:?L:Z[2]-Z[1] →E:X+Lcos(E)→X:Y+Lsin(E) →Y:Fix 3: "X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:5FBXLbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog“THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else If G>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z:LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:Goto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then (N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:Goto Z:Else (N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:”L0=”:L Locate 6,4,T◢"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“TW=”: Locate 6,4,Z[5]◢Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7.坐标计算次程序(THB)程序名:THB18→DimZ:"KM"?Z:Prog "X0"1÷P→C: (P-R)÷(2HPR) →S:180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘Lbl 1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3LbI 3:IF F=1Then X:Y:Else Z:D8. 正算子程序(A)程序名:A0.→A:0.→B:0.→N 0.→K:0.→L:0.5→M: U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X:V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)W S))) →Y:G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X: Y+Dsin(Z[2])→Y9. 反算子程序(B)程序名:BG-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→D:Lbl 0:Prog "A": T+QEW(C+W S) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto1:Else W+D→W:Goto 0←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]) →D:10.高程计算子程序(H)程序名:HProg “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If T=O:Then Q+LI→H:Goto0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then Q+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I:11.高程超高计算程序(I)程序名:IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:ElseAbs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:12.数据子程序(附后示例)①程序名:X0(坐标计算要素程序)If Z≥25900 And Z≤26615.555:Then 25900→O:11587.421→U:1847.983→V:101。
卡西欧5800计算器如何编程

卡西欧5800计算器如何编程步骤一:进入编程模式首先,在计算器的主界面上找到“MODE”按钮,按下该按钮,进入模式选择界面。
在模式选择界面中,选择“PROGRAM”模式,按下“=”确认进入编程模式。
步骤三:编写程序指令1.输入指令:通过使用”INPUT”指令,可以要求用户输入一个数值。
例如,输入指令“INPUTA”表示将用户输入的数值存储到变量A中。
2.输出指令:通过使用“PRINT”指令,可以打印变量的值。
例如,输出指令“PRINTA”表示打印变量A的值。
3.运算指令:卡西欧5800支持基本的数学运算,如加法、减法、乘法和除法。
例如,运算指令“A=B+C”表示将变量B和变量C的值相加,并将结果存储到变量A中。
4.条件指令:卡西欧5800支持简单的条件操作。
例如,条件指令“IFA>BTHENPRINTAELSEPRINTB”表示如果变量A的值大于变量B的值,则打印变量A的值,否则打印变量B的值。
除了上述基本指令外,卡西欧5800还支持其他一些高级指令,如循环和调用子程序等。
但是,由于篇幅限制,无法在本文中详细介绍这些指令。
你可以查阅卡西欧5800的用户手册,以了解更多详细的编程指令和语法规则。
步骤四:保存和执行程序在程序执行过程中,计算器将按照你编写的指令顺序执行,执行完毕后,将输出结果或者执行下一步的操作。
需要注意的是,卡西欧5800的编程功能较为简单,适合用于一些基本的数学计算。
如果你需要进行更复杂的编程任务,可能需要使用更高级的计算器或其他编程工具。
总结:以上就是关于如何使用卡西欧5800进行编程的详细介绍。
通过简单的编程,你可以利用卡西欧5800解决一些常见的数学计算问题。
虽然卡西欧5800的编程功能相对简单,但对于初学者来说,它是一个很好的入门工具,帮助你了解和掌握基本的编程概念和语法。
5800计算器程序

TYQXJS(主程序名)LbI 0:4→Dimz:Cls"1.SZ→XY""2.XY→SZ"?→N:Cls"XO"?U: "YO"?V: "SO"?O:"FO"?G: "LS"?H: "RO"?P:"RN"?R:?Q1÷P→C:(P-R)÷(2HPR) →D:180÷π→EN=2=>Goto 2LbI 1:Cls:?SS=0=>Goto 0 (注:當S輸入0時,程序會由LbI 0開始重新運行)Z:Abs(S-O)→WProg"SUB1":Cls"XS=":X◢"YS=":Y◢"FS=":F-90 ►DMS◢Goto 1LbI 2:Cls:?XX=0=>Goto 0 (注:當X輸入0時,程序由會LbI 0開始重新運行)Y:X→I:Y→JProg"SUB2":O+W→S:Cls"S=":S◢"Z=":Z◢Goto 2注:紅色部可以不要,亦可以要,它的作用是將S或X輸入0時,程序會重新由頭開始運行,(即是可以計算下段線元)SUB1(子程序名)0.→A:0.→B0.→K:0.→L1-L→F:1-K→MG+QEKW(C+KWD)→Z[1]G+QELW(C+LWD)→Z[2]G+QEFW(C+FWD)→Z[3]G+QEMW(C+MWD)→Z[4]A×cos(Z[1])→X (剩號可省略)X+Bcos(Z[2])→XX+Bcos(Z[3])→XX+Acos(Z[4])→XU+WX→XAsin(Z[1])→YY+Bsin(Z[2])→YY+Bsin(Z[3])→YY+Asin(Z[4])→YV+WY→YG+QEW(C+WD)+90→FX+Zcos(F)→XY+Zsin(F)→YSUB2(子程序名)G-90→T(Y-V)cos(T)-(X-U)sin(T)→WAbs(W)→W:0→ZLbI 4:Prog"SUB1"T+QEW(C+WD)→L(J-Y)cos(L)-(I-X)sin(L)→ZIf Abs(Z)<1E-6:Then 0→Z :Prog"SUB1" (J-Y)÷sin(F)→ZElse W+Z→W:Goto 4:IfEnd注:1E-6即是10的負6次方,亦即是等於0.輸入時按SHIFT---log---(-)---6亦可直接將If Abs(Z)<1E-6寫成If Abs(Z)<0.注意:本程序是根據yhhf編寫的4800P改寫而成,以下是源程序及算例大家有問題亦可在以下網址查看及向yshf發問/celiang/article_view.asp?id=380&author=yshf曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序一、程序功能本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
卡西欧FX5800P编程计算器应用及程序

程序示例
U“Z=0 Y≠0”=0
K0+=0 H0=3014.6 ≥=1/74.09 D=2.9 E=2.46 R=1.671
【1】 直线段
实测坐标(m)
圆拱段超欠(m) 直墙超欠(m) 底板超欠(m) 至拱肩高差(m)
111.139 93.763 64.030 94.543 116.748
18°52ˊ49.81" 91°24ˊ13.56" 88°26ˊ53.49" 49°40ˊ03.20" 60°41ˊ09.73"
移 动 值(m)
DV=、0.254 D∧=、0.700 DV=、0.049 DV=、0.140 DV=、0.168
据目录(个数)是利用“ ”,按 FUNCTION->7->2->1->EXE 就可以看到个数了。
在程序中调用统计储存器中的数据时,是利用 List 调用的。具体格式如下: List X[A]+Y[A]i->C
式中 A 是点号,C 是任意储存单元。具体示例详见“程序部分”->“极程序放样” (2)、利用统计计算(SD/REG)
2、以 形式计算。以坐标换算为例:
坐标重合点 A 旧坐标 98042.831->SHIFT->RCL->A 11430.122->SHIFT->RCL->B A+Bi->E 新坐标值均为零,就不必另行输值,新旧坐标方位角差值 69°56"23"->W。 要求计算施工坐标 X=27,Y=29.1 的 B 点的测量坐标。 计算赋值:27->U,29.1->V。U+Vi->F
<=、0.663 =>、0.023 <=、0.218 <=、0.561 =>、0.298
卡西欧fx5800计算器缓和曲线编程

1fx-5800P计算器编程缓和曲线程序14→DimZ :“ZHK”:?K:?R :? A:?L:? T:? F:“Y+1,Z-1”:?P:“JDX”:?Q:“JDY”:?W:180÷(πR)→Z:0.5L-L^3÷(240R2)→Z[8]:“LZ”:ZL÷2→B:A÷Z+L→Z[13]◢“ZHK=”:K◢“HYK=”:K+L→Z[1]◢“YHK=”:K+ Z[13] -L→Z[2]◢“HZK=”:K+ Z[13]→Z[3]◢“ZHX=”:Q+Tcos(F+180)→U◢“ZHY=”:W+Tsin(F+180)→V◢“HZX=”:Q+ Tcos(F+PA)→Z[6]◢“HZY=”:W+ Tsin (F+PA)→Z[7]◢Lb1 0:“CDZH”:?MIf M≤K:Then Goto 6:Else If M≤Z[1] :Then Goto 1:Else If M≤Z[2] :Then Goto 2:Else If M≥Z[3] :Then Goto 7:Else If M≥Z[2] :Then Goto 5:If End:If End:If End:If End:If EndLb1 1:M-K→G:√((G-G^(5)÷(40L2R2)+G^(9)÷(3456R^(4)L^(4)))2+(G^(3)÷(6RL)-G^(7)÷(336R^(3)L^(3)) +G^(11)÷(42240R^(5)L^(5)))2)→D F+PZG2÷(6L)→C:F+PBG2÷L2→H:Goto 3Lb1 2:M-Z[1]→G:R(1-cos(B+ZG))+L2÷(24R)→Z[9]:√(Z[9]2+(Rsin(B+ZG)+Z[8])2)→DF+Ptg-1(Z[9]÷(Rsin(B+ZG)+Z[8]))→C:F+P(B+ZG)→HLb1 3“X=”:U+Dcos(C)→X◢“Y=”:V+Dsin(C)→Y◢Lb1 B:“ZBJS1,FY-1”:?JIf J>0:Then Goto 4:Else If J〈0:Then Goto A:If End:If EndLb1 4:“ZB”:?S“ZBX”:X+Scos(H-90)◢“ZBY”:Y+Ssin(H-90)◢“YB”:?N“YBX”:X+Ncos(H+90)◢“YBY”:Y+Nsin(H+90)◢Goto 0Lb1 5:Z[3]-M→G:(T-G+G^(5)÷(40L2R2)-G^(9)÷(3456R^(4)L^(4))) sin(A) +(G^(3)÷(6RL)-G^(7)÷(336R^(3)L^(3))+G^(11)÷(42240R^(5)L^(5))) cos(A)→Z[4]:T+(T -G+G^(5)÷(40L2R2))cos(A) -(G^(3)÷(6RL)-G^(7)÷(336R^(3)L^(3))) sin(A)→Z[5]:√(Z[4]2+Z[5]2)→D :F+Ptg-1(Z[4]÷Z[5])→C:F+P(A-BG2÷L2) →H:Goto 3Lb1 6:K-M→D:F+180→C:F→H:Goto 3Lb1 7:M-Z[3]→D:F+PA→C:C→H:Goto 9Lb1 9:“X=”: Z[6]+Dcos(C)→X◢“Y=”: Z[7]+Dsin(C)→Y◢Goto BLb1 A:“N”:?N:“E”:?S:“H”:?I“X=”:(N-X)cos(H)+(S-Y)sin(H)+M→Z[10]◢“Y=”:(S-Y)cos(H)-(N-X)sin(H) →Z[11]◢“MS”:1711.15+0.004(Z[10]-85030) →E◢If I≥E+2 :Then“+-R1”:6.57-√((I-E-2)) 2+ Z[11] 2→OElse If I<E+2 :Then“+R2”:7.47-√((E+2-I) 2+(Abs( Z[11])+0.9) 2→O◢“﹦>DB”:(I-E+0.5)→O◢Z[10] →M:If End:If EndGoto 01.1程序说明“DimZ”—内存变量扩充“ZHK”—输入直缓点桩号“R”—输入曲半径“L”—输入缓和曲线长“A”—输入偏角“Y+1,Z-1”—路线右转输+1,左转输-1“FWJ”—输入起算方位角“JDX”—输入交点X坐标“JDY”—输入交点Y坐标“ZHK=”:得出直缓点桩号“HYK=”:得出缓圆点桩号“YHK=”:得出圆缓点桩号“HZK=”:得出缓直点桩号“ZHX=”:得出直缓点X“ZHY=”:得出直缓点Y“HZX=”:得出缓直点X“HZY=”:得出缓直点Y“CDZH”—输入待测点桩号“X=”:得出测点桩号中心桩N“Y=”:得出测点桩号中心桩E“ZBJS1,FY-1”—①(坐标计算)施工坐标转大地坐标输+1,“ZB”—输入中桩到左边桩的距离;“ZBX”: 得出待测点左边N值“ZBY”: 得出待测点左边E值“YB”—输入中桩到右边桩的距离;“YBX”: 得出待测点右边N值“YBY”: 得出待测点右边E值②(放样)大地坐标转施工坐标输-1,“N”—输入大地坐标的N坐标;“E”—输入大地坐标的E坐标。
5800程序(改的输入了计算器)

1. 主程序(TYQXJS)Lbl 4:"1.SZ => XY":"2.XY => SZ":?N:?S:Prog“SUB0”↙1÷P→C: (P-R)÷(2HPR) →D:180÷∏→E:N=1 => Goto1:Goto2:↙Lbl 1:? Z:Abs(S-O) →W:Prog "SUB1":"XS=":X◢"YS=":Y◢F-90→F:“FS=”:F▲DMS◢Goto4↙Lbl 2:?X:?Y:X→I:Y→J:Prog“SUB2”:O+W→S:“S=”:S◢“Z=”:Z◢Goto4↙2. 正算子程序(SUB1)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+FWD))+Acos(G+QEMW(C+MWD))) →X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+ QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y 2. 反算子程序(SUB2)G-90→T:Abs((Y-V)cosT-(X-U)sinT) →W:0→Z:Lbl 0:Prog "SUB1":T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z:IF Abs(Z)<1E-6:Then0→Z:Prog "SUB1" :(J-Y)÷sin(F)→Z:(这里的两个冒号是自己加的)Else W+Z→w:Goto0:IfEndSUB0 数据库子程序Goto1↙同时保存多个曲线时的指针Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd↙Lbl 1:IF S<***(线元终点里程):Then***→G(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→H(线元起点至终点长度):0或1、-1→Q:Return:IfEnd……………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。
FX5800计算器的积分程序

FX5800计算器的积分程序(正反算、全线贯通、新线路)终极版ZHUCHENGXU 主程序"1.ZS,2.FS" ?→Q输入1正算,输入2反算“NEW=0,OLD ≠0”?ZIf Z=0:Then “X0=”?A:“Y0=”?B:“C0=”?C:“1/R0=”?D:“1/RI=”?E:“SP=”?F:“EP=”?G:Ifend:Q=2 =>Goto 2Lbl 1 :“KM=,<0 Stop”?H:H<0=>Stop:“PJ=”?O:“PY=”?LLbl Z:Z=1=> Prog“01”:Z=2=> Prog“02”选择数据库文件,可增加H- F→X:0.5(E-D)÷(G-F)→NC+(XD+NX2)*180÷π→P:P<0=>P+360→P:P>360=>P-360→PA+∫(cos(C+(XD+NX2)*180÷π),0,X)+Lcos(P+O)→UB+∫(sin(C+(XD+NX2)*180÷π),0,X)+Lsin(P+O)→VQ=2=>Goto 4:Cls:Fix 3"Xn=":Locate 4,1,U:"Yn=": Locate 5,2,V:“FWJ=”:P▶DMS◢Norm 2:Cls:Goto 1Lbl 2:“XD=,<0,STOP”?R:R<0=>Stop:“YD=”?S“KMDG=”?H :90→O:0→L:Goto Z (H线路范围内的任意桩号)Lbl 4:Pol(R-U,S-V):J<0 => J+360→JWhile abs(Icos(J-P))≤0.001:P-J>180=> J+360→J:P-J<-180=> P+360→P:IF P-J>0:then -I→L:else I→L ifendGoto 3: Whileend:H+Icos(J-P)→H:Goto ZLbl 3:Cls:Fix 3“KM=”: Locate 4,1,H:“PY=”: Locate 4,2,L◢Norm 2:Cls:Goto 201(数据库子程序)If H<=第一曲线终点桩号:then 第一曲线起点X→A:第一曲线起点Y→B:第一曲线起点方位角→C:起点曲率→D:终点曲率→E:起点桩号→F:终点桩号→G:return:ifend ……………程序说明:1、该程序可以计算任意线形(直线、圆曲线、缓和曲线、不完整曲线)任意桩号的坐标(正算,输入1),也可根据坐标计算该点到线路的距离及垂足桩号(反算,输入2);2、(NEW=0,OLD≠0)?如果要计算的点为数据库线路中的点,则输入数据库编号(以整数1、2、3…代替输入);如果在数据库中没有要计算线路的数据,则输入曲线要素X0:曲线起点X坐标;Y0:曲线起点Y坐标;C0:曲线起点方位角;R0-1、RI-1:曲线起点、终点曲率,直线为0,曲线左偏输入负值,右偏输入正值;SP、EP:曲线起点桩号,终点桩号;KM:待求点桩号;PJ:正斜交的设定;PY:偏中距离,线路上的点输入0,右偏输入+值,左偏输入-值;3、正算显示坐标及切线方位角;反算输入线路的任意桩号(此桩号越接近真实值计算速度越快)、待求点坐标,显示待求点桩号及偏中距离;4、正算子程序为积分公式编写而成;反算子程序为角度趋近的方法编写,计算速度有点慢。
5800计算器程序汇编

刘明5800计算器程序汇编程序SUB“CE:X”?M:“CN:Y”?NLbl 1:“K”?K:“N°(R)”?C:Prog“SUB2”Lbl 2:“-B,0,+B”?B:Prog“SUB1”Cls“X=”:Locate3,1,X:“Y=”: Locate3,2,Y◢Prog“SUB0”Goto1程序SUB0ClrStatPol(X-M,Y-N):ClsIf J<0:Then J+360→J:Else J→J:IfEnd“FYJULI=”:I◢“FYFWJ=”:J▶DMS◢程序SUB1If K≤(D-T):Then Goto A:Else If K≤(D-T+S):Then Goto B:Else If K≤(D-T+S+Q):Then Goto C:Else If K≤(D-T+S+Q+H):Then Goto D:IfEndLb1 AD-K→LU+Lcos(F+180)+Bcos(F+C) →X:V+Lsin(F+180)+Bsin(F+C) →Y:ReturnLbl BK-D+T→LLˆ(3)÷(6RS)-Lˆ(7) ÷(336(RS)ˆ(3))+Lˆ(11) ÷(42240(RS) ˆ(5))→JL-Lˆ(5) ÷(40(RS)2)+Lˆ(9) ÷(3456(RS) ˆ(4)) →IU+Tcos(F+180)+Icos(F)-GJsin(F)+Bcos(F+90GL2÷(πRS)+C) →X:V+Tsin(F+180)+Isin(F)+GJcos(F)+Bsin(F+90GL2÷(πRS)+C) →Y:ReturnLbl CK-D+T→LR(1-cos((180L-90S) ÷(πR)))+S2÷(24R) →JRsin((180L-90S)÷(πR))+S÷2-Sˆ(3) ÷(240R2) →IU+Tcos(F+180)+Icos(F)-GJsin(F)+Bcos(F+G(180L-90S) ÷(πR)+C) →X:V+Tsin(F+180)+Isin(F)+GJcos(F)+Bsin(F+G(180L-90S) ÷(πR)+C) →Y:ReturnLbl DD-T+S+Q+H-K→LL-Lˆ(5) ÷(40(PH)2)+Lˆ(9) ÷(3456(PH) ˆ(4)) →ILˆ(3) ÷(6PH)- Lˆ(7) ÷(336(PH) ˆ(3))+Lˆ(11) ÷(42240(PH) ˆ(5)) →JU+Wcos(F+GE)-Icos(F+GE)-GJsin(F+GE)+Bcos(F+GE-90GL2÷(πPH)+C) →X:V+Wsin(F+GE)-Isin(F+GE)+GJcos(F+EG)+Bsin(F+GE-90GL2÷(πPH)+C) →Y:Return程序SUB2曲线要素If K≤10275.715(曲线HZ点或者YZ点桩号,终点桩号):Then 9982.568(交点桩号)→D:47845.143(交点X坐标)→U:36902.024(交点Y坐标)→V:256°58′14″(起点计算方位角)→F:33°11′41.6″(起点计算方位角)→E:1(左转为正,右转为负)→G:306.825(前段切线长) →T:T(后段切线长,如果前后切线等长则按照此输入,不等长则另外输入)→W:775(圆曲线半径)→R:R(前后半径相等时则按照此输入)→P:150.968(前段缓和曲线长度) →S:S(后段缓和曲线长度)→H:298.036(圆曲线长度)→Q:Return:IfEnd。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、程序功能本程序由6个主程序、5个次子程序及5个参数子程序组成。
主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。
程序坐标计算适应于任何线型.二、源程序1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XYLb1 0:Norm 2F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)Z[1]=90(与路线右边夹角)Prog"THB":F=1=>Goto 1:F=2=>Goto 2Lb1 1:Fix 3:"X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢Goto 02.主程序2:高程序横坡程序(设计任意点高程及横坡)程序名:2GCLbI 0:Norm 2“KM”?Z:?D:Prog”H”:Fix 3:”H=”:Locate 6,4,H◢“I=”: Locate 6,4,I◢Goto 03.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:3JSX:Y:1268.123→K(置仪点X坐标)2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)Y-L→E:X-K→F:Pol(F,E):IF J<0:ThenJ+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) F ix 4:” FWJ=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)Fix 3:”S=”:Locate 6,4,I◢4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)程序名:4JH-XYLbI 0:Norm 290→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量)1→F:Prog”THB”:?L:Z[2]-Z[1] →E:X+Lcos(E)→X:Y+Lsin(E) →Y:Fix 3: "X=":Locate 6,4,X◢"Y=":Locate 6,4,Y◢Prog"3JS”:Goto 0:5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:5FBXLbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog“THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEndLbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T:LbI W:Prog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else If G>Z[10]:Then Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z:LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:Goto Z:LbI 3:L+Z[12]+G×Z[7]:Goto z:LbI T:L+0.5→N:If G>Z[17]:Then (N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→S:Goto Z:Else (N+G×Z[15])→S:Goto z:LbI Z:Z[3]→D:Fix 2:Abs(D)-S→T:”L0=”:L Locate 6,4,T◢"KM=":Locate 6,4,Z◢"D=":Locate 6,4,D◢“TW=”: Locate 6,4,Z[5]◢Goto 06.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名:6GDProg “G0”Z-C→E:(B-A)×E/S+A→L:L:7.坐标计算次程序(THB)程序名:THB18→DimZ:"KM"?Z:Prog "X0"1÷P→C: (P-R)÷(2HPR) →S:180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘Lbl 1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3LbI 2:X:Y:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 3LbI 3:IF F=1Then X:Y:Else Z:D8. 正算子程序(A)程序名:A0.1184634425→A:0.2393143352→B:0.2844444444→N 0.046910077→K:0.2307653449→L:0.5→M: U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X:V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)W S))) →Y:G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X: Y+Dsin(Z[2])→Y9. 反算子程序(B)程序名:BG-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→D:Lbl 0:Prog "A": T+QEW(C+W S) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto1:Else W+D→W:Goto 0←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]) →D:10.高程计算子程序(H)程序名:HProg “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If T=O:Then Q+LI→H:Goto0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then Q+LI+L2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:LbI I:H:I:11.高程超高计算程序(I)程序名:IProg”I0”:W=1=> Goto 0:W=2=>Goto 1:LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd:LbI 1:If L=0:Then Abs(D)×M→V:Goto 2:ElseAbs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:12.数据子程序(附后示例)①程序名:X0(坐标计算要素程序)If Z≥25900 And Z≤26615.555:Then 25900→O:11587.421→U:1847.983→V:101。
09’23.1”→G:715.555→H:1×1045→P: 1×1045→R: 0→Q:Goto 0: IfEnd:If Z≥26615.555 And Z≤26915.555:Then 26615.555→O:11448.97→U:2550.016→V:101。
09’23.1”→G:300→H:1×1045→P: 1800→R:1→Q:Goto 0:IfEnd:If Z≥26915.555 And Z≤27316.952:Then 26915.555→O:11382.792→U:2842.531→V:105。
55’51.83”→G:401.396→H:1800→P: 1800→R:1→Q:Goto 0:IfEnd:……LbI 0:O:U:V:G:H:P:R:Q:程序字母说明:O-线元起点桩号;U-起点X坐标;V-起点Y坐标;G-线元起点桩号切线方位角; H-线元长度,P-线元起点曲率半径,R-线元终点曲率半径,Q-线元判别(以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0)。
②程序名:SO(高程竖曲线要素子程序)If Z≥25900 And Z≤26157.8:Then-200000→R:157.8→T:26000→C:37.1→G:0.01222→I:Goto 0:IfEnd:If Z≥26157.8 And Z≤27421.915:Then300000→R:171.915→T:27250→C:32.65→G:-0.00356→I:Goto 0:IfEnd:If Z≥27421.915 And Z≤27889.029:Then1000000→R:134.029→T:27755→C:36.64→G:0.0079→I:Goto 0:IfEnd:……LbI 0:R:T:G:C:I:程序字母说明:C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);T-竖曲线切线长;R-竖曲线半径(分正负:凹曲线为正,凸曲线为负);I-竖曲线前纵坡③程序名:I0(高程超高参数子程序)1.5→K:2→W:If D<0:Then Goto L:Else Goto R:IfEnd:LbI L:If Z≥25900 And Z≤26615.555:Then 0→L:-0.02→M:Goto 0:IfEnd:If Z≥26615.555 And Z≤26735.555:Then 120→L:26615.555→C:-0.02→M:0.02→N:Goto 0:IfEnd:If Z≥26735.555 And Z≤26795.555:Then 60→L:26735.555→C:0.02→M:0.04→N:Goto 0:IfEndIf Z≥26795.555 And Z≤27436.951:Then 0→L:0.04→M: Goto 0:IfEnd……LbI R: If Z≥25900 And Z≤26735.555:Then 0→L:-0.02→M: Goto 0:IfEndIf Z≥26735.555 And Z≤26795.555:Then 60→L:26735.555→C:-0.02→M:-0.04→N:Goto 0:IfEndIf Z≥26795.555 And Z≤27436.951:Then 0→L:-0.04→M: Goto 0:IfEnd……LbI 0 K:W:L:C:M:N:字程序中字母表示说明:K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);L-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。