500→DimZ为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量50→Z[C+22]"PASSWORDS"?I:I→Z[C+39]重" />

卡西欧5800计算器程序坐标正反算(含高程)

卡西欧5800计算器程序坐标正反算(含高程)
卡西欧5800计算器程序坐标正反算(含高程)

坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素)

另含两个边仰(一个横向坡,一个纵向坡)坡放样模块.

帮助文件未完成

程序浏览:

FileName:RESET 初始化程序

Norm 1:50→C:12345→J

"RESET PW"?I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS 程序根据实际再增减变量

50→Z[C+22]

"PASSWORDS"?I:I→Z[C+39] 重设要素保护密码

Cls:Stop

FileName:DATLOCK 要素保护密码确定认程序

Cls:Norm 1:50→C

"PASSWORDS"?I:Cls:I≠Z[C+39]=>Stop

FileName:SHELL(外壳程序)

50→C ;在扩充变量预留前50个给别的程序用。如不够就适量加大。RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致

Z[C+35]→I:"STATION-N"?I:I→Z[C+35] 设置测站N坐标

Z[C+36]→I:"STATION-E"?I:I→Z[C+36] 设置测站E坐标

Z[C+44]→I:"STATION-Z"?I:I→Z[C+44]设置测站Z坐标

Z[C+45]→I:"STATION-HI"?I:I→Z[C+45] 设置仪高

Z[C+41]→I:"GC-DH"?I:I→Z[C+41] 放样点高差常数

Norm 1

Z[C+23]→N当前分段要素N坐标

Z[C+24]→E当前分段要素E坐标

Z[C+25]→M当前分段要素起点桩号

Z[C+26]→H当前分段要素起点方位角(正北)单位:弧度

Z[C+27]→A当前分段要素起点曲率有左偏负右偏正(注意不半径)

Z[C+28]→R当前分段要素终点曲率有左偏负右偏正(注意不半径)

Z[C+29]→L当前分段要素长度

Z[C+3]→W

Z[C+32]→I:"DAT1 2 3"?I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值)

0→I

Z[C+4]→I:"1 2 3"?I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道进出口用到)

Z[C+4]→I

I=1=>Prog"TURNZH"

I=2=>Prog"HXBYP"

I=3=>Prog"ZXBYP"

Lbi A

Deg:Norm 1:Cls

Z[C+1]→G:"ZH"?G:G→Z[C+1] ;G桩求桩号

Z[C+2]→B:"JL"?B:B→Z[C+2];B横向距离,左正右负

Lbi B

Prog "ZBJS" ;坐标正算

Prog "GCJS" ;高程计算

Fix 3:Cls ;设置三位小数

"ZH=":Locate 4,1,G;第一行显示桩号

"X=":Locate 3,2,X ;第二行显示X(N)坐标

"Y=":Locate 3,3,Y;第三行显示Y(E)坐标

Prog "GCJS" ;高程计算

"Z":Locate 2,4,Z+Z[C+41] ;第四行显示Z坐标

Locate 10,4,Z[C+2] ;第四行显示横向距离

0→I

Do:I+1→I:I=1000=>Goto 1:LpWhile Not(Getkey=57 Or Getkey=27) ;锁定键盘,并在几十秒后自动返回

Getkey=57=> Goto 1

Z+Z[C+41]+Z[C+49]-Z[C+44]-Z[C+45]→Z[C+48]

Pol(Z[C+35]-X,Z[C+36]-Y)

Cls:"DL":Locate 3,1,I:Locate 12,1,Z[C+45]

"DH":Locate 3,2,Z[C+48]:Locate 12,2,Z[C+49]

"FWJ"

J<0=J+360→J:J◤DMS◢

J→Z[C+46]

I→Z[C+47]

Goto 1

FileName:ZBJS 坐标计算程序

Prog"READDAT"

Rad

G-M→Q

IF AR=0 :Then If A=R :Then 1→J:Else 3→J :IfEnd:Else If A=R :Then 2→J:Else 3→J:IfEnd:IfEnd

If J=1 :Then H→F:N+QCos(H)→X:E+QSin(H)→Y:IfEnd 直线段直接计算

If J=2 :Then H+QR→F:Rec(Abs(2Sin(Abs(0.5QR))÷R),H+QR÷2):N+I→X:E+J→Y:IfEnd 圆弧段直接计算

If J=3 :Then Goto 5 :IfEnd

X+BCos(F+W)→X

Y+BSin(F+W)→Y

Deg:Return

Lbi 5 用五点通用坐标计算计算缓和段

0.5(R-A)÷L→K

AQ→I

KQ2→J

0.0469100770→P:H+IP+JP2→U

0.2307653449→P:H+IP+JP2→V

0.5→P :H+IP+JP2→D

0.7692346551→P:H+IP+JP2→F

0.9530899230→P:H+IP+JP2→T

0.1184634425→I

0.2393143352→J

0.2844444444→O

N+Q(ICos(U)+JCos(V)+OCos(D)+JCos(F)+ICos(T))→X

E+Q(ISin(U)+JSin(V)+OSin(D)+JSin(F)+ISin(T))→Y

H+AQ+KQ2→F

X+BCos(F+W)→X

Y+BSin(F+W)→Y

Deg:Return

FileName:TURNZH(坐标反算)

Norm 1

Z[C+37]→I:"DQD-N"?I:I→Z[C+37] 输入待求点N坐标

I=-1=>Prog"INFWJDLDH"

Z[C+38]→I:"DQD-E"?I:I→Z[C+38] 输入待求点E坐标

0→B:M+L÷2→G:Prog"ZBJS"

Lbi S:Rad

Z[C+37]-X→I:Z[C+38]-Y→J

If I=0 And J=0 :Then Goto A:IfEnd

Pol(I,J)

Lbi A:Rec(I,J-F):J→Z[C+2]

G+I→G:IF Abs(I)>0.0001 :Then Prog"ZBJS":Goto S↙

G→Z[C+1]

FileName:INFWJDLDH实测坐标(用方位角,距离,高差)输入程序Deg:Norm 1:Cls

Z[C+46]→J:"DQD-FWJ"?J:J→Z[C+46]

Z[C+47]→I:"DQD-DL"?I:I→Z[C+47]

Z[C+48]→K:"DQD-DZ"?K:K→Z[C+48]

Z[C+49]→P:"RHT"?P:P→Z[C+49]

Rec(I,J)

Z[C+35]+I→Z[C+37]

Z[C+36]+J→Z[C+38]

Z[C+44]+Z[C+45]+K-P→Z[C+43]

FileName:HXBYP 横向边仰坡放样程序

Cls:Norm 1

Z[C+40]→I:"QPD-DL"?I:I→Z[C+40] 输入起坡点与中桩距离常数

Z[C+41]→I:"QPD-DZ"?I:I→Z[C+41] 输入起坡点与中桩高差常数

Z[C+42]→I:"i"?I:I→Z[C+42] 输入边仰坡坡度,左仰坡(路堑)为正,右仰坡(路堑)为负,左边坡为负,右边坡为正

Cls:Z[C+43]→I:"DQD-Z"?I:I→Z[C+43] 输入实测高程

Prog"TURNZH"

Prog "GCJS"

(Z[C+43]-Z-Z[C+41])Z[C+42]+Z[C+40]→B

Fix 3:B-Z[C+2]◢显示与上一次测点的偏差

B→Z[C+2]

FileName:ZXBYP 纵向仰坡放样程序(隧道进口使用)

Cls:Norm 1:Z[C+33]→I:"QPD-ZH"?I:I→Z[C+33] 输入起坡点桩号

Z[C+34]→I:"QPD-Z"?I:I→Z[C+34] 输入起坡点高程

Z[C+42]→I:"i"?I:I→Z[C+42] 仰坡时(隧道进出口仰坡),进口为正,出口为负) Cls:Z[C+43]→I:"DQD-Z"?I:I→Z[C+43] 输入实测高程

Prog"TURNZH"

Z[C+42](Z[C+43]-Z[C+34])+Z[C+33]→G

Fix 3:G-Z[C+1]◢显示与上一次测点的偏差

G→Z[C+1]

FileName:SET 设置程序

Lbi S

Norm 1

50→C

50→Z[C+22]

0→K

Z[C+5]→I:"1 Or 2"?I:I→Z[C+5] ;选择1线或者2线

180Z[C+3]÷π→J:"XZJJ"?J:Jπ÷180→Z[C+3];斜桩夹角

If I=1:Then Z[C+8]→Z[C+6]:Z[C+9]→Z[C+7]

Z[C+12]→Z[C+16]:Z[C+13]→Z[C+17]:Z[C+18]→Z[C+20]

Else Z[C+10]→Z[C+6]:Z[C+11]→Z[C+7]

Z[C+14]→Z[C+16]:Z[C+15]→Z[C+17]::Z[C+19]→Z[C+20]

IfEnd

Z[C+7]+3→Z[C+31]

0→I:"1PQX,2SQX,3YSDS"?I ;1输入平曲线要素,2输入竖曲线要素,3输入1、2线夹平竖曲线交点(变坡点)数量以让程序规划内存建立要素数据为,其它值退出本程序

I=1 => Goto 1:I=2 => Goto 2:I=3 => Goto 3

I≠0=>Prog"DATLOCK"

Prog"SETPFDYS"

Stop

Lbi 1;平曲线要素输入部分

Z[C+6]→D

-1→Z[D+3]

For 1→J To Z[C+16]

Cls:"PQX":Locate 9,1,J

Z[D+1]→I:"N"?I:I→Z[D+1] ;请输入N坐标

Z[D+2]→I:"E"?I:I→Z[D+2] ;请输入E坐标

Z[D+3]→I:"R"?I:I→Z[D+3] ;请输入半径R

Z[D+4]→I:"LS1"?I:I→Z[D+4] ;请输入缓和曲线1长度

Z[D+5]→I:"LS2"?I:I→Z[D+5] ;请输入缓和曲线2长度

D+5→D

Next

1→Z[D-2]

Goto S

Lbi 2 ;竖曲线要素输入部分

Z[C+7]→D

-1→Z[D+3]

For 1→J To Z[C+17]

Cls:"SQX":Locate 9,1,J

Z[D+1]→I:"BPDZH"?I:I→Z[C+1] ;请输入变坡点桩号

Z[D+2]→I:"BPDGC"?I:I→Z[C+2] ;请输入变坡点高程

Z[D+3]→I:"R"?I:I→Z[C+3] ;请输入半径R

D+3→D

Next

1→Z[D]

Goto S

Lbi 3 ;要素点数输入部分

Z[C+12]→I:"1PQXDS"?I:I→Z[C+12] ;输入1线平曲线点数,最小值为3

Z[C+13]→I:"1SQXDS"?I:I→Z[C+13] ;输入1线竖曲线点数,最小值为3

Z[C+18]→I:"1JDZH"?I:I→Z[C+18] ;输入1线平曲线第一个交点的交点桩号Z[C+14]→I:"2PQXDS"?I:I→Z[C+14] ;输入2线平曲线点数,最小值为3

Z[C+15]→I:"2SQXDS"?I:I→Z[C+15] ;输入2线竖曲线点数,最小值为3

Z[C+19]→I:"2JDZH"?I:I→Z[C+19] ;输入2线平曲线第一个交点的交点桩号C+Z[C+22]→Z[C+8] 1线路平曲线要素指针偏移基数

Z[C+8]+5Z[C+12]→Z[C+9] 1线路竖曲线要素指针偏移基数

Z[C+9]+3Z[C+13]→Z[C+10] 2线路平曲线要素指针偏移基数

Z[C+10]+5Z[C+14]→Z[C+11] 2线路竖曲线要素指针偏移基数

Z[C+11]+3Z[C+15]→Z[C+21] 要素数据库结束指针

Z[C+21]+1→Z[C+30]

Z[C+21]→DimZ 增加额外变量

-1→K

Goto S

FileName:SETPFDYS 交点要素=>分段要素

Norm 1

50→C

Rad

Z[C+6]+5→D

Z[C+21]+1→F

F+6→DimZ

-1→Z[F] ; 设置分段要素开始标志

Z[C+20]→V ; 从数据库读入当前线第一个平曲线交点桩号

0→G

Pol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第一条直线的距离I,计算方位角J

J→H

Z[D-4]→Z[F+1] 直线段

Z[D-3]→Z[F+2]

V-I→Z[F+3]

For 1→G To Z[C+16]-2

Pol(Z[D+1]-Z[D-4],Z[D+2]-Z[D-3]) ;计算第本交点与下一交点的距离I,计算方位角J

I→W:J→H

Pol(Z[D+6]-Z[D+1],Z[D+7]-Z[D+2])

J-H→K ;计算转角K,负值是左转角,正值是右转角

IF Abs(K)>π:Then If K>0:Then K-2π→K:Else K+2π→K:IfEnd:IfEnd

Z[D+3]→R ;从数据库读入半径R

Z[D+4]→L ;从数据库读入缓和曲线1长度

Z[D+5]→M ;从数据库读入缓和曲线2长度

L÷2÷R→B ;计算缓和曲线1的B0角

M÷2÷R→O ;计算缓和曲线2的B0角

(Abs(K)-B-O)R→P ;计算圆曲线长度

L2÷24÷R-L^(4) ÷2384÷R^(3) →Q ;内移值计算方法2

L÷2-L^(3) ÷240÷R2→S ;切线增长值计算方法2

M2÷24÷R-M^(4) ÷2384÷R^(3) →J ;内移值计算方法2

M÷2-M^(3) ÷240÷R2→I ;切线增长值计算方法2

Abs(π÷2- Abs(K)) →A

Rtan(Abs(K÷2))+S+J÷Cos(A)-QTan(A)→T ;计算切线1

Rtan(Abs(K÷2))+I+Q÷Cos(A)-JTan(A)→U ;计算切线2

H<0=>H+2π→H

1→A

K<0 =>-1→A

H→Z[F+4]

0→Z[F+5]

0→Z[F+6]

F+6→F

F+6→DimZ

Rec(T,H)缓和段1

Z[D+1]-I→N

Z[D+2]-J→E

N→Z[F+1]

E→Z[F+2]

V-T→Z[F+3]

L=0=>Goto A

H→Z[F+4]

0→Z[F+5]

A÷R→Z[F+6]

F+6→F

F+6→DimZ

Lbi A圆弧段

0→I:0→J

L=0=>Goto B

Pol(L-L^(3)÷40÷R2,L2÷6÷R-L^(4)÷336÷R^(4)) Lbi B

Rec(I,H+AJ)

N+I→N

E+J→E

N→Z[F+1]

E→Z[F+2]

V-T+L→Z[F+3]

H+AB→Z[F+4]

A÷R→Z[F+5]

A÷R→Z[F+6]

F+6→F

F+6→DimZ

M=0=>Goto C 缓和段2

Rec(2RSin(0.5P÷R),H+AB+AP÷R÷2)

N+I→N

E+J→E

N→Z[F+1]

E→Z[F+2]

V-T+L+P→Z[F+3]

H+AB+AP÷R→Z[F+4]

A÷R→Z[F+5]

0→Z[F+6]

Lbi C

F+6→F

F+6→DimZ

Rec(U,H+K)

Z[D+1]+J→Z[F+1]

Z[D+2]+I→Z[F+2]

V-T+L+P+M→Z[F+3]

V-T+L+P+M-U+I→V

D+5→D

Next

H+K→Z[F+4]

0→Z[F+5]

0→Z[F+6]

F+9→DimZ

1→Z[F+7]

V→Z[F+9] 要素终点桩号

Deg

FileName:READDAT

Z[C+32]→I

I=3=>Prog"READDAT3"

If GM+L :Then ;验证要素是否可用,否则重设要素

I=1=>Prog"READDAT1"

I=2=>Prog"READDAT2"

Prog"REALDAT3"

IfEnd

FileName:READDAT1 平曲线分段要素读取程序1

Z[C+30]→F

0→J

Lbi 1 搜索要素

If G

-1=Z[F]=>Goto E:F-6→F:-1→J:Goto 1

Else 1=Z[F+1]=>Goto E:-1=J=>Goto 2:1→J:F+6→F:Goto 1 IfEnd

Lbi 2

F→Z[C+30]

Z[F+1]→Z[C+23]当前分段要素N坐标

Z[F+2]→Z[C+24]当前分段要素E坐标

Z[F+3]→Z[C+25]当前分段要素起点桩号

Z[F+4]→[C+26]当前分段要素起点方位角(正北)

Z[F+5]→Z[C+27]当前分段要素起点曲率有左偏负右偏正(注意不半径)Z[F+6]→Z[C+28] 当前分段要素终点曲率有左偏负右偏正(注意不半径)Z[F+9]-Z[F+3]→Z[C+29] 当前分段要素长度

Return

Lbi E

Cls

"ERROR"

Stop

READDAT2文件请输入内容为以下内容以便测试结果与本文一致。

π÷180→J

Goto 1

Lbi 1

If G<30008.396:Then Cls:Stop:IfEnd↙;判断待求桩号是否小于本要素起点,如小于就停止运行程序

If G<30661.038(终点里程):Then 2851422.090(起点X)→N:513896.440(起点Y)→E:30008.396→M:213°32′52″J(起点方位角)→H:0 (起点曲率)→A:0(终点曲率)→

R:652.642起点至终点长度→L:Goto E:IfEnd↙

If G<30921.038:Then 2850878.162→N:513535.768→E:30661.038→

M:213°32′52″J→H:0→A:1÷1300→R:260→L:Goto E:IfEnd↙

If G<31426.367:Then 2850666.478→N:513385.004→E:30921.038→

M:219°16′39″J→H:1÷1300→A:1÷1300→R:505.328→L:Goto E:IfEnd↙

If G<31686.367:Then 2850346.483→N:512998.015→E:31426.367→

M:241°32′56″J→H:1÷1300→A:0→R:260→L:Goto E:IfEnd↙

If G>31686.367:Then Cls:Stop:IfEnd↙;判断待求桩号是否大于本要素终点,如大于就停止运行程序

Lbi E

N→Z[C+23]:E→Z[C+24]:M→Z[C+25]:H→[C+26]:A→Z[C+27]:R→Z[C+28]:L→

Z[C+29]

FileName:READDAT3 平曲线分段要素读取程序3

Norm 1

Z[C+23]→N:?N:N→Z[C+23] 当前分段要素N坐标

Z[C+24]→E:?E:E→Z[C+24] 当前分段要素E坐标

Z[C+25]→M:"SZH"?M:M→Z[C+25] 当前分段要素起点桩号

180Z[C+26]÷π→H:H◤DMS◢:"FWJ"?H:Hπ÷180→H:H→Z[C+26] 当前分段要素起点方位角(正北)单位:度分秒

Z[C+27]→A:"SR"?A:A→Z[C+27] 当前分段要素起点曲率有左偏负右偏正(注意是半径的倒数)

Z[C+28]→R:"ER"?R:R→Z[C+28]当前分段要素终点曲率有左偏负右偏正(注意是半径倒数)

Z[C+29]→L:?L:L→Z[C+29]当前分段要素长度

Return

FileName:GCJS高程计算

Z[C+31]→D

0→J

Lbi S

D→Z[C+31]

Z[D-2]→I

Z[D-1]→V

Z[D+1]→K

Z[D+2]→O

(O-V)÷(K-I)→U

Z[D+4]→I

Z[D+5]→V

(V-O)÷(J-K)→V

U-V→Z ;为正时是凸型竖曲线,负是时为凹竖曲线

Z[D+3]→I ;读入半径

Abs(IZ)÷2→T ;切线长

If G

If J=1 Or Z[D]=-1 :Then UG-UK+O→Z :Return:IfEnd ;计算高程Z -1→J:D-3→D:Goto S

Else If G

G-K+T→Q

Q2÷2÷I→I

Z>0=>-I→I

O-UT+UQ+I→Z ;计算高程Z

Return

Else If G

G-K-T→Q

Q2÷2÷I→I

Z>0=>-I→I

O+VT+VQ+I→Z ;计算高程Z

Return

Else If J=-1 Or Z[D+3]=1 :Then

O+VG-VK→Z ;计算高程Z

Return

Else 1→J:D+3→D:Goto S

IfEnd :IfEnd:IfEnd:IfEnd

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]( 涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量 )

CASIO fx-5800p测量程序

CASIO fx-4800P、fx-5800P型计算器用于线路施工 曲线中线点坐标的计算程序 中铁十局三建公司工程技术部 摘要:本文介绍了CASIO fx-4800P 、fx-5800P型计算器程序编制用于铁路、公路曲线线路内任意中线点的坐标计算程序及使用方法。本计算程序具有操作简便、计算快捷、应用广泛等特点、极大地减轻了测量工作者的内业工作量,对于测量工作者有较大的参考和指导作用。关键词:曲线线路施工测量计算程序 1.概述 过去,线路中线施工放样基本依靠经纬仪和钢尺了来进行角度及距离测量。对于曲线线路一般的测量方法是:经纬仪置于某一中线点上,采用偏角法拨角再用钢尺量距来定出中线点。随着电子技术进步和经济发展,测量仪器和测量方法的不断改进,目前,全站仪已广泛地应用于工程施工测量中,极大的提高了测量工作效率。但是,在进行铁路、公路工程的曲线线路施工测设时,需要在线路所在区域建立统一坐标系或独立坐标系,利用坐标变换的方法,将整个曲线的三个部分(第一缓和曲线、中间圆曲线、第二缓和曲线)统一到同一坐标系中。根据坐标系的建立,计算出整个曲线内任意点的坐标,再采用全站仪利用极坐标方法进行施工放样。前提是首先利用计算器计算出各中线点坐标,然后才能进行放样。而普通型计算器不仅计算速度慢,且要求计算者必须正确地记忆很多计算公式,计算繁琐而且容易出错,满足不了现场测设工作的要求。为了能够快速准确地为全站仪提供测设

数据,发挥全站仪快速测设的特点,提高测量工作效率,应采用可编程的计算器,编制计算程序。本文主要介绍应用CASIO fx-4800P型计算器的计算程序,供公司测量同行们参照使用。 2.计算程序 QXZBJS(文件名:曲线坐标计算fx-4800P) Defm2:R:L:A:N“ZH:X=”:E“ZH:Y=”:F:“FWJ=”:K“ZH:LC=”: P=L2/(24R)-L4/(2688R3):M=L/2-L3/(240R2):T“T”=(R+P)tng(A/2)+M ◢G=RAπ/180:“S”S=G+L◢ LbiA:{C,V}:C“CSDLC=”:V“HXPJ=”:D=C-K:D≤L=>I=D-D5/(40R2L2):U=D3/(6RL)-D7/(336R3L3):J=√(I2+U2):Goto1:≠>D≤G=>O=90(2D-L)/( Rπ):I=RsinO+M:U=R(1-cosO)+P:J=√(I2+U2):Goto2:≠>D=S-(C-K): = D-D5/(40R2L2):Z[2]=D3/6RL-D7/(336R3L3):I=T+(T-Z[1])cosA-Z[2]sinA:U=(T-Z[1])sinA+Z[2]cosA:J=√(I2+U2):Goto3:Lbi1:{Q}:Q“Z=1;Y=2”:Q=1=>Q=F-30D2/ (RLπ):H=F-90D2/ (RLπ):≠>Q=F+30D2/ (RLπ):H=F+90D2/( RLπ)⊿ Goto4:Lbi2:{Q}:Q“Z=1;Y=2”:Q=1=>Q=F-tng-1(U/I):H=F-O:≠>Q= F+tng-1(U/I):H=F+O⊿Goto4:Lbi3:{Q}:Q“Z=1;Y=2”:Q=1=>Q=F-tng-1(U/I):H=F-(A-90(S-(C-K))2/ (RLπ)): ≠>Q= F+tng-1(U/I):H=F+(A-90(S-(C-K))2/ (RLπ)):⊿ Goto4: Lbi4:B=90+H:H<0=>H“QXFWJ”=B+360◢≠>H≥360=>H“QXFWJ”=H-360 ◢≠>H“QXFWJ”=H◢⊿Goto5: Lbi5: X“CSD:X”=JcosQ+N+VcosB◢ Y“CSD:Y”=JsinQ+E+VsinB◢

卡西欧5800P计算器程序

卡西欧5800P计算器TYQXJSI坐标正反算 (经过修改) 1.主程序(TYQXJSI) 10→DimZ:"1.SZ → XY":"2.XY → SZ":?N:"XO"? U:"YO"? V:"SO"? O:"FO"? G:"LS"? H:"RO"? P:"RN"? R:? Q: 1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:If N=1: Then Goto 1: Else Goto 2: IfEnd Lbl 1:"DK? +?"? S:?Z: Abs(S-O)→W:If W>H or SH or S157297: Then Prog”OPRP2-0”: Else Prog”OPRP1-50” IfEnd: IfEnd Else If N=3: Then Prog”OPRP4”: IfEnd :IfEnd

2. 正算子程序(SUB1) 0.1739274226 →Z[3]:0.3260725774→B:0.0694318442→K: 0.3300094782→L:(1-L) →F:(1-K)→M: (U+W(Z[3]cos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+ Z[3]cos(G+QEMW(C+MWD)))) →X: V+W(Z[3]sin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW( C+FWD))+ Z[3]sin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:(X+Zcos(F))→X:(Y+Zsin(F))→Y 注:Z[3]替代源程序A。 3. 反算子程序(SUB2) G-90 →Z[2]:Abs((Y-V)cos(Z[2])-(X-U)sin(Z[2])) →W:0→Z:Lbl 0:Prog "SUB1":Z[2]+QEW(C+WD)→L: (J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)<10^(-6):Then Goto1:Else W+Z→W:: IfEnd: Goto 0 Lbl 1:0→Z:Prog "SUB1":(J-Y)÷sin(F)→Z 注:Z[2]替代源程序T。 ] 4、隧道超欠挖计算(OPRP1) "PZ":Z-2.0→L◢

卡西欧5800计算器坐标正反算程序

M = (1.0/Re-1.0/Rs)/Ls; x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L}; y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L}; a(i)= Ta +L/Rs + 0.5*M *L*L Rs:缓和曲线起点半径 Re:缓和曲线止点半径 Rs,Re (NE坐标系下,右偏为正,左偏为负) Ta:缓和曲线起点的真北方位角 Ls:不完整缓和曲线长度。 此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全适应缓和曲线左偏、右偏、Rs >Re 、Rs NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙ Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙ Lbl 1:?Z:?G:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙ Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢: “Z=”:Z◢: Goto4↙ QXJS-SUB0 数据库子程序 Goto1↙同时保存多个曲线时的指针 Lbl 1 IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙ IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。 QXJS-SUB1 正算子程序 0.5(1÷R-1÷P)÷L→D:S-O→X↙ U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙ V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙ A+(X÷P+DX2)×180÷π→F↙ N+Zcos(F+G) →N:E+Zsin(F+G) →E QXJS-SUB2 反算子程序 Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙

fx-5800p全线坐标正反算带高程计算程序(线元法)

曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序 一、程序功能及原理 1.功能说明:本程序由一个主程序(TYQXJS)和五个子程——正算子程序(SUB-ZS)、反算子程序(SUB-FS)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。本程序在CASIO fx-5800P计算器运行。 2.计算原理:利用Gauss-Legendre 5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×Dcb<0=>该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。 二、源程序 1.主程序(TYQXJS)(A) Deg:fix 3 119→DimZ “INPUT(0) Or DATA(Else)”?I Lbl 0:“1.SZ=>XY,2.XY=>SZ,3.TF=>CK,4.SD=>FY,5.TW=>FY”?N If N=1 Or N=5:Then Goto 1 Else If N=2 Or N=3 Or N=4:Then Goto 2 Else Goto 3 IfEnd:IfEnd Lbl 1:“K(m)=”?S If S<0:Then Goto 0:IfEnd “JL(m)=”?Z If Z≠0:Then “ANGLE→R(Deg)=”?M:IfEnd If I=0:Then Prog “DAT1”:Else Prog “DAT2”:IfEnd S-O→W:If W<0:Then Goto 0:Else If W>H:Then Goto 0:IfEnd:IfEnd Prog “SUB-ZS”:Prog “SUB-GC” If Z<0:Then“XL(m)=”:X◢“YL(m)=”:Y◢ If N=5:Then Prog “SUB-TW”:IfEnd Else If Z>0:Then “XR(m)=”:X◢“YR(m)=”:Y◢ If N=5:Then Prog “SUB-TW”:IfEnd Else “X(m)=”:X◢“Y(m)=”:Y◢“Hs(m)=”:L◢“FWJ=”: F?DMS◢ IfEnd:IfEnd

卡西欧5800计算器工程应用程序.

卡西欧5800计算器测量专用程序 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。 3、高程计算修改, 4、附计算坐标及高程参数设计要素输入实例 二、源程序(绿色为程序名;蓝色为输入计算器内容)0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。 程序名:0(数子0) ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY”:WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":WhileEnd: While Z[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”: 1.主程序:一般坐标计算及放样程序

CASIO 5800计算器测量计算程序

CASIO 5800计算器测量计算程序 上上月做这个东西的时候没仔细检查,有好几处输错了的地方,今天把它修改过来。 简要介绍: 1. 新版程序把线元法和交点法已经集成在一个模块中了,用户只需修改JD 程序和ZA程序中的数据部分即可,其余不需作任何的改动。 2. 因为每条路高程计算不尽相同,且比较复杂,现在可利用PC机EXCEL计算好打印成表格带到工地上使用,所以本版程序未对线路高程序进行专门的编程计算,而是利用统计计算模式中来输入桩号(第一列X)及左、右高程(第二、三列Y,Freq),这种输入数据的方式最为直观,易发现错误,也易修改,输入完毕后运行S程序对数据按桩号进行排序,在程序中通过调用GG程序来进行内插计算,SG=-1得左标高,SG=1得右标高(若SG输入0,则可进行一般的线性内插计算)。 3. 在JD程序和XY程序中,先将一个计算单元的数据置入矩阵F中(1行8列或1行9列),这样程序可读性极好。 4.相比原CASIO4850程序操作习惯,作了一点小小的改动,测站坐标存在Z[10],N中,X坐标原存在M中容易被误操作修改,而设计标高存在M中,这样易于修改,因为CASIO5800没有IN,OUT功能,很不方便。 4. 程序利用Z[2]变量值来判断是采用交点法还是线元法模型计算,Z[2]=0为线元法,否则为交点法。 一、PQX程序:计算中边桩坐标及近似的桩号反算,在运行模式直接调用。 ①Z[10]→S:”XO”?S:S→Z[10]:”YO”?N:Prog “AU” ②Lbl 2:?L:Prog “Z”:Prog “E”:1n→O:90→S ③Lbl 4:”JJ”?S:”YC”?O:SO=0 =>Goto 2…原来lbl 后没有标号4的。 ④O=-1 =>Goto 6 ⑤“X,Y”:R+OCos(Z+S)→X▲U+OSin(Z+S)→Y▲Prog “D”:Goto 4 ⑥Lbl 6:Z[7]→X:Z[8]→Y:”XF”?X:”YF”?Y:XY=0 =>Goto 4 ⑦X→Z[7]:Y→Z[8]:Pol(X-R,Y-U+1p):Z+S-J→J:”YC,DL,L”:ICos(J)→O▲ISin( J)→I▲L+I▲Goto 6 二、P程序:在程序中提供一个自由运算的模式。 ①Lbl 1:”TMP”?I:If I≠0:Then “RST”:I▲Goto 1:IfEnd 二、LYC程序:进行桩号反算及边坡放样,在运行模式直接调用。 ①Prog “AU” ②Lbl 1:Z[7]→X: Z[8]→Y: Z[6]→S: ”XF”?X :X→Z[7]:”YF”?Y:Y→Z[8]: ”ZF”?S: S→Z[6] ③Lbl 2:Prog “Z”:Y=U =>Y+1p→Y ④Pol(X-R,Y-U):J-Z→J:Isin(J)→O:Icos(J)→I ⑤If Abs(I)≤0.1:Then Prog “E”:”L,YC”:L+I→L▲O▲Goto 3:IfEnd ⑥If Z[9]≠0:Then Pol(Z[9]-SO,I):πJZ[9]÷180→I:IfEnd ⑦”DL”:I▲L+I→L:Goto 2 ⑧Lbl 3: Z[6]→S:If S=0:Then Goto 1:IfEnd ⑧M→Z ⑨Lbl 4:”SG”?Z:Z→M:If Abs(Z)=1: Then Prog “GG”:Y→Z:If X=1:Then

卡西欧fx-5800计算器缓和曲线编程

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)◢

公路测量卡西欧5800万能程序

一、前言本程序是《CASIO fx-5800P计算与道路坐标放样计算》中道路坐标放样计算程序的升级改进版本。原道路坐标放样计算程序只基于道路的单个基本型曲线,有效计算范围仅包括平曲线部分和前后的两条直线段,使用时需要输入平曲线设计参数,无坐标反算桩号功能。改进后的程序名称为:道路中边桩坐标放样正反算程序(全线贯通),增加了可实现全线贯通的数据库功能和坐标反算桩号功能,主要是: 1.使用道路平面数据库子程序,可将一段或若干段道路的交点法格式平面参数(可容易从直线、曲线及转角表中获得)以数据库子程序形式输入计算器,程序在计算时省却了输入原始数据的麻烦; 2.坐标正算方面,输入桩号即可进行道路的中、边桩坐标计算,若输入了测站坐标,还可同时计算全站仪极坐标放样数据(拨角和平距); 3.坐标反算方面,输入平面坐标,即可计算对应的桩号和距中距离(含左右信息); 4.对于存在断链的道路,可分段分别编写数据库子程序,然后在主程序中添加一个路段选择的功能即可实现(可参照立交匝道程序中匝道的选择)。程序的特点: 1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写; 2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐; 3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。二、道路示例项目基本资料基本资料同《CASIO fx-5800P计算与道路坐标放样计算》第6章HY高速公路第2合同段(合同段起止桩号: K4+800~K9+600)。这里摘取直线、曲线及转角表资料如下.

.

. 三、程序代码 .

. .

. .

《坐标方位角及距离计算小程序》代码——Access实现

公用模块: Option Explicit Public Const PI = 3.14159265358979 '已知A、B两点坐标计算方位角,JSFWJ的中文意思是计算方位角 Public Function JSFWJ(xa As Double, ya As Double, xb As Double, yb As Double) As Double '已知A、B两点坐标计算方位角函数过程Dim vx As Double, vy As Double vx = xb - xa: vy = yb - ya '如果A、B两点坐标相同,出现提示对话框 If vx = 0 And vy = 0 Then MsgBox "您选择的是同一个点!", vbOKOnly + vbExclamation, "提示信息" JSFWJ = 999999999# End If '计算方位角的值 If vx = 0 And vy > 0 Then '与y轴正半轴平行 JSFWJ = RadianToAngle(PI / 2#) ElseIf vx = 0 And vy < 0 Then '与y轴负半轴平行 JSFWJ = RadianToAngle(PI * 3# / 2#) ElseIf vy = 0 And vx > 0 Then '与x轴正半轴平行 JSFWJ = RadianToAngle(0) ElseIf vy = 0 And vx < 0 Then '与x轴负半轴平行 JSFWJ = RadianToAngle(PI) ElseIf vx > 0 And vy > 0 Then '第一象限 JSFWJ = RadianToAngle(Atn(vy / vx)) ElseIf vx < 0 And vy > 0 Then '第二象限 JSFWJ = RadianToAngle(Atn(vy / vx) + PI) ElseIf vx < 0 And vy < 0 Then '第三象限 JSFWJ = RadianToAngle(Atn(vy / vx) + PI) ElseIf vx > 0 And vy < 0 Then '第四象限 JSFWJ = RadianToAngle(Atn(vy / vx) + 2 * PI) End If End Function '已知A、B两点坐标计算距离,JSJLS的中文意思是计算距离S Public Function JSJLS(xa As Double, ya As Double, xb As Double, yb As Double) As Double Dim vx As Double, vy As Double vx = xb - xa: vy = yb - ya '如果A、B两点坐标相同,出现提示对话框 If vx = 0 And vy = 0 Then MsgBox "您选择的是同一个点!", vbOKOnly + vbExclamation, "提示信息" JSJLS = 99999999# End If '计算距离 JSJLS = Sqr(vx * vx + vy * vy) End Function '弧度化角度 Public Function RadianToAngle(ByVal alfa As Double) As Double Dim alfa1 As Double, alfa2 As Double alfa = alfa * 180# / PI

CASIO fx5800p全线高程计算程序

CASIO fx5800p全线高程计算程序 GAOCHEN 主程序 Lbl 1 “KM=,<0,Stop”:?K:K<0=>Stop:“PY=”?L:Prog”GK” C-D→E:Abs(RE/2)→T:R(Abs(E)/E)→R If K≤B-T:Then 0→H:Else:If K≥B+T Then 0→H:D→C:Else K-B+T→H:Ifend:Ifend A-(B-K)C-H2/(2R)→G:Cls “KM=”:Locate 4,1,K:Locate 10,1,“PY=”:Locate 13,1,L:Fix 3 “H=”:Locate 4,2,G Prog “PODU”:(E-B)/(D-A)(K-A)+B→I:(F-C)/(D-A)(K-A)+C→J “HL=”:G+IL→X:Locate 4,3,X:Locate 11,3,“I=”:Locate 13,3,I*100 “HR=”:G+JL→Y:Locate 4,4,Y:Locate 11,4,“I=”:Locate 13,4,J*100◢Cls:Norm 2:“BM+HS≤0,Goto 1”?Z:Z≤0=> Goto 1:Cls (输入视线高) “KM=”:Locate 4,1,K:Locate 10,1,“PY=”:Locate 13,1,L:Fix 3 “QSM=”: Locate 6,2,Z-G (显示中桩读数) “QSL=”: Locate 6,3,Z-X (显示左桩读数) “QSR=”: Locate 6,4,Z-Y◢(显示右桩读数) Norm 2:Cls:Goto1 (后面可加已知视线高计算读数部分,不想计算读数则视线高输入0或负数如不想显示麻烦,可将Locate语句去掉) 以下两个子程序不需运行,只是两个独立的数据库赋值程序,字母重复不影响计算结果 GK 数据库子程序 If K≤第二曲线起点桩号:Then 第一曲线交点高程→A:第一曲线交点桩号→B:第一曲线前坡→C:第一曲线后坡→D:第一曲线半径→R:Return:Ifend …………….(有几个变坡点编几个If语句) PODU 计算坡度子程序 If K≤第一变(非变)坡段终点:Then 第一曲线起点桩号→A:第一曲线起点左坡→B:第一曲线起点右坡→C:第一曲终点桩号→D:第一曲终点左坡→E:第一曲终点右坡→F:Return:Ifend ………………(每一个超高变化线元一个If语句) 结果显示: KM=0000.000 PY=0.000 H= 00.000 HL=00.000 I=-1.5 HR=00.000 I=-1.5 KM=0000.000 PY=0.000 QSM= 00.000 QSL= 00.000 QSR= 00.000

5800简单全线坐标计算程序

5800全线任意坐标计算程序 1. 正算主程序(ZHCX) (不运行) 8→DimZ 1÷P→Z[4 ]:(P-R)÷(2HPR)→D: 180÷π→E “Z=”?Z:”YJJ=”?A:Abs(S-O)→W 0.26→Z[1 ]: 0.74→B: 0.02→K: 0.82→Z[3 ]: 1-Z[3 ]→F:1-K→Z[2 ] U+W(Z[1 ]cos(G+QEKW(Z[4 ]+KWD))+Bcos(G+Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+Bcos(G+QEFW (Z[4 ]+FWD))+ Z[1 ]cos(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→X: V+W(Z[1 ] sin (G+QEKW(Z[4 ]+KWD))+B sin(G+ Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+B sin(G+QEFW (Z[4 ]+FWD))+ Z[1 ] sin(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→Y: G+QEW(Z[4 ]+WD)→F:X+Zcos(F+A)→X:Y+Zsin(F+A)→Y:If F≧360:Then F-360→F:IfEnd ”X=”:X→X◢ ”Y=”:Y→Y◢ If F﹤0:Then F+360→F:IfEnd ”QX FWJ=”:F▼DMS◢ “C=1=>XX: C=2=>XZ”: ”C=”?C: ”QHJU=”?L: If C=1:Then Goto 1:Else Goto 2: IfEnd 可以计算斜交斜做或斜交正做的桥涵坐标 Lbi 1 X+L cos(F)→X:Y+Lsin(F)→Y: Goto 3 Lbi 2 X+L cos(F+A-90)→X:Y+Lsin(F+A-90)→Y: Goto 3 Lbi 3 “QH-X=”: X →X◢ “QH-Y=”: Y →Y◢ Prog “FY” 2 . 参数子程序(直接运行) M(主线) 一条线路一个名称 “S=”?S If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd … … If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd Lbi 1 Prog “ZBJS” 3. 放样程序(FY)(不运行) “X0=”?M:“Y0=”?N Pol((X-M, Y-N)

5800数据库型全线高程计算程序(2)

Casio5800 计算器数据库型全线高程计算程序(更新2) 一、主程序:2H-SZY Lbl 0: HS ?U: BM-H ?X: SXG= : U+X丄输入后视及水准点设计高程显示视线高程 Lbl 1: “QS”?P: “K X x+xx乂' ?K : Prog “ S.Z”/ C 十100—C: D - 100—D: R Abs(D-C) - 2—T / If D>C :Then 1 —W:Else1—W:lfEnd / If KT:Then Z+IL —H Cls :"H(S)=": Locate 7, 1, H 丄显示路面设计中桩高程 2 Goto2:Else Z+IL+W(T-L) - 2-R^H : Cls :"H(S)=": Locate 7 , 1, H 丄显示路面设计 中桩高 IfEnd / Lbl 2: J'GC(h)” ?0:” Z”?N:” HP”? J:H-O+N J十100—B : Cls :"H=": Locate 3 , 1, B:"H(C)=": Locate6 , 2,U+X-P : “/h (+ , -)=” : Locate 4, 3,B-U-X+P 丄输入前视后显示 实测高及设计与实测的高差( +填, -挖) Goto 1 二主程序: 3H-QZY Lbl 1: “K X x+xxX ?K : Prog “ S.Z”/ C 十100—C: D - 100—D: R Abs(D-C) - 2—T / If D>C :Then 1 —W:Else1—W:IfEnd / If KT:Th en Z+IL —H :Cls :"H(S)=": Locate 7,1, H J 显示路面设计中 桩高 2 Goto 9 :Else Z+IL+W(T-L) - 2-R^H : Cls :"H(S)=": Locate 7 , 1, H J 显示路面设计 中桩高 IfEnd / Lbl 0: J'GC(h)” ?0:” Z” ?N:"HP ” ? J: H(C) ?P:H-O+N J - 100—B : Cls :"H=": “ h (+, -)=” Locate 4, 1, B: Locate 8, 2, B-P J输入全站仪实测三角高程显示:设计与实测高差(+ 填, -挖) Goto 1 三、竖曲线数据库格式: If K<下一竖曲线起点里程:Then本竖曲线前坡度(%前分子有正负)—C:本竖曲线后坡度(%前分子有正负)—D: 本竖曲线半径—R: 本竖曲线变坡点桩号—A: 本竖曲线变坡点高程—Z: Goto 1: IfEnd /

卡西欧5800p计算器所有编程命令解释

卡西欧5800p计算器所有编程命令解释 1. Norm 1 指数显示Norm 2 小数显示2. ?→x 只显示? 字符+?→x 显示字符+? ?x 显示x? “字符”?x 显示字符+? 有→则不显示该变量当前值 3.(判断表达式)语句1 : 语句2。。。如果判断表达式为真(或非零),则不跳过语句1. 如果判断表达式为假(或是零),则会跳过语句1. 4. If...then…else…ifend 如果语句为真,则执行then(不执行else),然后执行ifend. 如果语句为假,则执行else(不执行then),然后执行ifend. 5. Break 中断语句 中断For,Do,While循环,并从该循环的下个命令起继续运行 6. Dsz 使控制变量递减一,在变量的值为零时执行转移7. Isz

Isz<变量>:<语句1><语句2>,变量应为A~Z 以1 为增量逐次增加变量的值,当变量的值不等于0 时,执行语句1,否则执行语句2 8. Cls Dsz<变量>:<语句1><语句2>。变量应为A~Z。以1 为减量逐次减小变量的值,当变量的值不等于0 时,执行语句1,否则执行语句2 9. Locate 定位显示语句 句法1:Locate <列数>, <行数>,<数值> 句法2:Locate <列数>, <行数>,<表达式> 句法3:Locate <列数>, <行数>, "字符串" fx-5800P 的屏幕最多可以显示4 行、16 列字符,因此定位语句中的列数值应为大于等于1、小于等于16 的整数,行数值应为大于等于1、小于等于4 的整数。 10. Lbi n ~ Goto n Goto n~Lbl n 无条件转移至Lbi n 位置 11. Getkey 返回与上次按键相对应的代码,Getkey= 12. DO ~ LpWhile循环语句 Do <语句块> LpWhile<条件> 先执行语句块,然后测试条件,条件为真时重复执行语句块,否则执行<条件>后的语句。无,论条件是否为真,语句块至少被执行一次。13. Pol 计算两坐标点之间距离,坐标为(4,4),与原点的距离就是POL(4,4)=4√2 14. Abs 求绝对值15. Fix 取整数函数Fix(Rnd*11) ,取0 ~ 11的随机整数16. Rnd 随机函数

卡西欧5800测量坐标计算程序

一.使用说明: 1.规定: (1)以道路中线的前进方向区分线路的左右偏转方向,线路左偏Q=-1,线路右偏Q=1,直线Q=0。 (2)当所求点位于线路中线时,Z=0;当位于左侧时,Z取负值;当位于右侧时,Z取正值。 (3)当线元为直线时,其起终点的曲率半径为无穷大,取10的45次方代替。 (4)当线元为圆曲线时,起终点曲率半径为圆曲线半径。 (5)当线元为缓和曲线时,起终点曲率半径与直线相接取10的45次方代替,与圆曲线相接取圆曲线半径。 2.输入与显示说明: (1)输入部分: N?:选择计算方式,输入1表示由里程边距计算坐标,输入2表示由 坐标计算里程边距。 X0?线元起点X坐标。 Y0?线元起点Y坐标。 S0?线元起点里程。 F0?线元起点切线方位角。 LS?线元长度。 R0?线元起点曲率半径。 RN?线元终点曲率半径。 Q?线元左右偏标志(左偏=-1,右偏=1,直线=0)

S?正算时所求点里程。 Z?正算时所求点距中线边距。位于线路左侧输入负值,在右侧输入正 值。 AR?斜交角度。(为线路右角,在0-180度之间) X?反算时所求点X坐标。 Y?反算时所求点Y坐标。 (2)显示部分: XS=计算结果,所求点X坐标。 YS=计算结果,所求点Y坐标。 FS=计算结果,所求点切线方位角。 S=计算结果,反算时所求点里程 Z=计算结果,反算时所求点边距。 二.程序清单1(用于任意曲线元的坐标计算) 1.主程序(TYQXJS) ″1.SZ=>XY″:″2.XY=>SZ″:?N:″X0″?U:″Y0″?V:″S0″?O: ″F0″?G:″LS″?H:″ R0″?P:″RN″?R:?Q:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:If N=1: THEN Goto 1:Else Goto 2:IfEnd:Lbl 1:?S:”D(Z-,Y+)=”?Z:90→T:”O=”?T:Abs(S-O) →W:Prog ″SUB1″:″XS″:X◢″YS″:Y◢″FS″:F◢ Goto 1:Lbl 2:?X:?Y:I→X:J→Y:Prog ″SUB2″:″S″:O+W→S:◢″Z″:Z◢Goto 2 2.正算子程序(SUB1) 0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→

5800坐标高程计算程序

CASIO5800计算器 公路测量计算程序 程序设计:魏加训 2009.2.28

Casio 5800计算器数据库型万能坐标正反算计算程序 一、主程序:1XY Lbl 0:“1.ZS 2.FS”?→V↙ If V=1: Then “CZ X” ?H: “CZ Y” ?T:Goto 1: Else If V=2: Then Goto 2 :IfEnd: IfEnd ↙ Lbl 1: “K××+×××”?D:?Z: “RJ”?G↙ Prog “P.Z”↙(注:计算另一线路时修改替换此处和FS子程序中的P.Z为对应线路的数据库名称即可) Prog “ZS” ↙ If Z<0: Then Cls:“X(L)=”: “Y(L)=”: Locate 6,1,X : Locate 6,2,Y◢ Pol(X-H,Y-T): Cls: “S(L)=”: Locate 6,1,I : "F(L)=":360Frac((J+360)÷360▼DMS◢ Goto 1:IfEnd↙ If Z=0: Then Cls:“X(Z)=”: “Y(Z)=”: Locate 6,1,X : Locate 6,2,Y : “QXFWJ (Z)=”: 360Frac((J+360)÷360▼DMS◢ Pol(X-H,Y-T): Cls: “S(Z)=”: Locate 6,1,I : "F(Z)=":360Frac((J+360)÷360▼DMS◢ Goto 1:IfEnd↙ If Z >0: Then Cls:“X(R)=”: “Y(R)=”: Locate 6,1,X : Locate 6,2,Y◢ Pol(X-H,Y-T): Cls: “S(R)=”: Locate 6,1,I : "F(R)=":360Frac((J+360)÷360▼DMS◢ Goto 1:IfEnd↙ Lbl 2: 0→Z:0→G:”X” ?M:”Y” ?I:Prog “FS”: Cls:“K=”:“Z=”:Locate 4,1,D : Locate 4,2,Z◢ Goto 2↙ 二、正算子程序:ZS 5→N: U(E-1-R-1)÷Abs(K-F)→P: Abs(D-F)÷N→Q: 90Q÷π→S: (注:此处5→N是控制计算精度可修改的,一般取值为4~6即可) C+(NPQ+2UR-1)NS→J:1→L↙ A+Q÷6×(Cos (C)+Cos (J) +4∑(Cos (C+((L+0.5)PQ+2UR-1)×(L+0.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2UR-1)LS,L,1,(N-1)))+ZCos(J+G) →X : B+Q÷6×(Sin(C)+Sin( J) +4∑(Sin (C+((L+0.5)PQ+2UR-1)×(L+0.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2UR-1)LS,L,1,(N-1)))+Z Sin(J+G)→Y ↙ 三、反算子程序:FS Lbl 0:Prog “P.Z”:Prog “ZS”↙ (注:计算另一线路时修改替换此处和1XY主程序中的P.Z为对应线路的数据库名称即可) (I-Y)sin(J)+(M-X) cos(J)→ P :D+P→ D ↙ If Abs(P)≥0.001:Then Goto 0 : Else Goto 1 : IfEnd↙ Lbl 1: (I-Y)cos(J)-(M-X) sin(J) →Z

相关文档
最新文档