【卡西欧Fx5800-p程序】01 坐标转换程序-带注释

1.程序说明:测试


 

DDSG  (大地坐标转施工坐标)spa

SGDD  (施工坐标转大地坐标)命令行

↙      回车命令"EXE"设计

K       (施工坐标转换原点在线性上的桩号,若是是起始点为0循环

α     (施工坐标纵轴与大地坐标纵轴之间的交角)程序

X0 Y0  (转换原点坐标im

注::αKX0 Y0  (建议在编辑程序时把他们的取值输入到程序里面,这样在程序运行时,能够减小输入这些数据的步骤,提升数据输入的准确性,避免因数据输入出错而形成计算结果的错误)数据

    ‚: 为了统一5800里面的程序字符代码,下面出来命令语句以外,一切字母均为大写。语言

2.程序清单:co


 

: ZBZH  (在新建程序中输入程序名字“坐标转换”)

‚: 正文

Fix 4  (设置小数点位数4位,能够不设置)

Lbl 1DDSG=1SGDD=2QITA=END?→A↙  (输入1进入大地转施工计算,输入2进入施工转大地计算,若是输入其余数就退出ZBZH程序)

While  A=1  or  A=2If  A=1Then XDD)=?→X:YDD)=?→Y↙(1.While 判断A的取值,若是A的取值不是1或者2那么就要跳过这段程序,进入退出程序的命令行。2.若是输入1那么就开始进入大地转施工坐标的计算,这时就要输入X(DD)Y(DD),即要转换点的大地坐标) 

X(SG)=: (Y-Y0)sin(α)+(X-X0)cos(α)+K→N◢

Y(SG)=: (Y-Y0)cos(α)-(X-X0)sin(α)→E◢

Goto 1↙  

(计算XY的施工坐标公式 ,若是施工坐标的原点就是线性的起点,就不用K 值参加计算,Goto n,无条件转移到对应的Lbl n

IfEndX(SG)=?→M : M-K→X:Y(SG)=?→Y↙ (若是上面的If判断为假,也就是当A≠1时,那么程序就跳到IfEnd后面的语句。也就是这段计算施工转大地的坐标,而后就输入XY 的施工坐标

X(DD)=: Xcos(α)-Ysin(α)+X0→N◢

Y(DD)=: Xsin(α)+Ycos(α)+Y0→E◢

Goto 1↙ (无条件转移到Lbl 1

While End↙(结束循环语句,若是程序一开始就输入一个非1,或者2的数,而后运行程序就会直接跳过While End以前的全部程式,而后结束程序

ZBZH=END (结束坐标转换程序)

 

编者语:


 

 

     进过最后测试,以及用朋友的另外一种方式编写的程序检验,计算结果相同,此程序是结合咱们如今的工程实际状况编写的,须要的朋友能够把大家工程的一些设计线性参数发给我!我结合大家工程稍作些改动便可。

 

    因为本人专业知识和学术术语有限,程序中语言不免会出现衔接逻辑不强的问题,以及其余我没有发现的问题,还请前辈以及同仁多多指点

相关文章
相关标签/搜索