5800p正反算0Word格式.docx

上传人:b****6 文档编号:21044827 上传时间:2023-01-27 格式:DOCX 页数:14 大小:24.69KB
下载 相关 举报
5800p正反算0Word格式.docx_第1页
第1页 / 共14页
5800p正反算0Word格式.docx_第2页
第2页 / 共14页
5800p正反算0Word格式.docx_第3页
第3页 / 共14页
5800p正反算0Word格式.docx_第4页
第4页 / 共14页
5800p正反算0Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

5800p正反算0Word格式.docx

《5800p正反算0Word格式.docx》由会员分享,可在线阅读,更多相关《5800p正反算0Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

5800p正反算0Word格式.docx

附件(点击下载):

(在线预览)

程序源 

2009.04.08校对件

2009.04.09附算例

原稿子程序J有误见此件红色为真2009.04.14 

已有朋友成功,请与成功的朋友多沟通。

2009.04.12

CASIO-----fx5800 

(任意平曲线极坐标与直角坐标放样,求里程及边距) 

湖南津市赵济汉

主程序PQX

Deg:

Fix3:

“XZ→0:

YZ→1”?

A:

If 

A=1:

ThenGoto1:

IfEnd↙

If 

A=0:

Then“BS→0:

XY→1:

AND→2:

DK→3:

L(I)→4”?

O:

O=4:

Then 

Goto1:

O=3:

Prog 

“F.2”:

X=0:

IfEnd:

IfEnd↙

O≠1:

Then“X1”?

X:

“Y1”?

Y:

X→Z[11]:

Y→Z[12]:

“X2”?

P:

“Y2”?

Q:

Pol(P-X,Q-Y):

J﹤0:

J+360→J:

Cls:

“S12=”:

Locate6,1,I:

“B12=”:

J►DMS◣

1→B:

O=1:

Then“XY(0)→0:

≠﹥1”?

B:

Lbl 

1:

A=1 

And 

O=3:

Then 

Prog“Q.1” 

子程序PPQX 

(给定综合曲线属性)

“ZQX→0:

***→1:

***→2*******”?

C↙

C=0:

Then100→Z[98]:

n0→Z[99]:

C=1:

m1→Z[98]:

n1→Z[99]:

C=2:

m2→Z[98]:

n2→Z[99]:

*******

Prog“PQX”

其中:

mi为第i条综合曲线矩阵变量起始单元,(第1条综合曲线矩阵变量起始单元应自100开始,以便其他程序临时使用100以前的矩阵变量,综合曲线中每一基本单元需8个矩阵存储单元);

ni为第i条综合曲线中基本单元数,每增加一个条综合曲线则增加一行If 

C=*******→Z[99]:

IfEnd↙语句。

还应注特别意,原有程序中的矩阵变量定维语句DimZ应取消,只要原有程序中的矩阵变量定维不大于100,原有程序的运行不受影响。

子程序Q.5 

(建立数据库)

Fix5↙

0→I:

“N”?

W:

W→Z[99]:

“Z[MIN]”?

V:

V→Z[98]↙

“NO.I=”:

I◣

C:

V+8I→G↙

“→DK”?

A→Z[G]↙

“→X”?

B:

B→Z[G+1]↙

“→Y”?

C→Z[G+2]↙

“→AT”?

D:

D→Z[G+3]↙

“→(-1Y+1)”?

K:

K→Z[G+4]↙

“→L”?

E:

E→Z[G+5]↙

“→R1”?

F:

F→Z[G+6]↙

“→R2”?

O→Z[G+7]↙

2:

“JX→1:

NO→0:

OK→2”?

M:

M=2:

Goto3:

M=1:

Goto 

I+1→I:

Goto 

1↙

3:

“END”

子程序Q.6

“S”?

W=0:

Goto2:

I-W→W:

“⊿S=”:

Locate5,1,W:

“BP=”:

“OK”

子程序Q.1

X=0 

Z[98]→I:

Z[99]→J:

“→DKP”?

S↙

S=0:

S﹤Z[I]:

Then“DKP<

MIN”◣

S>

Z[I+8J]:

Then“DKP>

MAX”◣

O≠4 

B≠0:

Then“→B”?

Prog“J”:

T→U:

“→(-+)D÷

2” 

N:

Else 

0→N:

Prog“Q.2”:

“END”

子程序Q.2

O≠3 

Then“→”:

Z[98]+8→M↙

S≥Z[M-8]And 

S≤Z[M]:

I+1→I:

M+8→M↙

O=3 

I→B:

IfEnd:

M→Z[27]:

Prog“Q.3”:

“L(I),I=”:

Cls:

“MIN=”:

Locate 

6,1,Z[Z[98]+8I]:

“MAX=”:

6,2,Z[Z[98]+8I+8]:

I→B:

子程序Q.3

U=0:

B→I:

Z[98]+8I→G↙

Z[G]→Z↙

Z[G+1]→Z[1]:

Z[G+2]→Z[2]:

Z[G+3]→Z[3]↙

Z[3]:

“J”:

T→Z[3]↙

Z[G+4]→Z[4]:

Z[G+5]→M:

Z[G+6]→Z[5]:

Z[G+7]→Z[6]↙

Z[6]-Z[5]→Z[6]:

S-Z→D↙

0→N:

Prog 

“Q.4”↙

子程序Q.4 

(正算)

0:

0→I:

0→E:

0→F:

0→G:

0→H↙

I+1→I:

Z[3]+Z[4]((ID÷

12)(Z[5]+IDZ[6]÷

24÷

M)(180÷

л)→W:

I﹤12:

Frac(I÷

2)﹥0:

E+cos(W)→E:

F+sin(W)→F:

G+cos(W)→G:

H+sin(W)→H:

I﹤12:

Goto1:

IfEnd↙

Z[1]+(D÷

36)(cos(Z[3])+cos(W)+2G+4E)+Ncos(U+W)→P↙

Z[2]+(D÷

36)(sin(Z[3])+sin(W)+2H+4F)+Nsin(U+W)→Q↙

O≠0:

“XP=”:

Locate5,1,P:

“YP=”:

Locate5,2,Q:

“AT=”:

W►DMS◣

Z[27]→I:

Z[1]-S=0 

Z[I+1]=0And 

N=0:

P→Z[I+1]:

Q→Z[I+2]:

Prog“H”:

T→Z[I+3]:

Pol(P-Z[11],Q-Z[12]):

J<

0:

ThenJ+360→J:

“SP=”:

Locate5,1,I:

“Q.6”:

2

子程序F.2 

(反算)

“ZH.D(LI)→0:

NO→1”?

U↙

Then“I”?

B:

Z[98]+8Z[99]→M↙

X=0:

Z[13]→X:

“X”?

X:

“Y”?

Y:

1→Z[8]↙

“⇒”↙

U=1:

Then-√((X-Z[M+1])²

+(Y-Z[M+2])²

)→Z[7]:

Z[7]+Z[M]→S:

Prog“Q.2”:

Z[98]+8B→M:

Z[M+3]:

Prog“J”:

T-90→T↙

(Y-Z[M+2])cos(T)-(X-Z[M+1])Sin(T)→Z[7]↙

U=1And 

Abs(Z[7])≤0.01:

Then-0.01→Z[7]:

Z[7]→D:

Z[M]+D→S:

Z[M+8]:

Z[M+8]→S;

IfEnd 

Prog“Q.3”:

(Y-Q)cos(W-90)-(X-P)sin(W-90)→Z[8]↙

Z+Z[7]+Z[8]→S↙

Abs(Z[8])≥0.0001:

ThenZ[7]+Z[8]→D:

Prog“Q.4”:

D→Z[7]:

1:

U=1:

S+0.01<

Z:

Then“DKP≠”:

S◣

B<

Z[99]-1:

ThenB-1→B:

Z[Z[98]+8B]→I:

Z→J:

ElseZ→I:

Z[Z[98]+8Z[99]]→J:

“L(I)=”:

B◣

“MIN=”:

Locate6,1,I:

“MAX=”:

Locate6,2,J:

“END,⇒ZH.D(LI)”◣

X→Z[13]:

0→X:

3→O:

IfEnd:

U=0:

S<

Z-0.01:

Then“DK<

MIN,L→(I-1)”◣

S>

Z[Z[98]+8(B+1)]+0.01:

Then“DK>

MAX,L→(I+1)”◣

“DKP=”:

6,1,S:

X-P→P:

P=0:

×

10-9→P:

Pol(P,Y-Q):

sin(W-J)>

Then-I→I:

“D÷

2=”:

Locate6,2,I:

2↙

3

子程序J

Ans 

÷

.36-16(Int 

(Ans))÷

9-Int(100(Ans-Int(Ans)) 

)÷

90→T

子程序H

.64Int 

(Ans)+.36Ans+.004Int((60(Ans-(Int(Ans))→T

算例1

例某工程C匝道:

一 

启动Q.5 

按下列数据建立矩阵存储表 

给矩阵存储单元定维:

140→DimZ 

综合曲线属性:

名C.ZD 

编号0 

Z[MIN]=100 

N=4

自 

然 

名称 

L0 

L1 

L2 

L3 

L4

DK 

190 

355.927 

472.168 

561.791

20934.495 

21066.119 

21142.859 

21076.993 

20988.267

89274.172 

89411.182 

89552.427 

89640.286 

89644.485

AT 

47.08177 

45.09322 

93.33281 

160.09323 

185.50027

±

-1 

0

190 

165.927 

116.241 

89.623 

R1 

5500 

100 

100 

R2 

×

1020 

备注:

起始矩阵存储单元Z[100] 

终了矩阵存储单元Z[139]。

(139=100+8×

5-1)

二 

编写程序PPQX(给定综合曲线属性)

“C.ZD→0”?

C↙

4→Z[99]:

三 

启动程序PPQX(指定需计算的综合曲线编号)

C.ZD→0?

提示C匝道赋值0

回车

(自动转向PQX进入各项计算)

平曲线程序运行提示符

CASIOfx—5800P湖南津市赵济汉

启动Q.5建立曲线要素矩阵存储表

提示符

示例

说明

N?

问综合曲线自然段数

Z[MIN]?

问矩阵存储起始单元

NO.I=

提示现在自然段

→DK?

问本段起点里程

→X?

问本段起点纵坐标

→Y?

问本段起点横坐标

→AT?

问本段起点切线方位(以小数点为度)

→(-1Y+1)?

问曲线偏向,左赋值-1,右赋值+1,直线可赋0.

→L?

问本段曲线长

→R1?

问本段起点曲率半径

→R2?

问本段终点曲率半径

JX→1:

NO→0:

OK→2?

问是否校对,是赋值1,否赋值0,本综合段结束赋值2。

(校对有误时可直接对显示值进行修改)

END

重复以上拾序步,直至本综合曲线各自然段赋值结束(赋值2)。

特别提示:

除起始自然段外,其后,各自然段X,Y,AT可缺省,其值均赋值为0,程序在首次运行时,依次计算各接点中桩坐标一次,则能自动补齐各缺省值。

这一功能在匝道曲线方程建立时,十分有利。

启动PPQX选择需计算的综合曲线

ZQX→0:

ZD→1****→M?

问在PPQX程序编写过程中,自定义的综合曲线属性,如:

主曲线赋值0,匝道赋值1,等等。

选择确定后,程序自动转向PQX,无需选择时可直接启动PQX。

启动PQX进入坐标计算阶段

XZ→0:

YZ→1?

问是否改变以前设定的工作状态,新工作状态赋值0,原工作状态赋值1。

(选择原工作状态时,程序直接进入上阶段运行状态,无需再次设置工作与计算状态)

BS→0:

→L(I)4?

选择新状态时:

问计算状态,极坐标放样赋值0,直角坐标赋值1,两种坐标都需要赋值2,求里程、边距赋值3,由里程求所在曲线段号赋值4。

选择原工作状态时不问。

极坐标放样

问计算状态,赋值0时

→X1?

问设站点纵坐标

→Y1?

问设站点横坐标

→X2?

问定向点纵坐标

→Y2?

问定向点横坐标,

由原状态进入时,以上不问。

S=

B12=

给出已知点间边长

给出定向角

→DKP?

问测点里程(赋值0时转向程序运行终止)

→B?

问测点偏角(以小数点为度)

→(-+)D÷

2?

问测点偏距

BP=

SP=

给出测点方向

给出测点边长

S?

问测点实测边长(赋值0时,转向测设下一点,问测点里程)

S=

给出修正值(-为退回、+为延伸)

DKP>

MAX

提示测点里程超出本综合段终点里程

DKP<

MIN

提示测点里程小于本综合段起点里程

程序运行终止(DKP=0时)

直角坐标放样

问计算状态,赋值1时

XY(0)⇒0:

≠⇒1?

中桩赋值0,边桩赋值1

问测点偏角(以小数点为度),中桩不问

问测点偏距,中桩不问

XP=

YP=

AT=

给出测点纵坐标

给出测点横坐标

给出测点切线方向

序运行程终止(DKP=0时)

两种坐标都需要

问计算状态,赋值2时

同上

*

从略

同时给出以上两种结果

由里程求所在曲线段号

问计算状态,赋值4时

L(I),I=

DK(MIN)=

DK(MAX)=

给出里程所在曲线段号。

给出本曲线段最小里程

给出本曲线段最大里程

本功能只是反求里程的一个辅助功能,以便程序按指定所在曲线段方式进行反算,快速获得计算结果。

反求里程边距

问计算状态,赋值3时

ZH.D(LI)→0:

NO→1

问反算形式,指定曲线段赋值0、不指定曲线段赋值1。

按指定曲线段反算

问反算形式,赋值0时。

I?

问曲线段(可慨略指定)

问纵坐标(X=0时,程序运行终止)

问横坐标

程序运行等待符

DKP=

2=

给出求点里程

给出求点边距(正交)

问下点曲线段

程序运行终止。

(X=0时)

特殊情况提示:

DK<

MIN,→L(I-1)

提示所求点不在本曲线区间,原段号应减1

DK﹥MIN,→L(I+1)

提示所求点不在本曲线区间,原段号应加1

这一功能的设置,便于反算点曲线区间位置不明确时,也能按指定曲线段形式进行反算。

按指定曲线段形式进行反算,有计算速度快,不存在程序判断盲点的问题,是反算形式的首选。

按不指定曲线段反算

问反算形式,赋值1时

问纵坐标。

(X=0时,程序运行终止)

问下点纵坐标

DKP≠

提示本里程有误,在程序判断盲区,不可采用。

给出本点所在曲线段号。

END,⇒ZH.D(LI)

提示中断运行程序,转向按指定曲线段形式进行反算。

2009-3-31

5800计算器全线坐标计算放样程序(修改版)

彭赐明

“XLZBJSCX”◢

LB1 

0↙

CLS:

FIX4:

30→DIMZ↙

“XHS="

G(后视点X):

YHS="

L(后视点Y):

XZJ="

M(置镜点X):

YZJ="

N(置镜点Y):

Pol(G-M,L-N):

DH="

I(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1