cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 5375|回复: 9

[fx-CG10/20/50] 求cg20计算程序一套

[复制链接]
发表于 2011-5-6 16:20:42 | 显示全部楼层 |阅读模式
那位老兄的计算器是cg20的,能发我一份cg20的全部程序吗?谢谢!我的邮箱;[email protected]
发表于 2011-5-6 22:58:08 | 显示全部楼层
暂时资源较少。
发表于 2011-5-6 23:17:41 | 显示全部楼层
拿9860的PRGM套吧。。。。。。我的CG就这样整的
发表于 2011-5-7 12:44:28 | 显示全部楼层
全部程序...

9860的程序难道不兼容?
发表于 2011-5-7 21:28:36 | 显示全部楼层
ADD-IN 兼容不能。
PRGM中9860的图片支持不能。
Locate在CG中显示Char有些问题。
PRGM总体还可以兼容。
发表于 2011-5-9 12:14:02 | 显示全部楼层
上官网下载,有一整套的程序
发表于 2011-5-9 12:37:16 | 显示全部楼层
"一套" "全部程序" ...

怎么听起来这么蛋疼?
 楼主| 发表于 2011-5-22 21:46:32 | 显示全部楼层
cg20程序还是与9860的 有区别的,
发表于 2011-5-22 22:06:50 | 显示全部楼层
是指SDK还是PRGM?
 楼主| 发表于 2011-6-1 22:24:01 | 显示全部楼层
本程序是5800转FX-CG20计算程序
希望广大测友
勇于提出修改意见
错误或者转换错误修改征集:
修改格式
保留原程序→修改的程序加上[     ]


















FX-CG20(交点法与交点法)融合计算程序
1主程序名:ZBZFS(功能:进入计算主程序)(◢, ←┘, →  ►DMS ◢)
File1
70→Dim List1
"1.JD ZFS  2. ZD ZFS"? → I: I→List1 [61]: "1.CS JS 2. JS"? → I←┘
If I=1: Then Goto1: Else Goto2:IfEnd←┘
LbI 1 :If List1[61]=1: Then Prog"JDYS":Else  ClrText:"K0="? →A:"KN="? →L :"X0="? →U :"Y0="? →V :"F0="? →W :"R0="? →P :"RN="? →Q:"ZX=:-1,+1,0"? →G:IfEnd←┘
LbI 2 :Prog"JS"

2子程序名:JS(功能:选择正算或反算模式)

ClrText:"XC="? →H:"YC="? →Z←┘
ClrText:"1.ZS  2.FS"? → I: I=2=>Goto 3←┘
LbI 1 : ClrText: If List1[61]=1: Then"JD ZS KX+XXX"? →K :Prog"4": Else "ZD ZS KX+XXX"? →K :IfEnd←┘
LbI  2: ClrText:90→B: ClrText:"RJ Or 0  To K"? →B:B=0 =>Goto 1:"Z"? →T←┘
Prog "XY-A"←┘
X+Tcos(M+B)→X←┘
Y+Tsin(M+B)→Y←┘
360Frac((M+360)÷360→M←┘
Pol(X-H,Y-Z : 360Frac((J+360)÷360→J←┘
2→O: Prog "XY-B":Goto 2←┘
LbI 3 : ClrText: If List1[61]=1: Then"JD FS KN+"? →K:"X="? →C:"Y="? →D:Prog"4":Else ClrText: " ZD FS":"X="? →C:"Y="? →D:IfEnd←┘
LbI 4 :Prog "XY-A"←┘
(D-Y)sin(M)+(C-X)cos(M)→H←┘
If Abs(H)>X10-3 :Then K+H→K:Goto 4:IfEnd←┘
(D-Y)÷cos(M)→T←┘
3→O: Prog "XY-B":Goto 3←┘

3子程序名: XY-A(功能:坐标计算程序)

5→N: G(Q-1-P-1)÷Abs(L-A)→F: Abs(K-A)÷N→R: 90R÷π→S:
W+(FNR+2GP-1)NS→M:1→E←┘
U+R÷6×(Cos(W)+Cos(M)+4∑(Cos(W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(Cos (W+((EFR+2GP-1)ES,E,1,(N-1)))→X ←┘
V+R÷6×(Sin(W)+sin(M)+4∑(Sin(W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(sin (W+((EFR+2GP-1)ES,E,1,(N-1)))→Y←┘
4子程序名: XY-B(功能:显示正算或反算结果)

If O=2:ThenClrText :"K×××=":"Z=":"X=":"Y=": Locate 6,1, K : Locate 4, 2, T : Locate 4,3, X : Locate 4,4, Y◢
If T=0 :Then ClrText :"QF(Z)=": Locate 8,1, M:M►DMS ◢
IfEnd←┘
ClrText :"K×××=":"S=": Locate 6,1, K : Locate 4, 2, I :
"F=":J:J►DMS ◢
IfEnd←┘
If O=3:Then "X=":"Y=":"K×××=":"Z=": Locate 4,1,C: Locate 4, 2, D : Locate 6,3,K :Locate 4,4,T◢
IfEnd: ClrText←┘

5子程序名:4(功能:将交点参数转为线元计算参数)

LbI 1: If List1[48]<0 :Then -1→List1[62] : Else:1→List1[62]:IfEnd
LbI2:IfK≥List1[57]:ThenList1[57]→A  :List[1]→L  :List1[23]→U  :List1[24]→V : List1[31]→W : 10^45→P   :10^45→Q : 0→G:IfEnd←┘
LbI 3:If K≥List1 [1]:Then List1 [1]→A : List1 [2]→L : List1 [19]→U : List1 [20]→V  : List1 [29]→W : 10^45→P   : List1 [46]→Q : List1 [62]→G: IfEnd←┘
LbI 4:If K≥List1[2]:Then List1 [2]→A: List1 [4]→L  : List1 [25]→U : List1 [26]→V  : List1 [32]→W : List1 [46]→P  : List1 [46]→Q : List1 [62]→G: IfEnd←┘
LbI 5:If K≥List1 [4]:Then List1 [4]→A : List1 [5]→L : List1 [27]→U  : List1 [28]→V : List1 [33]→W : List1 [46]→P  : 10^45→Q : List1 [62]→G: IfEnd←┘
LbI 6:If K≥List1 [5]:Then List1 [5]→A : List1 [5]+1000→L  : List1 [21]→U : List1 [22]→V : List1 [30]→W  :10^45→P :  10^45→Q : 0→G : IfEnd←┘

6子程序名:JDYS(功能:输入交点要素、显示交点要素及主点坐标)

ClrText : " BP="? →H:H→List1 [57]:"K(JD)="? →K:K→List1 [41] :"X(JD)="? →X :X→List1 [42]:"Y(JD)="? →Y:Y →List1 [43]:"LS1="? →B:B→List1 [44] :"LS2="? →C:C →List1 [45]: “R=”? →R:R →List1 [46]:"(ZH)FWJ°="? →M:M→List1 [47] : "α(Z-,Y+)°"=?→O:O→List1 [48] : List1 [47]+ List1 [48]→List1 [49]: Prog "1":Prog "2"←┘
ClrText :"T1=":"T2=":"L=":"LY=": Locate 4,1, List1 [50] : Locate 4,2, List1 [51]: Locate 4,3, List1 [52] : Locate 4,4, List1 [53]◢
Cls :"E=": Locate 7,1, List1 [54] ←┘
ClrText :"K(QD)=": "X=": "Y=": "FWJ="Locate 7,1, List1 [57] :Locate 7,2, List1 [23] :Locate 7,3, List1 [24] :Locate 7,4, List1 [31] ◢←┘
ClrText :"K(ZH)=": "X=": "Y=": "FWJ=":Locate 7,1, List1 [1] : Locate 7,2, List1 [19] :Locate 7,3, List1 [20] :Locate 7,4, List1 [29]◢←┘
ClrText : "K(HY)=": "X=": "Y=": "FWJ=": Locate 7,1, List1 [2] : Locate 7,2, List1 [25] :Locate 7,3, List1 [26] :Locate 7,4, List1 [32]◢←┘
ClrText :"K(QZ)=": Locate 7,1, List1 [3]◢←┘
ClrText :"K(YH)=": "X=": "Y=": "FWJ=": Locate 7,1, List1 [4] : Locate 7,2, List1 [27] :Locate 7,3, List1 [28] :Locate 7,4, List1 [33]◢←┘
ClrText :"K(HZ)=": "X=": "Y=": "FWJ=": Locate 7,1, List1 [5] : Locate 7,2, List1 [21] :Locate 7,3, List1 [22] :Locate 7,4, List1 [30]◢←┘

7子程序名: 1(功能:计算交点要素)

If List1 [48]<0 :Then  -1→List1 [55] : Else 1→List1 [55] : IfEnd : List1 [55]* List1 [48]→List1 [56] ←┘
List1 [44] 2 ÷24÷List1 [46]- List1 [44]^(4)÷2688÷List1 [46] ^(3) →List1 [6] ←┘
List1 [45] 2 ÷24÷List1 [46]- List1 [45]^(4)÷2688÷List1 [46] ^(3) →List1 [7] ←┘
List1 [44]÷2- List1 [44]^(3)÷240÷List1 [46]2 →List1 [8] ←┘
List1 [45]÷2- List1 [45]^(3)÷240÷List1 [46]2 →List1 [9] ←┘
List1 [8]+(( List1 [46]+ List1 [7]-( List1 [46]+ List1 [6])cos(List1 [56]))÷sin(List1 [56]))→List1 [50] ←┘
List1 [9]+(( List1 [46]+ List1 [6]-( List1 [46]+ List1 [7])cos(List1 [56]))÷sin(List1 [56]))→List1 [51] ←┘
List1 [46]* List1 [56]π÷180+( List1 [44]+ List1 [45]) ÷2→List1 [52] ←┘
List1 [46]* List1 [56]π÷180-( List1 [44]+ List1 [45]) ÷2→List1 [53] ←┘
(List1 [46]+( List1 [6]+ List1 [7])÷2)÷cos(List1 [56]÷2)- List1 [46]→List1 [54] ←┘
List1 [41]- List1 [50]→List1 [1] ←┘
List1 [1]+ List1 [44]→List1 [2] ←┘
List1 [2]+ List1 [53]÷2→List1 [3] ←┘
List1 [1]+ List1 [52]- List1 [45]→List1 [4] ←┘
List1 [4]+ List1 [45]→List1 [5] ←┘

8子程序名: 2(功能:计算主点坐标及切线方位角)

List1 [42]- List1 [50]cos(List1 [47])→List1 [19]: (直缓坐标)
List1 [43]- List1 [50]sin(List1 [47])→List1 [20] ←┘
List1 [47]→Z : 360Frac((Z+360)÷360→List1 [29] (方位角)
List1 [42]+ List1 [51]cos(List1 [49])→List1 [21]: (缓直坐标)
List1 [43]+ List1 [51]sin(List1 [49])→List1 [22] ←┘
List1 [49]→List1: 360Frac((Z+360)÷360→List1 [30] (方位角)
List1 [1]- List1 [57]→L←┘     (H→List1 [57]为前直线起点桩号)
List1 [42]-( List1 [50]+L)cos(List1 [47])→List1 [23] ←┘      (前直线起点坐标)
List1 [43]-( List1 [50]+L)sin(List1 [47])→List1 [24] ←┘
List1 [47]→Z : 360Frac((List1+360)÷360→List1 [31] ←┘   (方位角)
List1 [44]→List1 [12]: List1 [44]→List1 [13]:Prog"3"←┘
List1 [4]- List1 [1]→L:90(2L- List1 [44])÷List1 [46]÷π→List1 [11] ←┘
List1[46]sin(List1[11])+List1[8]→List1 [14]: List1 [46](1-cos(List1 [11]))+ List1 [6]→List1 [15] ←┘      
List1 [19]+ List1 [14]cos(List1 [47])- List1 [55] List1 [15]sin(List1 [47])]→List1 [27] ←┘  (圆缓点坐标)
List1 [20]+ List1 [14]sin(List1 [47])+ List1 [55] List1 [15]cos(List1 [47])]→List1 [28] ←┘
List1 [47]+ List1 [55] List1 [11]→Z: 360Frac((List1+360)÷360→List1 [33] ←┘(方位角)
List1 [2]- List1 [1]→L:90(2L- List1 [44])÷List1 [46]÷π→List1 [58] ←┘
List1 [46]sin(List1 [58])+ List1 [8]→List1 [14]: List1 [46](1-cos(List1 [58]))+ List1 [6]→List1 [15] ←┘      
List1 [19]+ List1 [14]cos(List1 [47])- List1 [55] List1 [15]sin(List1 [47])]→List1 [25] ←┘  (缓圆点坐标)
List1 [20]+ List1 [14]sin(List1 [47])+ List1 [55] List1 [15]cos(List1 [47])]→List1 [26] ←┘
List1 [47]+ List1 [55] List1 [58]→Z: 360Frac((List1+360)÷360→List1 [32] ←┘(方位角)

9子程序名: 3(主点坐标计算辅助程序)

If List1 [12]=0 :Then 0→List1 [14]: 0→List1 [15]:Else←┘
List1 [12]- List1 [12]^(5)÷40÷(List1 [46]×List1 [13])2+ List1 [12]^(9)÷3456÷(List1 [46] × List1 [13])^(4) →List1 [14] ←┘
List1 [12]^(3)÷6÷(List1 [46] ×List1 [13])- List1 [12]^(7)÷336÷(List1 [46] × List1 [13])^(3)+ List1 [12]^(11) ÷42240÷(List1 [46] ×List1 [13])^(5)→List1 [15] ←┘
IfEnd←┘




程序说明:
1、进入程序:1.JD ZFS  2. ZD ZFS? 选1为交点法正反算(以后操作均为交点法计算),选2为线元法正反算(以后操作均为线元法计算)
2、CHONG SHU JS 2. JS?选1重输参数,选2直接进入交点法或线元法正反算(参数为已输过的参数)
3、参数输入:
一、交点法已知数据输入:
BP?上一交点ZH桩号
K(JD)?交点桩号
X(JD)?交点X坐标
Y(JD)?交点Y坐标
LS1  ?第一缓和曲线长度
LS2  ?第二缓和曲线长度
R  ? 圆曲线半径
(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角
α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)
交点法计算要素显示:
T1=第一切线长
T2=第二切线长
L=曲线总长
LY=圆曲线长
E=曲线外距
K(ZH)=直缓点桩号
K(HY)=缓圆点桩号
K(QZ)=曲中点桩号
K(YH)=圆缓点桩号
K(HZ)=缓直点桩号
二、线元法已知数据输入:
K0? KN? R0? RN?F0?X0? Y0?ZX? 分别为线元起点桩号 、终点桩号、起点半径、终点半径、起点切线方位角、起点X坐标、起点Y坐标、线元转向。
4、XC ?    YC? 输入置镜点即测站的X,Y坐标
5、1.ZS 2.FS选1正算 选2反算
程序线元判断原则:
(1) 以道路中线的前进方向(即里程增大的方向)区分左右;
(2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线右侧时,Z取正值。
(3) 当线元为直线时,其起点、终点的曲率半径为无穷大,以10的45次代替输入×10x45。
(4) 当线元为圆曲线时,无论其起点、终点与什么线元相接,其曲率半径均等于圆弧的半径。
(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
6、循环计算部份:
输入与显示简单说明
JD ZS KX+XXX? 或 ZHADAO ZS KX+XXX?输入所求的桩号(交点法或线元法 )
Z ?              输入所求点距中线的边距(在中线输零,左负右正)
RJ?              输入边桩时左右边桩连线与线路前进方向中桩切线的右交角(当输入数字0时进入下一个桩号计算输入)
X =、Y =            计算得出的所求点的左、中、右 的X Y坐标
QF(Z)= ×××            计算得出所求点的中桩切线方位角  
F= ×××    计算得出置镜点到测点的方位角
S= ×××   计算得出置镜点到测点的水平距离     
JD FS KN+?  交点法反算时需输入反算点所在(前直线,前缓和段、圆曲线、后缓和段、后直线)线元中的任一点桩号(定位线元用)
X=×××    反算输入所求点的X坐标
Y=×××     反算输入所求点的Y坐标
K=×××      计算得出求点所对应的里程
Z=×××       计算得出求点到所对应的里程的垂直距离 (负就是左边,正就是右边)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-19 00:29 , Processed in 0.142479 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表