对卡西欧4800计算器编程
- 格式:doc
- 大小:155.00 KB
- 文档页数:31
CASIO fx-4800P计算器程序DA DI——N E (公路弯道坐标计算)K“JD”:R:S“LS”:F“PJ——L-R+”:A“ZH——N”:B“ZH——E”:C“JD——N”:D“JD——E”M“ZH”=K-(R+S2÷(24R))tan(Abs F÷2)-S÷2+S^3÷(2 40R2)▲N“HY”=M+S▲O“QZ”=M+(πRAbs F÷180+S)÷2▲Z[1]“YH”=M+πRAbs F÷180▲Q“HZ”= Z[1]+S▲T=K-M▲L=Q-M▲E=(R+S2÷(24R))÷cos(F÷2)-R▲Lb1 0:{G}:G“ZHUANG HAO”:G<O==>Z=G-M≠=>Z=Q-G:△{U}:U“I——B OUT+IN-”Z<S+0.005==>H=tan-1(24Z2S2R2-Z^6)÷(48Z^3R^3-6Z^4 SR)):V=Z-Z^5÷(40S2R2)+Usin H:W=Z^3÷(6SR)-Z ^ 7÷(336Z^3R^3)-Ucos H:≠=>H=180(Z-S÷2)÷(πR):V=Rsin H+S÷2-S^3÷(240R2)+Usin H:W=R-Rcos H+S2÷(24R)-Ucos H:△F<0==>G<O==>X=V:Y=W:≠=>X=T+Tcos F-Vcos F-Ws in Abs F:Y=Tsin Abs F-Vsin Abs F+Wcos F:△≠=>G<O==>X=V:Y=-W:≠=>X=T+Tcos F-Vcos F-Wsin Abs F:Y=Vsi n Abs F-Tsin Abs F-Wcos F:△△C=A==>D≥B==>P=90:≠=>P=270:△≠=>C<A==>P= tan-1((D-B)÷(C-A))+180:≠=>P= tan-1((D-B)÷(C-A)):△△I“COM——N”=A+√(X2+Y2)cos(P-tan-1(Y÷X))▲J“COM——E”=B+√(X2+Y2)sin(P-tan-1(Y÷X))▲G=G+20Goto 0程序运行输入:JD?——交点桩号R?——圆曲线半径LS?——缓和曲线长度PJ——L-R+?——偏角右偏为正ZH——N?——ZH点N坐标ZH——E?——ZH点E坐标JD——N?——JD点N坐标JD——E?——JD点E坐标输出:ZH= ——ZH点桩号HY= ——HY点桩号QZ= ——QZ点桩号YH= ——YH点桩号HZ= ——HZ点桩号T= ——切线长L= ——曲线长E= ——外矢距再输入:ZHUANG HAO?——输入任一点桩号I——B OUT+IN-?——距中线距离(外侧为正)再输出:COM——N= ——计算出N坐标COM——E= ——计算出E坐标以此循环——再输入——再输出程序中各字母所代表的含义:A——ZH点N坐标B——ZH点E坐标C——JD点N坐标D——JD点E坐标E——外矢距F——偏角(右偏为正)G——弯道内任一点桩号H——弯道内任一点切线角I——计算出的N坐标J——计算出的E坐标K——交点桩号L——曲线长M——ZH点桩号N——HY点桩号O——QZ点桩号P——ZH--JD方位角Q——HZ点桩号R——圆曲线半径S——缓和曲线长度T——切线长U——距中线距离(外侧为正)V——支距W——支距X——弯道内坐标Y——弯道内坐标Z——任一点曲线长度Z[1]——YH点桩号。
CASIO4800-4850计算程序1Lbl 02{LUZIPTKGSH}:3L≤626.303=>Q=0:N=3601886.914:E=547501.524:4J=156-27-10: Goto1:5≠>L≤706.303=>Q=626.303:N=3601312.75:E=547751.706:6J=156-27-20:M=-1:C=80:R=4000:Goto3:7≠>L≤768.044=>Q=706.303:N=3601239.517:E=547783.907:8J=155-52-57.35:R=4000:M=-1:Goto2: 9≠>L<848.044=>Q=848.044:N=3601111.086:E=547843.863:10J=334-25-30.96: R=4000: M=1:C=80:G=180: Goto 3:11≠>L≤1387.746=>Q=848.044:N=3601111.086:E=547843.863:12J=154-25-30.96: Goto1:13≠>L≤1467.746=>Q=1387.746:N=3600624.263:E=548076.846:14J=154-25-30.96:M=1:C=80:R=4000:Goto3:15≠>L≤1527.249=>Q=1467.746:N=3600551.986:E=548111.14:16J=154-59-53.6:R=4000:M=1:Goto2: 17≠>L<1607.249=>Q=1607.249:N=3600424.659:E=548168.129:18J=336-25-24.59: R=4000: M=-1:C=80:G=180: Goto 3:19≠>L≤2180.31=> Q=1607.249:N=3601424.659:E=548168.129:20J=156-25-24.59: Goto1:21≠>L≤2300.31=>Q=2180.31:N=3599899.434:E=548397.338:22J=156-25-24.59:M=1:C=120:R=2500:Goto3:23≠>L≤2517.342=>Q=2300.31:N=3599899.434:E=548397.338:24J=156-25-24.59:R=2500:M=1:Goto2:25≠>L<2637.342=>Q=2637.342:N=3599469.659:E=548551.339:26J=344-08-51.73: R=2500: M=-1:C=120:G=180: Goto 3:27≠>L≤3612.157=>Q=2637.342:N=3599469.659:E=548551.339:28J=164-08-51.73: Goto1:29≠>L≤3712.157=>Q=3612.157:N=3598531.917:E=548817.618:30J=164-08-51.73:M=-1:C=100:R=3000:Goto3:31≠>L≤3984.738=>Q=3712.157:N=3598435.875:E=548845.468:32J=163-11-34:R=3000:M=-1:Goto2:33≠> L <4084.738=>Q=4084.738:N=3598086.588:E=548974.532:34J=337-01-95:R=3000:M=1:C=100:G=180:Goto3: 35Lbl 136D=L-Q37P=J38X=N+D*COS J▲39Y=E+D*SIN J▲40U“1,0”:U=0=>Goto0 :≠>Goto 4:41Lbl 242D=L-Q43I=90*D/(兀R)44P=J+2IM:P>360=>P=P-360⊿P≤360=>P=P⊿P<0=>P=P+360⊿45X=N+2R SIN I*COM (J+IM)▲46Y=E+2R SIN I*SIN (J+IM)▲47U“1,0”:U=0=>Goto 0: ≠> Goto 4:48Lbl 349D=Abs (L-Q)50B=D︿3/(6RC)-D︿7/(336(RC) ︿3)+D︿11/(42240(RC) ︿5) 51A=D-D︿5/(40(RC) ︿2)+D︿9/(3456(RC) ︿4)52I=tan-1 (B/A)53P=J+3IM+G: P>360=>P=P-360⊿P≤360=>P=P⊿P<0=>P=P+360⊿54X=N+B/SIN I*COM (J+IM)▲55Y=E+B/SIN I*SIN (J+IM)▲56U“1,0”:U=0=>Goto 0: ≠> Goto 4:57Lbl 458W=X+(Z“JL”)*COM (P+(T“JD”))▲59V=Y+Z*SIN (P+T)▲60S“F,B(0,1)”61S=0=>Goto 0:≠>Goto 5:62Lbl 563O=W+K“JULI” COS (P+T+H“JIAODU”)▲64Q=V+K SIN (P+T+H)▲65Goto 0:66说明:67这个程序是根据你自己管段的曲线要素来编的。
卡西欧4800\4850程序一:坐标反算:(ZBFS)①程序步骤:C”X1”:D”Y1”:E”X2”:F”Y2”:Fixm:Pol(E-C,F-D:I”S1-2=”▲J≤O=>J=J+360△J”A1-2=”②操作过程:ZBFS→EXE→输入X1值→EXE→输入Y1值→EXE→输入X2值→EXE→输入Y2值→EXE→EXE→EXE注:①:S1-2:计算得出的距离。
②:A1-2:计算得出的角度。
(按shift°′″转换为60进制的角度)③:此程序可循环计算。
③案例:已知:D1坐标(7811.23,606.136),D2坐标(7805.915,431.910)求解: a D1-D2(A1-2)=268°15′09.56 ″S D1-D2(S1-2)=174.3071二:坐标正算:(ZBZS)①程序步骤:C”X1”:D”Y1”:S”S1-2”:R”A1-2”:Fixm:X”X2”=C+Rec(S,R) ▲Y”Y2”=D+J②操作过程:ZBZS→EXE→输入X1值→EXE→输入Y1值→EXE→输入S1-2距离值→EXE→输入A1-2角度(例268°15′09.56 ″)值→EXE→EXE注:①:X2计算得出坐标,Y2计算得出坐标。
②:此程序可循环计算。
③案例:已知:D1坐标(7811.23,606.136),两点距离:S D1-D2(S1-2)=174.3071方位角:a D1-D2(A1-2)=268°15′09.56 ″求解:D2坐标(7805.915,431.910三:线路曲线计算程序:(XLQXJS)(万能公式)①程序步骤:1.Lbl 0:{E G}:A“XA”:B“YA”:C“CA”:D“1/RA”:E“1/RB”:F“DKA”:G“DKA”2.Lbl 1:{H O R}:H“DKI”:O“DL”:R“DR”:H>G=﹥Goto 3⊿3.P=(E-D)/Abs(G-F):Q=Abs(H-F):I=P×Q:T=D+I4.J=C+(I+2D)×Q×90/π ▲5.M=C+(I/4+2D)Q×45/(2π):N=C+(3I/4+2D)Q×135/(2π):6.K=C+(I/2+2D)Q×45/π7.X=A+Q(cosC+4(cosM+cosN)+2cosK+cosJ)/12 ▲8.Y=B+Q(sinC+4(sinM+sinN)+2sinK+sinJ)/12 ▲9.U“XL”=X+Ocos(J-90) ▲10.V“YL”=Y+Osin(J-90) ▲11.W“XR”=X+Rcos(J+90) ▲12.Z“YR”=Y+ Rsin(J+90) ▲13. A=X:B=Y:C=J:D=T:F=H:Goto 1Lbl 3: A=X:B=Y:D=E:F=G:C=J:Goto 0程序说明:A- 曲线元起点A的坐标;B- 曲线元起点B的坐标;C- 曲线元起点A的切线坐标方位角;F- 曲线元起点A的里程;G- 曲线元起点B的里程;H- 曲线上待求点i的里程;D- 曲线元起点A的曲率;E- 曲线元终点B的曲率;XL-左边线点位X坐标;YL-左边线点位Y坐标;XR-右边线点位X坐标;YR-右边线点位Y坐标;X- 中线点位纵坐标;Y- 中线点位横坐标;DL-左边线距中线平距;DR-右边线距中线平距;该程序需要输入的数据为:(1).曲线元起点A的坐标及切线坐标方位角,计算器上用“XA”,“YA”,“CA”显示;(2).曲线元起点A和B的曲率,计算器上用I÷RA,I÷RB显示(曲线左偏时取“-”);(3).曲线元起点A和终点B的里程,计算器上用“DKA”,“DKB”显示;(4).输入待求点里程和该点距左右的水平距离,计算器上用“DKI”,“DL”,“DR”显示;每算完一个待求点的中线及边线坐标,程序又让输入下一点的“DKI”,“DL”,“DR”当输入的“DKI”大于“DKB”时程序中显示“1÷RB”和“DKB”,此时输入下一个曲线元起点的曲率和里程,然后重复步骤(4),即可计算下一个曲线中线及边线点位坐标。
卡西欧Fx-4800P计算器测量程序一、坐标放样源程序ZBFYU“Xc”:M“Yc”:O“XH”:Q“YH”:I=O-U:J=Q-M: Pol(I,J):J<0=>J=J+360:≠>J=J:⊿T“HF” =J◢I“HL”◢X=0=>W“XQ” =U+Lcos(T+P“a”)◢S“YQ” =M+Lsin(T+P)◢≠>I=X-U:J=Y-M: Pol(I,J):J<0=>J=J+360:≠>J=J⊿I“QL=”◢H“QF” =J◢J=H-T:J<0=>J=J+360◢≠>J=J使用说明:XH—后视点X坐标 YH—后视点Y坐标XC—置镜点X坐标 YC—置镜点Y坐标HF—后视方位角 QF—前视方位角HL—后视距离 QL—前视距离X、Y—前视点坐标 J—仪器后视归零后拨角当X=0时运行坐标反算QL—测设点到置镜点的距离а—测设点与后视点夹角XQ—测设点的X坐标 YQ—测设点的Y坐标二、复合辛卜生公式计算曲线元坐标源程序XBS—XY(已知里程求坐标)A“QD”:Z“ZD”:R“R0”:V“RN”:D“X0”:E“Y0”:F“F0”:K:L“B”:P“а”:J:Prog “SIM1”:W<0=>W=W+360:≠>W=W⊿W“FWI=”◢X=X◢Y=Y◢XBS—L、B(已知坐标求里程和边距)A“QD”:Z“ZD”:R“R0”:V“RN”:D“X0”:E“Y0”:F“F0”:K”K”(输入大致里程)I=X:B=Y:K=A+Abs((Y-E)cos(F+P“a”-180)+(X-D)sin(F+P-180):Lbl 1:L=0:Prog“SIM1”:C=(B-Y)cos(W+P-180)- (I-X)sin(W+P-180): AbsC<10∧-4=>Goto2: ≠>K=K+C∶Goto1:⊿Lbl2:L=0:Prog“SIM1”:C=(B-Y)÷sin(W+P):K=K◢C“B=”◢子程序SIM1T=(J÷V-J÷R)÷(Z-A)H=(K-A)÷NS=90H÷πW=F+((TNH+J÷R)+J÷R)NS: G=1:X=D+H÷6×(cosF+cosW+4×Σ(cos(F+((G+0.5)HT+2J÷R)(G+0.5)S),G,0,(N-1))+2Σ(cos(F+(THG+2J÷R)GS,G,1, (N-1)))+Lcos(W+P):Y=E+H÷6×(sinF+sinW+4×Σ(sin(F+((G+0.5)HT+2J÷R)(G+0.5)S,G,0,(N-1))+2×Σ(sin(F+(THG+2J÷R)GS,G,1,(N-1)))+Lsin(W+P)使用说明:QD—起点里程 ZD—终点里程R0—起点半径 RN—终点半径J—曲线转向 (左转为-1 直线为0 右转为+1)X0、Y0—线元起点坐标 F0—起点方位角K—待求点里程 N—计算精度(可取4~12的整数)а—边桩与中线右交角 B—边桩到中桩的距离,左“-”右“+”X、Y —待求点坐标 K—待求点里程三、数据库的编制以每个线元为一段先付参数值,例K≥542.759=>K≤686.148=>A”起点里程”=542.7590:Z终点里程=163.5:R起点半径=10^45: V终点半径=10^45:D起点坐标=22236.147:E起点坐标=32145.669:F起点切线方位角=81°22′42″:J=0:⊿⊿K≥987.324=>K<10234.021=>A=……J=-1⊿⊿……Prog“XBS—XY”四、纵断高程计算Lbi 0R:T:D”K(JD)”:H”H(JD)”:U”I1”:V”I2”:{K}V>U=>G=1:≠>V<U=>G=-1⊿⊿K≤D-T=>L=D-KP=H-LU/100≠>K≤D=>L=K-D+TP=H-U(D-K)/100+GL2/2R≠>K≤D+T=>L=D+T-KP=H+V(K-D)/100+GL2/2R≠>K>D+T=>L=K-DP=H+LV/100⊿⊿⊿⊿P”H=”▲Goto 0H:高程、 K:变坡点里程、H:变坡点高程、I1、I2前后坡度五、中轴旋转、超高计算: (1)IR,(2)IL线路左转输2,W(Z):中分带宽度,K:桩号,H(Z):中桩设计高程,W(L)左侧宽度,W(R):右侧宽度Lbi 1G”(1)IR,(2)IL”:D”K(ZH)”:S”LS1”:H”LS2”:Q”LY”:W”W(Z)”:I”I1”:J”IB”{KVAE}:K:V”h(Z)”:A”W(L)”:E”W(R)”G=2=>G=-1⊿{KPAB}:K:P”H(Z)”:A”W(L)”:B”W(R)”Prog”XZ”:U”H(L)=”▲V”H(R)=”▲Goto11、子程序:XZG=1=>U=A:V=B:≠>G=-1=>U=B:V=A⊿⊿K≤D=>R=P-I(U-W/2)/100:E=P-I(V-W/2)/100:≠>K≤D+S=>Prog”ZXA”: ≠>K≤D+S+Q=>R=P+J(U-W/2)/100:E=P-J(V-W/2)/100: ≠>K≤D+S+Q+H=>Prog”ZXB”: ≠>K>D+S+Q+H=>R=P-I(U-W/2)/100:E=P-I(V-W/2)/100⊿⊿⊿⊿⊿G=1=>U=R:V=E: ≠>G=-1=>U=E:V=R⊿⊿2、子程序: ZXAL=K-DR=P-I(U-W/2)/100+L(U-W/2)(I+J)/100SL≤2IS/(I+J) =>E=P-I(V-W/2)/100: ≠>L>2IS/(I+J) =>E=P-LJ(V-W/2)/100S ⊿⊿3、子程序: ZXBL=D+S+Q+H-KR=P-I(U-W/2)/100+L(U-W/2)(I+J)/100HL≤2IH/(I+J) =>E=P-I(V-W/2)/100: ≠>L>2IH/(I+J) =>E=P-IJ(V-W/2)/100H ⊿⊿六:边轴旋转超高计算:L:平曲线长度,I1正常横坡,IB超高横坡。
CASiO fx-4800计算器程序1、CE ZHANFix3:Prog"X":U=X:V=Y:Prog"X":X=X:Y=Y:Fixm:Pol(X-U,Y-V:Pause0:W=J:J<0=>J=J+360△IntJ+.01(.6Fr ac 60J+Int(60 FracJ:Fix 4:J"D,F"= Ans2、QU XIANFix3:L"K+"D"B÷2":Fixm:AbsD<3E 3=>Prog"Q":≠>X=L:Y=D △X:Pause0:Y"N,E="◢Pol ( X-U ,Y-V:Pause0: J <0=>J=J+360△IntJ+.01( .6 Frac 60J+Int(60 FracJ:Fix 4:J"D,FWJ"=Ans3、X{NXY}:N=控制点编号=>X=控制点X 坐标:Y=控制点Y 坐标△N=下个控制点编号=>X=下个控制点X 坐标:Y=下个控制点Y 坐标△……X:Pause0:Y4、QProg"SJ":Prog"P":C=L-H:C>.5B=>K=B-C:≠>K=C △K>0=>K≤S=>A=RS:X=K -K 5÷40A 2:Y=K 3÷6A -K 7÷336A 3:≠>A=180(K-S)÷πR+M:Y=R(1-cosA)+W:X=RsinA+Z [1△Pol(X,Y:≠>I=K:J=0△E-F>0=>C<.5B=>X=N+Rec(I,J+F:Y=J+Q:Prog"J":J=Ans+F:≠>J=-J:Prog"K":C=B-C:Prog"J":J=E-Ans:△≠>C<.5B=>J=-J:X=N+Rec(I,J+F:Y=J+Q:Prog"J":J=F- Ans: ≠>Prog"K":C=B-C:Prog"J":J=Ans+E: △△X=X+Rec(D,J+90:Y+J5、KX=P+Rec(I,J+180+E:Y=J+O6、JC≤0=>0: C≤S=>90C 2÷πA: ≠>A △△△7、PE=F-Z:G=H+B:W=S 2÷24R: Z [1]=S-S 3÷40R 2-Rsin(180S÷2πR:M =180S÷2πR :Rec (T,F-180:N=I+X:Q=J+Y: Rec (T,E:P=I:+X:O =Y+J8、SJL ≤缓直点桩号=>B=曲线长度:F=计算方位角:H=直缓点桩号:T=切线长度:X=交点X 坐标:Y=交点Y 坐标: S=缓和曲线长度:R=曲线半径:Z=转角(左转输正,右转输负):≠>L≤下段直缓点桩号=>B=曲线长度:F=计算方位角:H=直缓点桩号:T=切线长度:X=交点X 坐标:Y=交点Y 坐标: S=缓和曲线长度:R=曲线半径:Z=转角值: ≠>L≤下段直缓点桩号……△△△ (注:有多少弯道就加多少个△)。
4800计算器程序编辑步骤2一、文件名QXFY(曲线放样主程序)W=1:{WQ}:W“LOAD”:W=-1=>A“ZJ”:B“R”:C“L0”:D“ZH KM”:E“JDX”:F“JDY”:G“A0”:H“1 R,-1 L”:⊿←{Q}:Q“OPP NAME”:Q=-1=>U“X0”:V“Y0”:≠>Prog“CON DAT”:U=4.444=>::⊿⊿←Lb1 1:{Z}:Z“DK+M”:Int (Z/1000)>0=>K=Int (Z/1000): ≠>Z=Z+1000K⊿←W≠-1=>Prog “CIR DAT”:A=9=>::⊿⊿←H≠-1=>H≠1=>::⊿⊿←M=Z-D:Prog “CENTER”←{L}:L“OUT L”:L>0=>{R}:R“OUT ANGLE”:X=X+Lcos(P+R):Y=Y+Lsin(P+R) ⊿L<0=>L=AbsL:{R}:R“OUT ANGLE1”:O=P+R:X=X+LcosO:Y=Y+LsinO:{LR}:L“OUT L2”:R“OUT ANGLE2”:L=AbsL:O=O+R +180:X=X+LcosO:Y=Y+LsinO⊿←PoI(X-U,Y-V)←“L=”:I◢( I“L=”◢)J<0=>J=J+360:⊿←“A=”:J→DMS◢(J“A=”◢)O=-1:{O}:O“VIEWXY”:O≠-1=>”X=”:X◢”Y=”:Y◢”P”:P→DMS◢⊿←(X◢Y◢P◢⊿←)Goto 1←二、文件名XY-AL(坐标反算){Q}:Q“OPP NAME” ←Q≠-1=>Prog“CON DAT”:U=4.444=>::⊿A=U:B=V: ≠>A“X0”:B“Y0”: ⊿I=0:J=0←Lb1 1:{Q}:Q“CPP NAME”:Q=-1=>{DC}:C“Xc”:D“Yc”: ≠>Prog“CON DAT”:U=4.444=>::⊿C=U:D=V: ⊿←Po1(C-A,D-B) ←“L=”:I◢(I “L=” ◢)J<0=>J=J+360⊿←“A=”:J→DMS◢(J“A=” ◢)Goto 1←三、文件名CAL XY(导线计算)O=2←Lb1 1:{O}:O“1:X0,Y0-A06个空格2:X0,Y0-XC,YC”:O≠1=>O ≠2=>Goto 1: ⊿⊿←I=0:J=0←{Q}:Q“OPP NAME”:O≠-1 Prog“CON DAT”: U=4.444=>::⊿A=U:B=V: ≠>A“X0”:B“Y0”: ⊿←O=1=>E“A0”: ≠>{Q}:Q“CPP NAME”:Q=-1=> C“Xc”:D“Yc”: ≠>Prog“CON DAT”:U=4.444=>::⊿C=U:D=V: ⊿Po1(C-A,D-B):E=J: ⊿←F=E:X=A:Y=B←Lb1 2:{ML}:M“LEFT ANGLE”:L“DISTANCE”:F=F+M:Rec(L ,F):X=X+I◢Y=Y+J◢F=F-180:Goto 2四、文件名CENTER(曲线放样子程序)S=ABπ/180+C:O=C2/24B:T=(B+O)tan(A/2)+C/2-C^3/240B2:N=-1:M>S-C=>M=S-M:N=1:⊿←M≤0=>X=M:Y=0:P=0: Goto 1: ⊿←M≤C=>X=M-M^5/40B2C2:Y=M^3/6BC-M^7/(336*B^3*C^3):P= 90M2/πBC:Goto 1: ⊿←M≤S-C=>P=180(M-C)/πB+90C/πB:X=BsinP+C/2-C^3/240 B2:Y=B(1-cosP)+O: ⊿Lb1 1:N=1=>P=A-P:I=X:J=Y:X=T+(T-I)cosA-JsinA:Y=(T-I)sinA+JcosA: ⊿←I=X:J=HY:X=E+Tcos(180+G)+IcosG-JsinG:Y=F+Tsin(180+G )+IsinG+JcosG:P=G+HP←五、文件名CIR DAT(曲线要素数据库)A=9:W≠1=> Goto 1⊿←Z≤曲线交点代号=>A=转向角:B=半径:C=缓和曲线长:D=直缓点里程:E=交点X坐标:F=交点Y坐标:G=切线方位角:H=右偏+1,左偏-1:Goto 1⊿←W=编辑顺序同上。
QL(坐标反算)Lbi 0:C“X0”:D“Y0”:{XY}:X“X2”Y“Y2”:(X-C)=O=>Goto 1:≠Lbi 1:W“Q”=0◢Goto 0Lbi 2:Prog“FWJ”Fix 4W“Q”=IntW+0.01Int(60FracW)+0.006Frac(60FracW) ◢NormT“L”= ((X-C)2+(Y-D)2)◢Goto 0说明:(已知两点坐标,反算方位角及两点间的距离)先按FILE键,光标选择QL,按EXE运行。
输入:X0? 测站点(或起算点)X轴坐标,按EXEY0? 测站点(或起算点)Y轴坐标,按EXEX2? 后视点(或方向点)X轴坐标,按EXEY2? 后视点(或方向点)Y轴坐标,按EXE显示: Q 方位角(如:125.0325即表示125。
03’25”),按EXE L 两点间距离再按EXE进行循环运算,重复输入X2?、Y2?否则按AC键退出。
XY(坐标正算)Lbi 0:C“X0”:D“Y0”:{WM}:W“Q”M“L”:X=C+McosW◢Y=D+MsinW◢Goto 0说明:(已知一点坐标、方位角、距离,求另一点坐标)先按FILE键,光标选择XY,按EXE运行。
输入:X0? 测站点(或起算点)X轴坐标,按EXE Y0? 测站点(或起算点)Y轴坐标,按EXE Q? 已知方位角,按EXEL? 两点间距离,按EXE显示:X 所求点X轴坐标,按EXEY 所求点Y轴坐标,按EXE再按EXE进行循环运算,重复输入Q? 、L?否则按AC键退出。
ZX(直线坐标计算)Lbi 0:G“QD”:A“QDX”: B“QDY”:Q“Q”:{L,K}:Prog“ZZ”:Goto 0说明:(计算直线段任意里程桩号坐标)先按FILE键,光标选择XY,按EXE运行。
输入:QD? 直线段起点里程,按EXEQDX? 起点X轴坐标,按EXEQDY? 起点Y轴坐标,按EXEQ? 已知方位角,按EXEL? 所求点里程,按EXEK? 所求点距中线的宽度(左负右正),按EXE显示:X 所求点X轴坐标,按EXEY 所求点Y轴坐标,再按EXE进行循环运算,重复输入L? 、K?否则按AC键退出。
卡西欧4800计算器编程1、=>……条件转移成立符号,其用法相当于BASIC中的IF……THEN(假设语句相当于假如……然后,IF相当于条件……THEN相当于结果)语句2、≠>……条件转移不成立符号,其用法相当于BASIC中的IF……ELSE语句通常二者连用,相当于BASIC中的IF……THEN……ELSE语句(它的英语形式一般为if a>b then c>d else if b>a the……)3、⊿……条件转移结束符号,与=>和≠>配合使用,放在条件语句最后面。
4、 LbI……标记命令。
用于将一段语句作转换标记。
后可接字母、数字、符号,但不能超过两个字节,如不能用≥10的数字作行标,否则会出现出错信息。
5、Goto……(条件)转移命令。
前面可加条件语句,与BASIC中的GOTO作用相同。
通常与LbI一起用,如果所转移的行号无效,则会显示:GO ERROR(详见说明书)出错信息6、 Dsz……减量循环命令。
可减少未知数的数量。
7、 Isz……增量循环命令。
8、 Pause……暂停命令。
后可接0~9之间的整数n,可使某一数据显示n/2秒钟,然后继续运行下面的程序。
它被认为是一个语句。
9、 Fixm……变量锁定命令。
该命令能使其所有变量值(A~Z)均当成定数处理。
当程序运行时,将不需要输入变数(“{}”内的变数除外),而是将存贮器中原有的数值来完成计算。
10、{}……变量输入命令。
只程序在循环使用时经常发生改变的数字,如里程、和宽度。
它的输入方式可以使很多种如{AB}{A,B}{A B}都可以。
注意“{”和“}”必需成对输入。
否则会出现Syn ERROR(详见说明书)出错信息。
11、=、≠、>、<、≤、≥……条件运算关系算子,常与Goto命令构成条件转换语句。
12、Prog……在正常情况是下打开程序的快捷键。
在编程过程中是运行子程序命令,后接子程序名(一定要加引号,且要注意空格,否则会出现Syn ERROR的出错信息。
工程测量卡西欧CASIO FX-4800P施工放样程序二零零六年四月六日坐标正算程序1 X“X0”:Y“Y0”:S:T2 N=X+ScosT:E=Y+SsinT3 N=N▲E=E▲4 输入数据说明:X0─已知点X坐标;Y0─已知点Y坐标;S─已知点到待定点之间的距离;T─已知点到待定点之间的方位角5 计算结果说明:N─待定点X坐标;E─待定点Y坐标6 检核数据已知:X O=500.00m;Y O=500.00m;S OA=150.00m;T OA=40°25′10″结果:N A=614.1977m;E A=597.2567m7 简图:O(原点)坐标反算程序1Lb1 0:{NE}:X“X0”:Y“Y0”:pol((N-X),(E-Y):J≤0 => J “<T”=J+360▲≠=>J“<T”=J▲△I“<S”=I▲G o t o 02输入数据说明: (“=>”为条件转移符号、“≠=>”为无条件转移符号)X0─O点X坐标;Y0─O点Y坐标;N─A点X坐标;E─A点Y坐标3计算结果说明:S─O点到A点之间的距离;T─O点到A点之间的方位角4检核数据已知:X O=500.00m;Y O=500.00m; N A=614.1977m;E A=597.2567m结果: S OA=150.00m;T OA=40°25′10″5 简图:(已知点) O(已知点)大地坐标转施工坐标程序1 Lb1 1:A“X0”:B“Y0”:T:{NE}:X=(N-A)×cosT+(E-B)×s inT:Y=(E-B)×cosT-(N-A)×s inT2 X=X▲Y=Y▲G o t o 13 输入数据说明:X0、Y0─施工坐标原点在大地中的坐标;T─施工坐标系相对于大地坐标系的夹角;N─大地坐标系中的X坐标;E─大地坐标系中的Y坐标4计算结果说明:X─施工坐标系中的X坐标;Y─施工坐标系中的Y坐标5 检核数据已知: X O=316.689m;Y O=501.123m;T=-8°13′36″N=755.500m;E=740.800m结果: X=400.000m;Y=300.000m6 简图及数据:详见中等专业学校教材《工程测量学》第一章第3~6页图1-1坐标系统换算示意图;表1-1 测图坐标换算施工坐标已知数据表;表1-2 坐标换算与校核计算表。
对卡西欧4800计算器在编程中的浅见在计算能力飞速发展的今天,各种计算工具应运而生代替了以往我们大量、繁琐的分析计算工作,简化了计算步骤节省了计算时间。
在种类繁多的计算工具中适合测量工作的计算器也大有所在。
比如有一款SHAPPC-E500计算器,它相当于是基于BASIC语言的微型电脑,功能也相当齐全能编写较复杂的程序、内存也相当大有32KB、64 KB、128 KB、256 KB、几种型号,同时具有输入输出通讯设备。
但价格不菲,现在市场价格大约为2000元到3000元,个人经济承受能力有限。
通过几年的实际测量工作我个人为认为真正适合测量人员较为专业的计算器应首推基于科学计算器具有简单程序语言的casio4x00计算器。
它有很多优点:一、使用简单,最大的一个优点就是只要具有初中水平会运用数学公式对函数有一般的了解的人,能基本理解casio4x00的内装函数即可进行简单的编程。
非常适合测量初学者和数学程序爱好者学习,也适合专业的测量人员的使用和能力提高。
不像其它的专业一定要具有较高的专业技术水平才能进行电脑编程。
二、成本低廉,价格在400元左右。
三、携带方便,体积很小可随时放在口袋里随拿随用。
casio系列较好的编程型号有casio4500(以下简称4500)、casio4800(以下简称4800),(好象近来还推出了一款casio4850)前者较内存小,只有1103个字节,能应付一些较为简单的公式计算和科学计算,但由于内存有限,对一些较复杂或子程序过多的程序就力不从心了,不能出色的完成测量任务。
4800就比4500有较大的改进,4800内存达到的4500个字节,而且显示屏是4500的几倍大,能更准确的显示数据,内装函数字符一目了然。
且具有简单的人机对话功能,出现了菜单子菜单。
4800还在4500增加了啊佛加德罗常数、万有引力长常数、详见《操作说明书》。
4800有很多很实用的功能如他有一个公式解答功能,其原理是用牛顿法解方程。
举个例子:有一方程式:a=2b-c求当a=2、c=5时的b值。
将该方程式存入公式存贮器中,:先按按解答键“SOLVE” a输入2 、c输入5,再按解答键“SOLVE”计算器就会显示:b=3.5。
此项功能被称为自动解答功能。
同时它也是非常实用的,在实际工作中通常要有一个经常使用的小公式,可借助它来完成。
4800使用的程序语言可以算做简单的BASIC语言,有的命令如GOTO(转移到)、PAUSE(暂停)就与BASIC语言的一模一样。
现在4800的程序语言来说说。
其主要命令有:1、=>…… 条件转移成立符号,其用法相当于BASIC中的IF……THEN(假设语句相当于假如……然后,IF相当于条件……THEN相当于结果)语句2、≠>……条件转移不成立符号,其用法相当于BASIC中的IF……ELSE语句通常二者连用,相当于BASIC中的IF……THEN……ELSE语句(它的英语形式一般为if a>b then c>d else if b>a the……)3、⊿…… 条件转移结束符号,与=>和≠>配合使用,放在条件语句最后面。
4、LbI……标记命令。
用于将一段语句作转换标记。
后可接字母、数字、符号,但不能超过两个字节,如不能用≥10的数字作行标,否则会出现出错信息。
5、Goto…… (条件)转移命令。
前面可加条件语句,与BASIC中的GOTO作用相同。
通常与LbI一起用,如果所转移的行号无效,则会显示:GO ERROR(详见说明书)出错信息6、Dsz……减量循环命令。
可减少未知数的数量。
7、Isz……增量循环命令。
8、Pause……暂停命令。
后可接0~9之间的整数n,可使某一数据显示n/2秒钟,然后继续运行下面的程序。
它被认为是一个语句。
9、Fixm……变量锁定命令。
该命令能使其所有变量值(A~Z)均当成定数处理。
当程序运行时,将不需要输入变数(“{}”内的变数除外),而是将存贮器中原有的数值来完成计算。
10、{}…… 变量输入命令。
只程序在循环使用时经常发生改变的数字,如里程、和宽度。
它的输入方式可以使很多种如{AB}{A,B}{A B}都可以。
注意“{”和“}”必需成对输入。
否则会出现Syn ERROR(详见说明书)出错信息。
11、=、≠、>、<、≤、≥……条件运算关系算子,常与Goto命令构成条件转换语句。
12、Prog……在正常情况是下打开程序的快捷键。
在编程过程中是运行子程序命令,后接子程序名(一定要加引号,且要注意空格,否则会出现Syn ERROR(详见说明书)的出错信息。
13、↓……换行,只保留计算过程不显示计算结果。
当不想对其换行时也可用:代替。
14、◣……数据显示命令。
该命令输入后会自动换行。
保留计算过程并显示计算结果。
有一条总原则即:①学会运用程序的语言,尽可能使程序变得简明扼要;我们编写程序应该尽可能地使程序变得简明扼要,能省略的要一定省略。
烦琐的语句过多的字节只能使计算器的运算速度变慢没有任何好处,而且相当站用内存。
学会节省字节和使用符号是相当重要的。
尤其要灵活运用计算器语句因为它会使你更多的节省字节达到预期效果。
比如下程序就灵活运用了Dsz (减量循环命令)。
比如使其能输入10个数值,并计算10个数值的平均值。
一般程序求10个数字的平均值需要有11个数字的提示符号。
但学会灵活运用了Dsz (减量循环命令)那么只要有三个就可以了,这样就大大节省了字节的占用。
例程序如下:A=10C=0Lbi 1{B}C=B+CDsz AGoto 1C÷10但要注意的是:如果你是初学者或你对程序的编程不熟练,首先一定要先按照你的思路把程序步骤一步一步的列好在确定它能正确的计算后在想办法对其进行精简修改,否则只会使程序出现过多的错误;②尽可能使程序所包含的子程序减少;子程序过多就会造成程序结构松散,有的计算器主程序需要三个或四子程序,过多的子程序只会引起程序之间紊乱、混淆。
子程序过多对在使用时查找也比较麻烦。
而且子程序过多如果其中某个环节出现错误很难发现其错误所在,在编写程序时要尽量的少编写子程序,即使要编写子程序时也要注意尤其在容易出错的地方要多加注意。
有弊就有利如果你对子程序了解得多了那么可以几个主程序合用一个之程序也到到了要求的减少程序的字节使程序更简化。
例程序如下:CX CDLbi 1 Lbi 1Prog”V” Prog”V”B=L-(K-S) ◣B=L+(K-S) ◣Goto 1 Goto 1VY=√A2B2+B2X2÷A③尽量少用或不使用扩充变数存贮器,如A[1]、A[2]等:使用扩充存贮器是一个利少弊多的做法。
每扩充一个存贮器就要减少10个字节的容量,而每个扩充存贮器至少要占四个字节,比一个A~Z变量净增三个。
有时你会觉得变量存贮器不够用。
其实不尽然,一般程序变量数很少会超过26个,只是你不懂得去使用。
一般来说,两个相对独立的程序步骤之间根本不需要考虑变量重复问题。
针对某一个程序,只要不是固定变量({}内的变量),也就是那些通过计算出来的用于下一步计算的数值。
我们就可以通过重复赋值来得到某些计算量。
反正在下一轮循环中该量是变化的。
明白了各种命令的含义和注意事项就可以编程了。
举例有公式如下:CX 程序名称Lbl 0↓ 起始标记命令语句QMNFJ↓ 数据输入语句(指公式循环运算时的不变量){KDE}↓ 数据输入语句(指公式循环运算时变量)S=K—Q:G=F+J↓ 公式运算命令X=M+ScosF↓ 公式运算命令Y=M+SsinF↓ 公式运算命令Prog "j"↓ 运行子程序命令Goto 0↓ 循环运算语句J 子程序名称H=X+DcosG◣公式运算、数据显示语I=Y+DsinG◣公式运算、数据显示语T=X—EcosG◣公式运算、数据显示语U=Y—EsinG◣公式运算、数据显示语最后计算器状态设定语句是大家最容易忽视的。
如果将单位进行预设那么计算器就会默认其使用单位在进行下一单位换算时要一定要进行单位转换,否者会使计算结果错误。
在显示屏幕的左下角可以清楚地发现小提示符号:如D代表度为现在的缺省单位、R代表弧度为现在的缺省单位、G 代表梯度为现在的缺省单位。
公路编程实例ZBZS★坐标正算主程序Deg:FixmLbl 0:{O}:O“1,47264-50167.162,50150-50673.503,50700-54700”Lbl 1:{ZKB}:Z:K:B:O=1=>Goto 2△O=2=>Goto 3△O=3=>Goto 4△Lbl 2:Z<47264=>Goto 5△Z>50167.16=>Goto 5△Z<48708.52=>Prog“55”: Goto 6△Z<49310.50=>Prog“56”: Goto 6△Z<49874.21=>Prog“57”: Goto 6△Prog“57-1”: Goto 6△Lbl 3:Z<50150=>Goto 5△Z>50673.5=>Goto 5△Prog“58”: Goto 6△Lbl 4:Z<50700=>Goto 5△Z>54700=>Goto 5△Z<51265.12=>Prog“59”: Goto 6△Z<52266.78=>Prog“60”: Goto 6△Z<53341.82=>Prog“61”: Goto 6△Z<53868.03=>Prog“62”: Goto 6△Prog“63”: Goto 6△Lbl 5:“ZH ERROR”▲Goto 0Lbl 6:Prog“DQXY”:“X=”:X:Pause 0:“Y=”:Y▲Pol(X-Q,Y-U):J<0=>J=360+J△:I=Intg(1000I+.5)÷1000“L=”:I:Pause 0:“T=”:J→DMS▲Goto 1 说明:本程序适用于casio4850计算器。
把线路从断链处分为三段,O的取值,待求点在第一段输1,第二段输2,第三段输3。
Z、待求点的桩号。
K、待求点在左幅输0右幅输1。
B、待求点距中距离。
Goto 5前的桩号为起止点或断链点桩号。
Prog“xx”:Goto 6前的桩号为曲线组合的HZ点桩号。
Q、U为测站坐标,运行程序前先存入。
ZHFS★桩号反算主程序Deg:FixmLbl 0:{TL}:T:L:T=Int T+Frac 100T÷36+(Int 100T÷100T-Int T)÷.6X=Q+Rec(L,T):Y=U+J:“X=”:X:Pause 0:“Y=”:Y▲Lbl 1:Prog“55”:Prog“YS”:Z>48980=>Goto 2△Prog“FQ”Z<47264=>Goto B△Goto ZLbl 2:Prog“56”:Prog“YS”:Z>49437.85=>Goto 3△Prog“FQ”: Goto ZLbl 3:P rog“57”:Prog“YS”:Z>49874.21=>Goto 4△Prog“FQ”: Goto ZLbl 4:Prog“57-1”:Prog“YS”:Z>50354.96=>Goto 5△Prog“FQ”Z>50167.16 =>Z=Z-17.16△Goto ZLbl 5:Prog“58”:Prog“YS”:Z>50931.36=>Goto 6△Prog“FQ”Z>50673.5 =>Z=Z+26.5△Goto ZLbl 6:Prog“59”:Prog“YS”:Z>51953.51=>Goto 7△Prog“FQ”: Goto ZLbl 7:Prog“60”:Prog“YS”:Z>52546.8=>Goto 8△Prog“FQ”: Goto ZLbl 8:Prog“61”:Prog“YS”:Z>53477.04=>Goto 9△Prog“FQ”: Goto ZLbl 9:Prog“62”:Prog“YS”:Z>54118.18=>Goto A△Prog“FQ”: Goto ZLbl A:Prog“63”:Prog“YS”:Z>54700=>Goto B△Prog“FQ”: Goto ZLbl B:“CX ERROR”▲Goto 0Lbl Z:Z=Intg(1000Z+.5)÷1000:B=Intg(1000B+.5)÷1000:“LC=”:Z:Pause 0:“BJ=”:B▲Goto 0 说明:T、L测点相对测站的方位角和距离,T的取值例:12°34′56″输为12.3456。