实用计算器程序
win7程序员计算器使用方法
win7程序员计算器使用方法
win7程序员计算器是一个非常实用的工具,尤其是对于程序开发人员而言,使用频率非常高。
以下是该计算器的使用方法:
1. 打开计算器:在win7系统中依次点击“开始”菜单,选择“所有程序”,找到“附件”文件夹,然后点击“计算器”图标即可打开计算器程序。
2. 选择程序员模式:在计算器程序中,点击菜单栏中的“视图”选项,然后选择“程序员”模式,即可进入程序员计算器界面。
3. 输入数字:在程序员计算器界面中,可以输入数字和运算符号,最多支持64位二进制、八进制、十进制和十六进制编码。
输入数字的时候可以直接使用键盘输入,也可以点击计算器界面上对应的数字按钮。
4. 进行运算:在输入完数字和运算符号后,点击“=”按钮即可进行运算,计算器会自动给出计算结果。
5. 十进制和其它进制的转换:在程序员计算器中,支持十进制和其它进制之间的相互转换。
在需要进行转换的时候,点击计算器界面上的“转换”选项,然后选择需要转换的进制类型即可。
6. 历史记录:程序员计算器还具备历史记录功能,可以查看最近的计算历史记录。
在计算器界面中,点击“历史记录”选项即可查看。
以上就是win7程序员计算器的使用方法,希望对程序开发人员们有所帮助。
卡西欧4800P计算器程序
环运算语句J 子程序名称H=X+DcosG◣ 公式运算、数据显示语I=Y+DsinG◣ 公式运算、数据显示语T=X—EcosG◣ 公式运算、数据显示语U=Y—EsinG◣ 公式运算、数据显示语最后计算器状态设定语句是大家最容易忽视的。
如果将单位进行预设那么计算器就会默认其使用单位在进行下一单位换算时要一定要进行单位转换,否者会使计算结果错误。
在显示屏幕的左下角可以清楚地发现小提示符号:如D代表度为现在的缺省单位、R代表弧度为现在的缺省单位、G 代表梯度为现在的缺省单位。
首页┊ GPS测量┊工程测量┊遥感测量┊地籍测量┊控制测量┊数字测图┊地图制图┊数据处理┊测绘仪器┊软件应用┊房产测量┊地理信息┊测量管理┊程序开发┊理论文章┊其他┊ 文章更新列表┊游客发布论文所属分类:程序开发来源:作者:更新日期:2006-8-25 阅读次数:156 文章更新列表查看公告列表00-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>501▲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)Z、待求点的桩号。
K、待求点在左幅输0右幅输1。
B、待求点距中距离。
Goto 5前的桩号为起止点或断链点桩号。
P T÷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 oto 4△Prog“FQ”: Goto ZLbl 4:Prog“57-1”:Prog“YS”:Z>50354.96=>Goto 5△Prog“FQ”Z>50167.16 =>Z og“FQ”: Goto ZLbl 7:Prog“60”:Prog“YS”:Z>52546.8=>Goto 8△Prog“FQ”: Goto ZLbl 8:Prog“61”:Pro B△Prog“FQ”: Goto ZLbl B:“CX ERROR”▲ Goto 0Lbl Z:Z=Intg(1000Z+.5)÷1000:B=Intg(1000B+.5)÷100号为第2个曲线组合的ZH点桩号,以后类推。
5800卡西欧计算器程序大全
5800卡西欧计算器程序大全1.基本数学运算程序-加法:输入两个数字,然后计算它们的和。
-减法:输入两个数字,然后计算它们的差。
-乘法:输入两个数字,然后计算它们的积。
-除法:输入两个数字,然后计算它们的商。
-平方根:输入一个数字,然后计算它的平方根。
-幂运算:输入两个数字,然后计算第一个数字的第二个数字次方。
2.科学计算程序-对数运算:输入一个数字和一个底数,然后计算它们的对数。
-三角函数:输入一个角度,然后计算它的正弦、余弦和正切值。
-阶乘计算:输入一个数字,然后计算它的阶乘。
-指数函数:输入一个数字,然后计算e的这个数字次方。
-随机数生成:生成一个随机数。
3.金融计算程序-终值计算:输入本金、利率和时间,然后计算将来其中一时刻的价值。
-现值计算:输入将来其中一时刻的价值、利率和时间,然后计算现在的价值。
-年金支付计算:输入每期支付的金额、利率和时间,然后计算总支付金额。
-贷款利率计算:输入贷款金额、每期支付金额和时间,然后计算贷款利率。
-折现计算:输入每期支付金额、利率和时间,然后计算折现值。
4.统计计算程序-平均值计算:输入一组数字,然后计算它们的平均值。
-中值计算:输入一组数字,然后计算它们的中值。
-方差计算:输入一组数字,然后计算它们的方差。
-标准差计算:输入一组数字,然后计算它们的标准差。
-相关系数计算:输入两组数字,然后计算它们的相关系数。
以上只是一部分5800卡西欧计算器程序的示例,卡西欧计算器还提供了更多的功能,例如单位转换、时间计算、日期计算等等,可以根据实际需求选择使用。
希望以上内容对您有所帮助。
最新CASIOfx4500P计算器程序汇总
C A S I O f x4500P计算器程序CASIO fx4500P计算器实用程序XCAJCJ 编著二○○一年八月说明本程序稿由于时间仓促及编者水平有限,缺点、错误以及疏漏与不足之处在所难免,恳请大家批评指正。
程序步骤计算:1个字符的文件名算3步(每增加一个字符多算一步),行号算1步,每个字符算1步。
CASIO fx-4500P共有1103步。
XCAJCJ二○○一年八月目录程序1——角度判断 (1)程序2——角度换算① (1)程序3——角度换算② (1)程序4——角度换算③ (1)程序5——角度换算④ (1)程序6——视距测量 (2)程序7——坐标反算 (2)程序8——坐标方位角计算 (3)程序9——坐标正算 (3)程序10——坐标方位角交会计算 (3)程序11——垂距计算 (4)程序12——视差法测距计算 (5)程序13——剖面交点计算 (6)程序14——前方交绘计算 (6)程序15——附合导线近似平差 (7)程序16——渠道中线里程计算 (10)程序17——多边形面积计算 (12)程序18——闭合导线近似平差 (15)程序19——直线交点坐标计算 (16)程序20——极坐标法放样计算 (17)附录1:CASIO fx-4500P错误标示一览表 (18)附录2:常用数学公式 (19)附录3:常用测量公式 (19)附录4:单一附合导线内业平差计算 (22)程序1——角度判断说明:①程序A为子程序,对≥360°或<0°的角值进行判断处理。
程序2——角度换算①程序3——角度换算②程序4——角度换算③程序5——角度换算④说明:①程序B、C、D、E均为子程序,简化测量计算中角度的输入及显示。
注:子程序应先输入CAISOfx-4500P中,以备其它程序调用。
程序6——视距测量说明:①程序用以计算视距测量中测站至照准点的平距及高程;②程序中:H=测站高程+仪高(程序只要求输入该值一次);S=视距、C=切尺、B=竖盘读数;③算例:按Prog 1调用程序显示H?输入测站高程+仪高445.79+1.41,按EXE 键、显示S?输入视距39,按EXE键、显示C?输入切尺2.9,按EXE键、显示B?输入竖盘读数90.12,按EXE键、显示(计算结果)平距38.9995248,按EXE键、显示高程444.1638654,按EXE键、显示S?、输入视距……④竖盘读数90.12是将度分秒值(90°12′00″)以小数的形式输入;其它程序的角度值输入及显示均如此。
简单计算器可视化程序编程
简单计算器一、基本功能描绘二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算科学计算函数,包括( 反 ) 正弦、 ( 反) 余弦、 ( 反 ) 正切、 ( 反 ) 余切、开方、指数等函数运行以角度、弧度两种方式实现上述部分函数具备历史计算的记忆功能对不正确的表达式能指出其错误原因二、流程图输入数据子函数编写框关系变量m_num=0键入一个数N可否为正数?Ym_num m_num=10*m_num+i=10*m_num-i可否为小数?Y复原 m_numN依照小数点后位数将键入的数除以 n 次 10 累加到 m_numY连续键入数字?N用 UpdateData(FALSE) 刷新显示图 1 输入数据子函数流程图图 2三、设计步骤翻开 Microsoft Visual C++ 6.0 , 在文件中点击新建,在弹出框内选择MFC AppWizard[exe] 工程,输入工程名Calculter及其所在位置,点击确定,如图3所示。
将弹出这样,图 3 新建 MFC AppWizard[exe] 工程MFC AppWizard-step 1对话框,选择基本对话框,点击达成,如图图 4 基本对话框MFC AppWizard 就成立了一个鉴于对话窗口的程序框架,如图图 5 新建的对话框4 所示。
5 所示。
四、界面设计1、创立控件在图 5 所示的 Resoure View 选项卡中翻开Dialog 资源组,双击IDD_CALCULATOR_DIALOG,在右边的窗口中显示出待编写的对话框。
开始摆放控件,包括编写框和按钮的创立。
按钮的创立1)在图 5 中 Controls 的“编写框”按钮上单击鼠标左键,在对话框编写窗口上合适的地点按下鼠标左键并拖动鼠标画出一个大小合适的编写框。
在编写框上单击鼠标右键,在弹出的快捷莱单中选择属性选项,此时弹出Edit 属性对话框,如图 6 所示,在该对话框中输入ID 属性。
卡西欧FX5800P编程计算器应用及程序
程序示例
U“Z=0 Y≠0”=0
K0+=0 H0=3014.6 ≥=1/74.09 D=2.9 E=2.46 R=1.671
【1】 直线段
实测坐标(m)
圆拱段超欠(m) 直墙超欠(m) 底板超欠(m) 至拱肩高差(m)
111.139 93.763 64.030 94.543 116.748
18°52ˊ49.81" 91°24ˊ13.56" 88°26ˊ53.49" 49°40ˊ03.20" 60°41ˊ09.73"
移 动 值(m)
DV=、0.254 D∧=、0.700 DV=、0.049 DV=、0.140 DV=、0.168
据目录(个数)是利用“ ”,按 FUNCTION->7->2->1->EXE 就可以看到个数了。
在程序中调用统计储存器中的数据时,是利用 List 调用的。具体格式如下: List X[A]+Y[A]i->C
式中 A 是点号,C 是任意储存单元。具体示例详见“程序部分”->“极程序放样” (2)、利用统计计算(SD/REG)
2、以 形式计算。以坐标换算为例:
坐标重合点 A 旧坐标 98042.831->SHIFT->RCL->A 11430.122->SHIFT->RCL->B A+Bi->E 新坐标值均为零,就不必另行输值,新旧坐标方位角差值 69°56"23"->W。 要求计算施工坐标 X=27,Y=29.1 的 B 点的测量坐标。 计算赋值:27->U,29.1->V。U+Vi->F
<=、0.663 =>、0.023 <=、0.218 <=、0.561 =>、0.298
fx-580p计算器程序
一、大地坐标化直角坐标计算程序(DA HUAN ZHI)1、程序功能本程序可用于国家统一投影带的正算求解(由B、L换算为X、Y)平面坐标,可输出加上带号和500Km 常数的Y值。
2、数学模型x=X+((((H-58)H+61)M/30+(4E+5)Q-H)M/12+1)/NTM/2y=5×105((((H-18)H-(58H-14)E+5)M/20+Q-H)M/6+1)NW。
式中:X=RB-SC(32005.7801+V(133.9123+0.7032V));S=SinB;C=CosB;V=Sin2B;R=6367558.49686;B 为纬度。
T=tgB;h=T2;E=67.385254×10-4;M=W2;W=CosB;(Q;l=L+L0。
Q=l+E;N=6399698.90178/)3、实用计算程序程序名称:DA HUAN ZHI程序清单:“B=”?B:“L=”?L:“A=”?A:“P=”?P:If P=3:Then(A÷3)×10∧(6)+5×10∧(5)→D:Else (A+3) ÷6×10∧(6)+5×10∧(5)→D:IfEnd:π÷180→S:6367558.49686→R:tan(B) →T:Cos(B) →C:TT→H:TC→U:UU→v:(L-A)CS →W:WW→M:0.006738525415CC→E:(1+E)→Q:6399698.9018÷)(Q→N:RBS-UC (32005.78006+V(133.92133+0.7031V))→I:”X=”:I+((((H-58)H+61)M÷30+(4E+5)Q-H)M÷12+1)NTM÷2◣“Y=”:D+((((H-18)H-(58H-14)E+5)M ÷20+Q-H)M÷6+1)NW◣”OK”4、变量名称和存储器内容此程序是大地坐标化为直角坐标,即B、L坐标化为X、Y坐标。
FX5800计算器公路测量常用程序2.1版及详细说明
FX5800计算器公路测量常用程序2.1版及详细说明一、程序功能主要功能:采用线元法与交点法相结合计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。
新版本特点:1、建主程序合并原所有计算类型,在主程序中可选择操作类型。
隧道欠超挖增加变量衬砌厚度,因有设计衬砌厚度根据石岩来定的。
增加锥坡放样计算。
二、源程序1.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后输入1~9数子则选择1至9的程序,返回时,在桩号输入-1,返回选择选择计算类型。
输入-2,返回选择线路。
坐标计算中输入-3,则显示本段曲线要素。
程序名:0ZCXLbI 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 9LbI 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 BLbI 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": "XO"? 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 DLbI 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 ELbI 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]: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto G:Prog"KM":?D:Prog"THB":Prog"XY":Prog"JS":Prog"H":0→M: "M0"?M:Fix 2:H-M→T: " TW=":Locate 6,4,T◢ Goto H:LbI 7:Prog"DX":LbI I:Prog"QX":0→D: "LD:Z-,Y+"? D:Abs(D) →R: "LR"?R: "Z0"?Z: D→Z[6]:R→Z[7]:Z→Z[8]:LbIJ:0→Y: "L0:SZ+,DZ-"?Y:Y=-1=>Goto 0:Y=-2=>Goto I:Prog"ZP":Goto J:LbI 8:Prog"DX":LbI K:?X:X=-1=>Goto 0:X=-2=>Goto 8:?Y:Prog"JS":Goto K:LbI 9:Porg"DX":LbI L:Prog”QX”:LbI M:2→F:90→Z[1]: "KM"?Z:Z=-1=>Goto 0:Z=-2=>Goto L:Z=-3=>Goto X: Prog"SD1":0.5→A:“CQHD"?A:“X0"?X:"Y0"?Y:0→M="M0"?M:M→Z[8]:A→Z[15]:Prog"5SD": Goto M:LbI X:Mat F◢ Goto 02、次程序:路基开挖边线及填方坡脚线放样程序(输入填方放宽值、大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)程序名:3FBXProg”THB”:D→P:Prog”GD”:If D<0:Then 0.75-L→D:Goto H:E lse L-0.75→D:Goto H:IfEndLbI H:Prog“H”:H-0.03-Z[4] →Z[4]: Prog “W1”:If Z[4]<0: Then –Z[4] →G:Goto W:Else Z[4] →G:Goto T:LbI W:Z[8]+Z[9] →A: If G>A:Then Goto 1:Else If G>Z[8]:The n Goto 2:Else Goto 3:IfEnd:LbI 1:L+Z[10]+Z[11]+Z[12]+(G-A)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5]→S:Goto Z:LbI 2:L+Z[10]+Z[11]+(G-Z[8])×Z[6]+Z[8]×Z[5] →S:Goto Z: LbI 3:L+Z[10]+G×Z[5] →S:Goto Z:LbI T:L+Z[17]→T:If G>Z[15]:Then (T+Z[16]+(G-Z[15])×Z[14] +Z[15]×Z[13])→S:Goto Z:Else (T+G×Z[13])→S:Goto Z:LbI Z3.次程序3.隧道超欠挖值计算放样程序(输入隧道线路,大概桩号、输入衬砌厚度、测量三维坐标,计算准确桩号及位置、计算欠超挖值)程序名:5SDProg”KM”:Prog“THB”: D→Z[13]:0→D:Prog“H”:Cos(Z[10]) ×Z[4] →E: H+Z[5] →Z[5]: H+Z[7] →Z[7]: E+Z[5] →Z[10]:I f Z[8]>Z[10]:Then Goto R:Else Goto S:IfEnd:LbI R:√((Z[13]-Z[9]) 2+(Z[8]-Z[5]) 2 )- Z[4]-Z[15] →L:Goto L:LbI S:Z[4]-Z[6] →S:√(S 2-(Z[7]-Z[5]) 2 ) ×S÷Abs(S)→T:Abs(Z[13]-Z[9])-T→T:√(T 2+(Z[8]-Z[7]) 2 )- Z[6]-Z[15] →L:Goto L:LbI L: Fix 2:” L0=”: Locate 6,4,L◢Prog”ZD”:“ H0=”: Locate 6,4,Z[8]-H◢4:极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSX:Y:Z[11]→K:Z[12]→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◢5.路基宽度子程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)程序名: GD1→S: Prog “G1”:Z-C→E:(B-A)*E/S+A→L:6.坐标计算次程序(THB)程序名:THBIf Q=2:Then Goto J: Else 1÷P→C:(P-R)÷(2HPR)→S:180÷Π→E:If F=1:Then Abs(Z-0) →W:Prog "A":Goto 2:El se X→I:Y→J:Prog "B":O+W→Z:D→D:Goto 2: IfEnd:LbI J: If F=1:Then Prog "Z":Goto 1:Else Prog "ZX":Go to 2: IfEnd:LbI 1:I+D×COS(Z[2]+Z[1]) →X: J+D×Sin(Z[2]+Z[1]) →Y: Lb I 27. 线元法正算子程序(A)程序名:A0.1184634425→A: 0.2393143352→B:0.2844444444→N:0.0469 10077→K: 0.2307653449→L:0.5→M: U+W(Acos(G+QEKW(C+KW S))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1 -L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS))) →X:V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW (C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS))) →Y:G+QEW(C+WS)→Z[2]:X+Dcos(Z[2]+ Z[1])→X: Y+Dsin(Z[2]+ Z[1])→Y8. 线元法反算子程序(B)程序名:BG-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W: 0→D:Lbl 0:Prog "A": T+QEW(C+WS) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto 1:Else W+D→W:Goto 0: If End:←┘Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2]+90) →D9. 交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4) ÷2688÷R∧(3)→A:H÷2-H∧(3) ÷240÷R2→B:(R+A)tan(Abs(P) ÷2)+B→T:O-T→C:C+H→L:L+ΠR×Abs(P) ÷180→N:N-H→E:P÷Abs(P) →W:0→M:If Z<C:Then Z-O→S:G→Z[2]:Goto 2: IfEnd: If Z≥N:Then Z-N+T→S:G+P→Z[2]:Goto 2: IfEnd: If Z≥E:Then N-Z→S:Prog“HX”:G+P→S:S-WK→Z[2]:U+(T-A)Cos(S)-WBSin(S)→I:V+(T-A)Sin(S)+WBcos(S)→J:Goto 3: IfEnd:If Z>L:Then 180(Z-L+0.5H) ÷R÷Π→S :H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:H2÷R÷24-H∧(4) ÷2688÷R∧(3)+R(1-Cos(S))→B:R→M:G+WS→Z[2]:Goto 4: IfEnd:Z-C→S:Prog “HX”:G+WK→Z[2]:LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J:Goto 3:LbI 2:U+Scos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 310. 交点法缓和段转化子程序(HX)程序名:HXS-S∧(5) ÷40÷R2÷H2+S∧(9) ÷3456÷R∧(4) ÷H∧(4)→A:S∧(3) ÷6÷R÷H-S∧(7) ÷336÷R∧(3) ÷H∧(3)+S∧(11) ÷42240÷R∧(5)÷H∧(5)→B:90S2÷Π÷R÷H→K:RH÷S→M11. 交点法反算子程序(ZX)程序名:ZXZ:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S: Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Got o 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JM Π)/180→I:Z+I→Z:Goto 0:IfEndLbI 212.高程计算子程序(H)程序名:HP rog “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI →H:Goto 0:Else If Z<F:Then Q+SI→H:Goto 0:Else If Z≤E:Th en Q+SI+S2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto I:L bI I13.高程超高计算程序(I)程序名:IIf Z[3]=1:Then Prog “I1”:Goto 1:Else Prog “I2”:Goto1:IfEnd:LbI 1: If W=1:Then:Goto Z:Else:Goto X: IfEndLbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:LbI 2:Abs(D)→E:V÷E→I:I(E-K)→V14.导线点子程序(DX)程序名:DXZ[11] →K:Z[12] →L:“X Z”?K:”YZ”?L:K→Z[11]:L→Z[12]15.线路选择子程序(线路选择输0时。
卡西欧计算器5800程序
If Z≥26157.8 And Z≤27421.915:Then 300000→R:171.915→T:27250→C:32.65→G:-0.00356→I:Goto 0:IfEnd:
If Z≥26915.555 And Z≤27316.952:Then 26915.555→O:11382.792→U:2842.531→V:105。55’51.83”→G:401.396→H:1800→P: 1800→R:1→Q:Goto 0:IfEnd:
……
LbI 0:O:U:V:G:H:P:R:Q:
程序名: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:Fix 3:" X=":Locate 6,4,X◢
" Y=":Locate 6,4,Y◢
V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS))) →Y:
G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X: Y+Dsin(Z[2])→Y
简单计算器程序操作步骤
简单计算器程序操作步骤一、建立”D\ajsq”文件夹二、用VC6编写“简单计算器程序”1、启动VC6,创建“简单计算器程序”工程。
选择D:\asjq,工程名:jsq,选择基于对话框,下一步,完成。
(介绍:类卡、文件卡、资源卡,代码提示工具卡两个,安装visual assist X)2、设计主界面对话框:IDD_JSQ_DIALOG,删除自生成的控件,添加三个Edit Box文本编辑框控件、一个Button按钮控件。
(1)对EDIT查看属性、增加、关联变量:右击EDIT1,选属性,查看ID号为:IDC_EDIT1。
增加、关联变量,右击EDIT1,建立类向导,选成员变量,选中IDC_EDIT1,单击增加变量,名称:m_a,value:float,单击OK。
右击EDIT2,选属性,查看ID号为:IDC_EDIT2。
增加、关联变量,右击EDIT2,建立类向导,选成员变量,选中IDC_EDIT2,单击增加变量,名称:m_b,value:float,单击OK。
右击EDIT3,选属性,查看ID号为:IDC_EDIT3。
增加、关联变量,右击EDIT3,建立类向导,选成员变量,选中IDC_EDIT3,单击增加变量,名称:m_c,value:float,单击OK。
(2)对BUTTON1修改属性和增加消息映射响应函数:右击BUTTON1,选属性,查看ID号为:IDC_BUTTON1,修改标题为:add;增加消息映射响应函数,右击,建立类向导,选中Message Maps,选中IDC_BUTTON1,选中BN_CLICKED,单击Add Function,名称:OnButton1,单击OK。
单击edit code,编写代码:BUTTON1的OnButton1的代码.txt。
UpdateData(true); //从控件得到值赋给变量,给m_a=5;m_b=8;m_c=0;m_c=m_a+m_b; // m_c=13;UpdateData(false); //从变量值给控件显示,文本框分别显示:5,8,13;三、操作使用所编写的“简单计算器程序”F7,Ctrl+F51。
C语言实现简单计算器程序
C语⾔实现简单计算器程序这两天在看⼀个C语⾔写的计算器程序,做了不少的功夫,跟着作者⼀步步的进⾏完善,了解了许多细节性的东西,在此⾃⼰做个总结,加深⾃⼰对程序的印象,也算是梳理。
在该计算器程序,能进⾏加减乘除、sin、cos、exp等操作,同时能进⾏数值保存功能。
⽽该计算器使⽤逆波兰表⽰法。
即所有运算符都跟在操作数的后⾯,⽐如下列表达式:(1 - 2) * (4 + 5)采⽤逆波兰表⽰法表⽰为:1 2 - 4 5 + *逆波兰表达法中不需要圆括号,只要知道每个运算符需要⼏个操作数就不会引起歧义。
计算器程序实现很简单,具体原理如下:while(/* 下⼀个运算符或操作数不是⽂件结束指⽰符 */)if(/* 是数 */)/* 将该数压⼊到栈中 */else if (/* 是运算符 */)/* 弹出所需数⽬的操作数 *//* 执⾏运算 *//* 将结果压⼊到栈中 */else if (/* 是换⾏符 */)/* 弹出并打印栈顶的值 */else/* 出错 */在程序设计中,使⽤模块化思想,getop函数来进⾏读⼊,该函数返回⼀个标识,⽤来标识读⼊的是什么类型。
主循环体中根据该标识执⾏相应的动作。
以下是该程序:(我将所有函数和变量放在同⼀⽂件)#include <stdlib.h>#include <stdio.h>#include <string.h>#define MAXOP 100#define NUMBER '0' //标识读⼊的是数字#define NAME 'n' //标识读⼊的是字符串(函数名或⾮法字符串)#define ALPHA 26int getop(char []);void push (double); //压栈double pop(void); //出栈void clear(void); //清空栈void mathfnc(char []); //执⾏相应的数学函数sin、cos、exp等int main(void){int type;int i, var = 0;double op1, op2,v;char s[MAXOP];double variable[ALPHA];for (i = 0; i < ALPHA; i++) //初始化⽤于保存数值的变量数组variable[i] = 0.0;while ((type = getop(s)) != EOF) //读取输⼊{switch (type){case NUMBER:push (atof(s));break;case NAME:mathfnc(s);break;case '+':push (pop() + pop());break;case '*':push (pop() * pop());break;case '-':op2 = pop();push (pop() - op2);break;case '/':op2 = pop();if (op2 != 0.0)push (pop() / op2);elseprintf ("error: zero divisor\n");break;case '%':op2 = pop();if (op2 != 0.0)push (fmod(pop(), op2));elseprintf ("error: zero divisor\n");break;case '?': //打印栈顶元素op2 = pop();printf ("\t%.8g\n", op2);push (op2);break;case '=': //保存数值pop();if (var >= 'A' && var <= 'Z')variable[var - 'A'] = pop();elseprintf ("error: no variable name\n");break;case 'c':clear();break;case 'd': //复制栈顶元素op2 = pop();push(op2);push(op2);break;case 's': //交换栈元素op1 = pop();op2 = pop();push(op1);push(op2);case '\n':v = pop(); //v保存最后的⼀次结果printf ("\t%.8g\n", v);break;default:if (type >= 'A' && type <= 'Z')push(variable[type - 'A']);else if (type == '@') //输⼊的字符@表⽰最近⼀次结果值 push(v);elseprintf ("error: unknown command %s\n", s);break;}var = type;}return 0;}/* ----------------------------------------------------------- */#define MAXVAL 100int sp = 0; //标识栈顶double val[MAXVAL];void push(double f){if (sp < MAXVAL)val[sp++] = f;elseprintf ("error: stack full, can't push %g\n", f);}double pop(void){if (sp > 0)return val[--sp];else{printf ("error: statck empty\n");return 0.0;}}void clear(void){sp = 0;}void mathfnc (char s[]){double op2;if (strcmp (s, "sin") == 0)push(sin(pop()));else if(strcmp (s, "cos") == 0)push(cos(pop()));else if(strcmp (s, "exp") == 0)push(exp(pop()));else if(strcmp (s, "pow") == 0){op2 = pop();push (pow(pop(), op2));}elseprintf ("error: %s not supported\n", s);}/* ----------------------------------------------------------- */#include <ctype.h>int getch(void);void ungetch(int);int getop(char s[]){int i, c;while ((s[0] = c = getch()) == ' ' || c == '\t') //过滤开头的空⽩字符;s[1] = '\0';i = 0;if (islower(c)) //判断是否为⼩写字母,也即读取由⼩写字母组成的字符串 {while (islower(s[++i] = c = getch()));s[i] = '\0';if (c != EOF)ungetch(c);if (strlen (s) > 1)return NAME;elsereturn c;}if (!isdigit(c) && c != '.' && c != '-')return c;if (c == '-') //⽤于判断是负数还是减操作{if (isdigit(c = getch()) || c == '.')s[++i] = c;else{if (c != EOF)ungetch(c);return '-';}}if (isdigit(c)) //收集整数部分while (isdigit(s[++i] = c = getch()));if (c == '.') //收集⼩数部分while (isdigit(s[++i] = c = getch()));s[i] = '\0';if (c != EOF)ungetch(c);return NUMBER;}/* ----------------------------------------------------------- *//** 引⽤以下两个函数是因为:程序不能确定它已经读⼊的输⼊是否⾜够 ** 除⾮超前多读⼊⼀些输⼊,在本程序中,读⼊⼀些字符合成⼀个数字 ** 所以在看到第⼀个⾮数字字符之前,已经读⼊的数的完整性是不能确定的* 由于程序要超前读⼊⼀个字符,这样就导致最后⼜⼀个字符不属于当前所要读⼊的数*/#define BUFSIZE 100char buf[BUFSIZE];int bufp = 0;int getch(void){return (bufp > 0) ? buf[--bufp] : getchar();}void ungetch (int c){if (bufp >= BUFSIZE)printf ("ungetch: too many characters\n");elsebuf[bufp++] = c;}该程序虽然简单,但是还是存在⼀些⼩⼩的问题,⽐如没有数据时进⾏pop的话,会打印栈中⽆数据同时返回数值0.0,在循环体中许多执⾏操作会将该数值保存到栈中,之后打印该值,⽤户体验度⽐较差。
简单的四则运算计算器程序
简单的四则运算计算器程序
实验目的与要求: 目的: 1、掌握类、构造函数/析构函数、栈等概念,掌握字符串操作; 2、步了解类的设计方法,初步了解词法分析、表达式求值的算符优先算法等 内容。 要求:
cout<<"程序错误,0作为除数出现!";
} else
a=a/b; }break; case '+':a=a+b;break; case '-':a=a-b;break; default:{}break; } Operand oper(a); sOperand.push(oper);
//cout<<"计算,并将结果压:"<<sOperand.getTop().get()<<"入栈\n";
char ch=temp[0]; double a,b; if(ch=='(') {
Operator oper('('); sOperator.push(oper);
//cout<<"符号:"<<sOperator.getTop().get()<<"入栈\n";
} else if(ch==')') {
//cout<<"计算,并将结果压:"<<sOperand.getTop().get()<<"入栈\n";
科学计算器使用方法
科学计算器使用方法科学计算器使用方法科学计算器是一种功能强大的计算工具,可以用于解决各种复杂的数学和科学问题。
它结合了计算器和科学计算机的功能,可以执行数学运算、统计分析、图形绘制等操作。
本文将为您介绍科学计算器的使用方法。
1. 基本功能科学计算器具有基本的四则运算功能,包括加法、减法、乘法和除法。
您可以使用科学计算器上的数字键输入要计算的数字,然后使用加减乘除键选择相应的运算符号,最后按下等号键得到计算结果。
2. 复杂运算除了基本的四则运算,科学计算器还支持复杂的数学运算,如平方根、立方根、求幂、取对数等。
您可以通过在输入数字后按相应的函数键选择所需的运算,并在屏幕上查看结果。
3. 统计分析科学计算器还可以进行各种统计分析,如平均值、中位数、方差等。
您可以使用科学计算器上的统计函数键输入一组数据,然后选择所需的统计分析方法,并在屏幕上查看结果。
4. 绘图功能一些科学计算器还具备绘图功能,您可以通过输入函数表达式和相应的变量范围来绘制函数图像。
这对于可视化数学函数、方程和曲线非常有用,有助于理解和分析数学问题。
5. 单位换算科学计算器还可以进行各种单位换算,如长度、体积、重量、速度等。
您可以使用科学计算器上的单位换算键输入一个数值,然后选择要转换的单位,并查看转换结果。
6. 存储功能科学计算器通常具有存储功能,您可以将经常使用的数值或结果存储在内存中,以便日后使用。
这对于处理较复杂的计算或进行重复计算非常有用。
7. 科学计算科学计算器还可以进行科学计算,如三角函数、指数函数、对数函数等。
您可以通过选择相应的函数键并输入数值来进行科学计算,并在屏幕上查看结果。
8. 多功能面板一些科学计算器具备多功能面板,可以进行更多高级的运算,如矩阵运算、方程求解、微积分等。
您可以通过选择相应的功能键并按照提示进行操作,以解决更复杂的数学和科学问题。
在使用科学计算器时,需要注意以下几点:- 了解科学计算器的操作方式和按键布局,这有助于快速准确地输入和获取计算结果。
CASIO fx4500P计算器程序
CASIO fx4500P计算器实用程序阿江编著水利部四川水利水电勘测设计研究院勘察分院四川省二○○○年八月说明本程序稿由于时间仓促及编者水平有限,缺点、错误以及疏漏与不足之处在所难免,恳请大家批评指正。
程序步骤计算:1个字符的文件名算3步(每增加一个字符多算一步),行号算1步,每个字符算1步。
CASIO fx-4500P共有1103步。
阿江二○○○年八月目录程序1——角度判断 (1)程序2——角度换算① (1)程序3——角度换算② (1)程序4——角度换算③ (1)程序5——角度换算④ (1)程序6——视距测量 (2)程序7——坐标反算 (2)程序8——坐标方位角计算 (2)程序9——坐标正算 (3)程序10——坐标方位角交会计算 (3)程序11——垂距计算 (4)程序12——视差法测距计算 (5)程序13——剖面交点计算 (6)程序14——前方交绘计算 (6)程序15——附合导线近似平差 (7)程序16——渠道中线里程计算 (9)程序17——多边形面积计算 (11)程序18——闭合导线近似平差 (13)程序19——直线交点坐标计算 (14)程序20——极坐标法放样计算 (15)附录1:CASIO fx-4500P错误标示一览表 (16)附录2:常用数学公式 (17)附录3:常用测量公式 (17)附录4:单一附合导线内业平差计算 (20)附录5:勘察分院CAD制图《试行》规定 (21)CASIO fx4500P计算器实用程序程序1——角度判断说明:①程序A为子程序,对≥360°或<0°的角值进行判断处理。
程序2——角度换算①程序3——角度换算②程序4——角度换算③程序5——角度换算④说明:①程序B、C、D、E均为子程序,简化测量计算中角度的输入及显示。
注:子程序应先输入CAISOfx-4500P中,以备其它程序调用。
CASIO fx4500P计算器实用程序程序6——视距测量说明:①程序用以计算视距测量中测站至照准点的平距及高程;②程序中:H=测站高程+仪高(程序只要求输入该值一次);S=视距、C=切尺、B=竖盘读数;③算例:按Prog 1调用程序显示H?输入测站高程+仪高445.79+1.41,按EXE键、显示S?输入视距39,按EXE键、显示C?输入切尺2.9,按EXE键、显示B?输入竖盘读数90.12,按EXE键、显示(计算结果)平距38.9995248,按EXE键、显示高程444.1638654,按EXE键、显示S?、输入视距……④竖盘读数90.12是将度分秒值(90°12′00″)以小数的形式输入;其它程序的角度值输入及显示均如此。
CASIO fx-5800p计算器测量实用程序加数据库
CASIO fx-5800p道路主线坐标放样程序简化使用程序说明:此程序是根据教科书结合工地实践应用继续开发,本程序包含一个母程序和两个子程序,本程序简化了部分详细输出内容,加快了实地放样计算的速度,本程序还有一大优点就是有“一劳永逸”的效果,先把子程序输入计算器,然后根据曲线要素表,用其中的数据代替母程序中的文字提示(包括括号),输入计算器,在运行母程序,然后检核,每一个曲线至少检查一个点,检核无误后即可,每次去工地放样就可以免带图纸,同时也大大的提高了野外放样计算的速度。
ZBFY(道路主线坐标放样程序母程序):Lbl 0↵“KP=”?P↵If P<(第一个曲线的结束桩号):Then↵(第一个曲线的交点x坐标)→X↵(第一个曲线的交点y坐标)→Y↵(第一个曲线的上一交点x坐标)→M↵(第一个曲线的上一交点y坐标)→N↵(第一个曲线的转角,左-右+)→O↵(第一个曲线的半径)→R↵(第一个曲线的第一缓和曲线长度)→B↵(第一个曲线的第二缓和曲线长度)→C↵(第一个曲线的交点桩号)→K↵Prog“-ZBFY”:Goto 0:IfEnd↵If P<(第二个曲线的结束桩号):Then↵(第二个曲线的交点x坐标)→X↵(第二个曲线的交点y坐标)→Y↵(第二个曲线的上一交点x坐标)→M↵(第二个曲线的上一交点y坐标)→N↵(第二个曲线的转角,左-右+)→O↵(第二个曲线的半径)→R↵(第二个曲线的第一缓和曲线长度)→B↵(第二个曲线的第二缓和曲线长度)→C↵(第二个曲线的交点桩号)→K↵Prog“-ZBFY”:Goto 0:IfEnd↵...(重复If到IfEnd的语句,有n个曲线,就重复n-1次) ...(最后一个曲线的交点x坐标)→X↵(最后一个曲线的交点y坐标)→Y↵(最后一个曲线的上一交点x坐标)→M↵(最后一个曲线的上一交点y坐标)→N↵(最后一个曲线的转角,左-右+)→O↵(最后一个曲线的半径)→R↵(最后一个曲线的第一缓和曲线长度)→B↵(最后一个曲线的第二缓和曲线长度)→C↵(最后一个曲线的交点桩号)→K↵Prog“-ZBFY”:Goto 0 (结束)-ZBFY(带“-”号的程序表示子程序):Deg:Fix3:26→DimZ↵Lbl0↵If O<0:Then -1→W:Else 1→W:IfEnd:W O→A↵B2÷24÷R-B∧(4) ÷2688÷R∧(3)+B∧(6)÷506880÷R∧(5)→Z〔6〕↵C2÷24÷R-C∧(4) ÷2688÷R∧(3)+C∧(6)÷506880÷R∧(5)→Z〔7〕↵B÷2-B∧(3)÷240÷R2+B∧(5)÷34560÷R∧(4)→Z〔8〕↵C÷2-C∧(3)÷240÷R2+C∧(5)÷34560÷R∧(4)→Z〔9〕↵Z〔8〕+(R+ Z〔7〕-(R+ Z〔6〕)cos(A))÷sin(A)→S↵Z〔9〕+(R+ Z〔6〕-(R+ Z〔7〕)cos(A))÷sin(A)→T↵RAπ÷180÷(B+C)÷2→L↵K-S→Z〔1〕↵Z〔1〕+B→Z〔2〕↵Z〔1〕+L÷2+(B-C) ÷4→Z〔3〕↵Z〔1〕+L-C→Z〔4〕↵Z〔4〕+ C→Z〔5〕↵Pol(X-M,Y-N):J →Z〔20〕:J+O→Z〔19〕↵X-Scos(Z〔20〕) →Z〔21〕↵Y-Ssin(Z〔20〕) →Z〔22〕↵X+Tcos(Z〔19〕) →Z〔23〕↵Y+Tsin(Z〔19〕) →Z〔24〕↵If P> Z〔1〕:Then Goto1:IfEnd↵Z〔1〕-P →L↵“XP=”:X-(S+L)cos(Z〔20〕) →F“YP=”:Y-(S+L)sin(Z〔20〕) →GZ〔20〕→Z↵Goto 5↵Lbl 1↵If P> Z〔2〕:Then Goto 2:IfEnd↵P- Z〔1〕→L:L→Z〔14〕:B→Z〔15〕:Prog”-FY”↵“XP=”: Z〔21〕+ Z〔16〕cos(Z〔20〕)-W Z〔17〕sin(Z〔20〕) →F“YP=”: Z〔22〕+ Z〔16〕sin(Z〔20〕)+W Z〔17〕cos(Z〔20〕) →GZ〔20〕+90WL2÷(BRπ)→Z↵Goto 5↵Lbl 2↵If P> Z〔4〕:Then Goto 3:IfEnd↵P- Z〔1〕→L:90(2L-B) ÷R÷π→Z〔13〕↵Rsin(Z〔13〕)+ Z〔8〕→Z〔16〕:R(1-cos(Z〔13〕))+ Z〔6〕→Z 〔17〕↵“XP=”: Z〔21〕+ Z〔16〕cos(Z〔20〕)-W Z〔17〕sin(Z〔20〕) →F“YP=”: Z〔22〕+ Z〔16〕sin(Z〔20〕)+W Z〔17〕cos(Z〔20〕) →GZ〔20〕+W Z〔13〕→Z↵Goto 5↵Lbl 3↵If P> Z〔5〕:Then Goto 4:IfEnd↵Z〔5〕-P→L:L→Z〔14〕:C→Z〔15〕:Prog”-FY”↵“XP=”: Z〔23〕- Z〔16〕cos(Z〔19〕)-W Z〔17〕sin(Z〔19〕) →F“YP=”: Z〔24〕- Z〔16〕sin(Z〔19〕)+W Z〔17〕cos(Z〔19〕) →GZ〔19〕-90WL2÷(CRπ)→Z↵Goto 5↵Lbl 4↵P- Z〔5〕→L↵“XP=”:X+(T+L)cos(Z〔19〕) →F“YP=”:Y+(T+L)sin(Z〔19〕) →GZ〔19〕→Z↵Lbl 5↵“D ANGLE”?H↵If H=0:Then Goto 9:IfEnd:?D↵“XB=”:F+Dcos(Z+H) →Z〔11〕“YB=”:G+Dsin(Z+H) →Z〔12〕Goto 5↵Lbl 9 (结束)-FY(子程序2):If Z〔14〕=0:Then 0→Z〔16〕:0→Z〔17〕:Else↵Z〔14〕- Z〔14〕∧(5) ÷40(RZ〔15〕)2+ Z〔14〕∧(9) ÷3456÷(RZ 〔15〕)∧(4) →Z〔16〕↵Z〔14〕∧(3) ÷6÷(RZ〔15〕)- Z〔14〕∧(7) ÷336÷(RZ〔15〕)∧(3)+ Z〔14〕∧(11) ÷42240÷(RZ〔15〕)∧(5) →Z〔17〕↵IfEnd (结束)CASIO fx-5800p道路匝道坐标放样程序简化使用程序说明:本程序根据主线坐标放样程序的思想编写,原理相同,优点相同,使用相同。
实用计算器的程序设计及代码示例
实用计算器的程序设计及代码示例计算器是现代人经常使用的工具,它能够进行各种数学运算,如加减乘除、取余、开方等。
本文将介绍实用计算器的程序设计和提供代码示例,帮助读者了解计算器的原理和实现方式。
一、程序设计思路在设计实用计算器的程序时,首先需要确定计算器的功能和界面设计。
一般来说,一个基本的计算器应该具备以下功能:数字键、运算符键、等号键、清除键和显示屏。
程序的设计思路如下:1. 定义一个变量num,用于保存当前输入的数字。
2. 定义一个变量result,用于保存计算结果。
3. 通过按钮点击事件,获取用户输入的数字和运算符,并根据用户的选择进行相应的计算。
4. 将计算结果显示在显示屏上。
二、代码示例下面是一个简单的实用计算器程序的代码示例,采用Python语言编写:```from tkinter import *def clear():display.delete(0, END)def calculate():expression = display.get()result = eval(expression)display.delete(0, END)display.insert(0, result)def button_click(number):current = display.get()display.delete(0, END)display.insert(0, str(current) + str(number))root = Tk()root.title("实用计算器")display = Entry(root, width=25, borderwidth=5)display.grid(row=0, column=0, columnspan=4, padx=10, pady=10)button_1 = Button(root, text="1", padx=10, pady=10, command=lambda: button_click(1))button_2 = Button(root, text="2", padx=10, pady=10, command=lambda: button_click(2))button_3 = Button(root, text="3", padx=10, pady=10, command=lambda: button_click(3))button_4 = Button(root, text="4", padx=10, pady=10, command=lambda: button_click(4))button_5 = Button(root, text="5", padx=10, pady=10, command=lambda: button_click(5))button_6 = Button(root, text="6", padx=10, pady=10, command=lambda: button_click(6))button_7 = Button(root, text="7", padx=10, pady=10, command=lambda: button_click(7))button_8 = Button(root, text="8", padx=10, pady=10, command=lambda: button_click(8))button_9 = Button(root, text="9", padx=10, pady=10, command=lambda: button_click(9))button_0 = Button(root, text="0", padx=10, pady=10, command=lambda: button_click(0))button_add = Button(root, text="+", padx=10, pady=10,command=lambda: button_click("+"))button_subtract = Button(root, text="-", padx=10, pady=10,command=lambda: button_click("-"))button_multiply = Button(root, text="*", padx=10, pady=10, command=lambda: button_click("*"))button_divide = Button(root, text="/", padx=10, pady=10, command=lambda: button_click("/"))button_clear = Button(root, text="C", padx=10, pady=10, command=clear)button_equal = Button(root, text="=", padx=10, pady=10, command=calculate)button_1.grid(row=1, column=0)button_2.grid(row=1, column=1)button_3.grid(row=1, column=2)button_add.grid(row=1, column=3)button_4.grid(row=2, column=0)button_5.grid(row=2, column=1)button_6.grid(row=2, column=2)button_subtract.grid(row=2, column=3)button_7.grid(row=3, column=0)button_8.grid(row=3, column=1)button_9.grid(row=3, column=2)button_multiply.grid(row=3, column=3)button_0.grid(row=4, column=0)button_clear.grid(row=4, column=1)button_equal.grid(row=4, column=2)button_divide.grid(row=4, column=3)root.mainloop()```以上代码使用了`tkinter`库创建了一个简单的图形界面,包含数字按钮、运算符按钮、清除按钮和等于按钮。
CASIO fx-5800P计算器路线坐标高程计算程序
CASIO fx—5800P计算器路线坐标计算程序(单个交点)主程序名CALXY (计算中桩、边桩坐标)Lbl 1:“ZZ”? →Z[27] :“D(-+m)”? →D:If D≠0 :Then “∠(DMS)”? →V:Ifend』If Z[27]≤Z[17]:Then Z[18]+ (Z[27] —Z[17]) Cos( F)+D Cos( F+V):“X=”:Ans▲Z[19]+ (Z[27] —Z[17]) Sin( F )+D Sin( F+V):“Y=”:Ans▲:Ifend』If Z[27]>Z[17] And Z[27]≤Z[20]:Then Z[27] —Z[17] →L:Prog “HHXY”:Z[18] +I Cos( F+ JH)+D Cos( F+WH+V):“X=”:Ans▲:Z[19] +I Sin(F+ JH)+D Sin( F+WH+V):“Y=”:Ans▲:Ifend』If Z[27]>Z[20] And Z[27]≤Z[24] —Z[6]:Then Z[27] —Z[20] →L:Prog “YUXY”:Z[21] +I Cos( Z[23]+ JH)+D Cos( Z[23]+WH+V):“X=”:Ans▲:Z[22] +I Sin(Z[23]+ JH)+D Sin( Z[23]+WH+V):“Y=”:Ans▲:Ifend』If Z[27]>Z[24] —Z[6] And Z[27]≤Z[24]:Then Z[24] —Z[27] →L:Prog “HHXY”:Z[25] +I Cos( C—JH)—D Cos( C—WH+V):“X=”:Ans▲:Z[26] +I Sin(C—JH)—D Sin( C—WH+V):“Y=”:Ans▲:Ifend』If Z[27] >Z[24]:Then Z[25] —(Z[27] —Z[24]) Cos( C )—D Cos( C+V):“X=”:Ans▲Z[26] —(Z[27] —Z[24]) Sin( C —D Sin( C+V):“Y=”:Ans▲:Ifend』Goto 1子程序名JD (输入曲线参数,计算曲线要素)30→Dim Z:Fix 5:“JD”? →Z[1] :“XJD”? →Z[2] :“YJD”? →Z[3]:“F0(DMS)”? →F:“A(-+ DMS)”?→Z[4]:“R”? →R:“LH1”? →Z[5]:“LH2”? →Z[6]:√ ̄(Z[4]2)→A:Int(Z[4] ÷A)→H』Z[5] →S:Prog “PQ”:Q →Z[7]:P→Z[8]:B →Z[9]:R →S:Prog “PQ”:Q →Z[10]:P→Z[11] :B →Z[12] 』(R+ Z[8])Tan(A÷2)+ Z[7] —(Z[8] —Z[11]) ÷Sin(A)→Z[13] :“T1=”:Ans ▲(R+ Z[11])Tan(A÷2)+ Z[10] —(Z[8] —Z[11])÷Sin(A)→Z[14] :“T2=”:Ans▲』√ ̄((Z[13] —Z[7])2+( R+ Z[8])2) —R →Z[15]:“E=”:Ans▲R( A —Z[9] —Z[12] )÷57.2958+ Z[5] + Z[6] →Z[16]:“L=”:Ans▲』Z[1] —Z[13]→Z[17]:Z[2] —Z[13]Cos( F) →Z[18]:Z[3] —Z[13] Sin( F) →Z[19]:If Z[5]>0 :then Z[17] +Z[5]→Z[20]:Z[5] →L:Prog “HHXY”:Z[18] +I Cos( (F+ JH))→Z[21]:Z[19] +I Sin( (F+ JH))→Z[22]:(F+ WH)→Z[23] :Else Z[17]→Z[20]:Z[18]→Z[21]:Z[19]→Z[22]:F→Z[23]:Ifend』Z[17] + Z[16]→Z[24]:Z[2] +Z[14] Cos( (F+ Z[4]))→Z[25]:Z[3] +Z[14] Sin( (F+ Z[4]))→Z[26]:F+ Z[4] —180→C』Prog “CALXY”』子程序名PQS÷2—S3÷(240 R2)→Q:S2÷(24 R)—S4÷(2384 R3)→P:28.6479S ÷R→B』子程序名HHXYL—L5÷(40S2 R2)+L9÷(3456 R4S4) →X:L3÷(6S R)—L7÷(336S3 R3)+L11÷(42240 R5S5)→Y:28.6479L2÷(S R) →W:Pol(X,Y)』子程序名YUXY57.2958L÷R →W:RSin(W)→X:R(1—Cos(W))→Y:Pol(X,Y)』CASIO fx—5800P计算器路线坐标计算程序(单个交点)使用说明首先运行子程序“JD”,输入曲线参数,计算曲线要素。
毕业设计简易加减乘除计算器
毕业设计题目简易加减乘除计算器系别专业班级姓名学号指导教师日期设计任务书设计题目:简易加减乘除计算器设计要求:1.根据所学内容运用编程做一个简易加减乘除计算器,实现加、减、乘、除、等以及清零的功能。
2.设置一组数码管, 使其能够显示程序运行,按键动作的内容。
3.设置一组按键,使其键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。
4.可以进行小于255的数的加减乘除运算,并可连续运算。
当键入值大于255时,将自动清零,可重新输入。
设计进度要求:第一周:确定题目,寻找单片机和计算器设计的相关资料;第二周:读懂资料,有初步的设计思路;第三周:绘制硬件电路图;第三周:设计软件框图;第四周:相应软件设计(程序设计);第五周:进行程序调试并且修改;第六周:写毕业设计论文;第七周:修改并提交毕业设计;第八周:准备论文答辩;指导教师(签名):摘要在很多领域的数据处理中要用到数学运算,作为计算机自动处理系统更显得重要。
此项目设计以单片机为核心部件的计算器,采用4*4矩阵式键盘,16个键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。
使用单片机最小应用系统1模块,简单方便。
采用静态显示,显示器由5个共阴极数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
5个串/并行移位寄存器芯片74LS164首尾相连。
每片的并行输出作为LED数码管的段码。
本计算器系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。
关键词:单片机,计算器,键盘,静态显示前言随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。
在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户输入完计算式后可以按下等号如图4计算结果,它的核心是调用了一个自己写的WorkR()函数计算最后的结果。但在之前需要判断是否真的需要计算,如果Edit控件中显示的是一个算好记忆条,那么直接截取记忆条等号后的结果出来显示就行了。
图5WorkR函数流程图
如图5所示进来的算式先判定括号的对数以及左右括号是否匹配,完全正确才能开始计算。它通过cket函数、cut函数、GetStr函数和GetResult函数,最后得到一个不含括号的算式,再通过GetStr函数和GetResult函数得到最后的结果。
针对用户的c类操作,我的对策是在每个计算按键中写入判断语句,如果是计算过的就直接截取等号后的结果进行显示或者再运算。
4
本次C++课程设计是非常贴近生活的,也非常实用的,计算器是我们生活中非常常见的产品,它的历史也已经很“悠久”了。以前都认为计算器应该是挺简单的,也是因为这个我选择了计算器的课程设计。但真是不做不知道,一做吓一跳,小小计算器却大有乾坤。不仅从它各个按键的排版,到实现各种计算的算法,都是很讲究的。
由于有记忆功能,所以在每一次按下按键时,只要产生了UpdateData(FALSE),就需要将Edit变量中的值更新到当前条记忆SHOW[0]中暂存。这样做的好处是在用户一个算式还没计算完时,去查看上一条记忆后还能再返回当前条继续计算,而不会由于Edit控件显示了上一条记忆而丢失当前正在计算的算式。
IDC_EDIT1
无
Button数字0~
Button数字9
IDC_BUTTON_0
IDC_BUTTON_9
0~
9
Button小数点
IDC_DOT
.
Button退格
IDC_BACKSPACE
<-
Button加法
IDC_ADD
+
Button减法
IDC_SUBTRACT
-
Button乘法
IDC_MULTIPLY
这个WorkR函数所解决的重点是对于多重括号的运算。我的算法的中心思想就是寻找括号:不论用户给的算式有多少的括号,我只寻找第一个封闭的括号,那么封闭括号中的算式就肯定是没有括号的,这个括号中的算式使用GetStr和GetResult函数计算出结果在替换到第一个括号的位置。这样就剥除了第一个括号,再重复寻找第一个封闭括号,一次类推。例如:
图7GetResult结果计算函数流程图
如图7所示此函数的作用是对通过图6函数分拣过的算式进行计算,通过图6函数分拣后,算式被分拣到a、b数组中。GetResult函数通过对a中数据进行b中算符运算,最终得到结果存放在数据数组a的a[0]中。
图8科学计算按钮响应函数
图8表示的是一类运算的流程图,由于类似所以由一个流程表现。设计科学计算都为单目运算,所以在按下科学运算相关运算时会先做一个类似于等号的操作:先判断是否为计算过的记忆式,在判断是否按下科学计算前是否按下过等于计算,如果都没有则表明Edit中是没有计算的算式,则需要计算一次,得到结果再进行科学计算。只要之前计算过,就可以直接截取等号后的结果进行科学运算。
针对用户的b类操作,我的对策就是在每次UPdateData(FALSE)后就将Edit变量m_strResult中的数据复制给当前条SHOW[0],不论用户何种操作,即使是使用了清空键(清空的响应函数UpdateData(FALSE)后面并没有添加SHOW[0]更新的语句,为了达到类似于误清空撤销的效果),也能使用点击“当前计算”找回刚才未算完的算式。
针对用户的a类操作,我的对策是在计算完当前算式后只是把它存在当前条SHOW[0]中暂时不用SHOW[0]去覆盖SHOW[1]。当用户开始下一次运算时才将SHOW[1]用SHOW[0]覆盖,将SHOW[0]解放出来存当前算式。于是我就设计了记忆标志位Remember,只要属于运算的按键按下,且计算成功了,记忆标志位Remember就会被置位(true)。此后只要按下例如数字、左括号这种可以开始新一次运算的按键,SHOW[0]中的数就会被推入SHOW[1],记录为上一条。
图3左右括号按键响应流程图
左括号和右括号的响应是有差异的,所以这里分别绘制了如图3的流程图。由于左括号是可以出现在一个算式的开头的,所它和数字按键类似,拥有添加和覆盖两种行为。当现在用户在键入一条算式,按下左括号,其对应的响应应该是添加左括号;当用户输入完毕按下了不论哪种运算,得到结果后,再按下左括号,说明下一次运算开始了,就需要对应覆盖的行为。而右括号是不能在左括号出现前出现的,所以在规则中添加限制。而且左括号前不能是数字和右括号,而右括号前不能是运算符和左括号,由于我的设计的算法的限制不能有括号的出现。
根据程序主流程图可以看出,我们需要一些能响应用户操作的响应函数来实现我们的计算器相应按键的功能。
图1程序主流程图
说明:所以流程图由深圳市亿图软件有限公司的流程图绘制软件(试用版)绘制,转存PDF后导出为图片加入到word中的,所以可能会打印效果不好,但确实为本人绘制。
图2数字按键与普通算符按键响应流程图
Sin
Button反正弦运算
IDC_arcSin
arcSin
Button余弦运算
IDC_Cos
Cos
Button反余弦运算
IDC_arcCos
arcCos
Button清空
IDC_BUTTON_CLEAR
清空
PictureControl
IDC_SEPARATOR
无
其中只有Edit控件关联了CString类型的值变量。
3
(1)等号运算
在计算器中最关键的功能就是等于的运算。在我的程序中进入等号响应函数后首先是判断Edit变量m_strResult中的存的是否是一个没有计算过的算式,即检查m_strResult中是否有等号,如果有则直接截取等号后的数值送给m_strResult,再通过UpdateData(FALSE)显示出来;如果是没有计算过的算式,就需要先检查算式的正确性,是否可以等于运算,如果不可以就弹出警告框,警告算式有错误。最核心的就是算式正确了,需要计算的步骤。
首先来说这个按键的排版,我做了好多次,一开始就是按顺序排放就是了,但在后面调试使用时就感觉很别扭,用着没有人家的计算器顺手。后来从市面上比较成熟的产品中看出些门道。一般数字键盘都是从左上方数字键“1”开始依次到“9”组成3X3的矩形,然后数字“0”是在数字“8”的下方,数字“0”的两侧可以放小数点和双零按键,然后由于加号运算和等号的使用频率较高,一般都会把这两个键做大一点,或者用其它颜色突出,然后使用频率越高的按键离数字键盘的位置就越近。这个也算是我的一点小发现把。
4)调试程序。
3
图9科学型用户界面
如图9所示为用户界面,初始时为科学计算型界面,显示所有的计算内容。当按下按键“普通计算”时,右边的科学计算就会被“折叠”消失,如图10所示。
图 10普通型用户界面
构成界面的控件及其属性如表1所示:
表1计算器对话框中各个控件及其属性表
对象
ID
Caption
Eidt编辑框
(7)界面为科学型和普通型,可在两界面间通过按钮转换。
2.
计算器属于桌面小程序,适合使用基于对话框的MFC应用程序设计实现。首先要思考的问题是:我的程序需要实现什么样的功能?需要哪些控件?需要哪些变量?需要哪些响应?
我们知道基于对话框的MFC应用程序的执行过程是:初始化、显示对话框,然后就开始跑消息循环列表,当我们在消息循环列表中获取到一个消息后,由相应的消息响应函数执行相应的操作。根据这个流程我们制定出计算器程序的程序框架主流程图,如下页图1所示。
IDC_SQRT
sqrt
Button平方运算
IDC_PINFANG
x^2
Buttone的x次方运算
IDC_E_X
e^x
Button自然对数运算
IDC_LN_X
ln x
Button阶乘运算
IDC_x_jiecheng
x!
Button 10为底的对数运算
IDC_LG_X
lg x
Button正弦运算
IDC_Sin
b.计算完一条算式开始计算下一条算式,这是刚计算按完的算式就成为了上一条,现在在计算的成为了当前计算,在这是他希望查看上一次的计算,而且他还要返回来继续当前计算;
c.不论在什么时候,他查看了一条完整的计算记录(有等号的完整计算),他又希望在现在查看的记录的基础上继续运算。
针对以上可能的情况我设定了一个两元素的数组SHOW[2]来存放,SHOW[0]存放当前条、SHOW[1]存放上一条。每次遇到UpdateData(FALSE)更新Edit时就意味着需要同步更新当前条SHOW[0]中的内容了,当按下等于或者科学计算算符是就意味着算式输入完毕。当等号响应函数中UpdateData(TRUE)之后就需要将算式存入当前条SHOW[0]中,等待计算成功得到结果后,通过相应的方式组装完整计算式存入当前条,如等号组装方式:SHOW[0] = SHOW[0] + "\r\n=" + m_strResult(其中\r\n是为了让等于及其之后的结果在Edit控件中换行显示);Sin运算的组装方式:SHOW[0] = "Sin(" + SHOW[0] + ")°\r\n=" + m_strResult。对于完整的计算式下次对它操作计算时只需截取等号后的结果就可以了。
计算3+(3+(1-2)*3+(3-2)/2)+(2+3)*5;
第一步:寻找第一个封闭括号,即(1-2)这个括号;
第二步:将原算式切开存成三段存储,即”3+(3+”、”1-2”、”*3+(3-2)/2)+(2+3)*5”;