计算器 实验报告

合集下载

c课程设计计算器报告

c课程设计计算器报告

c 课程设计计算器报告一、教学目标本课程的教学目标是使学生掌握C语言的基本语法,熟练使用C语言进行程序设计。

具体分为三个部分:1.知识目标:学生需要掌握C语言的基本语法,包括数据类型、运算符、控制结构、函数等。

2.技能目标:学生能够使用C语言编写简单的程序,解决实际问题。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力。

二、教学内容教学内容主要包括C语言的基本语法和程序设计的基本方法。

具体安排如下:1.第一章:C语言概述,介绍C语言的历史和发展,理解C语言的特点。

2.第二章:数据类型和运算符,学习C语言的基本数据类型和运算符。

3.第三章:控制结构,学习C语言的条件语句和循环语句。

4.第四章:函数,学习C语言的函数定义和调用。

5.第五章:数组和字符串,学习C语言的数组和字符串操作。

6.第六章:指针,学习C语言的指针概念和应用。

7.第七章:结构体和文件,学习C语言的结构体和文件操作。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法:1.讲授法:讲解C语言的基本语法和概念。

2.案例分析法:通过分析实际案例,让学生理解C语言的应用。

3.实验法:安排实验课程,让学生动手编写C语言程序。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境五、教学评估本课程的评估方式包括平时表现、作业、考试等。

具体安排如下:1.平时表现:占课程总评的30%,包括课堂参与度、提问回答、小组讨论等。

2.作业:占课程总评的30%,包括课后练习、编程任务等。

3.考试:占课程总评的40%,包括期中考试和期末考试。

评估方式要求客观、公正,能够全面反映学生的学习成果。

我们将根据学生的实际情况,及时给予反馈,帮助学生提高。

六、教学安排本课程的教学进度安排如下:1.每周一次课,每次课2小时。

简单计算器—实训报告

简单计算器—实训报告

Linux应用与编程实习报告学院名称专业班级学生姓名学号指导教师山东科技大学一、实习题目: B2-简单计算器二、实习时间:19周~ 20周实习地点: J13- 128三、实习任务:实现一个简单计算器,计算器包括加、减、乘、除四种运算。

用户通过鼠标进行数据输入,输入的数据以及计算结果显示在文本框中四、小组分工说明:独立完成五、实习成绩六、指导教师对实习的评语:指导教师(签章):2015年月日目录1. 概述 -------------------------------------------------------- 42. 相关技术 -------------------------------------------------- 42.1 QT中信号和槽 -------------------------------------- 42.2 字符串输出数据组 -------- 错误!未定义书签。

3. 需求分析 -------------------------------------------------- 54. 总体设计与详细设计 ----------------------------------- 54.1 系统模块划分 --------------------------------------- 54.2 主要功能模块 --------------------------------------- 55. 编码实现 -------------------------------------------------- 6 6.测试情况说明------------------------------------------- 157. 实训中遇到的主要问题及解决方法 ---------------- 168. 实训收获与体会 ---------------------------------------- 161. 概述1.1 实训项目简介本次实训项目是应用Linux系统中的QT编译器编写一个界面简洁,操作简单的简易计算器。

运算器实验实验报告

运算器实验实验报告

运算器实验实验报告一、实验目的运算器是计算机中进行算术和逻辑运算的部件,本次实验的目的在于深入理解运算器的工作原理,掌握其基本结构和功能,并通过实际操作和测试,提高对计算机硬件系统的认识和实践能力。

二、实验设备本次实验所使用的设备包括:计算机、数字逻辑实验箱、导线若干等。

三、实验原理运算器主要由算术逻辑单元(ALU)、寄存器、数据通路和控制逻辑等组成。

ALU 是运算器的核心部件,能够执行加法、减法、乘法、除法等算术运算以及与、或、非等逻辑运算。

寄存器用于存储参与运算的数据和运算结果,数据通路负责在各部件之间传输数据,控制逻辑则根据指令控制运算器的操作。

在本次实验中,我们采用数字逻辑电路来构建运算器的基本功能单元,并通过连线和设置控制信号来实现不同的运算操作。

四、实验内容1、算术运算实验(1)加法运算首先,将两个 8 位二进制数分别输入到两个寄存器中,然后通过控制信号使 ALU 执行加法运算,将结果存储在另一个寄存器中,并通过数码管显示出来。

通过改变输入的数值,多次进行加法运算,观察结果是否正确。

(2)减法运算与加法运算类似,将两个 8 位二进制数输入到寄存器中,使 ALU 执行减法运算,观察结果的正确性。

2、逻辑运算实验(1)与运算输入两个 8 位二进制数,控制 ALU 进行与运算,查看结果。

(2)或运算同样输入两个 8 位二进制数,进行或运算并验证结果。

(3)非运算对一个 8 位二进制数进行非运算,观察输出结果。

3、移位运算实验(1)逻辑左移将一个 8 位二进制数进行逻辑左移操作,观察移位后的结果。

(2)逻辑右移执行逻辑右移操作,对比移位前后的数据。

五、实验步骤1、连接实验设备按照实验箱的说明书,将计算机与数字逻辑实验箱正确连接,并接通电源。

2、构建电路根据实验要求,使用导线将数字逻辑芯片连接起来,构建运算器的电路结构。

3、输入数据通过实验箱上的开关或按键,将待运算的数据输入到相应的寄存器中。

计算器黑盒测试实验报告

计算器黑盒测试实验报告

西实科技验报算告?实验名称计算器黑盒测试I实验地点____________________实验日期_______________指导教师__________________学生班级________________学生姓名__________________学生学号_________________提交日期软件教研室制一、测试目的设计测试用例、使用各种测试方法进行计算器的测试,并对测试结果进行分析二、测试内容1•软件说明:实现一个小的计算器程序,只需要完成加、减、乘、除运算,设计测试用例,并对测试结果进行分析,同时计算器运行稳定。

2、设计测试用例3、执行测试4、测试结果分析5、源代码三、测试步骤(一)、计算器界面2、设计测试用例(1)等价类测试:1、4个等价类测试用例的分析过程如下:2、对应测试的结果分析: 整型:1.加(55+50)2.减(78-24)3.乘(15*25)4.除(36/4)小数1.加(25.3+12.7)2.减(14.3-11.7)3.乘(25.6*12.8)4.除(50.2/20.7)负数6.加-20+-217.减(-15)-(-14)8.乘-12*-129.除-16/-5(其中算式写法错误导致正常运算错误)无效输入1.加(E1+t2):程序中无效数字无法正常输入,程序无法进行。

2.减(G4-k5)程序中无效数字无法正常输入,程序无法进行。

(同上)3.乘(I5*l6)程序中无效数字无法正常输入,程序无法进行。

(同上)4.除(Ff/se)程序中无效数字无法正常输入,程序无法进行。

(同上)简易计食器1、计算器4个标准等价类测试用例的分析过程如下:测试用例被加数加数预期输出Testi 0 10 正常运算Test2 1 10 正常运算Test3 40 10 正常运算Test4 55.5 10 正常运算Test5 -70 10 正常运算Test6 10 10 正常运算Test7 101 10 正常运算Test8 10 0 不能运算Test9 10 1 正常运算Test10 10 40 正常运算Testil 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test2结果:Test3结果:Test4结果:Test5结果:Test6结果:减法:1、计算器4个标准等价类测试用例的分析过程如下:2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test3结果:Test4结果:Test5结果:Test6结果:乘法1、计算器42、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test3结果:Test4结果:Test5结果:Test6结果:除法1、计算器4个标准等价类测试用例的分析过程如下:测试用例被除数除数预期输出Test2结果:Test3结果:Test8结果:附录:源代码CCalculateDlg::CCalculateDlg(CWnd* pParent /*=NULL*/):CDialog(CCalculateDlg::IDD, pParent){//{{AFX_DATA_INIT(CCalculateDlg)m_parameter = 0.0;//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;} void CCalculateDlg::DoDataExchange(CDataExchange* pDX)CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CCalculateDlg)DDX_Text(pDX, IDC_EDIT, m_parameter);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CCalculateDlg, CDialog)//{{AFX_MSG_MAP(CCalculateDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_clear, Onclear)ON_BN_CLICKED(IDC_calculate, Oncalculate)ON_BN_CLICKED(IDC_para1, Onpara1)ON_BN_CLICKED(IDC_para2, Onpara2)ON_BN_CLICKED(IDC_para3, Onpara3)ON_BN_CLICKED(IDC_para4, Onpara4)ON_BN_CLICKED(IDC_para5, Onpara5)ON_BN_CLICKED(IDC_para6, Onpara6)ON_BN_CLICKED(IDC_para7, Onpara7)ON_BN_CLICKED(IDC_para8, Onpara8)ON_BN_CLICKED(IDC_para9, Onpara9)ON_BN_CLICKED(IDC_para0, Onpara0)ON_BN_CLICKED(IDC_point, Onpoint)ON_BN_CLICKED(IDC_minus, Onminus)ON_BN_CLICKED(IDC_plus, Onplus)ON_BN_CLICKED(IDC_subtrack, Onsubtrack)ON_BN_CLICKED(IDC_multiply, Onmultiply)ON_BN_CLICKED(IDC_divide, Ondivide)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////// // CCalculateDlg message handlersBOOL CCalculateDlg::OnInitDialog(){CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog. The framework does this automatically// when the application's main window is not a dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization herereturn TRUE; // return TRUE unless you set the focus to a control}void CCalculateDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}// If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework.void CCalculateDlg::OnPaint(){if (IsIconic())CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icon dc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}}// The system calls this to obtain the cursor to display while the user drags // the minimized window.HCURSOR CCalculateDlg::OnQueryDragIcon(){return (HCURSOR) m_hIcon;}void CCalculateDlg::Onclear(){UpdateData(true);m_parameter = 0;CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code herevoid CCalculateDlg::Oncalculate(){UpdateData(true);CalculatePara = m_parameter;switch(CalculateExpre){case'+':CalculateResult += CalculatePara;m_parameter = CalculateResult;break;case,-':CalculateResult -= CalculatePara;m_parameter = CalculateResult;break;case,*,:CalculateResult *= CalculatePara;m_parameter = CalculateResult;break;case,/':if (CalculatePara){CalculateResult /= CalculatePara;m_parameter = CalculateResult;}else{m_parameter = 0;MessageBox(”除数不能为零!”);} break;}// TODO: Add your control notification handler code hereCalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);}void CCalculateDlg::Onpara1(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 1;}else{CalculatePara = m_parameter + 1/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara2(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 2;elseCalculatePara = m_parameter + 2/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara3(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 3;}else{CalculatePara = m_parameter + 3/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara4(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 4;}elseCalculatePara = m_parameter + 4/pow(10,Sumpoint);Sumpoint++;m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara5(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 5;}else{CalculatePara = m_parameter + 5/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara6(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 6;}else{CalculatePara = m_parameter + 6/pow(10,Sumpoint);Sumpoint++;m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara7(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 7;}else{CalculatePara = m_parameter + 7/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara8(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 8;}else{CalculatePara = m_parameter + 8/pow(10,Sumpoint);Sumpoint++;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara9(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 9;}else{CalculatePara = m_parameter + 9/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara0(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 0;}else{Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here void CCalculateDlg::Onpoint(){Ispoint = true;Sumpoint = 1;// TODO: Add your control notification handler code here}void CCalculateDlg::Onminus(){UpdateData(true);m_parameter = 0 - m_parameter;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onplus(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '+';m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onsubtrack(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre =m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onmultiply(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '*';m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Ondivide(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '/';m_parameter = 0;Ispoint = false;UpdateData(false);// TODO: Add your control notification handler code here。

计算器制作实验报告

计算器制作实验报告

实验一简易计算器的制作一.实验要求1.参照Windows系统提供的计算器功能,制作一个自己的计算器,至少能完成数据的加减乘除的基本功能。

2.控件的焦点以及Tab键的设置和使用3.多个控件(按钮)事件的共享4.键盘的事件的应用二. 设计思路1.创建主体框架:建立程序的主要界面后,系统自动生成界面的主要窗口生成代码。

对于每个按钮的的代码段中,分别添加事件触发的处理代码。

设置两个textBox,一个显示表达式,一个显示运算结果。

2数字1-9,小数点,运算符号的按键的事件处理都是在textBox1中分别添加相对应的数字字符,把数字当成是字符串处理。

用赋值语句进行添加。

每次点击后textBox1的显示内容变为一个新的表达式。

3四则运算时采用compute方法直接计算表达式。

该方法功能强大,优先级和运算规则皆宜考虑在内。

但是上次计算的结果不能直接运算,利用括号的作用排除了这一问题。

4三角函数的运算,调运Math类中的方法。

5小数点,归零键,和删除键需仔细设置。

6每个运算方法均用try-catch语句处理异常,异常用MessageBox进行提示,确保程序运行正常。

三核心代码1 数字1-9,小数点,运算符号的按键的事件处理都是在textBox1中分别添加相对应的数字字符if (textBox1.Text != "0"){textBox1.Text += button8.Text;}else{textBox1.Text = button8.Text;}2 四则运算{try{DataTable shi = new DataTable();textBox2.Text = pute(textBox1.Text, "").ToString();//利用Compute方法进行四则用算textBox1.Text = "(" + textBox1.Text + ")";//为表达式加上括号,使上一步的计算结果直接参与下一步计算}catch (Exception err){MessageBox.Show("请检查表达式, 错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}3 三角函数计算try{DataTable shi = new DataTable();String b = pute(textBox1.Text, "").ToString();double a = double.Parse(b);textBox2.Text = Math.Cos(a).ToString();}//将表达式运算后的结果,进行cos运算;故可直接计算表达式catch (Exception err){MessageBox.Show("请检查表达式, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error);}4 小数点判定if (textBox1.Text.Contains(".")){MessageBox.Show("不能有两个小数点, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}//对是否有两个小数点进行判定else{if (textBox1.Text.Length != 0){textBox1.Text += button20.Text;}else{textBox1.Text = "0.";//防止小数点出现在开头}}5 设置后退键int r=textBox1.Text.Length;if (r > 1){textBox1.Text = textBox1.Text.Remove(r - 1);//删除最右边的字符}else{textBox1.Text = "";//只剩一个字符时直接为空?}}//设置后退键6 设置归零键textBox1.Text = "";textBox2.Text = "";}//归零键设置:使表达式结果为空四程序运行后如图1 四则运算2 上一步计算结果直接进行三角运算五实验总结1首次亲自做出一个计算器,感觉颇有成就感。

实验报告计算器

实验报告计算器

实验报告||实验名称计算器课程名称面向对象程序设计(JAVA)||一、实验目的综合应用所学的知识分析问题、解决问题,提高实际编程能力及程序调试能力。

二、实验内容及要求用图形界面GUI编程,编写一个能够实现加减乘除的简单的计算器,要求使用监听类,还要能够连续加减,有清除功能,能够准确的计算出正确结果。

三、实验仪器与设备计算机,JDK,我用的是eclipse。

四、问题分析与系统设计问题分析:首先需要把图形界面设计出来,给组件注册监听器,转换事件信息,实现对数据的加、减、乘、除等计算器的基本的功能设计思想与设计结果:在主类Caculater中使用监听内部类 MyMonitor 对各个组件进行监听,在MyMonitor中对按键信息进行分类处理(数字,算术符号,功能键)。

数据成员主要有各个按钮以及计算器的各个状态(如初始状态等)。

成员函数有:1、对退格键的处理:backSpace() 2、对算是符号的处理:operater() 3、将数字字符串转换成数字:getDate()五、实验结果相反数、平方根等功能,能够将图形界面设计出来给注册监听器,实现界面与基本实现了简单的的加、减、乘、除以及倒数和取内部代码结合。

六、总结与体会1·我以前不清楚界面与内部代码是怎么连接的,现在知道了。

还学会简单的GUI编程,能够实现对界面进行布局2·跟c++有很大的不同,java多了许多的包,类呀,这样是编译快捷而且安全正确,学会使用了内部类,懂得了事件的响应以及如何处理事件。

3·锻炼了编程的逻辑思维,能够对数据进行逻辑的处理以及对整个程序的逻辑部署4·还知道了要想吧java学好是很难的,里面有许许多多的包,类。

要想好好运用java 就必须运用好java类包,java的简单编程只是基础,掌握系统提供的package和class 才是成为java厉害者的必经之路。

附件:源程序清单import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.ArrayList;import java.util.List;public class Caculator extends Frame {List<String> list = new ArrayList<String>();public static int step = 0; // 处理刚开始第一次计算的时候dataResult为零的问题private String command[] = { "BackSpace", "CE", "C" };private String normal[] = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };private String special[] = { "", "MC", "MR", "MS", "M+" };private boolean firstInput = true;private boolean legal = true;private double dataResult = 0;private String s = null;private TextField tf = new TextField();private Button bn[] = new Button[normal.length]; private Button bc[] = new Button[command.length]; private Button bs[] = new Button[special.length]; private Mymonitor mn = new Mymonitor();public static void main(String[] args) {CouterClient cc = new CouterClient();unchFrame();}public void launchFrame() {this.setLocation(200, 250);this.setBackground(Color.blue);this.setTitle("计算器");this.setSize(300, 400);this.setResizable(false);this.setLayout(new BorderLayout(2, 2));this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);}});Panel pn = new Panel(new GridLayout(4, 5, 2, 2));for (int i = 0; i < normal.length; i++) {bn[i] = new Button(normal[i]);bn[i].addActionListener(mn);pn.add(bn[i]);}Panel pc = new Panel(new GridLayout(1, 3, 2, 2));for (int i = 0; i < command.length; i++) {bc[i] = new Button(command[i]);bc[i].addActionListener(mn);pc.add(bc[i]);}Panel ps = new Panel(new GridLayout(5, 1, 2, 2));for (int i = 0; i < special.length; i++) {bs[i] = new Button(special[i]);bs[i].addActionListener(mn);ps.add(bs[i]);}Panel p = new Panel(new BorderLayout(2, 2));p.add(BorderLayout.NORTH, pc);p.add(BorderLayout.CENTER, pn);tf.setEditable(false);tf.setBackground(Color.white);this.add(BorderLayout.CENTER, p);this.add(BorderLayout.WEST, ps);this.add(BorderLayout.NORTH, tf);tf.setText("0");this.setVisible(true);this.pack();}private class Mymonitor implements ActionListener {public void actionPerformed(ActionEvent e) {s = e.getActionCommand();if (s.equals(command[2])) { // 按下了 C 键时归零计算器回到最初的状态tf.setText("0");firstInput = true;legal = true;dataResult = 0;step = 0;} else if (s.equals(command[1])) { // 按下 CE 键时,显示零tf.setText("0");firstInput = true;} else if (s.equals(command[0])) { // 按下退格键时backSpace();} else if ("0123456789.".indexOf(s) >= 0) {if (firstInput) {tf.setText(s);}if (firstInput && s.equals(".")) {tf.setText("0.");firstInput = false;} else if (!firstInput) {if (s.equals(".")) {if (tf.getText().indexOf(".") <= 0) {tf.setText(tf.getText() + s);} else {String str = (tf.getText() + s).substring(0, tf.getText().length());tf.setText(str);}} else {tf.setText(tf.getText() + s);}} else if (firstInput && !s.equals(".")) {firstInput = false;}} else {operator(s);}}}public void operator(String key) {if (key != "=")list.add(key);if (key.equals("+")) {this.dataResult += getData();} else if (key.equals("-")) {if (step == 0) {this.dataResult = getData();step++;} else {this.dataResult -= getData();}} else if (key.equals("*")) {if (step == 0) {this.dataResult = getData();step++;} else {this.dataResult *= getData();}} else if (key.equals("/")) {if (step == 0) {this.dataResult = getData();step++;} else {if (getData() == 0) {tf.setText("除数不能是0!请按C键重新开始输入");this.legal = false;} else {this.dataResult /= getData();}}} else if (key.equals("+/-")) {this.dataResult = -1 * getData();} else if (key.equals("sqrt")) {if ((this.dataResult = getData()) > 0) {this.dataResult = Math.sqrt(this.dataResult);} else {tf.setText("负数没有平方根");}} else if (key.equals("1/x")) {this.dataResult = getData();if (this.dataResult == 0) {tf.setText("0没有倒数");} else {this.dataResult = 1 / this.dataResult;}} else if (key.equals("=") && this.legal) {this.operator(list.get(list.size() - 1));this.firstInput = true;step = 0;}if (legal) {long l = (long) this.dataResult;double d;d = this.dataResult - l;if (d == 0) {tf.setText("" + l);} else {tf.setText("" + this.dataResult);}this.firstInput = true;if (key == "=")this.dataResult = 0;}}public void backSpace() {if (firstInput) {tf.setText("0");firstInput = true;} else {if (tf.getText().length() >= 1) {String temp = tf.getText().substring(0,tf.getText().length() - 1);tf.setText(temp);if (tf.getText().length() == 0) {tf.setText("0");this.firstInput = true;}}}}public double getData() {double result = 0;try {result = Double.valueOf(tf.getText()).doubleValue();} catch (NumberFormatException e) {tf.setText("0");firstInput = true;legal = true;dataResult = 0;}return result;}}。

简易计算器报告

简易计算器报告

集成电路及单片机应用实验一简易十进制计算器学号 1215101012姓名赖雪琳班级 12电子1班指导老师邱应强华侨大学电子工程系一、实验目的1. 掌握单片机编程和调试方法。

2. 掌握键盘、LED显示接口工作原理及编程方法。

二、实验内容利用MCS-51单片机,设计一个简易十进制计算器,完成一位十进制有符号数的加、减、乘、除运算。

16个按键的安排:10个数字键(0-9),用于输入运算的数字;5个功能键:+、-、×、÷、=、+/-(符号选择)。

本实验要求显示:输入的十进制数字及符号,正数不显示符号,负数在数的前面显示“-”;运算符显示(显示字形自定);运算结果显示,包括数字和符号。

三、实验电路连线P0P1P2.0-P2.3P2.4-P2.7本实验连线仅供参考,可以根据实际连线方便情况作改动。

四、实验说明本实验采用动态显示电路,即6个数码管分时循环工作,刷新频率≥25Hz。

键盘采用矩阵式电路,L1-L4作为输出,H1-H4作为输入。

(详细工作原理请参考教材第10章)。

要求所有的程序预先在WA VE仿真调试通过,达到设计要求后下载程序到单片机芯片在实验板上实际运行。

程序的下载由实验室提供编程器统一烧写,单片机芯片由实验室提供,调试完成后交回。

五、实验仪器和设备PC机、WA VE软件、仿真器、实验板、编程器、电源等。

六、1、电路图由于使用开发板实现:键盘及数码管显示与单片机接口如下图显示:3、主要程序://////按键扫描//////char KeyBoard(){char temp;P1=0xf0;if(P1==0xf0)return 0;//是否有按键按下Delay_ms(20); //消除抖动if(P1==0xf0)return 0;else{temp=P1;switch(temp) //通过横纵轴的交点确定按哪个键按下{case 0x70: row=1;break;case 0xb0: row=2;break;case 0xd0: row=3;break;case 0xe0: row=4;break;}P1=0x0f;Delay_ms(1);temp=P1;switch(temp){case 0x0e: column=4;break;case 0x0d: column=3;break;case 0x0b: column=2;break;case 0x07: column=1;break;}}Key_Flag=1;while(P1!=0x0f);Delay_ms(20);return 0;}////四则运算////加法:后续减法与乘法与上图类似。

简易计算器实验报告

简易计算器实验报告

简易计算器实验报告一、实验目的本次实验的目的是设计并实现一个简易计算器,能够进行基本的四则运算(加、减、乘、除),以及处理括号的优先级运算,提高对程序设计和逻辑思维的理解与应用能力。

二、实验原理1、四则运算的优先级规则在数学运算中,先计算括号内的表达式,然后按照先乘除后加减的顺序进行计算。

乘除法的优先级高于加减法,如果在同一级运算中,按照从左到右的顺序进行。

2、数据结构的选择使用栈(Stack)数据结构来存储操作数和运算符。

栈具有先进后出的特点,非常适合处理表达式中的括号和优先级。

3、算法思路首先,将输入的表达式进行解析,将数字和运算符分别存储到不同的栈中。

然后,根据运算符的优先级进行计算,将计算结果重新压入栈中,直到表达式计算完毕。

三、实验设备及环境1、编程工具:选择了 Python 语言作为主要的编程工具,使用PyCharm 集成开发环境进行代码编写和调试。

2、操作系统:Windows 10 操作系统。

四、实验步骤1、定义数据结构定义两个栈,一个用于存储操作数(operandStack),一个用于存储运算符(operatorStack)。

2、表达式解析遍历输入的表达式字符串,将数字转换为整数并压入操作数栈,将运算符压入运算符栈。

遇到左括号直接压入运算符栈,遇到右括号则进行括号内的运算。

3、运算处理当运算符栈不为空时,取出栈顶的运算符和两个操作数进行计算。

根据运算符的优先级进行相应的运算,将结果压入操作数栈。

4、最终结果当表达式解析完毕后,操作数栈中的唯一元素即为表达式的计算结果。

五、代码实现```pythonclass SimpleCalculator:def __init__(self):selfoperandStack =selfoperatorStack =def calculate(self, expression):for char in expression:if charisdigit():selfoperandStackappend(int(char))elif char in '+/()':if char =='(':selfoperatorStackappend(char)elif char ==')':while selfoperatorStack-1!='(':operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackpop()else:while selfoperatorStack and selfhasHigherPrecedence(selfoperatorStack-1, char):operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackappend(char)while selfoperatorStack:operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)return selfoperandStackpop()def hasHigherPrecedence(self, op1, op2):if op1 in '/' and op2 in '+':return Trueelif op1 in '+' and op2 in '+':return Falseelif op1 in '/' and op2 in '/':return Falsereturn Falsedef performOperation(self, operand1, operand2, operator):if operator =='+':return operand1 + operand2elif operator =='':return operand1 operand2elif operator =='':return operand1 operand2elif operator =='/':if operand2 == 0:raise ValueError("除数不能为 0")return operand1 / operand2if __name__ =="__main__":calculator = SimpleCalculator()expression ="2 + 3 (4 1) / 2"result = calculatorcalculate(expression)print("计算结果:", result)```六、实验结果与分析1、测试用例及结果输入表达式:"2 + 3 4",计算结果:14输入表达式:"(2 + 3) 4",计算结果:20输入表达式:"5 2 3",计算结果:-1输入表达式:"10 / 2 + 1",计算结果:62、结果分析对于简单的四则运算表达式,计算器能够正确计算出结果。

计算器敲打的实训报告

计算器敲打的实训报告

一、实训目的随着计算机技术的普及和智能化工具的广泛应用,掌握基本的计算器使用技能对于日常生活和工作中都是必不可少的。

本次计算器敲打实训旨在通过实际操作,使学员熟悉计算器的各种功能,提高计算速度和准确性,同时加深对数学知识的理解和应用。

通过本次实训,学员能够:1. 熟练掌握计算器的操作方法。

2. 提高数学计算的速度和准确性。

3. 增强对数学知识的理解和应用能力。

4. 培养良好的计算习惯和严谨的工作态度。

二、实训环境实训地点:学校计算机实验室实训设备:计算器(电子或机械)、计算机实训时间:两周三、实训原理计算器作为一种计算工具,其基本原理是通过电子或机械方式对输入的数字进行运算处理,输出计算结果。

电子计算器利用集成电路进行计算,而机械计算器则通过齿轮和机械臂进行计算。

本次实训主要针对电子计算器进行操作训练。

四、实训过程(一)实训前期准备1. 组织学员学习计算器的基本结构和功能,包括数字键、运算键、存储键等。

2. 规定实训内容,包括基本运算、复杂运算、函数运算等。

3. 分组进行实训,每组由一名组长负责组织协调。

(二)实训具体步骤1. 基本运算训练:- 学员按照要求进行加减乘除等基本运算,熟悉计算器按键操作。

- 训练学员在运算过程中的正确输入和查看结果。

2. 复杂运算训练:- 学员进行多位数、分数、小数的运算,提高计算精度。

- 引导学员运用计算器进行四则混合运算,培养逻辑思维能力。

3. 函数运算训练:- 学员学习并掌握常用函数的运算方法,如三角函数、指数函数、对数函数等。

- 通过实际操作,提高学员解决实际问题的能力。

4. 实际应用训练:- 学员运用计算器解决实际问题,如计算购物金额、投资收益、工程量等。

- 培养学员将数学知识应用于实际生活的能力。

(三)实训成果展示1. 学员进行计算比赛,展示实训成果。

2. 学员互相交流学习心得,分享实训经验。

3. 教师对学员的实训过程进行点评,指出不足之处。

五、实训结果通过两周的实训,学员在计算器操作、数学计算速度和准确性等方面取得了显著进步。

计算器_实验报告

计算器_实验报告

一、实验目的1. 熟悉计算器的基本原理和设计方法。

2. 掌握计算器程序的设计与实现。

3. 提高编程能力和软件工程实践能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 计算器界面设计2. 计算器功能实现3. 计算器测试与优化四、实验步骤1. 计算器界面设计(1)创建一个Java项目,命名为“Calculator”。

(2)在项目中创建一个名为“CalculatorFrame”的类,继承自JFrame。

(3)在“CalculatorFrame”类中,创建一个JPanel作为计算器的面板,命名为“calculatorPanel”。

(4)在calculatorPanel中,添加一个JTextField作为显示输入和计算结果的文本框,命名为“resultField”。

(5)添加一个JButton数组,作为计算器的按钮,包括数字按钮、运算符按钮和功能按钮。

(6)为每个按钮设置事件监听器,实现按钮点击事件。

2. 计算器功能实现(1)在“CalculatorFrame”类中,定义一个私有成员变量,用于存储当前输入的字符串。

(2)为每个按钮的事件监听器添加逻辑,实现以下功能:- 数字按钮:将按钮对应的数字字符串添加到当前输入字符串中。

- 运算符按钮:将当前输入字符串、运算符和下一个输入字符串组合成一个表达式,并计算结果。

- 功能按钮:实现计算器的其他功能,如清除、求倒数、开平方等。

(3)计算结果存储在resultField中。

3. 计算器测试与优化(1)对计算器进行测试,确保所有功能正常运行。

(2)优化计算器的性能,提高计算速度。

(3)美化计算器界面,提高用户体验。

五、实验结果与分析1. 实验结果成功设计并实现了一个具有基本功能的计算器,界面简洁、操作方便。

2. 实验分析(1)通过学习计算器的基本原理和设计方法,掌握了计算器程序的设计与实现。

大一计算机实验报告(范本)

大一计算机实验报告(范本)

大一计算机实验报告‎大一计算机实验报告‎‎篇一:大‎一计算机实践报告计算‎机实践报告主题:‎指导教师:‎年级:‎姓名:‎学号:主题选‎择及内容:‎本次计算机实践网页制‎作,我制作的网页是“‎我的家乡汉中”。

我的‎家乡在汉中,是一个美‎丽的城市。

也是一个历‎史名城。

余秋雨说“汉‎人,汉水,汉文化。

”‎可见,能以“汉”字命‎名,足以见其历史底蕴‎。

刚刚进入大学,离家‎千里,难免对家和家乡‎生出眷恋和私念。

所以‎,以此为题,在怀念家‎乡的同时,也把家乡介‎绍给大家,那是一个美‎丽的城市,欢迎大家能‎够去领略她的风采。

虽‎然我做出来的作品,由‎于时间和条件以及能力‎的不足会有所欠缺,但‎在设计和制作的过程中‎我学到了许多。

本网‎站分为4个栏目(分别‎是:【主页-‎我的家乡汉中】,【汉‎中市的自然资源】,【‎汉中市的民俗民风】,‎【汉中市的风景名胜p‎p t】。

内容以汉中市‎历史,文化,风景各方‎面的介绍为主。

实验‎步骤:一.‎前期准备在动手制作‎之前,先从网上搜集有‎关家乡的一些资料,然‎后浏览一些排版精美的‎网站,并用FrntP‎a ge201X版软件‎查看网站排版方式,从‎中汲取些经验。

二.‎幻灯片的制作首先打‎开演示文稿,建立一个‎空演示文稿,在空白幻‎灯片上插入图片和艺术‎字,然后设置为最底层‎作为背景,再对每一个‎幻灯片进行编辑。

右击‎设置各个组件的自定义‎动画与幻灯片切换形式‎。

再将幻灯片保存于网‎页内并在首页制作超链‎接。

我所做的幻灯片‎的内容是关于我的家乡‎的风景名胜,包含一些‎名人故里以及国家级景‎区和生态自然保护区。

‎三.Flash动画‎的制作首先打开fl‎a sh动画制作软件,‎新建一个flash 文‎档。

然后从网上找来制‎作flash的资料图‎片,参照课本以及网上‎介绍的步骤制作。

四‎.用frntpage‎软件制作网页用fr‎n tpage软件制作‎网页时,在主页面上插‎入一些图片,添加对家‎乡的介绍,做网页的同‎时,设置网页的背景图‎片以增强视觉效果,做‎完网页的表面内容后,‎将前面做的幻灯片,f‎l ash动画,以及编‎辑的子网页都超链接到‎主页上来。

计算器实验报告

计算器实验报告

计算器实验报告计算器实验报告引言:计算器是一种现代化的数学工具,它的出现极大地方便了人们的生活和工作。

本实验旨在通过对计算器的研究和实践,了解其原理和功能,并对其性能进行评估。

一、计算器的原理和功能计算器是一种能够进行数学运算的电子设备。

它基于数字电路和微处理器技术,通过输入数据和运算符号,能够进行加减乘除等基本运算,同时还具备一些高级功能,如开方、取余、百分比等。

二、计算器的基本操作1. 开机与关机:按下计算器上的电源按钮,即可启动计算器。

在使用结束后,长按电源按钮即可关闭计算器。

2. 数字输入:计算器通常配备有0-9的数字键,通过按下相应的数字键,可以输入需要计算的数字。

3. 运算符输入:计算器上通常还有加减乘除等运算符号键,通过按下相应的运算符键,可以选择所需的运算方式。

4. 结果显示:计算器的显示屏会实时显示输入的数字和运算结果。

三、计算器的性能评估1. 精确度:计算器的精确度是评估其性能的重要指标之一。

通过进行一系列精确度测试,比较计算器的计算结果与实际值的差异程度,可以评估其精确度水平。

2. 反应速度:计算器的反应速度是指在输入数据后,计算器进行计算并显示结果的时间。

通过对不同计算器的反应速度进行对比,可以评估其性能优劣。

3. 功能完整性:计算器的功能完整性是指计算器是否具备基本的数学运算功能,并能够满足用户的需求。

通过测试计算器的各项功能,如开方、取余、百分比等,可以评估其功能完整性。

4. 电池寿命:对于便携计算器而言,电池寿命是一个重要的考量因素。

通过测试计算器在不同使用情况下的电池寿命,可以评估其续航能力。

结论:通过本次实验,我们对计算器的原理和功能有了更深入的了解。

计算器作为一种重要的数学工具,不仅能够进行基本的数学运算,还具备多种高级功能。

通过评估计算器的性能指标,我们可以选择适合自己需求的计算器。

计算器的发展将进一步推动数学学科的发展,为人们的生活和工作提供更多便利。

参考文献:无。

简易计算器实训报告(一)

简易计算器实训报告(一)

简易计算器实训报告(一)简易计算器实训报告实训目的本次简易计算器实训的目的在于让学生了解python语言的基本语法和运算符,同时通过实践操作,提升学生的编程思维和实际应用能力。

实训内容本次实训内容主要包括以下方面:1.简易计算器的基本功能:加、减、乘、除。

2.计算器的界面设计与功能实现。

3.错误处理与异常捕获。

实训步骤步骤一:设计计算器界面在本次实训中,我们采用tkinter库来设计计算器的用户界面。

具体步骤如下:1.创建一个窗口;2.在窗口中添加各种按钮和文本框,用于输入和显示计算结果;3.将按钮按照功能分类,为每个按钮设置对应的事件处理函数。

步骤二:实现基本计算功能根据下拉菜单中所选的运算符,我们可以对输入的两个数进行相应的计算。

具体实现方法如下:1.在计算器窗口中添加一个下拉菜单,用于选择运算符;2.根据所选运算符,获取相应的输入数据,并调用对应的计算函数;3.将计算结果输出到窗口中。

步骤三:错误处理与异常捕获在实际应用中,我们不能保证用户输入的一定是数字,所以我们需要对输入做一些错误处理。

具体方法如下:1.在获取用户输入时,先对输入的字符串进行判断,如果用户输入不合法,弹出提示窗口;2.对于除数为0等异常情况进行相应的异常捕获处理,避免程序崩溃。

实训总结通过本次实训,我们学习了python语言的基本语法和运算符,并通过实践操作,学习了tkinter库的使用方法。

通过本次实训,我们还深入了解了计算器的界面设计和功能实现过程。

此外,我们也学会了一些常用的错误处理和异常捕获方法。

未来拓展本次实训只是简易计算器的基本实现,还有很多可以拓展的功能,如:1.添加科学记数法、三角函数、对数函数、平方根等高级数学运算;2.设计多个数字输入框,实现多操作数的计算;3.添加历史记录功能,记录用户计算过程和结果;4.将计算器移植到移动设备或网页上,提供更为便捷的计算服务。

5.添加输入历史记录及回显功能,便于用户查错和复查。

计算器的使用实训报告

计算器的使用实训报告

一、实训目的随着科技的不断发展,计算器作为一种便捷的计算工具,在我们的日常生活和学习中扮演着重要的角色。

本次实训旨在让学生熟练掌握计算器的使用方法,提高计算效率,同时培养学生严谨、细致的学习态度。

二、实训内容1. 计算器的基本操作(1)开机与关机(2)数字输入与符号输入(3)运算符的使用(4)计算结果的显示与存储2. 高级功能(1)百分比计算(2)三角函数计算(3)指数与对数计算(4)科学计算器中的统计与概率计算3. 计算器的维护与保养三、实训过程1. 讲解与演示教师首先对计算器的基本操作进行讲解,并现场演示如何进行开机、关机、数字输入、符号输入等操作。

接着,教师介绍计算器的高级功能,如百分比计算、三角函数计算、指数与对数计算等,并现场演示其操作方法。

2. 学生实践在教师讲解和演示的基础上,学生开始进行实践操作。

教师巡回指导,解答学生在操作过程中遇到的问题。

3. 小组讨论学生分组讨论,交流各自在操作过程中遇到的问题及解决方法,共同提高计算器的使用技能。

4. 实训总结实训结束后,学生撰写实训报告,总结自己在实训过程中的收获与不足。

四、实训结果通过本次实训,学生掌握了计算器的基本操作和高级功能,提高了计算效率。

以下是部分学生的实训心得:1. 张三:通过本次实训,我学会了如何使用计算器进行百分比计算、三角函数计算等,这对我的学习有很大的帮助。

2. 李四:在实训过程中,我发现自己在操作过程中存在一些错误,通过教师的指导,我改正了这些错误,提高了计算准确性。

3. 王五:实训让我认识到,熟练掌握计算器的使用方法对提高学习效率具有重要意义。

在今后的学习中,我将更加注重计算器的使用。

五、实训总结1. 计算器作为一种便捷的计算工具,在我们的日常生活和学习中具有重要作用。

通过本次实训,学生掌握了计算器的基本操作和高级功能,提高了计算效率。

2. 教师在实训过程中应注重培养学生的实践操作能力,提高学生的计算准确性。

3. 学生在实训过程中要注重总结经验,不断提高自己的计算技能。

实训报告参考(计算器)

实训报告参考(计算器)

实训项目一——Java电子计算器【需求分析】在日常生活中经常需要用到计算器,比如科学计算、数值计算、会计业务等,在Applet中实现一个精巧实用的计算器,可以让用户在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的实用性,同时让用户的操作也更方便与快捷。

本项目需要实现一个简单的四则运算的计算器,拥有加、减、乘、除功能。

【项目目的】理解并掌握Java中的类、对象、继承、方法等概念,以及Applet的基本框架和事件处理的方法。

学会使用JDK编写、调试和运行Java Applet应用程序。

利用awt组件编写一个计算器,实现基本的四则运算。

【项目分解】1、界面设计整个界面由3个面板组成,第1个面板放置输入信息和运算结果的显示文本域以及一个清除输入的按钮。

setLayout方法用于设置容器的布局管理器,这里采用流布局,即FlowLayout,所有放置的组件按大小依次排列。

第2个面板放置数字按钮、点按钮及等于按钮。

在for循环中,依次实例化9个数字按钮,并将按钮用add方法加入到第2面板中。

setForeground方法可为组件设置前景色,这里将按钮文字设置为红色(Color.red)显示,以将功能按钮与数字按钮区分开来。

第3个面板放置4个运算符:加、减、乘、除。

最后,将3个面板放置到Applet中,Applet按照FlowLayout布局,依次加入的3个面板会按照加入的顺序及它们的尺寸放置到合适的位置。

2.事件处理事件处理流程如下图所示:事件处理通过action方法来完成,方法体如下所示:public boolean action(Event e, Object o) {}可通过Event类的target变量来获取事件来源,如下面的语句,将e.target与等于按钮bEqual相比较,如果相符,则事件来源于等于按钮,这里应调用对应的方法处理运算结果,并显示出来。

if(e.target == bEqual) {doOperator();}初始化过程:(1)定义相关组件和变量(2)Applet的初始化(init)(3).事件处理 (actionPerformed)(4).其他自定义方法方法:doOperator,doClear, doForeText按钮输入的处理过程如下:(1)输入数据→ForeText(2)输入运算符→CurrentOpForeText→BackText(第一运算数), ForeText=""CurrentOp→PreOp(3)输入数据→ForeScreen(4)输入运算符→OpCurrent3. 数值运算从输入得到的都是字符串,在运算之前,需要转换成其他数据类型。

计算器设计实验报告

计算器设计实验报告

一、实验目的1. 熟悉数字电路的基本原理和设计方法。

2. 培养学生的动手能力和创新意识。

3. 设计并实现一个功能齐全的计算器。

二、实验原理计算器是一种常见的电子设备,其核心部件为运算单元。

本实验通过设计并实现一个计算器,使学生掌握以下原理:1. 按键扫描电路:用于读取按键信息。

2. 数据存储电路:用于存储输入的数值和运算符。

3. 运算电路:根据输入的运算符进行相应的运算。

4. 显示电路:用于显示运算结果。

三、实验仪器与材料1. 数字电路实验箱2. 计算器原理图3. 连接导线4. 按键5. LED显示器6. 电阻、电容等元件四、实验步骤1. 按键扫描电路设计(1)设计按键扫描电路原理图,包括按键、电阻、二极管等元件。

(2)根据原理图,搭建实验电路,并进行调试。

2. 数据存储电路设计(1)设计数据存储电路原理图,包括寄存器、计数器等元件。

(2)根据原理图,搭建实验电路,并进行调试。

3. 运算电路设计(1)设计运算电路原理图,包括加法器、减法器、乘法器、除法器等元件。

(2)根据原理图,搭建实验电路,并进行调试。

4. 显示电路设计(1)设计显示电路原理图,包括LED显示器、译码器等元件。

(2)根据原理图,搭建实验电路,并进行调试。

5. 整体电路设计(1)根据以上四个部分的设计,设计整体电路原理图。

(2)根据原理图,搭建实验电路,并进行调试。

五、实验结果与分析1. 按键扫描电路按键扫描电路能够正确读取按键信息,实现按键功能。

2. 数据存储电路数据存储电路能够存储输入的数值和运算符,为后续运算提供数据支持。

3. 运算电路运算电路能够根据输入的运算符进行相应的运算,实现加、减、乘、除等基本运算。

4. 显示电路显示电路能够将运算结果正确显示在LED显示器上。

5. 整体电路整体电路能够实现计算器的功能,满足实验要求。

六、实验总结1. 通过本次实验,掌握了数字电路的基本原理和设计方法。

2. 提高了动手能力和创新意识,培养了团队协作精神。

会计计算器训练实训报告

会计计算器训练实训报告

一、实训背景随着我国经济社会的快速发展,会计工作在企业管理中的地位越来越重要。

会计计算器作为会计工作的重要工具,对于提高会计工作效率、保证会计信息的准确性具有重要意义。

为了使学生们更好地掌握会计计算器的使用方法,提高会计核算能力,我校组织开展了会计计算器训练实训。

二、实训目的1. 熟练掌握会计计算器的使用方法,提高会计计算速度。

2. 培养学生运用会计计算器进行日常会计核算的能力。

3. 增强学生实际操作能力,为今后从事会计工作打下坚实基础。

三、实训内容1. 会计计算器的基本操作(1)开机与关机(2)数字输入(3)运算符输入(4)运算顺序(5)清除与存储2. 会计计算器在会计核算中的应用(1)计算货币资金(2)计算应收账款(3)计算应付账款(4)计算固定资产(5)计算存货四、实训过程1. 实训准备(1)组织学生参加会计计算器使用培训,讲解会计计算器的基本操作和会计核算中的应用。

(2)发放会计计算器,确保每位学生都能参与实训。

2. 实训实施(1)学生按照培训内容,自行练习会计计算器的使用。

(2)教师巡回指导,解答学生在实训过程中遇到的问题。

(3)学生分组进行会计核算练习,包括货币资金、应收账款、应付账款、固定资产、存货等方面的计算。

3. 实训总结(1)学生总结实训过程中遇到的问题,分享解决方法。

(2)教师点评学生在实训过程中的表现,指出不足之处,提出改进建议。

五、实训成果1. 学生熟练掌握了会计计算器的使用方法,提高了会计计算速度。

2. 学生能够运用会计计算器进行日常会计核算,为今后从事会计工作打下了坚实基础。

3. 学生在实际操作过程中,提高了自己的动手能力和团队协作能力。

六、实训心得1. 会计计算器在会计核算中的应用非常广泛,熟练掌握会计计算器的使用方法对于提高会计工作效率具有重要意义。

2. 实训过程中,遇到问题要及时向老师请教,与同学交流,共同解决问题。

3. 实训是一个实践过程,只有通过不断练习,才能提高自己的实际操作能力。

会计计算器的使用实训报告

会计计算器的使用实训报告

一、实训时间20xx年x月x日至20xx年x月x日二、实训目的1. 掌握会计计算器的使用方法和技巧。

2. 提高会计核算的准确性和效率。

3. 培养学生严谨细致的工作态度。

三、实训内容1. 会计计算器的功能介绍及操作方法。

2. 常用会计计算器的使用实例。

3. 会计计算器在实际工作中的运用。

四、实训过程1. 会计计算器的功能介绍及操作方法实训教师首先向学员介绍了会计计算器的功能,包括加减乘除、百分比、统计、科学计算等。

接着,详细讲解了会计计算器的操作方法,包括数字键、运算符、功能键等的使用。

2. 常用会计计算器的使用实例实训教师以实际业务为例,演示了会计计算器的使用方法。

例如,计算某项业务的收入、成本、利润等。

学员们跟随教师一起操作,熟悉了会计计算器的使用。

3. 会计计算器在实际工作中的运用实训教师结合实际工作,讲解了会计计算器在会计核算中的应用。

例如,在编制会计报表、计算应交税费、进行财务分析等方面,会计计算器都能发挥重要作用。

五、实训心得1. 会计计算器的使用大大提高了会计核算的效率。

在以前,会计人员需要手动计算数据,耗时费力。

现在,通过会计计算器,可以快速准确地完成计算,节省了大量时间。

2. 会计计算器的使用有助于提高会计核算的准确性。

会计计算器具有自动计算、四舍五入等功能,减少了人为错误的发生。

3. 会计计算器的使用有助于培养会计人员的严谨细致的工作态度。

在实际工作中,会计人员需要具备严谨细致的工作作风,会计计算器可以帮助会计人员养成良好的工作习惯。

4. 会计计算器的使用有助于提高会计人员的综合素质。

会计人员需要掌握多种工具和技能,会计计算器是其中之一。

熟练掌握会计计算器,有助于会计人员在职场中脱颖而出。

六、实训总结通过本次会计计算器的使用实训,学员们掌握了会计计算器的操作方法和技巧,提高了会计核算的准确性和效率。

同时,学员们认识到会计计算器在实际工作中的重要作用,为今后从事会计工作打下了坚实基础。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算器实验报告
计算器实验报告
引言:
计算器是一种广泛应用于日常生活和工作中的电子设备。

它的出现极大地方便
了人们的计算工作,提高了计算的准确性和效率。

本实验旨在深入了解计算器
的原理和工作方式,并通过实际操作,探索计算器的功能和使用方法。

一、计算器的原理和结构
计算器是一种基于数字电路和逻辑电路的电子设备。

它主要由处理器、显示屏、键盘和电源等组成。

处理器是计算器的核心部件,负责执行各种计算操作。


示屏用于显示计算结果和输入的数据。

键盘则用于输入数字和操作符。

电源为
计算器提供电能。

二、计算器的基本功能
1. 四则运算:计算器可以进行加、减、乘、除等基本的四则运算。

用户只需按
下相应的数字和操作符键,计算器即可自动完成计算,并在显示屏上显示结果。

2. 百分数计算:计算器还可以进行百分数的计算。

用户只需输入百分数和相应
的操作符,计算器将自动将百分数转换为小数,并进行计算。

3. 平方根和乘方计算:计算器还具备开平方根和乘方的功能。

用户只需按下相
应的键,输入要计算的数字,计算器将自动进行计算,并在显示屏上显示结果。

4. 括号和优先级计算:计算器支持括号和优先级计算。

用户可以使用括号来改
变计算的顺序,并通过设置优先级来控制计算的顺序。

三、计算器的使用方法
1. 数字输入:用户可以通过按下相应的数字键来输入数字。

计算器一般有0到
9的数字键,用户可以按下多次来输入多位数。

2. 操作符输入:计算器一般有加、减、乘、除等操作符键。

用户可以按下相应
的操作符键来输入操作符。

3. 清除和删除:计算器一般有清除和删除键。

用户可以使用清除键来清除计算
器的显示屏和内存中的数据。

删除键则用于删除输入的数字和操作符。

4. 计算结果:用户可以按下等号键来计算结果。

计算器将根据输入的数字和操
作符进行计算,并在显示屏上显示结果。

四、实验过程和结果
在实验中,我们使用了一款普通的计算器进行操作。

首先,我们按下数字键输
入了一组数字,然后按下操作符键进行四则运算。

我们还进行了百分数计算、
开平方根和乘方等操作。

最后,我们按下等号键,计算器自动完成计算,并在
显示屏上显示结果。

通过实验,我们发现计算器具有快速、准确的计算能力。

它可以帮助人们进行
各种计算工作,提高计算的效率和准确性。

同时,计算器的使用方法简单明了,即使是没有接受过专门培训的人也能轻松上手。

结论:
计算器是一种方便实用的电子设备,它通过数字电路和逻辑电路实现了各种计
算功能。

计算器具有四则运算、百分数计算、开平方根和乘方等功能,并支持
括号和优先级计算。

通过实验,我们发现计算器具有快速、准确的计算能力,
并且使用方法简单明了。

计算器在日常生活和工作中有着广泛的应用,为人们
的计算工作提供了便利。

相关文档
最新文档