工程测量中fx5800P计算器基本程序

工程测量中fx5800P计算器基本程序
工程测量中fx5800P计算器基本程序

工程测量中fx-5800P计算器基本程序

的编写及实际放线的应用

刘兵策刘杰

摘要在日常工程测量工作中,计算器是必不可少的工具。目前行业内用fx-5800P。

本文介绍测量工作中坐标正反算、大地转施工、施工转大地等常用程序的原理及编写,并

对其比较复杂的实际放线的灵活应用进行解析,为类似的测量工作提供借鉴。

关键词工程测量fx-5800P程序应用

1 引言

控制测量是施工的基础,为了便于施工,放线一般使用施工坐标系,坐标轴平行于建筑物主轴线。对于建筑物主轴线与坐标轴不平行的,为了方便放线,一般不再改变坐标系,用计算器程序进行计算,迅速判断需要定位的点。

利用fx-5800P计算器根据测出的坐标数据计算出与设计图纸上的差值,指挥棱镜进行移动,找到准确的设计位置。测量工作中主要用到坐标正反算,大地转施工,施工转大地等常用程序,下面介绍这几个程序的原理和编写,总结一些在实际工作中的应用。

2 Fx-5800计算器程序的原理与编写

2.1 大地坐标转换为施工坐标

大地坐标转换为施工坐标见图1。

Xp、Yp分别是P点在XOY坐标系中的纵横坐标,xp,

yp分别是xo’y坐标系中的纵横坐标值,Xo,Yo分别是

xo’y坐标系的坐标原点o’在XOY坐标系中的纵、横坐

标值,Δα为两坐标系坐标纵轴的夹角。

将P点从XOY坐标系转换到xo’y坐标系中,

即大地转施工的公式如下:图1 大地坐标与施工坐标转换图

xp=(Yp-Yo)sinΔα+(Xp-Xo)cosΔα;

yp=(Yp-Yo)cosΔα-(Xp-Xo)sinΔα;

用fx-5800P编制程序时,只要输入大地坐标的原点o’的坐标和要转换的点P点的大地坐标,即在坐标系XOY坐标系中的坐标,再用上述公式带入,输出P点的施工坐标。基本程序如下:

“X1=”?A:”Y1=”?B: (输入xoy的原点的大地坐标)

“X2=”?U:”Y2=”?V: (输入要转换的P点的大地坐标)“F=”:F (输入方位角)

“X=”:(V-B)sinF+(U-A)cosF->X (输出P点的施工坐标X值)

“Y=”:(V-B)cosF-(U-A)sinF->Y (输出P点的施工坐标Y值)

输出坐标时,可以用计算器中的一个极坐标的逆运算代替,即去掉最后两行,换成Pol(U-A,V-B):J<0=>J+360->J

“W=”:J-F->W

Rec(I,W)

这种方法计算器的运算效率比较高,编程也比较简便。

2.2 施工坐标转换为大地坐标

参考图1,将P点坐标从施工坐标转换成大地坐标,根据几何关系,转换公式如下: Xp=xpcosΔα-ypsinΔα+Xo;

Yp=xpsinΔα+ypcosΔα+Yo;

输入P点的施工坐标,方位角及xo’y的原点的大地坐标,再代入上述公式,输出P点的大地坐标,具体程序如下:

“A=”?A:”B=”B: (输入xo’y的原点的大地坐标)

“C=”?C:”D=”D: (输入要转换的P点的施工坐标)

“F=”:F (输入方位角)

“X=”:A+Ccos(F)-Dsin(F)->X (输出P点的大地坐标X值)

“Y=”:B+Csin(F)+Dcos(F)->Y (输出P点的大地坐标Y值)

2.3 坐标正算

坐标正算见图2。

图2所示,A点为已知点,坐标为xA、yA,B点为

未知点,坐标为xB、yB。S AB为两点间的距离,αAB为

方位角,则可求的B点坐标,公式如下:

xB=xA+SABcosαAB;

yB=yA+SABsinαAB;

根据上述公式,坐标正算的程序如下:图2 坐标正算与坐标反算图

“Xo=”?U:”Yo=”?V: (输入已知点坐标)

“I=”?I:”J=“?J (输入两点的距离和方位角)

“X=”:U+Icos(J)->X (输出待求点的X坐标值)

“Y=”:V+Isin(J)->Y (输出待求点的Y坐标值)

2.3 坐标反算

根据图2,坐标反算是坐标正算的逆运算,即知道两个点的坐标值,计算两点的距离和方位角。根据几何关系,计算公式如下:

αAB=arctan((yB-yA)/(xB-xA));

SAB=√((yB-yA)(yB-yA)+(xB-xA)(xB-xA));

坐标反算程序如下:

“X1=”?X:”Y1=”:?Y:

“X2=”?U:”Y2=”:?V: (输入两个已知点坐标)

“W=”:tan-1((V-Y)/(U-X)) ->W (输出方位角)

“S=”:√((V-Y)(V-Y)+(U-X)(U-X))->S(输出两点间的距离)

同样可以用极坐标的方式代替上述公式,代替后边两行,程序如下:

Pol(U-X,V-Y):J<0=>J+360->J

“I=”:I (输出两点间的距离)

“J=”:J DMS (输出方位角)

可以看出后者相对比较简便,运算效率也比较高,我们比较提倡应用后者。

3 实例应用分析

3.1 建筑物与测区主轴线不平行的情况

建筑物与测区主轴线不平行的情况见图3。

图3 建筑物轴线与主轴线不一致的情况示例图

全站仪方便测出的是主轴线所建立坐标系的坐标,如图3,已知A、B点的坐标,和建筑物的尺寸,以测出C、D、E、F的坐标为例。放线前,首先以A点为原点,以A->B 为X轴方向建立一个新的坐标系,其中A点坐标为(163.218,-27.404),B点坐标为(197.146,-39.439),则新建坐标系的方位角可根据坐标反算程序

算出J=340°28’9.47”。C、D、E、F四个点在新坐标系中的坐标分别是(0,6.75)、

(,36,6.75)、(36,-2.5)、(0,-2.5)。

要确定C点的位置,假设测出现场坐标为(165.516,-21.032),在大地转施工程序中,输入原点A点的坐标,和现场测出点的坐标,及方位角J,即可算出实测点在新坐标系中的坐标(0.160,6.423),则可以向新坐标系X轴的负方向移动0.16,向y轴的正方向移动6.75-6.423=0.327,移动棱镜位置后重新测量,按照同样的方法进行计算,如果还有偏差则继续移动,直至算出的坐标值与C点在新坐标系中的坐标(0,6.75)吻合为止。

D、E、F三点也可以用同样的方法测定现场位置,本方法为坐标反算程序与大地转施工程序的灵活应用,在任意一个坐标系中建立与轴线不平行的坐标系,可以用大地转施工程序,将原坐标系当做大地坐标系,新建坐标系当做施工坐标系,这样可以方便放线。

3.2 构筑物有同一中心的情况

以某水电站厂房为例,具体见图4和图5。

图4 蜗壳平面图图5 蜗壳剖面图图4和图5是某水电站厂房的蜗壳图,蜗壳的边线有同一中心但是半径随着角度在变化在渐变。此种情况放线比较复杂,现场主要是校核模板的位置。表1是该蜗壳模板的主要参数,此表相当于以中心o(184.29,35.25)建立极坐标系。放线时测出实测坐标点,使用坐标反算程序,计算实测点和o点在距离和方位角,方位角在哪个区间内,再根据渐变计算出设计半径值(半径值一般根据线性变化计算,线性关系是简化后的方法,因为区间分的较小,线性关系也可近似算出设计值,完全满足现场施工的精度要求),与算出的距离进行对比,确定是向中心移动还是远离中心移动。

举例算一个点,全站仪架设好后,寻找任意点测出坐标值(193.056,40.771),实测距离和方位角分别是I=10.360,J= 32°12’12.72”。该方位角在30°和40°之间,计算R的设计值,根据表查出30°和40°的R值分别是10.373,10.221,根据线性渐变关系计算出实测点的设计R=10.373-(10.373-10.221)*(2°12’12.72”/10°)=10.334。所以得出该点模板要向靠近中心方向调整I-R=10.36-10.334=0.026。模板的内径r也可以用同样的方法计算。

4 小结

以上是笔者日常工作的一些经验总结,大地转施工、施工转大地、坐标正算,坐标反算是日常测量工作中常用的程序,这些常用基本程序进行灵活的应用可以提高现场的

工作效率和准确性。测量工作的专业性较强,对精度要求较高,出现失误会造成重大的质量事故,面对工作中的重点和难点,更应该多总结经验和创新,提高效率,减少失误。

高中数学论 图形计算器 使用卡西欧图形计算器画“快乐柠檬”

辽宁省沈阳市第十五中学2013年高中数学论文图形计算器应用能力测试活动学生使用卡西欧图形计算器画“快乐柠檬” 研究目的: 通过计算函数及其定义域,运用图形计算器作图,绘制图形。进而熟悉计算器功能,进一步学习了解函数构造及定义域、值域的计算。 研究过程: 1、确定奶茶品牌“快乐柠檬”的商标图案,在纸上完成其大致构图。 2、确定所需的函数类型并估算函数解析式与定义域,通过实践微调函数解析式及定义域并确定。 3、进行视窗调整与细节修改。 4、完成图形。 具体步骤: 第一步:进入静态函数图像。 1、按O打开图形计算器。看到如下的界面: 2、通过B!N$这四个方向键,选中“图形”(即下图选中部分)。

按l 进入。 第二步:输入所需函数。 【1】画出快乐柠檬头像: 1)头顶 【颜色:黄,线型:粗】 222,[3,3]9y x =-- z2N9$fs-2,L+-3,3L-l 2)下巴 【颜色:黄,线型:粗】 222,[3,3]9 y x =-+- -z2N9$fs+2,L+-3,3L-l 3)刘海 【颜色:绿色,线型:默认】 210.4,[ 1.5,1.5]9y x =+- z1N9$fs+0.4,L+-1.5,1.5L-l 4)左脸庞 【颜色:蓝色,线型:默认】 220.2 1.8,[ 1.4,0.7]9x y y =+-- erz2N9$fs+0.2f-1.8,L+-1.4,0.7L-l 5)右脸庞 【颜色:蓝色,线型:默认】 []220.2 1.8, 1.4,0.79x y y =--+- -z2N9$fs-0.2f+1.8,L+-1.4,0.7L-l 6)左眼(1) 【颜色:黑色,线型:默认】

模拟简单计算器实训

苏州市职业大学 课程设计说明书 名称___模拟简单计算器_______________ 2011 年12月26 日至2011年12月31 日共1 周 院系__ 计算机工程系 班级10嵌入式 姓名 系主任____李金祥 教研室主任刘文芝 指导教师徐丽华、刘文芝

目录 一.课程设计的目的与要求 (2) 1.课程设计的目的 (2) 2.课程设计的要求 (2) 二.题目说明 (2) 2.1开发背景 (3) 2.2 开发工具介绍 (4) 2.3 小组成员分工 (4) 三.硬件方案 (5) 3.1硬件设计 (5) 3.2电路原理图 (7) 四.软件设计 (8) 4.1 模块划分 (8) 4.2 模块结构图 (9) 4.3 液晶显示模块 (9) 4. 4 定时器模块 (6) 五.运行结果分析与系统改进 (10) 六.遇到的问题和解决方法 (11) 七.课程设计总结 (11) 八.参考文献 (11)

一.课程设计的目的与要求 1.课程设计的目的 《单片机原理与应用》是一门专业技术基础课,是一门实践性很强的课,单片机课程设计要求将所学的理论知识通过实践加强理解和认识,提高学生们对单片机的认识,同时提高同学们的设计能力和实践动手能力。 同时《单片机原理与应用》也是一门应用性很强的专业课,其理论与实践技能是从事嵌入式专业技术工作的人员所不可少的。本次课程设计选择AW60实验板进行模拟应用设计与开发,要求学生掌握使用 C 语言进行单片机程序设计和调试的方法,提高综合运用所学的理论知识独立分析和解决问题的能力。同时也为了提高学生的学习能力,锻炼同学之间的合作能力。 2.课程设计的要求 在本课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。 认真编写课程设计报告。 课程设计可以由2~4名同学合作完成一个课题。全体成员应共同完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。 整个设计期间,组长负责协调工作。各小组成员明确自己的任务后,应独立完成设计、编码和调试。 课题设计完成后,小组成员要理解同组其他成员设计的源程序,熟练操作本组设计,各自完成课程设计说明书。 1、对系统进行功能需求分析; 2、设计合理的模块结构和系统框架; 3、编程简练,程序功能齐全,能正确运行; 4、说明书、流程图要清楚; 5、课题完成后必须按要求提交课程设计报告;

最新计算机模拟试卷操作题答案

模拟卷1 三、简答题: 1、外存存储器有哪些?内存分哪两种?P13、15 答:外存存储器包括软盘、硬盘、光盘、U盘等。内存分只读存储器ROM和随机存取存储器RAM。 2、计算机网络的分类(按网络覆盖的范围)?P230 答:局域网、城域网、广域网和互联网。 3、常见的视频文件格式有哪些(至少四种)?P343-344 答:视频格式有:.avi格式、.mpg格式、.rm格式和.mov格式。 4、Windows操作题目(写出关键步骤) (1)在桌面上建立AA文件夹,在AA文件夹建立一个名为“JSB”的快捷方式,该快捷方式所指向的对象为“记事本”程序。(记事本程序的文件为 “C:\WINDOWS\system32\notepad.exe”) 步骤:在桌面空白处右击—选择新建文件夹,重命名为“AA”,打开“AA”文件夹,右击选择创建快捷方式,在“浏览”中找到 “C:\WINDOWS\system32\notepad.exe”,点下一步,名称输入“JSB”,完成即可。 (2)将CC文件夹中的“Excel”和“Word ”两个文件夹复制到AA文件夹中,并将“Excel”改名为“TEST”,并将其设置为隐藏属性。 步骤:打开“cc”文件夹,按住“ctrl”键选中“excel”和“word”两个文件夹,右击选择“复制”,打开“AA”文件夹,右击粘贴。在“excel”文件上右击,重命名为“TEST”,右击选择属性,在常规选项卡中,将属性改为“隐藏”。 5、WORD操作题目(6分) (1)修改Word文档中的文字字符的字体、颜色、大小,可以使用哪两种不同的方法实现?P90 答:通过“格式”工具栏和通过菜单“格式”—“字体”命令。 (2)修改文档中的首行缩进2个字符,有哪两种方法实现?P91 答:方法一:选中待修改的文档,把窗口上方的标尺左上的那个小三角往右方移动两个字符的距离,即可。 方法二:选中待修改的文档,右击——段落,在对话框内,特殊格式选择首行缩进,度量值输入2字符,即可。 (3)Word中的哪些对象可以图文混排的? 答:图片、图形,艺术字、文本框等(不确定) 6、EXCEL题目(6分) (1)列举几种Excel中的函数?p156 答:有数学(数值计算)函数、统计函数、逻辑函数、日期与时间函数、财务函数、文本函数等。 (2)列举几种对工作表的操作有哪些?p151 答:选择工作表插入工作表删除工作表移动和复制工作表重命名工作表

java编写的简单的计算器程序

j a v a编写的简单的计 算器程序 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化

参考代码: import .*; import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

简单计算器程序设计

简单计算器程序设计 2010-01-20 16:44 1、编写一个程序实现十进制加减乘除运算 2、在命令提示后输入算式,运算符号不超过四个 3、回车后进行计算并以十进制显示结果 ;能做带括号的运算,输入错误能报警 data segment msg1 db 'Please Input an Expression:',0AH,0DH,'$' msg2 db 'the result is:$' db '(' num db 200 dup (0) temp1 db 200 dup(0),13 temp dw 0 data ends stack segment db 200 dup (?) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax lea dx,msg1 mov ah,9 int 21h call input again2: lea si,num again1: inc si cmp byte ptr[si],13 je outt cmp byte ptr[si],')' jne again1 call chasc1 call count push ax jmp again2 outt:pop bx mov ah,2

mov dl,10 int 21h mov dl,13 int 21h lea dx,msg2 mov ah,9 int 21h call chaou mov ah,8 int 21h mov ah,4ch int 21h ;************************************** input proc ;输入子程序能纠错 push ax push bx push cx push dx push si push di xor si,si xor bh,bh mov bl,0ffh xor cx,cx top: mov ah,8 int 21h cmp al,8 jne next1 cmp si,0 jne ne1 mov bl,0ffh jmp next6 ne1: mov ah,2 mov dl,8 int 21h mov dl,0 int 21h mov dl,8 int 21h dec si

简单计算器可视化程序编程

简单计算器

一、基本功能描述二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行 以角度、弧度两种方式实现上述部分函数 具备历史计算的记忆功能 对不正确的表达式能指出其错误原因 二、流程图

图1 输入数据子函数流程图 图2 三、 设计步骤 打开Microsoft Visual C++ ,在文件中点击新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名Calculter 及其所在位置,点击确定,如图3所示。 N 输入数据子函数

图3 新建MFC AppWizard[exe]工程 将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成,如图4所示。 图4 基本对话框 这样,MFC AppWizard就建立了一个基于对话窗口的程序框架,如图5所示。 图5 新建的对话框 四、界面设计 1、创建控件 在图5所示的Resoure View选项卡中打开Dialog资源组,双击IDD_CALCULATOR_DIALOG,在右边的窗口中显示出待编辑的对话框。开始摆放控件,包括编辑框和按钮的创建。按钮的创建以“1”为例进行介绍,其他按钮的创建可参照此进行操作。 1)在图5中Controls的“编辑框”按钮上单击鼠标左键,在对话框编辑窗口上合适的位置按下鼠标左键并拖动鼠标画出一个大小合适的编辑框。在编辑框上单击鼠标右键,在弹出的快捷莱单中选择属性选项,此时弹出Edit属性对话框,如图6所示,在该对话框中输入ID属性。 图6 Edit属性对话框 2)在图3中Controls的“Button”按钮上单击鼠标左键,在对话框上的合适的位置上按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。在按钮上单击鼠标右键,在弹出的快捷菜单中选择

简单的计算器模拟程序的设计和实现

简单的计算器模拟程序的设计和实现1.问题描述 对任意给定的正确四则运算表达式,程序计算其结果值并输出。程序无需查错功能,假定所输入的都是正确的四则运算表达式,并且表达式中运算分量均为无正负号整数,运算符为 +、-、*、/,表达式以字符 "=" 结束。程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 2.设计说明 2.1简要的分析 根据要求,要先输入包含有+,-,*,/的运算符的表达式,然后经过计算得到正确的答案。从键盘中输入的是ASCII码,因此要将其转换为十进制的数据然后才能进行计算。如果输入混合表达式,要将中缀式先变化成后缀式,然后再进行计算。 2.2概要分析 2.2.1 定义的数据段 用于定义一些中间变量,并将显示在试验界面上,以及提示信息。data segment stri db 50 dup(0) exp db 30 dup(0) track db 30 dup(0) instr db 100 dup(0) msg0 db 'please input your formular:',0dh,0ah,'$' msg1 db 0dh,0ah,'wrong input','$' msg2 db 0dh,0ah,') and ( does not match','$' msg3 db 0dh,0ah,'div zero error','$' msg4 db 0dh,0ah,'sorry,minus data appears','$' msg5 db 0dh,0ah,'any key to continue,esc to exit','$' data ends

模拟计算器程序-课程设计

模拟计算器 学生姓名:**** 指导老师:**** 摘要本课程设计的课题是设计一个模拟计算器的程序,能够进行表达式的计算,并且表达式中可以包含Abs()和Sqrt()运算。在课程设计中,系统开发平台为Windows ,程序设计设计语言采用C++,程序运行平台为Windows 或*nix。本程序的关键就是表达式的分离和处理,在程序设计中,采用了将输入的中缀表达式转化为后缀表达式的方法,具有可靠的运行效率。本程序做到了对输入的表达式(表达式可以包含浮点数并且Abs()和Sqrt()中可以嵌套子表达式)进行判定表达式是否合法并且求出表达式的值的功能。经过一系列的调试运行,程序实现了设计目标,可以正确的处理用户输入的表达式,对海量级数据都能够通过计算机运算快速解决。 关键词C++程序设计;数据结构;表达式运算;栈;中缀表达式;后缀表达式;字符串处理;表达式合法判定;

目录 1 引言 (3) 1.1课程设计目的 (3) 1.2课程设计内容 (3) 2 设计思路与方案 (4) 3 详细实现 (5) 3.1 表达式的合法判定 (5) 3.2 中缀表达式转化为后缀表达式 (5) 3.3 处理后缀表达式 (7) 3.4 表达式嵌套处理 (8) 4 运行环境与结果 (9) 4.1 运行环境 (9) 4.2 运行结果 (9) 5 结束语 (12) 参考文献 (13) 附录1:模拟计算器源程序清单 (14)

1 引言 本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。利用两个“栈”,一个“数据栈”,一个“运算符栈”来把中缀表达式转换成后缀表达式。最后利用后缀表达式来求解表达式的值。该算法的复杂度为O(n),能够高效、快速地求解表达式的值,提高用户的效率。 1.1课程设计目的 数据结构主要是研究计算机存储,组织数据,非数值计算程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。 模拟计算器程序主要利用了“栈”这种数据结构来把中缀表达式转化为后缀表达式,并且运用了递归的思想来解决Abs()和Sqrt()中嵌套表达式的问题,其中还有一些统计的思想来判定表达式是否合法的算法。 1.2课程设计内容 本次课程设计为计算器模拟程序,主要解决表达式计算的问题,实现分别按表达式处理的过程分解为几个子过程,详细的求解过程如下:1 用户输入表达式。 2 判定表达式是否合法。 3 把中缀表达式转化为后缀表达式。 4 求出后缀表达式的结果。 5 输出表达式的结果。通过设计该程序,从而做到方便的求出一个表达式的值,而不需要一步一步进行运算。

数据结构课程设计 模拟计算器程序

数据结构课程设计 题目名称:模拟计算器程序 计算机科学与技术学院 课程设计任务书 一、设计任务 设计一个模拟计算器的程序 二、设计要求 1、要求对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进 行求解

2、程序基本功能要求实现完整,并有简单的验证。 3、设计报告要求格式规范,符合学校课程设计报告要求。 4、报告中流程图要求描述规范,算法设计清楚正确。 三、设计期限 2018年3月5日到2018年3月30日 前言 利用本学期所学的《数据结构》课程,运用相关知识,查阅相关资料,编写C语言程序,设计一个简单计算器,要求编写的简单计算器能够模拟windows系统的计算器,用户能够用键盘输入相关数据,要求对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解,并且在程序运行过程中能够正常的退出程序。

这个程序实际上就是对一个表达式进行计算。而一个算术表达式中包含各种运算符,每个运算符的等级可能会不同,这就成了本程序需要解决的一个主要的问题之一了。另外计算器中需要有各种数学函数,比如:abs sqrt sin cos tan等,如何对这些函数进行处理,也是本程序能成功的一个关键。还有一个问题就是如何处理操作符和操作数之间的关系也是一个要点。例如:1+2*(3-2/1),经过怎么样的变换和处理能得出结果5。数据的输入这里应该要用字符,然后通过字符和整形之间的关系进行转换即可,这样处理的话,就方便很多了。 在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过键盘上的退格键进行删除,并且重新输入正确的数据。在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备。 本课程设计主要解决的是传统计算器中,不能对表达式进行运算的问题,通过制作该计算器模拟程序,可以做到快速的求解表达式的值,并且能够判定用户输入的表达式是否合法。该模拟计算器的核心部分就在用户输入的中缀表达式的转化,程序中用到了“栈”的后进先出的基本性质。 目录 第1章需求分析‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 5 1.1系统设计流程图‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 5 1.2 主要功能表‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 6

卡西欧计算器编程指导

卡西欧计算器编程指导 在计算能力飞速发展的今天,各种计算工具应运而生代替了以往我们大量、繁琐的分析计算工作,简化了计算步骤节省了计算时间。在种类繁多的计算工具中适合测量工作的计算器也大有所在。比如有一款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增加了啊佛加德罗

用JAVA编写计算器程序(模拟Windows计算器)

用JAVA编写计算器程序(模拟Windows计算器) import java.awt.*; import java.awt.event.*; public class Calculation extends WindowAdapter implements ActionListener { double dResult=0; double dNowInput=0; double dMemory; int n=0; //记载小数位数 int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数 boolean alreadyHaveDot=false; //已经有小数点? boolean keyAvailable=true; boolean alreadyClickedEqueal=false; //是否按下过"="? boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() { f=new Frame("计算器"); f.setSize(280,213);

java课程设计-模拟科学计算器

JAVA课程设计说明书 题目:模拟科学计算器 姓名: 学号: 班级:网络工程11-2 山东科技大学 2013年11月7日

目录 1 课设任务及要求 (3) 1.1课设任务 (3) 1.2设计要求 (3) 2 需求分析 (2) 2.1 设计背景 (2) 2.2 需求获取 (3) 2.3 程序功能图 (4) 3 设计思路 (4) 3.1 界面布局 (4) 3.2 类的定义 (5) 3.3变量的定义 (5) 4 详细设计 (6) 4.1整体概述 (6) 4.2 误操作处理 (7) 4.3流程图和结构图 (8) 5 系统调试 (11) 5.1 程序界面 (11) 5.2 运行界面 (11) 6 心得与体会 (15) 7 参考文献 (16) 8 附录 (16)

1 课设任务及要求 1.1课设任务: 要求:界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。 实现要点:添加相关组件并进行按钮事件处理。 要求提交Application和Applet两个版本的程序。 1.2设计要求 ①设计的java计算器应用程序可以完成加法、减法、乘法、除法和取余运算,和cos,sin,tan等三角函数功能以及阶乘和指数等运算,且有小数点、正负号、求倒数、退格和清零功能。具体可参考windows附件下的计算器 ②课程设计使用Eclipse4.2等作为程序编译和运行测试的开发平台,采用JDK-7u25作为java开发环境,使用Microsoft Office Visio 2007作为绘图工具。

③认真按时完成课程设计报告,制作演讲PPT,积极报名上讲台向大家演示和讲解自己的程序。提交打印版的报告以及电子版的原稿和Application和Applet两个版本的程序代码。 2 需求分析 2.1 设计背景 本程序是老师提供的几个课程设计题目中比较中等的题目。要求实现模拟的科学计算器功能,主要包括加减乘除四则运算和阶乘,三角函数以及指数的运算。具体的功能我参考了Windows7下的计算机小程序,并根据其界面设计了java小程序界面,根据其功能对自己设计的计算器小程序进行了功能的适当增加与修改。在实现了课程设计题目要求的基础上,自己又增添了对数函数,幂函数,三角函数,取余等我们常用到的功能比较简单的函数。由于本函数涉及的函数以及按键数目较多,故没有采用面向对象的设计方法,没有对每个功能封装成函数调用,而是针对每个按键的动作事件直接采用了算法的编写。最终实现了全部的功能,但是由于时间有限,许多功能没有坐到很到位的优化,或许还存在着许多了漏洞,欢迎老师和同学的批评指正,我一定会

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

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

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

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

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

各模块详细设计 建立的变量,控件的命名,对应的消息处理函数对应表 double poz; 按钮的处理函数 void CCalcDlg::OnPt() { point_flag=TRUE; && buffer[i+1]==0)之前那位 }

m_Dis=strtod(buffer,NULL);整个大的程序的实现分8个功能,每个功能都通过一个相应的函数来实现.在调试时分别进行调试,使得调试更方便些.在编写各个函数只是按着题目要求的去完成,后来经指导老师指导后,发现了很多自己欠缺的地方,又一次将程序整体进行调试.最后把程序完善了许多。 本次MFC计算器的制作,学习到了MFC基本的编程方法。对OOP编程的理解进一步加深。但是程序仍然存在一定的问题,比如除数不能为0的Exception handle,符号键多次点击结果混乱。通过这次课程设计,以后Windows 应用程序势必会轻车熟路。 参考书目: [1]谭浩强,《C++程序设计》,北京,清华大学出版社,2006年。[2]孙鑫《深入浅出MFC》,视频教程。 [3]《Visual_C++MFC入门教程》,电子版。

简单计算器程序操作步骤

简单计算器程序操作步骤 一、建立”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+F5 1

卡西欧fx系列电子计算器全型号使用说明书

是一个FX-82ES计算机,按下MODE键会显示出三个功能。同时按下SHIFT-7-ON键(此功能用于出厂测试计算器,嘿嘿),并连按多次SHIFT后,会出现如(图二)所显示的内容。其中P3便代表FX-82ES的模式,现在我们就要将其修改为FX-991ES的模式。 图(二)

图(三) 关闭计算器,拆开计算器,可以看到如(图三)的电路板。找到P4引脚,可以看到当中有条裂缝,用指甲将上面的(尤其是裂缝中的)氧化层刮去,随后用软性铅笔(如2B)在裂缝上涂满,确保裂缝中有足够的碳粉可以导通P4引脚后。打开计算器,按下MODE,可以看到如图(四)的画面,变成8种模式功能,原来只有3种)这说明你的计算器改装成功了。

图(四) 同时按下SHIFT-7-ON键,并连按多次SHIFT后,可以看到如(图五)的画面,P?说明你的计算器连接了两个P引脚,变得十分怪胎了,不过这并不影响使用。 其实,P引脚是用来设置计算机型号的。卡西欧公司从成本上考虑,将一些计算器使用相同的电路板,只是通过P来设置型号。可以看到FX-82ES计算器的P3引脚是连通的,而其它的引脚都有一条裂缝。如果你有兴趣,可以尝试连通其它的,会出现不同的功能,不过连接P4后的功能是最多的,与FX-991ES的功能完全一样。(如果错了,橡皮擦擦了就好了) 改装后的计算器有部分按键与原计算器不同,这里提供了对照表(图六)

希望注意。 附: 1.卡西欧FX-991ES说明书下载地址:https://www.360docs.net/doc/3210534512.html,/CALC/DOWNL OA D/CN/MA NUA L/ 2.卡西欧FX-82ES大家可以去本地的文具批发市场和是小一些的商场,和是网络商店,你可以去里面逛逛,一般批发价为48元,零售价为55元左右(如果是大商场80多)。而FX-991ES的价格为120-160元之间(如果是大商场300多) 3.考研规定FX-911ES计算机是肯定能用的,FX-82ES是更不用说了。所以改装的FX-82ES考研不管能不能用,自己用都是最不错的选择。 ------------------------------- 计算机准确度测试 F ORSENICS E VALUATION A LGORITHM是一个简单测试科学计算机的计算准确度的方法。说穿了其实很简单,那就是利用科学计算机计算下面的数式。 SIN-1 COS-1 T A N-1 T A N COS SIN 9 (使用D EGREE 度数模式) 这个数式的正确数值是9,但是因为各计算机的内部设计不同,准确度也有分别,所以会导致出现不同的结果。计算的结果愈接近9,表示计算机的计算愈准确。 计算机计出答案差别内部小数位数 C A SIO FX-3600PV/3900PV9.0001252461.252458×10-411 C A SIO FX-3800P9.0000157181.57179×10-511 C A SIO FX-50F/4500PA9.0000156851.568547×10-512

计算器模拟系统设计-毕业设计

计算器模拟系统设计 学生:XXX 指导教师:XXX 内容摘要:本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED 上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件选择AT89C51单片机和 74lS164,输入用4×4矩阵键盘。显示用5位7段共阴极LED静态显示。软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。选用编译效率最高的Keil 软件用汇编语言进行编程,并用proteus仿真。 关键词:LED 计算器 AT89C51芯片 74LS164

Calculator simulation system desig n Abstract:The design is a simple calculator based on 51 series microcontroller system design, to complete the calculator keyboard input, add, subtract, multiply, and in addition to three unsigned numeric simple four operations, and the corresponding result will be displayed on the LED. The design process of hardware and software aspects of the synchronous design. Hardware choose AT89C51 microcontroller and 74ls164--enter the 4 × 4 matrix keyboard. Static display with five 7-segment common cathode LED display. Software calculator function from the analysis, flow charts, design, and then program the preparation of system design. Selected to compile the most efficient Keil software in assembly language programming, and with proteus simulation. Keywords: LED calculator AT89C51 chip 74LS164

软件工程导论——简易计算器

2011-2012(2)《软件工程导论》实验报告 实验一:项目计划、分析和设计 学院:计算机学院 班级: 软件111 姓名: 张鹏 学号:119074174 内容:实验一:项目计划、分析和设计 [ 实验日期 ]2012 年3月28日 [ 实验目的 ] 1. 初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练习撰写简要的需求文档、设计文档。 2. 为了解决自己及他人对世界困惑,更加客观真实的了解国内外!(任务艰巨呀!) [ 实验内容 ] (1)包含的功能有:加、减、乘、除运算,开方、平方等功能。 (2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 (4)计算功能基本上是用系统内部函数。 (5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (6)“CE”按钮可以清除所有已输入的数据从头计算 [ 实验原理和步骤 ] 界面要求 N

[ 实验结果]即[ 实验报告要求] [ 实验总结]经过了两个星期的C语言程序设计,在同学的热情帮助下基本完成了计算器课题的设计修改任务,虽然有些地方不尽如人意但是初步达到了对自己的要求。信息时代是科技和经济发展的产物,软件产业是信息时代的产物,它在我们的生活工作中发挥着越来越大的作用,计算器的设计对我们知识的掌握有很大的作用,更能方便他人,可行性很强。刚开始设计的时候找不到头绪,不知道该从哪里下手,通过向同学询问和向老师寻求帮助找走进了设计的门槛。在设计这个程序时,刚开始是根据网上的资料,,经过自己的反复尝试以及与与同学的讨论,这也不难,最好还是被我搞定了。这些只要你自己愿意去尝试,问题都可以迎刃而解的。 通过网上查找到很多成功的计算器程序,通过对那些已经成功地程序进行分析找到自己的设计思路,制定设计流程。并通过比较各种程序了解各个程序的利弊,从而明确自己计算器的设计方向和如何通过技术手段达到自己的目的。万事开头难,可是对于并不是很熟悉的C语言在下面的工作中困难处处能遇见。通过查找C语言教材去图书馆查

C模拟计算器程序合院何浩

合肥学院 计算机科学与技术系 课程设计报告 2009~2010学年第二期 课程 课程设计名称 学生姓名 学号 专业班级 指导教师 一.课程设计题目:

模拟计算器程序 设计内容:设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。选作内容如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。测试数据程序输入不少于5种不同的表达式进行测试。 二.问题的分析 此程序设计主要运用了栈,利用栈后进先出的原理,建立两个栈,操作数栈和操作符栈,先将数据和运算符分别压入这两个栈,判断栈内和栈外运算符的优先级,依据运算符的优先级判断是应再次压入运算符,还是将数据和运算符弹出栈,在栈外进行运算,再将所得的结果压入栈,继续进行与计算,直至运算结束。 例如;计算5/2+1-2*3= 操作数2入操作数栈, 2 运算符”/”入运算符栈, 操作数5入操作数栈 5 / 数字栈运算符栈 。 运算符“+”入运算符栈顶 比较后,将2,5出栈运算, 并将结果入数字栈 2.5 数字栈字符栈 运算符“+”入字符栈,操作 1 数1入数字栈 2.5 + 数字栈字符栈

运算符“—”入运算符栈顶比较后,将 1,2.5出栈运算,并将结果压入操作 数栈 3.5 —运算符“—”入运算符栈 数字栈字符栈 操作数2入操作数栈,运算符“*” 入运算符栈顶比较后压入运算符栈 3 将操作数3压入操作数栈 2 * 3.5 — 数字栈字符栈 当扫描到=号时,操作数3和2出栈 运算符*出栈,进行运算,运算结果入 操作数栈 6 3.5 — 数字栈字符栈 操作数6和2出栈,运算符“—” 出栈,进行运算,运算结果入操作数 栈 6 3.5 — 数字栈字符栈

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

课程设计名称:C语言课程设计课程设计题目:简单计算器程序

目录 第1章需求分析 0 1.1设计要求 0 1.2任务 0 第2章总体设计 (2) 2.1设计简介及设计方案论述 (2) 2.2功能模块层次图 (2) 第3章详细设计 (3) 3.3由(后缀)逆波兰表达式计算中缀表达式原理 (12) .................................................. 错误!未定义书签。第4章调试分析. (14) 4.1程序设计中所遇到的错误及犯错的原因 (14)

4.2错误的解决方法 (14) 第5章用户手册 (16) 总结 (18) 参考文献 (18) 附录(程序清单) (19)

第1章需求分析 1.1 设计要求 (1)用 C 语言数据结构实现程序设计; (2)利用结构体、栈、进行相关信息处理; (2)系统的各个功能模块要求用函数的形式实现; (4)界面简单,可操作性高。 1.2 任务 (1)定义一个结构体类型数组,输入 0~9 及+、--、*等符号的信息,将其信息存储起来; (2)输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和计算结果; (3)编写代码; (4)程序分析与调试。

说明: 本课程设计将实现一个简单计算器。在功能上尽量模仿 windows 的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

相关文档
最新文档