Fx5800计算器公路测量程序设计23版

Fx5800计算器公路测量程序设计23版
Fx5800计算器公路测量程序设计23版

FX5800计算器公路测量常用程序集2.3 版

一、程序功能

主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括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.主程序:一般坐标计算及放样程序

程序名:1XY

Prog "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z [1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ? D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1] →A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY": Prog"JS":LpWhile Z≠-1

2.主程序:由大概桩号及坐标反算桩号及距离

程序名:2ZD

Prog"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-1

3.主程序:任意点高程计算及横坡

程序名:3GC

P rog"QX":0→B: "H-B"?B: B→Z[9]: Do: "KM"?Z:Z=-1=>Stop: Z=-2=>Break:?D:Prog"H":Fix 3: " H=": Locate 6,4,H-Z [9]:" I=":Locate 6,4,I:LpWhile Z≠-1

4.主程序:任意桩号位置的标准路基宽度计算

程序名:4GD

Prog"QX": Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break:-1→D:Prog"C":L→P:1→D: Prog"C":Fix 3: " LGD=": Locate 6,4,

P:" RGD=":Locate 6,4,L:LpWhile Z≠-1

5、主程序:路基开挖边线及填方坡脚线放样程序

程序名:5BP

Prog "DX":Prog"QX":0.5→B: "TH-GD"?B: B→Z[7]: Do:"K M"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z [8]→M:"M0"?M:M→Z[8]: Porg"B":D→P :Prog"C":If D<0:Th en 0.75-L→D:Else L-0.75→D: IfEnd: Prog“H”:H-0.03-Z[8] →G: Prog “W1”:If G>0:Then Goto T: IfEnd:

-G→H:If H>E+F:Then L+M+N+U+C(H-E-F)+BF+AE→S:Goto 0:IfEnd:I f H>E:Then L+M+N+ B(H-E)+AE→S:Goto 0:IfEnd:

If H

LbI T:If G>W:Then L+Z[7]+V+J(G-W)+IW→S:Else L+Z[7]+GI→S:If End:LbI 0: Fix 2: P→D :Abs(D)-S→T: " LX=":Locate 6,4, T:Prog"ZD":" TW=": Locate 6,4,G◢LpWhile Z≠-1

6、主程序:定值放样路基桩计算填挖值

程序名:6FM

Prog "DX":Prog"QX": Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: P rog"K": ?D: Porg"A":Z[2]+90→A :I+Dcos(A→X:J+Dsin(A→Y:P rog"XY":Prog"JS":Z[8]→M:”M0”?M:M→Z[8]:Prog “H”:”

TW=”:Locate 6,4,H-Z[8]: LpWhile Z≠-1

7、主程序:桥梁锥坡计算放样

程序名:7ZP

Prog"DX":Prog"QX":"Z0"?Z:"LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: D→Z[7]:R→Z[10]:Z→Z[9]:Prog”C”:L→Z[10]:Prog”K”: Do:Z[10]→Y:"L0:SZ+,DZ-"?Y: Y=-1=>Stop:Y=-2=>Break: √(Z[7]2(1-Y2/Z[10]2))→X:Z[9]+Y→Z: Prog”C”: If D>0:Then L+X→D: Else –L-X→D:IfEnd:Prog”A”: Z[2]+90→A :I+Dcos(A→X:J+Dsin (A→Y:Prog"XY":Prog"JS": LpWhile Y≠-1

8、主程序:由坐标计算方位角及距离

程序名:8JS

Prog "DX":Do:?X: X=-1=>Stop:X=-2=>Break:?Y:Prog”JS”: LpWh ile X≠-1

9、主程序:隧道超欠挖放样计算

程序名:9SD

Prog"DX":0.65→A:”CQHD”?A:A→Z[7]:Do:"KM"?Z:Z=-1=>Stop: Z=-2=>Break: Prog"K": “X0"?X:"Y0"?Y:Z[8]→M:"M0"?M:M →Z[8]: Porg"B":D→Z[9]:0→D:Prog”H”:Prog”SD1”:Z[9] →D: Z[8]→M:Z[7]→X:Rcos(P→C:H+A→A:H+B→B:C+A→E:If MGoto 1:√(S2-(B-A)2)S÷Abs(S→T:Abs(D-Q)-T→T:√(T2+ (M-B)2)-V-X→L:Goto 0:IfEnd:LbI 1:√((D-Q)2+(M-A)2)-R-X→L:LbI 0:Fix 2: ” L X=”: Locate 6,4,L:Prog”ZD”:“ H0=”: Loca te 6,4,M-H◢LpWhile Z≠-1

10. 交点法正算子程序(A)

程序名:A

P÷Abs(P→W:O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Q:H→C:0→M:

If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 1: IfEnd:

If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:A-T→A:G→E: Goto 2:IfEnd:

If Z≤Q: Then 180(Z-O+T-0.5H)÷R÷Π→S : Prog”AB”:A+R(1-Cos (S→E:B+Rsin(S→A:E→B:R→M:G+WS→Z[2]:A-T→A:G→E:Goto 2: I

fEnd:

If Z≤Q+N:Then Q+N-Z→S:N→H:Prog “HX”:G+P→E:E-WK→Z[2]:F-A→A:C→H:Goto 2:IfEnd:

Z-Q-N+F→S:G+P→Z[2]: LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Ret urn:LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J

11. 交点法反算子程序(B)

程序名:B

0→D:Do:Z+D→Z:Prog”A”:Pol(X-I,Y-J+×10-9:J-Z[2]→J:Isin(J→S:Icos(J→D:If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhil

e Abs(D)>.001:Z+D→Z:S→D

12.缓和曲线段直角坐标计算子程序(AB)

程序名:AB

H2÷R÷24-H∧(4)÷2688÷R∧(3)+H∧(6)÷506880÷R∧(5)- H∧(8)÷154

828800÷R∧(7)→A:H÷2-H∧(3)÷240÷R2+ H∧(5)÷34560÷R∧(4)- H∧(7)÷÷R∧(6)+ H∧(9)÷3158507520÷R∧(8)→B

13. 计算缓和曲线段坐标增量及偏角子程序(HX)

程序名:HX

S-S∧(5)÷40÷R2÷H2+S∧(9)÷3456÷R∧(4)÷H∧(4)-S∧(13)÷599040÷R∧(6)÷H∧(6)+S∧(17)÷175472640÷R∧(8)÷H∧(8)→A:S∧(3)÷6÷R÷H-S∧(7)÷336÷R∧(3)÷H∧(3)+S∧(11)÷42240÷R∧(5)÷H∧(5)-S∧(15)÷÷R∧(7)÷H∧(7)+S∧(19)÷3530097000÷R∧(9)÷H∧(9)→B:90S2÷Π÷R÷H→K:If S=0:Then 0→M:Else RH÷S→M:IfEnd

14.高程计算子程序(H)

程序名:H

P rog “S1”:N-I→A:A÷Abs(A→W:R×Abs(A÷2→T:If Z

15.高程超高计算横坡子程序(I)

程序名:I

Prog “I1”:If S=0:Then M→I: Return:Else If W=1:Then ((N-M)×(Z-C)÷S+M→I:Return:Else (((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M→I:IfEnd:

16.路基宽度子程序

程序名:C

1→S: Prog “G1”:Z-C→E:(B-A)E÷S+A→L

17:极坐放样计算程序(计算放样点至置仪点方位角及距离)

程序名:JS

Z[5]→K:Z[6]→L:Pol(X-K, Y-L:IF J<0:Then J+360→J:IFEnd:Int

(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J→J: Fix 4:” FWJ=”:

Locate 6,4,J:F ix 3:” S=”:Locate 6,4,I◢

18.导线点子程序(DX)

程序名:DX

Z[5]→K:Z[6]→L:“X Z”?K:”YZ”?L:K→Z[5]:L→Z[6]

19.线路选择子程序(线路选择输0时。则输曲线参数(QX)

程序名:QX

1→A:”QX:X1=1,X2=2”?A:A→Z[4]:If A=0:Then ”JDKM”?O:”JD X”?U:”JDY”?V:”FWJ”?G:”ZJ”?P:”LS1”?H:”LS2”?N:”T1”?

T:”T2”?F:?R:IFEnd

20.线路中线元段判别子程序(K)

程序名:K

If Z[4]=0:Then Return: IfEnd:If Z[4]=1:Then Prog “X1”:Retu

rn:IfEnd:If Z[4]=2:Then Prog “X2”:Return:IfEnd

21.坐标参数矩阵调用程序(F)

程序名:F

Mat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G: M at F[1,5]→P: Mat F[1,6]→H: Mat F[1,7]→N: Mat F[1,8]→T:Mat

F[1,9]→F: Mat F[1,10]→R

22.显示子程序

程序名:XY

Fix 3:"X=":Locate 6,4,X:"Y=":Locate 6,4,Y:

程序名:ZD

Fix 3:"KM=":Locate 6,4,Z:"D=":Locate 6,4,D

23.数据子程序(附后示例)

匝道线元转交点数据程序(T)

程序名:T

Norm 2:“QKM”?Z:“XQ”?U:“YQ”?V:“LS1”?M:“LS

2”?O:“A1”?A:“A2”?B:“FWJ“?G:”ZJ“?P:?R:P÷Abs(P→Q:A2÷R→H:HM→H:H-M→S:B2÷R→N:N-O→C:O>N=>O→N: H=0=>×10-9→H:H→X:90S2÷(RHΠ→K:G-QK→G:N=0=>×10-9→N: 90C2÷

(RNΠ→D:P+QK+QD→P:Prog”AB”: (H2-N2)÷24÷R÷sin(Abs(P))-(H∧

(4)-N∧(4))÷2688÷R∧(3)÷sin(Abs(P))+(H∧(6)-N∧(6))÷506880÷R ∧(5)÷sin(Abs(P))-(H∧(8)-N∧(8))÷154828800÷R∧(7)÷sin(Abs(P →E:(R+A)tan(Abs(P)÷2)+B-E→T:N→H:Prog”AB”: (R+A)tan(Abs

(P)÷2)+B+E→F: X→H: Z-S+T→O:Prog”HX”:U-(A-T)cos(G)+QBsin (G→U:V-(A-T)sin(G)-QBcos(G→V:Fix 3:”JDKM=”:Locate 6,4, O:”JDX=”:Locate 6,4,U: ”JDY=”:Locate 6,4,V◢”FWJ=”:G?D

MS◢”ZJ=”:P?DMS◢”LS1=”: Locate 6,4,H: ”LS2=”: Locate 6,4,N: ”T1=”: Locate 6,4,T: ”T2=”: Locate 6,4,F◢”R=”:R ◢

说明:运行后“QKM”?输入起点桩号;“XQ”?“YQ”?输入起点X、Y坐标;“LS1”?“LS2”?输入前段缓和曲线长度,后段缓和曲线长度;“A1”?“A2”?输入前段缓和曲线参数,后段缓和曲线参数;“FWJ“?输入起点切线方位角;”ZJ“?输入转角(终点方位角减起点方位角之差,左转为负,右转为正);计算结果要素同QX子程序中要素字母。

①-1程序名:X1(线路1坐标计算要素程序)

If Z≤241.086:Then [[-336.478,2600441.639,514392.519, 28 0。20’28.78”, 203。08’28.32”,106.667,81.667,-270.668,-283.056,60]]→Mat F:Prog”F”: IfEnd

①-2程序名:X2(线路2坐标计算要素程序)

If Z≤273.006:Then [[171.674,2600784.547,514635.863,58。4 9’17.2”, 68。09’26.91”,93.889,125,171.674,184.771,18 0]]→Mat F:Prog”F”: Return: IfEnd

If Z≤466.227:Then [[341.96,2600664.76,514799.865,123。4 3’25.9”, 15。58’49.5”,0,138.211,68.954,125.273,445]]→Mat F:Prog”F”: Return: IfEnd

说明:1、交点法:If Z≤计算交点段终点桩号:Then[[交点桩号,交点X坐标,交点Y坐标,起点至交点方位角,交点转角,交点前段缓

和曲线长度,交点后段缓和曲线长度,交点前段切线长度,交点后段

切线长度,圆半径]] →Mat F: Prog”F”: Return: IfEnd

(转角则为交点段终点方位角减起点方位角,分正负,左偏为负,右

偏为正)如整条线无曲线,全为直线段,则交点为终点桩号,XY为终

点坐标,方位角为起点方位角,转角和圆半径为1,其它全为0。

②-1程序名:S1(线路1高程竖曲线要素子程序)

If Z[4]=1:Then Goto 1: Else Prog “S2”: Return: IfEnd:

LbI 1:If Z≤241.09:Then 95.356→C:40.742→G:2000→R:-.03155

→I:.00812→N:IfEnd:

②-2程序名:S2(线路2高程竖曲线要素子程序)

If Z≤133.601:Then 106→C:45.12→G:1525→R:-.0064→I:.0298→N: Return:IfEnd:

If Z≤466.23:Then 298→C:50.841→G:1945→R:.0298→I:-.01968→N: Return:IfEnd:

程序字母说明:C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);R-竖曲线半径;I-竖曲线前纵坡; N-竖曲线后纵坡

③-1程序名:I1(线路1高程超高参数子程序)

0→K:1→W: If Z[4]=1:Then Goto 1:Else Prog “I2”:Return: IfE nd:LbI 1:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤159.419:Then 0→S:.06→M: Return:IfEnd:

If Z≤187.987:Then 28.568→S:159.419→C:.06→M:.02→N: Return: IfEnd:If Z≤241.086:Then 0→S:.02→M: Return:IfEnd:

LbI R:If Z≤159.419:Then 0→S:-.06→M: Return:IfEnd:

If Z≤187.987:Then 28.568→S:159.419→C:-.06→M:-.02→N: Retu rn:IfEnd:If Z≤241.086:Then 0→S:.-02→M: Return:IfEnd

③-2程序名:I2(线路2高程超高参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤77.872:Then 0→S:.02→M:Return:IfEnd:

If Z≤93.889:Then 16.017→S:77.872→C:.02→M:.05→N:Return:If End:If Z≤198.567:Then 0→S: .05→M:Return:IfEnd: If Z≤273.0 06:Then 74.439→S:198.567→C:.05→M:.02→N:Return:IfEnd:If Z

≤335:Then 0→S: .02→M:Return:IfEnd: Z≤346.235:Then 11.235

→S:335→C:.02→M:.015→N:Return:IfEnd:

LbI R:If Z≤77.872:Then 0→S:-.02→M:Return:IfEnd:

If Z≤93.889:Then 16.017→S:77.872→C:-.02→M:-.05→N: Return: IfEnd:If Z≤198.567:Then 0→S: -.05→M: Return:IfEnd: If Z≤2 73.006:Then 74.439→S:198.567→C:-.05→M:-.02→N: Return:IfEn d:If Z≤335:Then 0→S: -.02→M: Return:IfEnd: Z≤346.235:Then 11.235→S:335→C:-.02→M:-.015→N: Return:IfEnd:

子程序中字母表示说明:

K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为

0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高);S-超高渐变段距离(不是渐变段则输入0);C-超高渐变

段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。

④-1程序名:G1(线路1路基标准半幅宽度参数子程序)

If Z[4]=1:Then Goto 1:Else Prog “G2”:Return: IfEnd

LbI 1:If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤241.086:Then Z→C:3.5→A:Return:IfEnd:

LbI R: If Z≤40.857:Then 0→C:5→A:5.25→B:40.857→S:Return:I fEnd:If Z≤159.419:Then Z→C:5.25→A:Return:IfEnd: If Z≤187. 987:Then 159.419→C:5.25→A:5.5→B:28.568→S:Return:IfEnd:If Z≤241.086:Then Z→C:5.5→A:Return:IfEnd

④-2程序名:G2(线路2路基标准半幅宽度参数子程序)

If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:If Z≤466.227:Then Z→C:3.5→A:Return:IfEnd:

LbI R: If Z≤321.611:Then Z→C:5→A:Return:IfEnd:If Z≤346.23 5:Then 321.611→C:5→A:5.75→B:24.624→S:Return:IfEnd:If Z≤4 66.227:Then Z→C:5.75→A:Return:IfEnd

子程序中字母表示说明:

C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度; B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段

距离(不是渐变段,无需输入)。

⑤-1程序名:SD1(隧道参数子程序)

If Z[4]=1:Then 5.1→R:1.8→A:1.4→V:0.59→B:0→Q: 109。01’3 0”→P: Return:IfEnd:

If Z[4]=2:Then 8.75→R:-1.1→A:4.77→V:1.47→B:-.25→Q: 51。2 8’57.1”→P: Return:IfEnd:

子程序中字母表示说明:

R-隧道上拱半径;A-隧道上拱圆心至设计面高度;V-隧道中腰部半径;B-中腰圆心至设计面高度;Q-设计隧道中线与设计路基中线偏移值,左为负数,右为正数;P-上部拱跨隧道半幅角度;

⑥-1程序名:W1(线路1路基填挖边坡参数子程序)

If Z[4]=1:Then Goto 1: Else Prog “W2”: Return:IfEnd:

LbI 1: 10→E:10→F:2.6→M:2→N:2→S:1.5→I:1.75→J:8→W:2→V: If D<0:Then Goto L:Else Goto R:IfEnd:

LbI L:1→A:1.25→B:1.25→C:Return:

LbI R:If Z≤110:Then 1.25→A:1.25→B:1.5→C: Return:Else Goto L: IfEnd

⑥-2程序名:W2(线路2路基填挖边坡参数子程序)

10→E:10→F:2.6→M:2→N:2→S:1.5→I:1.75→J:8→W:2→V:If D<0: Then Goto L:Else Goto R:IfEnd:

LbI L:0.75→A:0.75→B:0.75→C:Return:

LbI R:If Z≤445:Then Goto L:Else If Z≤506.9:Then 0.25×(Z-44 5)÷21.2→Q:.75+Q→A:A→B:A→C:Return:IfEnd

子程序中字母表示说明:

A-挖方第一阶边坡边率;B-挖方第二阶边坡边率;C-挖方第三阶边坡边率;E-挖方第一阶高度;F-挖方第二阶高度;M-挖方路基碎落台及水沟宽度;N-挖方第二台阶平台宽度;S-挖方第三台阶平台宽度;I-填方第一阶边坡边率;J-填方第二阶边坡边率; W-填方第一阶高度;V-填方第二台阶平台宽度。(注:本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序5BP程序相应增加。再如一标段有坡率及坡高不一样时,可以照其它参数程序一样,用判别语句。)

三、使用说明

1、规定

(1) 坐标计算以交点方式计算,一般情况下一个交点计算一段线是:直线+缓和曲线+圆曲线+缓和曲线+直线。在匝道中先根据实际线来调整,可以单独计算一段不完整的缓和曲线+圆曲线。也可以单独计算一段缓和曲线或一段圆曲线,需先运行T程序整理成交点数据。无缓和曲线时,缓和长度输0。

(2) 程序中:×10-9为10的负9次方即0.000000001;Π为圆周率即3.1415926;√为根号;"X=":X前有空格二个,为了显示效果

(3) 为了区别字母O及数子0,特把字母0加粗。

2、输入与显示说明

输入提示部分:

"A:XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,

JS=8, SD=9"? 按对应数子键约半秒:1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序XZ?YZ?为置仪点坐标,第一次运行输一次,以下运行不需再输入,下次再运行此程序调上次输值,如需改,则输入,不需改,则按确认键。(后附有导线点坐标存储子程序,有兴趣的可加上) “QX:X1=1,X2=2”?选择经路,坐标计算中输入0值,变为输入线元段曲线要素。输1为第一条线路。输2为第二条线路,本程序暂设计实例为2条线路。

KM?正算时所求点的里程(反算输入大概桩号)输入-1,返回输入选择计算类型,输入-2,返回选择线路。

D?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)

X0 ?反算时所求点的X坐标(放样程序中实测X坐标)

Y0 ?反算时所求点的Y坐标(放样程序中实测Y坐标)显示部分:

L0? 涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.(即涵洞半幅宽度)

M0? 放样程序中原地面标高输入

H-B?计算面至路面高差(默认路面为0)

PJ1? PJ2? PJ1为路线中线与边线的右夹角。第二夹角为边线至路

前进方向夹角,默认值均为90度.

TH-GH?边坡放样中填方超放宽值,默认值为0.5m.

"LD:Z-,Y+"? 桥梁锥坡向左右方向边长,左为负数,右为正数。(即为锥坡高程减地面高程后乘以填方坡比)

"LR"? 锥坡向路线前进或向后退方向边长。"Z0"? 锥坡顶边桩号"L0:SZ+,DZ-"?锥坡放样中,椭圆上分段放样距离,小桩号锥坡输正数,大桩号锥坡输负数。

“CQHD”? 隧道超欠挖程序中衬砌厚度, 默认值为0.65m.

QX子程序中和T程序结果中:““JDKM”?输入交点桩号;“JDX”?“JDY”?输入交点X、Y坐标;“FWJ“?输入起点至交点方位角”Z J“?输入转角(终点方位角-起点方位角之差,左转为负,右转为正);“LS1”?“LS2”?输入交点前段缓和曲线长度,交点后段缓和曲线长度;“T1”?“T2”?输入交点前段切线长度,交点后段切线长度;”R”?圆半径

输出部分X=*** 正算时,计算得出的所求点的X坐标 Y=*** 正算时,计算得出的所求点的Y坐标FWJ=*** 正算时,计算得出的所求点的至置仪点方位角

S=*** 正算时,计算得出的所求点的至置仪点距离

KM=*** 反算时,计算得出的所求点的里程D=*** 反算时,计算得出的所求点的边距H=*** 所求点位置设计计算面顶标高

I=*** 所求点位置设计路面横坡(D输0时为,本段路基纵坡)

LGD=*** 所求点位置设计路面顶左半幅标准宽度

LGD=*** 所求点位置设计路面顶右半幅标准宽度

LX=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,负向外移。(隧道程序中为超欠挖值,正为超挖,负为欠挖) TW=*** 边桩放样程序中,实测放样边坡点至止桩号设计顶填挖高度值(负为挖方值,正为填方值)

H0=*** 隧道放样程序中测量点至设计面高度

四、结束语

1、本套程序实例线路给二条,如标段像匝道有多条线时,同理增加。

2、为了更好的开发计算器程序,本人特建一QQ群,欢迎各位测友加入,QQ群号是:。

3、所有对程序有建议或问题的,加本人QQ后可以直接留言,由于工作原因,可能不能马上给予答复,敬请谅解!(加QQ为好友时请注明:计算器程序)

附后为坐标计算参数子程序X1、X2和高程计算子程序S1、S2数据来源(X1、S1为C线,X2、S2为I线)

交点数据均需先运行T程序,计算出交点数据

例如X1要素:先运行T程序,输入表中C线参数:QKM输0;XQ输2600509.148;YQ输514063.566;LS1输40.857;LS2输81.667;A1输

80,A2输70;FWJ输299。43‘39“;ZP输183。45‘18.1“;R输60。计算后各要素结果记录在本上,再对应做X1子程序就可以了。

直线、曲线及转角表

S11-6-5(3)

S11-6-5(9)

0 / 25

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

C语言程序设计之简单计算器

攀枝花学院 学生课程设计(论文) 题目:简易计算器 学生姓名:葛肪瑜学号:201010801018 所在院(系):计算机学院 专业:计算机科学与技术 班级:10计本(1)班 指导教师:陈三清职称:讲师 2011年6月25日 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书 题目计算器的设计 1、课程设计的目的 本课程设计的目的和任务:(1)巩固和加深学生对C语言课程的基本知识的理解和掌握;(2)掌握C语言编程和程序调试的基本技能;(3)利用C语言进行简单软件设计的基本思路和方法;(4)提高运用C语言解决实际问题的能力。 2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等) 一、用C实现如下功能: 使用C语言编写一个类似于Windows附件提供的计算器软件,实现计算器的基本功能,能进行浮点数的加、减、乘、除、乘方和求模运算。 二、撰写课程设计报告或课程设计总结课程设计报告要求:总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 3、主要参考文献 [1] 潭浩强,《C程序设计》,清华大学出版社 [2] 王声决,《C语言程序设计》,中国铁道出版社 [3] 潭浩强,《C程序设计题解与上机指导》,清华大学出版社 [4] 刘玲等,《C语言程序设计应用教程》,西南师范大学出版社 4、课程设计工作进度计划 第1天完成方案设计与程序框图 第2、3天编写程序代码 第4天程序调试分析和结果 第5天课程设计报告和总结 指导教师(签字)日期年月日 教研室意见: 年月日 学生(签字): 接受任务时间:年月日注:任务书由指导教师填写。

卡西欧fx5800计算器缓和曲线编程

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

Fx5800计算器公路测量程序设计

FX5800计算器测量程序集版 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本优化:1、优化程序语句、2、以复数形式输入变量及做数据库,取消原矩阵数据库;3、修改隧道超欠挖程序为通用形,不受圆心个数限制、4、新增测量资料表计算

二、源程序(绿色为程序名;蓝色为输入计算器内容)紫色为新版改动处(可以根据自己标段情况用相关主程序及子程序,再在0程序中汇总)0.汇总程序(1、坐标计算放样程序(1XY、A、AB、HX、JS、DX、QX、F、XY、X1);2、坐标反算程序(2ZD、A、B、AB、HX、QX、F、ZD、X1);3、高程计算查阅程序(3GC、H、I、QX、S1、I1);4、路基半幅标准宽度查阅程序(4GD、C、QX、G1);5、路基边坡及开挖口放样程序(5BP、 A、B、AB、HX、H、I、C、JS、DX、QX、F、ZD、X1、S1、I1、G1、W1); 6、路基标准距离放样(6FM、A、AB、HX、H、I、JS、DX、QX、F、XY、X1、S1、I1); 7、桥梁锥坡计算放样程序(7ZP、A、AB、HX、C、JS、DX、QX、F、XY、X1、G1); 8、极坐标计算程序(8JS、JS、DS); 9、隧道超欠挖计算程序(A、B、AB、HX、H、I、QX、S、SD、F、ZD、X1、S1、I1、SD1)运行后按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":

c面向对象程序设计MFC简单计算器实验报告

计算机与信息工程学院 《程序设计基础》课程设计报告 题目名称:60.编写一个能实现简单功能的计算器学生姓名:刘沛东 学生学号:2011508154 专业班级:电子信息工程(1)班 指导教师:高攀

1 课程设计的题目 编写一个能实现简单功能的计算器 2 题目要求 1. 有一个计算器图形。 2. 能实现加、减、乘、除及乘方的运算。 3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色 例如:输入数字1 时,在计算器图形上的1键变为红色。 4. 屏幕、图形颜色、形状自定 3 总体设计 3.1 总体框架 图1 系统框架

3.2 系统功能说明 在VC++6.0中绘制计算器界面,各控件的设置 对0~9控件设定相应的ID和其他属性: 图2 “1”控件设置 对“+、-、*、\”控件设定相应的ID和其他属性: 图2 “+”控件设置 对其它控件设定相应的ID和其他属性: 图3 其它控件设置

主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 4 程序详细设计 4.1系统主调模块 图5 程序流程图

4.2各模块详细设计 4.2.1 建立的变量,控件的命名,对应的消息处理函数对应表 double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。 double m_Dis; //Edit控件上需要显示的数字 BOOL point_flag; //小数点表示位,判定是否是小数,是小数为1,不是小数为0。 double numfirst; //保存计算过程中的前一个数字, double numsecond;//保存计算过程中的第二个数字 char op;//记录当前的计算符号,可以为’+’,’-’,’*’,’/’,’=’,’c’,’n’ 变量初始化: poz=1; m_Dis = 0.0; numfirst=0; numsecond=0; op=0;

简单计算器的设计与实现

C/C++程序设计课程设计设计说明书 简单计算器的设计与实现 学生姓名 学号 班级 成绩 指导老师 计算机科学与技术系 2010年11月22日

C/C++程序设计课程设计评阅书

课程设计任务书 2010—2011学年第一学期 专业:计算机科学与技术学号:姓名: 课程设计名称: C/C++程序设计课程设计 设计题目:简单计算器的设计与实现 完成期限:自2010 年 11月 15 日至 2010 年 11 月 26 日共2 周 设计内容及要求: 要求用C/C++语言设计一个简易的计算器程序,对输入的数据进行加、减、乘、除、开平方等操作。 设计要求及功能如下: 1.阐述设计思想,画出流程图; 2.实现功能: (1)对输入的数据进行加法运算; (2)对输入的数据进行减法运算; (3)对输入的数据进行乘法运算; (4)对输入的数据进行除法运算; (5)对输入的数据进行开平方根运算。 最终设计成果形式为: 1.编写好的程序; 2.撰写课程设计说明书一份,打印并装订成册。 指导教师(签字):教研室主任(签字): 批准日期:年月日

摘要 设计了一个简单的计算器程序,该计算器具有简单的四则混合运算以及复杂的数学表达式的功能。该计算器采用VC++作为软件开发环境,采用算数表达式处理算法来实现加、减。乘、除四则混合运算。操作简单,界面清晰,易于用户使用,容易被他们所接受的。 关键词:计算器;VC++;数学表达式

目录 1课题描述 (1) 2问题分析和任务制定 (2) 3详细设计 (3) 3.1头文件设计 (3) 3.2简单计算器的设计与实现函数设计 (3) 4 程序调试与测试 (8) 4.1主界面测试 (8) 4.2基本功能的测试 (8) 5结果分析 (12) 总结 (13) 参考文献 (14)

CASIO fx-5800P计算器测量程序设计2.1版

CASIO fx-5800P计算器测量程序设计2.1版 一、程序功能 主要功能:采用线元法与交点法相结合计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本特点:1、建主程序合并原所有计算类型,在主程序中可选择操作类型。隧道欠超挖增加变量衬砌厚度,因有设计衬砌厚度根据石岩来定的。增加锥坡放样计算。 二、源程序 1.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后输入1~9数子则选择1至9的程序,返回时,在桩号输入-1,返回选择选择计算类型。输入-2,返回选择线路。坐标计算中输入-3,则显示本段曲线要素。 程序名:0ZCX LbI Q: 15→DimZ:Norm 2:1→A:"A:XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9"?A: A=1=>Goto 1:A=2=>Goto 2:A=3=>Goto 3:A=4=>Goto 4: A=5=>Goto 5:A=6=>Goto 6:A=7=>Goto 7:A=8=>Goto 8:

A=9=>Goto 9 LbI 1:Prog "DX":LbI A:Prog"QX":90→B: "PJ1"?B:B→C: "PJ2"?C:B→Z[1]:C→Z[8]:LbI B:1→F: "KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A:Z=-3=>Goto X:Prog"KM":?D:Porg"THB":O→L: "L0"?L:Z[2]+Z[1]-Z[8] →E:X+L cos(E) →X:Y+Lsin(E) →Y:Prog"XY":Prog"JS":Goto B LbI 2:2→F:90→Z[1]:Prog"QX":LbI C: "KM"?Z: Z=-1=>Goto 0:Z=-2=>Goto 2:Z=-3=>Goto X:Prog"KM": "X O"?X: "Y0"?Y:Prog"THB":Porg"ZD":Goto C: LbI 3:Prog"QX":0→B: "H-B"?B:B→Z[9]:LbI D: "KM"?Z: Z=-1=>Goto 0:Z=-2=>Goto 3:?D:Porg"H":Fix 3: "H=":Lc oate 6,4,H-Z[9] ◢ "I=":Locate 6,4,I◢Goto D LbI 4:Prog"QX":LbI E: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto 4:?D:Prog"GD":Fix 3: "SJGD=":Locate7,4,L◢Goto E LbI 5:Prog"QX":0.5→B:"TH-GD"?B:B→Z[15]:LbI F:2→F:90→Z[1]:"KM"?Z:Z=-1 =>Goto 0:Z=-2 =>Goto 5:Prog"KM": "X0"?X: "Y0"?Y:0→M:”M0”?M: M→Z[4]:Prog"3FBZ"Fix 2:Z[3] →D:Abs(D)-S→O: "L0=":Locate 6,4,O◢Prog"ZD": Z[5]→T:"TW=":Lcoate 6,4,T◢Goto F: LbI 6:Prog"DX":LbI G:Prog"QX":LbI H:1→F:90→Z[1]: "K M"?Z:Z=-1=>Goto 0:Z=-2=>Goto G:Prog"KM":?D:Prog"TH

简单计算器c++课程设计讲解

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

51单片机的简单计算器设计和仿真

基于单片机的简易计算器设计与仿真

设计题目:基于单片机的简易计算器设计与仿真 一、设计实验条件: 地点:自动化系实验室 实验设备:PC机(装有Keil;Protues;Word ;Visio ) 二、设计任务: 本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示围时,计算器会在LCD上提示overflow;当除数为0时,计算器会在LCD上提示error。 设计要求:分别对键盘输入检测模块;LCD显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 三、设计时间与设计时间安排:

1、设计时间:6月27日~7月8日 2、设计时间安排: 熟悉课题、收集资料:3天(6月27日~6月29日) 具体设计(含上机实验):6天(6月30日~7月5日) 编写课程设计说明书:2天(7月6日~7月7日) 答辩:1天(7月8日) 四、设计说明书的容: 1、前言:(自己写,组员之间不能相同,写完后将红字删除,排版时注意对齐) 本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除基本四则运算,并在LCD上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入;显示采用字符LCD静态显示;软件方面使用C语言编程,并用PROTUES仿真。 2、设计题目与设计任务: 现实生活中人们熟知的计算器,其功能主要如下:(1)键盘输入;(2)数值显示;(3)加、减、乘、除四则运算;(4)对错误的控制及提示。 针对上述功能,计算器软件程序要完成以下模块的设计:(1)键盘输入检测模块;(2)LCD显示模块;(3)算术运算模块;(4)错误处理及提示模块。 3、主体设计部分: (1)、系统模块图:

卡西欧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 随机函数 17. 角度单位设置语句 Deg:设置角度单位为十进制度,按键输入Deg。执行该语句后,状态行显示。Rad:设置角度单位为弧度,按键输入Rad。执行该语句后,状态行显示。 Grd:设置角度单位为哥恩,按键输入Grd。执行该语句后,状态行显示。 18. Dim 定义变量 19. RCL 键面命令,Rcl+A 显示变量A的当前值 最全最热最专业的文档类资源,文库一网打尽

计算器编程(修改版5800)

FX5800计算器公路测量常用程序集2.3 版 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括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.主程序:一般坐标计算及放样程序 程序名:1XY Prog "DX":Prog"QX":90→A: "PJ1"?A:A→B: "PJ2"?B:A→Z [1]:B→Z[9]: Do:"KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": ? D: 0→L: "L0"?L:L→Z[10]: Porg"A":Z[2]+Z[1] →A :A-Z[9]→E:I+Dcos(A)+Z[10]cos(E→X:J+Dsin(A)+Z[10]sin(E→Y:Prog"XY": Prog"JS":LpWhile Z≠-1 2.主程序:由大概桩号及坐标反算桩号及距离 程序名:2ZD Prog"QX":Do: "KM"?Z:Z=-1=>Stop:Z=-2=>Break: Prog"K": "XO"?X: "Y0"?Y: Porg"B": Prog"ZD":LpWhile Z≠-1 3.主程序:任意点高程计算及横坡 程序名:3GC P rog"QX":0→B: "H-B"?B: B→Z[9]: Do: "KM"?Z:Z=-1=>Stop: Z=-2=>Break:?D:Prog"H":Fix 3: " H=": Locate 6,4,H-Z [9]:" I=":Locate 6,4,I:LpWhile Z≠-1

(完整word版)C语言简易计算器课程设计.doc

C语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名:

摘要 该软件为用户提供在windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则运算与混合运算。目的是为了巩固和加深 C 语言课程的基本知识的理 解和掌握,利用 C语言进行基本的软件设计,掌握 C 语言的编程和程序调试 的基本技能,掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问 题的能力。 关键词: C; 简易计算器 ; 程序 ; 基本算法;混合运算 SUMMARY the software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide.The purpose is to consolidate and deepen the basic knowledge of C language courses to understand and master, The use of C language for software design basic, To master the basic skills of C language programming and program debugging, Master the writing program design documentation ability,improve the ability to use C language to solve practical problems.

简单计算器设计

计算机程序训练任务书简单计算器设计 学院:材料科学与工程学院 专业:材料成型及控制工程 班级:07050103 学号:0705010318 姓名:郭炯

目录 一.训练目的 二.设计内容和要求 三.设计思路 四.该程序功能分析 五.系统用到的数据类型及函数六.基本算法 七.程序流程图及屏幕运行截图八.参考文献 九.设计心得 十.源程序代码

计算机程序训练设计报告 一.训练目的: 计算机程序设计训练是学习完《计算机程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 二.设计内容和要求: 用C语言作为工具制作一个简单的windows计算器,根据课程设计1周时间的安排选择适当大小的设计课题,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。最后上机调试通过,并进行验收,交上机报告和程序的原代码。 设计题目设计一个简单计算器 具体内容在功能上功能尽量模拟windows操作系统中的计算器,系统界面 不做强制要求。 三.设计思路 大体框架是用两个while语句来实现相应的计算,用goto 语句来实现多次进入while语句进行相应的计算,第一个while语句用于新的两个数来进行计算,第二个while语句是用上一次储存的计算结果来与另外的数进行相应的运算。 每个while语句嵌套switch语句来实现加减乘除以及三角函数等运算。 每种运算都是调用自定义的函数来实现相应运算的。 四.该程序功能分析: 该程序主要功能是计算简单运算,以及简单的三角函数的计算,优点是一次运算结束后会提醒是否将运算的结果储存下来,如果储存则与另外的数继续进行下一次运算,如果不储存,则会执行新的运算,如果不计算了即可跳出界面。同时计算开方。 五.系统用到的数据类型及其函数: 1.整型变量num 用于判断需要进行什么运算。 整型变量l 用于决定进入哪个while循环语句。 实型变量a,b,x,t a,b,x用于放置需要计算的数,t用于放置每次运算的结果。

5800计算器公路三维全能程序.(丢掉图纸轻松测量)(棋走四方超牛)!

请大家不要因为我的程序去买5800计算器了,建议买9860,我有时间了,就把这个程序改成9860 本程序比较复杂.测量原理不是很明白的朋友慎用 请大家经常关注程序B-H的更新 2009,5,10日修改见超高子程序B-H黄色部分,另超高数据库增加在超高缓和段输入超高为公路外侧超高说明 2009,5,8日正反算选择程序:ZS-FS 更改小错,详见紫色修改内容 2009,4,30日更改如下:把原来的4个子程序分解成5个子程序,解决了一个大的竖曲线不能包含几个超高变化段,另外程序内也有两处改变请看红色区域. 本程序经过综合考虑5800的设计缺陷,计算速度较慢故只使用高斯四节点法为计算内核.支持多条线路正反算,中桩,边桩高程计算,超高计算,超高缓和计算,加宽计算,加宽缓和计算,边坡开口线计算,挡土墙坡脚线计算,考虑了中间绿化带的影响,适用与国家高速公路至乡村四级公路计算和放样,路基路面工程可以直接得出中边桩的设计三维坐标,去掉加宽和超高影响的计算困难,边坡和坡脚线计算可直接在边坡上提取坐标带入程序,经过所有设计因素的综合,得出更改边距并显示修改偏差后的坐标.反算速度明显提高,只需要3秒.程序无错,可放心输入,另本程序可以增加隧道超欠挖计算子程序,非常方便,因为每个隧道的断面数据不一样,所以在此没有明确写出,有需要的可以联系我.本人QQ76805071,只为交友. 计算器主程序:ZHU-CHENG-XU Lbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。。。。。。。”?U: U=1=>Prog”ZS-FS”:进入公路三维程序 U=2=>Porg”ZS”:进入坐标正算程序 U=3=>Porg”FS”:进入坐标反算程序 U=4=>Porg”XY =>SG”:进入大地坐标转施工坐标程序 …………Goto0: 说明:计算器总的主程序,进入选择各种分支计算程序。1为公路三维计算,2为普通正算,3为普通反算,4为大地坐标转施工坐标。。。。。。。。选择错误重新选择。此程序可以不用输入,只为给大家一个思路,可以把计算器所有程序集中到一个主程序内管理. 公路三维部分 正反算选择程序:ZS-FS Deg: //设置角度模式 20→DimZ: //扩展变量 “1LZ=>XY,2XY=>LZ,3BIANPO-FY”?U://正反算选择,正算选1,反算选2,坡口坡脚选3 If U=1: ThenProg”ZS-XH”:IfEnd://进入正算循环主程序 IfU=2:Then Prog”FS-XH”:IfEnd: //进入反算循环主程序 IfU=3:ThenProg”BP-FY”:IfEnd://进入边坡开挖主程序 正算循环主体程序ZS-XH “1PT-2SJ”?W://普通计算和设计边距计算选择 “XL-XZ“?U://选择线路1~N

简单计算器编程

计算器程序 包括4个数字按钮,1个小数点按钮,+-*/= 5个计算按钮 不接受键盘输入 计算规则:当前正在输入的数存储到字符串变量 用户输入操作符,存储已经输入的数,作为第一个数,存储操作符 用户输入第二个数 用户输入操作符,与第一个数计算,并存储为第一个数,存储操作符 小数点只能输入一次 1 创建基于对话框的程序 2 打开对话框模板,增加控件: 编辑框1个 按钮4个,文字1-4 按钮1个,文字:小数点 按钮5个,文字:+ - * / = 按钮1个,文字:关闭 3 打开类向导 为编辑框加成员变量,CString m_edit 为所有按钮加消息映射

注意:以上都加再对话框类中。 4 打开对话框类的声明,加成员变量 double m_result; //前面的结果,即第一个数 int m_opt; //前面的操作符,0=,1+,2-,3*,4/ int ,m_dot; //是否输入了小数点 CString m_string; //当前正在输入的数,存为字符串 5 继续在话框类,声明2个函数 void calculation(void); //执行计算 void NumInput(CString x) //执行数字按钮输入 6 打开函数OnInitDialog(),加初始化代码 m_result = 0; m_opt = 0; m_dot = 0; m_string = ""; 6 “关闭按钮”消息映射代码: OnOK(); 8 分别打开数字按钮1-4的消息映射函数,分别输入代码: NumInput("1");

NumInput("2"); NumInput("3"); NumInput("4"); 9 打开小数点按钮的消息映射函数,输入代码: if ( m_dot==0 ) { m_dot = 1; NumInput("."); } 10 分别打开 + - * / 按钮的消息映射函数,分别输入代码: calculation(); m_opt = 0; calculation(); m_opt = 1; calculation(); m_opt = 2; calculation();

单片机简易计算器设计

单片机简易计算器设计 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

一、设计要求 1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C” 2.设计2位LED接口电路 3.实现1位数的简单运算 二、硬件系统设计 1、LED接口电路 简易计算器需要2位8段码LED显示电路。用8031单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。在位控制口加集电极开路的反相高压驱动器74LS06以提供驱动LED显示器所需的足够大的电流,然后接至各数码显示器的共阴极端。同理,在段码数据口集电极开路的正相高压驱动器74LS07提供足够大的电流,然后接到数码显示器的各段。逻辑电路结构如下:

2、键盘接口电路 简易计算器需要4*4的行列式键盘。用8031单片机经8255A扩展4*4行列式键盘,8255A的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。逻辑电路结构如下: 3、计算器逻辑电路图 将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下: 三、软件设计 1、LED显示程序设计 LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:

为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如下表: 0~9七段数码管共阴级字形代码 2位LED显示的程序框图如下: 2、读键输入程序设计 为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如下: 3、主程序设计 (1)数值送显示缓冲程序设计 简易计算器所显示的数值最大位两位。要显示数值,先判断数值正负,如果是负值,则符号位显示“-”,然后将数值除以10,余数送显最最低位,判断商是否为0,若为0则返回,若不为0,则将商除以10,将余数送显高位。程序框图如下: (2)运算主程序设计

【2019年整理】CASIO5800计算器测量计算程序

CASIO 5800计算器测量计算程序 来自: ritsing(祥瑞之士) 2009-08-17 14:51:21 简要介绍: 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

单片机简易计算器课程设计

单片机简易计算器课程设计 课程设计 题目名称________________ 简易计算器设计____________ 课程名称_____________ 单片机原理及应用____________ 学生姓名________________

班级学号________________ 2018年6月20日

目录 一设计目的 (2) 二总体设计及功能介绍 (2) 三硬件仿真图 (3) 四主程序流程图 (4) 五程序源代码 (5) 六课程设计体会 (28)

设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUE仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51 系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0?9)、符号键(+、-、x、十)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘;

执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

相关文档
最新文档