FX5800计算器测量程序集2分解

FX5800计算器测量程序集2分解
FX5800计算器测量程序集2分解

FX5800计算器测量程序集2.0 版

一、程序功能

主要功能:计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C 型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。

新版本特点:1、优化原所有主程序,所有参变量(如导线点置仪点坐标、正反算选择、偏角、线路选择等),全部在程序头次显示一次,以后运行不需输入。运行中也可以返回再次选择线路、可以直接以矩阵形式调出线路参数。

2、坐标计算考虑了线元法与交点法相结合,即是一条线路也可以一段用线元法,一段用交点法。参数置放矩阵中,输入和可读性极好。

3、新增隧道断面欠超挖值放样计算

4、高程程序中考虑了初次输入线路选择、计算面与设计面高差,输出中加入显示本桩号路基标准宽度。

二、源程序

1.主程序1:一般放样正反算程序(①正算坐标、放样点至置仪点方位角及距离;

②反算桩号及距中距离)

程序名:1ZD-XY

Lb1 Q: Norm 2:14→DimZ:1→F:Prog"DX":

Lb1 X:Prog"QX":90→B:"PJ"?B:B→Z[1]:

Lb1 0: Norm 2 :“KM”?Z:If Z=-1:Then Goto X:Else If Z=-2: Then 2→F :Goto 0: Else If Z=-3: Then Goto 9:IfEnd: Prog"KM":If F=1:Then ?D:Else “X0”?X:“Y0”?Y: IfEnd: Prog"THB":If F=1: Then Goto 1: Else Goto 2:

Lb1 1:Fix 3:"X=":Locate 6,4,X◢

"Y=":Locate 6,4,Y◢

Prog"6JS”:Goto 0:

Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢

"D=":Locate 6,4,D◢

Goto 0:

Lbl 9:Mat F◢

Goto Q

2.主程序2:高程、横坡、宽度程序(计算设计任意点高程、横坡及路基设计标准宽度)

程序名:2GC

14→DimZ:LbI 0:Norm 2: Prog"QX":0→B:”H-B:”?B:B→Z[9]:

LbI H: Norm 2: “KM”?Z:Z=-1=> Goto 0:?D:Prog”H”:

Fix 3:” H=”:Locate 6,4,H◢

“ I=”: Locate 6,4,I◢

Prog"GD":“SJLG=”: Locate 6,4,L◢

Goto H

3.主程序3:涵洞放样程序(输入置仪点坐标。选择线路、输入路线右夹角、前进方向偏角、由涵中心桩号计算出各涵角坐标、计算放样点至置仪点方位角及距离)

程序名:3JH-XY

14→DimZ:Prog"DX":LbI X:Norm 2: Prog"QX":90→B:"PJ1"?B:B→C: "PJ2"?C: B→Z[1]:C→Z[8]:

LbI 0:Norm 2:1→F: “KM”?Z:If Z=-1:Then Goto X: ?D:Prog”THB”:0→L:“L0”?L:Z[2]+Z[1]-Z[8] →E:

X+Lcos(E) →X:Y+Lsin(E) →Y:

Fix 3:"X=":Locate 6,4,X◢

"Y=":Locate 6,4,Y◢

Prog"6JS”:Goto 0:

4.主程序4:路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)

程序名:4FBX

17→DimZ:LbI B:Norm 2: Prog"QX":0.5→B:“TH-GD”?B:B→Z[17]:LbI 0:Norm 2: 2→F:90→Z[1]: “KM”?Z:If Z=-1:Then Goto B: “X0”?X:“Y0”?Y:

0→M:“M0”?M:M→Z[4]:Prog”THB”:D→P:Prog”GD”:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEnd

LbI H:Prog“H”:H-0.03-Z[4] →Z[4]: Prog “W1”:If Z[4]<0:Then –Z[4] →G:Goto W:Else Z[4] →G:Goto T:

LbI W:Z[8]+Z[9] →A: If G>A:Then Goto 1:Else If G>Z[8]:Then Goto 2:Else Goto 3:IfEnd:

LbI 1:L+Z[10]+Z[11]+Z[12]+(G-A)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5] →S:Goto Z:

LbI 2:L+Z[10]+Z[11]+(G-Z[8])×Z[6]+Z[8]×Z[5] →S:Goto Z:

LbI 3:L+Z[10]+G×Z[5] →S:Goto Z:

LbI T:L+Z[17]→T:If G>Z[15]:Then (T+Z[16]+(G-Z[15])×Z[14]+Z[15]×Z[13])→S:Goto Z:Else (T+G×Z[13])→S:Goto Z:

LbI Z:Fix 2:Abs(P)-S→K:” L0=”: Locate 6,4,K◢

Fix 3:"KM=":Locate 6,4,Z◢

"D=":Locate 6,4,P◢

Z[4]>0=>Z[4]+I(T-L) →Z[4]:

“ TW=”: Locate 6,4,Z[4]◢

Goto 0

5.主程序5.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入测量三维坐标,计算准确桩号及位置、计算欠超挖值)

程序名:5SD

15→DimZ:LbI B:Norm 2: Prog"QX":LbI 0:Norm 2: 2→F:90→Z[1]: “KM”?Z:If Z=-1:Then Goto B: Prog“XD1”:” X0”?X:“Y0”?Y: 0→M:“M0”?M:M→Z[8]:Prog“THB”:

D→Z[10]:0→D:Prog“H”:Cos(Z[10])*Z[4] →E: H+Z[5] →Z[5]: H+Z[7] →Z[7]: E+Z[5] →Z[10]:If Z[8]>Z[10]:Then Goto R:Else Goto S:IfEnd: LbI R: √((D-Z[9]) 2+(Z[8]-Z[5]) 2 )- Z[4] →L:Goto L:

LbI S: Z[4]-Z[6] →S: √(S 2-(Z[7]-Z[5]) 2) →T:Abs(D-Z[9])-T→T:√(T 2+(Z[8]-Z[7]) 2 )- Z[6] →L:Goto L:

LbI L: Fix 2:” L0=”: Locate 6,4,L◢

Fix 3:"KM=":Locate 6,4,Z◢

"D=":Locate 6,4,D◢

“ H0=”: Locate 6,4,Z[8]-H◢

Goto 0

6:极坐放样计算程序(计算放样点至置仪点方位角及距离)

程序名:6JS

X:Y:

Z[11]→K(置仪点X坐标)

Z[12]→L(置仪点Y坐标)

Pol(X-K, Y-L):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢

Fix 3:” S=”:Locate 6,4,I◢

7.路基宽度次程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)

程序名: GD

1→S:If Z[3]=1:Then Prog “G1”:Goto 1:Else Prog “G2”:Goto 1: IfEnd

LbI 1:Z-C→E:(B-A)*E/S+A→L:

8.坐标计算次程序(THB)

程序名:THB

If Q=2:Then Goto J:1÷P→C: (P-R)÷(2HPR) →S:180/Π→E:If F=1:Then:Abs(Z-0) →W:Prog "A":Goto 2:Else:X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 2: IfEnd:

LbI J: If F=1:Then: Prog "Z":Goto 1:Else: Prog "ZX":Goto 2: IfEnd:

LbI 1:I+D*COS(Z[2]+Z[1]) →X: J+D*Sin(Z[2]+Z[1]) →Y:

LbI 2:

9.线元法正算子程序(A)

程序名:A

0.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+LW S))+Ncos(G+QEMW(C+MW S))+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+LW S))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W( C+(1-K)WS))) →Y:

G+QEW(C+WS)→Z[2]:X+Dcos(Z[2]+ Z[1])→X: Y+Dsin(Z[2]+ Z[1])→Y

10.线元法反算子程序(B)

程序名:B

G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W:0→D:Lbl 0:Prog "A":T+QEW(C+WS) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto 1:Else W+D→W:Goto 0: IfEnd:←┘

Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]+90) →D:

11.交点法正算子程序(Z)

程序名:Z

H2/R/24-H∧(4)/2688/R∧(3)→A:H/2-H∧(3)/240/R2→B:(R+A)tan(Abs(P)/2)+B→T:O-T→C:C+H→L:L+ΠR*Abs(P)/180→N:N-H→E:P/Abs(P) →W:0→M:

If Z

If Z>L:Then 180(Z-L+0.5H)/R/Π→S :H/2-H∧(3)/240/R2+Rsin(S)→A:H2/R/24-H∧(4)/2688/ R∧(3)+R(1-Cos(S))→B:R→M:G+WS→Z[2]:Goto 4: IfEnd:

Z-C→S:Prog “HX”:G+WK→Z[2]:

LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J: Goto 3:

LbI 2:U+Scos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 3:

12.交点法缓和段转化子程序(HX)

程序名:HX

S-S∧(5)/40/R2/H2+S∧(9)/3456/R∧(4)/H∧(4)→A:S∧(3)/6/R/H-S∧(7)/336/R∧(3) /H∧(3)+S∧(11) /42240/R∧(5)/H∧(5)→B:90S2/Π/R/H→K:RH/S→M:

13.交点法反算子程序(ZX)

程序名:ZX

Z:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S:Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Goto 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JMΠ)/180→I:Z+I→Z:Goto 0:IfEnd

LbI 2:

14.高程计算子程序(H)

程序名:H

Prog “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI→H:Goto 0:Else If Z

LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:LbI I:

15.高程超高计算程序(I)

程序名:I

If Z[3]=1:Then Prog “I1”:Goto 1:Else Prog “I2”:Goto1: IfEnd:

LbI 1: If W=1:Then:Goto Z:Else:Goto X: IfEnd

LbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:

LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:

LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V:

16.导线点子程序(DX)

程序名:DX

Z[11] →K:Z[12] →L:“XZ”?K:”YZ”?L:K→Z[11]:L→Z[12]:

17.线路选择子程序(线路选择输入0时。则手工输入曲线参数(QX)

程序名:QX

1→A:”QX:?=0,X1=1,X2=2”?A:A→Z[3]:

If A=0:Then Goto 1:Else Goto 2: IfEnd:

LbI

1:”ZO”?O:”XO”?U:”YO”?V:”FW”?G:”LS”?H:?P:?R:”J=2,X=(0,1,-1)”?Q:Goto 2:

LbI 2:

18.线路中线元段判别子程序(KM)

程序名:KM

If Z[3]=0:Then Goto 0:Else If Z[3]=1:Then Prog “X1”:Goto 0:Else Prog “X2”:Goto 0: IfEnd:

LbI 0:

来源:(https://www.360docs.net/doc/7e11867416.html,/s/blog_69442e3b0100jchv.html) - fx 5800计算器测量程序设计2.0版_阳光灿烂_新浪博客

19.坐标计算参数转化子程序(F)

程序名:F

Mat F[1,1]→O:Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: Mat F[1,5]→H: Mat F[1,6]→P: Mat F[1,7]→R: Mat F[1,8]→Q:

20.数据子程序(附后示例)

①-1程序名:X1(线路1坐标计算要素程序)

If Z≤26615.555:Then [[25900,11587.421,1847.983, 101。09’23.1”,715.555,1×1045, 1×1045, 0]]→Mat F:Goto 0: IfEnd:

If Z≤26915.555:Then[[26615.555,11448.97,2550.016,101。09’23.1”,300,1×1045,1800,1]]→Mat F:Goto 0:IfEnd:

……

LbI 0: Prog”F”:

①-2程序名:X2(线路2坐标计算要素程序)

If Z≤616.951:Then [[316.951,11230.669,3213.086, 118。42’28.42”,300,180045, 1×1045, 1]]→Mat F:Goto 0: IfEnd:

If Z≤4050:Then[[3089.766,9708.017,5530.185,123。28’57.1”,300,-44。39’38”,2200,2]]→Mat F:Goto 0:IfEnd:

……

LbI 0:Prog”F”:

程序字母说明:O-线元起点桩号(交点桩号);U-起点X坐标(交点X);V-起点Y坐标(交点Y);G-线元起点桩号切线方位角(交点前一交点至现交点方位角); H-线元长度(缓和曲线长度),P-线元起点曲率半径(偏角为正负,左偏为负,右偏为正),R-线元终点曲率半径(圆半径),Q-线元判别(以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0)(交点法取值2)说明括内为交点法子母代表意思。。

②-1程序名:S1(线路1高程竖曲线要素子程序)

If Z[3]=1:Then Goto 1: Else Prog “S2”:Goto 0: IfEnd:

LbI 1:If Z≤26157.8:Then -200000→R:157.8→T:26000→C:37.1→G:0.01222→I:Goto 0:IfEnd:

If Z≤27421.915:Then 300000→R:171.915→T:27250→C:32.65→G:-0.00356→I:Goto 0:IfEnd:

If Z≤27889.029:Then 1000000→R:134.029→T:27755→C:36.64→G:0.0079→I:Goto 0:IfEnd:

……

LbI 0:

②-2程序名:S2(线路2高程竖曲线要素子程序)

If Z≤183.007:Then 1365→R:20.475→T:162.532→C:46.1→G:0.003→I:Goto 0:IfEnd:

If Z≤321.264:Then -1200→R:38.732→T:282.532→C:50.175→G:0.033→I:Goto 0:IfEnd:

……

LbI 0:

程序字母说明:C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);T-竖曲线切线长;R-竖曲线半径(分正负:凹曲线为正,凸曲线为负);I-竖曲线前纵坡

③-1程序名:I1(线路1高程超高参数子程序)

1.5→K:2→W:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤26615.555:Then 0→S:-0.02→M:Goto 0:IfEnd:

If Z≤26735.555:Then 120→S:26615.555→C:-0.02→M:0.02→N:Goto 0:IfEnd:

If Z≤26795.555:Then 60→S:26735.555→C:0.02→M:0.04→N:Goto 0:IfEnd

……

LbI R: If Z≤26735.555:Then 0→S:-0.02→M: Goto 0:IfEnd

If Z≤26795.555:Then 60→S:26735.555→C:-0.02→M:-0.04→N:Goto 0:IfEnd

If Z≤27436.951:Then 0→S:-0.04→M: Goto 0:IfEnd

……

LbI 0

③-2程序名:I2(线路2高程超高参数子程序)

0.5→K:1→W:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤100:Then 0→S:-0.015→M:Goto 0:IfEnd:

If Z≤110:Then 10→S:100→C:-0.015→M:-0.02→N:Goto 0:IfEnd:

If Z≤343.665:Then 0→S: -0.02→M: Goto 0:IfEnd

……

LbI R: If Z≤100:Then 0→S:-0.015→M: Goto 0:IfEnd

If Z≤110:Then 10→S:100→C:-0.015→M:-0.02→N:Goto 0:IfEnd

If Z≤375.665:Then 0→S:-0.02→M: Goto 0:IfEnd

……

LbI 0

字程序中字母表示说明:

K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。

④-1程序名:G1(线路1路基标准半幅宽度参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤28110.727:Then Z→C:17.25→A:Goto 0:IfEnd:

If Z≤28200.727:Then 28110.727→C:17.25→A:21.25→B:90→S:Goto0:IfEnd

……

LbI R: Z≤27927.478:Then Z→C:17.25→A: Goto 0:IfEnd

If Z≤28172:Then 27927.478→C:17.25→A:27.031→B:244.522→S:Goto 0:IfEnd

……

LbI 0

④-2程序名:G2(线路2路基标准半幅宽度参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤69.998:Then Z→C:28.25→A:Goto 0:IfEnd:

If Z≤82.402:Then 69.998→C:28.25→A:25.545→B:12.404→S:Goto 0:IfEnd

……

LbI R: Z≤69.998:Then Z→C:17.45→A: Goto 0:IfEnd

If Z≤80.367:Then 69.998→C:17.45→A:16.787→B:10.369→S:Goto 0:IfEnd

……

LbI 0

字程序中字母表示说明:

C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度; B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(不是渐变段,无需输入)。

⑤-1程序名:XD1(线路1隧道参数子程序)

If Z[3]=1:Then Goto 1: Else Prog “XD2”:Goto 0:IfEnd:

LbI 1:8.75→Z[4]:-1.1→Z[5]:4.77→Z[6]:1.47→Z[7]:-0.25→Z[9]: 51。28’57.1”→Z[10]:

LbI:0

⑤-2程序名:XD2(线路2隧道参数子程序)

8.5→Z[4]:-1.15→Z[5]:4.5→Z[6]:1.52→Z[7]: 0.25→Z[9]: 55。20’51.6”→Z[10]:

字程序中字母表示说明:

Z[4]-隧道上拱半径;Z[5]-隧道上拱圆心至设计面高度;Z[6]-隧道中腰部半径;Z[7]-中腰圆心至设计面高度;Z[9]-设计隧道中线与设计路基中线偏移值,左为负数,右为正数;Z[10]-上部拱跨隧道半幅角度;

⑥-1程序名:W1(线路1路基填挖边坡参数子程序)

If Z[3]=1:Then Goto 1: Else Prog “W2”:Goto 0:IfEnd:

LbI

1:0.75→Z[5]:1→Z[6]:1.25→Z[7]:10→Z[8]:10→Z[9]:2.6→Z[10]:2→Z[11] :2→Z[12]:

1.5→Z[13]:1.75→Z[14]:8→Z[15]:2→Z[16]

LbI:0

⑥-2程序名:W2(线路2路基填挖边坡参数子程序)

1→Z[5]:1→Z[6]:1.25→Z[6]:10→Z[8]:10→Z[9]:2.6→Z[10]:1.5→Z[11]:1. 5→Z[12]:

1.5→Z[13]:1.75→Z[14]:8→Z[15]:2→Z[16]

字程序中字母表示说明:

Z[5]-挖方第一阶边坡边率;Z[6]-挖方第二阶边坡边率;Z[7]-挖方第三阶边坡边率;Z[8]-挖方第一阶高度;Z[9]-挖方第二阶高度;Z[10]-挖方路基碎落台及水沟宽度;Z[11]-挖方第二台阶平台宽度;Z[12]-挖方第三台阶平台宽度;

Z[13]-填方第一阶边坡边率;Z[14]-填方第二阶边坡边率; Z[15]-填方第一阶高度;Z[16]-填方第二台阶平台宽度。(注:本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序THB和4FBZ程序中增加变量。再如一标段有坡率及坡高不一样时,可以照其它参数程序一样,用判别语句。)

三、使用说明

1、规定

(1) “KM”为所求点桩号,反算时为输入大概桩号

(2) 当所求点位于中线时,D=0;当位于中线左铡时,D取负值;当位于中线中线右侧时,D取正值。

(3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。(在用交点法时,此字母代表偏角)

(4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。(交点法为圆半径)

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

(7) Q值是判别用采用线元法还是交点法。交点法值为2。线元法,根据线元段取值,直线段取0,缓和段和圆曲线段,根据左偏取-1,右偏取1.

(8) 为了区别字母O及数子0,特把字母0加粗。

2、输入与显示说明

输入部分:

1.XZ?YZ?为置仪点坐标,第一次运行输一次,以下运行不需再输入,下次再运行此程序调上次输值,如需改,则输入,不需改,则按确认键。

2 .QX:X1=1,X2=2”?选择经路,坐标计算中输入0值,变为输入线元段曲线要素。输1为第一条线路。输2为第二条线路,本程序暂设计实例为2条线路。

3.PJ?路线中线与右边线夹角,默认为90度。

4.KM?正算时所求点的里程(反算输入大概桩号)输入-1,返回输入选择线路,输入-2,返回输入大概桩号、坐标反算桩号及距离,输入-3,调出本段线元参数,以矩阵显示,再运行从头开始。

D?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)

X0 ?反算时所求点的X坐标(放样程序中实测X坐标)

Y0 ?反算时所求点的Y坐标(放样程序中实测Y坐标)

显示部分:

L? 涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.

M0? 边坡放样程序中原地面标高输入

H-B?计算面至路面高差(默认路面为0)

PJ1? PJ2? 涵洞计算中第一个夹角同PJ。第二夹角为边线至路前进方向夹角。

TH-GH?边坡放样中填方超放宽值,默认值为0.5m.

输出部分

X=*** 正算时,计算得出的所求点的X坐标

Y=*** 正算时,计算得出的所求点的Y坐标

FWJ=*** 正算时,计算得出的所求点的至置仪点方位角

S=*** 正算时,计算得出的所求点的至置仪点距离

KM=*** 反算时,计算得出的所求点的里程

D=*** 反算时,计算得出的所求点的边距

H=*** 所求点位置设计路面顶标高

I=*** 所求点位置设计路面横坡

SJLG=*** 所求点位置路基设计半幅标准宽度

L0=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,负向外移。(隧道程序中为超欠挖值,正为超挖,负为欠挖)

TW=*** 边桩放样程序中,实测放样边坡点至止桩号设计顶填挖高度值

H0=*** 隧道放样程序中测量点至设计面高度

四、结束语

1、本套程序实例线路暂给二条,如标段像匝道有多条线时,同理增加。

2、由于本人没做过隧道,隧道程序只是参照本项目另一个标的图纸所做,如有不同,可以调整参数。原理应是一样的。

3、为了更好的开发计算器程序,本人特建一QQ群,欢迎各位测友加入,QQ群号是:24817026。

上一篇下一篇返回列表转发

FX5800计算器公路测量常用程序集2009-09-17 20:35

FX5800计算器公路测量常用程序集

附件(点击下载): (在线预览)

FX5800计算器公路测量常用程序集

一、程序功能

本程序由6个主程序、5个次子程序及5个参数子程序组成。主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。程序坐标计算适应于任何线型.

二、源程序

1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)

程序名:1ZD-XY

Lb1 0:Norm 2

F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)

Z[1]=90(与路线右边夹角)

Prog"THB":F=1=>Goto 1:F=2=>Goto 2

Lb1 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 0

2.主程序2:高程序横坡程序(设计任意点高程及横坡)

程序名:2GC

LbI 0:Norm 2

“KM”?Z:?D:

Prog”H”:Fix 3:”H=”:Locate 6,4,H◢

“I=”: Locate 6,4,I◢

Goto 0

3.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)

程序名:3JS

X:Y:

1268.123→K(置仪点X坐标)

2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)

Y-L→E:X-K→F:Pol(F,E):IF J<0:Then

J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)

Fix 3:”S=”:Locate 6,4,I◢

4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)

程序名:4JH-XY

LbI 0:Norm 2

90→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:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)

程序名:5FBX

LbI 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:Then

0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEnd

LbI 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:

FX5800P计算器坐标正反算程序Word文档

(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。) 卡西欧fx5800p计算器坐标正反算程序

一、程序功能 本程序由 6 个主程序、 5 个次子程序及 5 个参数子程序组成。主要用于公路测量中坐标正反算,设计任意点高程及横坡计算 , 桥涵放样,路基开挖口及填方坡脚线放样。程序坐标计算适应于任何线型 . 二、源程序 1. 主程序 1 :一般放样反算程序(① 正算坐标、放样点至置仪点方位角及距离;② 反算桩号及距中距离 ) 程序名 :1ZD-XY Lb1 0:Norm 2 F=1 : ( 正反算判别, F=1 正算, F=2 反算 , 也可以改 F 前加?,改 F 为变量 ) Z[1]=90 (与路线右边夹角) Prog " THB ": F=1=>Goto 1:F=2=>Goto 2 Lb1 1: F ix 3: "X = ": Locate 6,4, X◢ "Y=": Locate 6,4, Y◢ P rog "3JS”:Goto 0: Lb1 2:Fix 3: "KM=": Locate 6,4, Z◢ "D=": Locate 6,4, D◢ G oto 0 2.主程序2:高程序横坡程序 ( 设计任意点高程及横坡 ) 程序名: 2GC LbI 0:Norm 2 “KM”?Z:?D: Prog”H”:Fix 3:” H=”:Locate 6,4,H◢ “ I=”: Locate 6,4,I◢ Goto 0 3. 主程序 3 :极坐放样计算程序 ( 计算放样点至置仪点方位角及距离 ) 程序名: 3JS X : Y : 1268 .123→K( 置仪点 X 坐标 ) 2243 .545→L (置仪点 Y 坐标,都是手工输入 , 也可以建导线点数据库子程序 , 个人认为太麻烦) Y-L→E : X-K→F : Pol(F,E):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢( 不习惯小数点后四位为角度显示的,也可以用命令 J◢DMS◢ 来直接显示 ) Fix 3:” S=”:Locate 6,4,I◢ 4 .主程序 4 :涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序 3 中输入置仪点坐标后计算放样点至置仪点方位角及距离 ) 程序名: 4JH-XY LbI 0:Norm 2 90→Z[1]( 涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量 )

简易计算器的实现(JSP)

用JSP编写的一个简易计算器实现代码如下: <%@ page contentType="text/html;charset=gb2312"%>

简易计算器


<% //接收第一个数 String num1=request.getParameter("numb1"); //接收第二个数 String num2=request.getParameter("numb2");

//接收运算符号 String oper=request.getParameter("op"); Double dnum1=0.0; Double dnum2=0.0; Double result=0.0; //java中String -> int if(num1!=null&&num2!=null&&oper!=null) { dnum1=Double.parseDouble(num1); dnum2=Double.parseDouble(num2); //计算 if(oper.equals("+")) { //加 result=dnum1+dnum2; } else if(oper.equals("-")) { //减 result=dnum1-dnum2; } else if(oper.equals("×")) { //乘 result=dnum1*dnum2; } else { //除 result=dnum1/dnum2; } } %>

请输入第一个数: 请输入第二个数: 请选择运算符:

卡西欧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”:?M If 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 End Lb1 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 3 Lb1 2:M-Z[1]→G:R(1-cos(B+ZG))+L2÷(24R)→Z[9]:√(Z[9]2+(Rsin(B+ZG)+Z[8])2)→D F+Ptg-1(Z[9]÷(Rsin(B+ZG)+Z[8]))→C:F+P(B+ZG)→H Lb1 3 “X=”:U+Dcos(C)→X◢ “Y=”:V+Dsin(C)→Y◢ Lb1 B:“ZBJS1,FY-1”:?J If J>0:Then Goto 4:Else If J〈0:Then Goto A:If End:If End Lb1 4:“ZB”:?S “ZBX”:X+Scos(H-90)◢ “ZBY”:Y+Ssin(H-90)◢ “YB”:?N “YBX”:X+Ncos(H+90)◢

简易计算器的设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:单片机系统综合课程设计课程设计题目:简易计算器的设计与实现 院(系): 专业: 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章总体设计方案 (1) 1.1设计内容 (1) 1.2设计原理 (1) 1.3设计思路 (2) 1.4实验环境 (2) 第2章详细设计方案 (3) 2.1硬件电路设计 (3) 2.2主程序设计 (7) 2.2功能模块的设计与实现 (8) 第3章结果测试及分析 (11) 3.1结果测试 (11) 3.2结果分析 (11) 参考文献 (12) 附录1 元件清单 (13) 附录2 总电路图 (14) 附录3 程序代码 (15)

第1章总体设计方案 1.1 设计内容 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4×4矩阵键盘。显示采用6位8段共阳极数码管动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。 1.2 设计原理 在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。 1)提出方案 以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。 2) 总体方案实现 (1)要解决键值得读入。先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码

HTML5+css+JavaScript进行四则运算简易计算器(用按钮实现)

HTML5+JavaScript: js简易计算器

/* 动画所用图片元素,可自行更换*/

dos系统命令大全

常用doc命令大全 dos和windows最大的不同在于dos命令方式操作,所以使用者需要记住大量命令及其格式使用方法,dos命令分为内部命令和外部命令,内部命令是随每次启动的https://www.360docs.net/doc/7e11867416.html,装入并常驻内存,而外部命令是一条单独的可执行文件。在操作时要记住的是,内部命令在任何时候都可以使用,而外部命令需要保证命令文件在当前的目录中,或在autoexec.bat文件已经被加载了路径。 常用的内部命令 dos的内部命令是dos操作的基础,下面就来介绍一些常用的dos内部命令。 1、dir 含义:显示指定路径上所有文件或目录的信息 格式:dir [盘符:][路径][文件名] [参数] 参数: /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息; /p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示; /a:显示具有特殊属性的文件; /s:显示当前目录及其子目录下所有的文件。 举例:dir /p 将分屏显示当前目录下文件。在当前屏最后有一个“press any key to continue . . .”提示,表示按任意键继续。 2、cd 含义:进入指定目录 格式:cd [路径] 举例:cd dos cd命令只能进入当前盘符中的目录,其中“cd\”为返回到根目录,“cd..”为返回到上一层目录。 3、md 含义:建立目录 格式:md [盘符][路径] 举例:md temp 表示在当前盘符下建立一个名为temp的目录。 4、rd 含义:删除目录 格式:rd [盘符][路径] 举例:rd temp 表示删除当前路径下的temp目录,需要注意的是,此命令只能删除空目录。 5、copy 含义:拷贝文件 格式:copy [源目录或文件] [目的目录或文件] 举例1:copy c:\*.com d:\",表示将c盘根目录下所有扩展名为com的文件拷贝到d盘根目录中。 举例2:copy c:\autoexec.bat c:\autoexec.bak

C语言简易计算器的实现

目录 一.课程设计目的 (1) 二.设计环境 (1) 三.设计内容 (1) 四.设计说明 (2) 五.设计程序流程图 (2) 六.调试 (4) (1)错误原因分析一 (4) (2)语法错误 (5) (3)逻辑错误 (5) 七. 调试结果图 (6) 八. 结论与心得体会 (7) 九.附录 (8) 具体代码实现 (8) 十.参考文献 (18)

一.课程设计目的 1.通过一个学期的学习,我认为要学号C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践来巩固我 们的知识,特别是学计算机专业的,我们更应该注重这一环节, 只有这样我们才能成为一个合格的计算机人才。通过这一个课程 设计,进一步来巩固所学的语句,如:循环,和分支结构的运用。还要熟悉四则运算和函数的算法。 2.通过这次课程设计扩展自己的知识面,课本上的东西是远 远不够的,可以通过上网或去图书馆查资料等方式得到一些新的 知识, 3.通过课程设计,加深对课程化设计思想的理解,能进行一 个系统功能分析,并设计一个合理的模块化结构,提高程序开发 能力。 二.设计环境 1.硬件:一台完整的电脑,包括键盘、鼠标,最小硬盘空间1GHz 2.软件:安装有Microsoft visual c++6.0 三.设计内容 以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现

简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。 (1)定义一个结构体类型数组,输入0~9及+、--、*等符号的信息,将其信息存入文件中; (2)输入简单的加减乘除算术计算式,并在屏幕上显示计算结果; (3)画出部分模块的流程图; (4)编写代码; (5)程序分析与调试。 四.设计说明 1)包含的功能有:加、减、乘、除运算,开方、平方等功能。 (2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 (4)计算功能基本上是用系统内部函数。 (5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (6)“CE”按钮可以清除所有已输入的数据从头计算 五.设计程序流程图

使用js,css,html做的web版的计算器

jsq.html