8279实现的两位数加减乘除计算器实验报告

8279实现的两位数加减乘除计算器实验报告
8279实现的两位数加减乘除计算器实验报告

中国矿业大学

计算机科学与技术学院

硬件课程设计报告

专业:计算机科学与技术

班级:

设计题目:简单计算器

成员:

指导教师:职称:

2012年10月12日

简单计算器

目录

1.设计任务与要求………………………….

2. 8279可编程设置型键盘/显器介绍………

1 8279特点………………………………………………………………..

2 8279引脚说明……………………………………………………………

3 8279结构…………………………………………………………………..

4 8279的控制字………………………………………………………………

3.硬件连接及初级设计说明……………

1 硬件连接……………………………………………………………………

2 计算功能…………………………………………………………………..

3 输入功能…………………………………………………………………

4 三个模块…………………………………………………………………..

5 LED发光显示…………………………………………………………….

4.程序流程图…………………………………

1 键盘读数流程图……………………………………………………………..

2 程序处理流程图……………………………………………………………..

3 显示程序流程图……………………………………………………………..

4 计算过程流程图………………………………………………………………

5 总程序流程图………………………………………………………………..

5.程序设计…………………………………..

1 代码…………………………………………………………………………

6.收获与会…………………………………..

7.参考文献……………………………………

硬件课程设计总体报告

选题:电子计算器

1.设计任务与要求

1.1设计概况

1设计人员:

2设计目标:通过汇编语言编程,再利用硬件课程实验箱实现计算器功能。包括带符号的两位数的加减乘除运算。

3主要工具:硬件课程设计实验箱(8279),HK88TE软件等。

4设计思路:了解设计软件,学习8279的各个方面的知识,了解硬件课程设计试验箱,编写代码,联机,实现计算器,调试,总结。5学习交流

1.2设计需求分析

1计算器基本功能为:

1具有加、减、乘、整除的基本计算功能;

2完成两位数运算

3能够显示按下的数字及计算结果,运算数和结果应小于255;

4应用模块化程序设计的思想,计算及排错功能的实现由计算程序模块实现,显示按下的数字和结果由键盘录入程序模块和显

示程序模块实现,各个模块由主程序联系在一起。

5实现简单报错功能,包括数据溢出报错、不符合计算逻辑报错、输入报错,除法报错;

6能够完成负数运算。

2特殊说明

2.2.1该计算器只针对两位整数设计,并且不能显示算式,不支持

连续输入,对于除法运算,只取整除商和余数,不显示小数。

2.2.2.使用人员需了解一定的汇编知识。

1.3设计任务与要求

利用芯片8279控制键盘和LED,对每一次的键盘输入检查其对应的字符并作出相应操作,其结果体现在LED。比如:用户输入连续数字时,按用户输入的顺序依次显示在LED上;当用户输入加法操作时,LED不变化;当用户再输入第二个数时,再次依次体现在LED上;按“等于号”时其运算结果显示在LED上。

其操作过程与体验与现在普遍使用的计算器相同。

2. 8279可编程设置型键盘/显器介绍

1.1 1. 8279特点

(1)可同时进行键盘扫描及文字显示;

(2)键盘扫描模式(Scanned Keyboard Mode);

(3)传感器扫描模式(Scanned Sensor Mode);

(4)激发输入模式(Strobe Input Entry Mode);

(5)8乘8键盘FIFO(先进先出);

(6)具有接点消除抖动,2键锁定及N键依此读出模式;

(7)双排8位数或双排16位数的显示器;

(8)右边进入或左边进入。16位字节显示存储器。

1.2

2. 8279引脚说明

<1>DB0~DB7:双向数据总线。在CPU与8279间做数据与命令传送。

<2>CLK:8279的系统时钟,100KHz为最佳选择。

<3>RESET:复位输入线。输入HI时可复位8279。

<4>CS:芯片选择信号线。当这个输入引脚为低电平时,可将命令写入

8279或读取8279的数据。

<5>A0:缓冲器地址选择线。A0=0时,读写一般数据;A0=1时,读取

状态标志位或写入命令。

<6>RD:读取控制线。RD=0时,8279输送数据到外部总线。

<7>WR:写入控制线。WR=0时,8279从外部总线接收数据。

<8>IRQ:中断请求。平常IRQ为LO,在键盘模式下,每次读取

FIFO/SENSOR RAM的数据时,IRQ变为HI,读取后转为LO;在传感器模式下,只要传感器一有变化,就会使IRQ变为HI,读取后转为LO。

<9>SL0~SL3:扫描按键开关或传感器矩阵及显示器,可以是编码模式

(16对1)或解码模式(4对1)。

<10>RL0~RL7:键盘/传感器的返回线。无按键被按时,返回线为HI;

有按键被按时,该按键的返回线为LO。在激发输入模式时,为8位的数据输入。

<11>SHIFT:在键盘扫描模式时,引脚的输入状态会与其它按键的状态

一同储存(在BIT6),内部有上拉电阻,未按时为HI,按时为LO。

<12>CNTL/STB:在键盘扫描模式时,引脚的输入状态会与SHIFT以及

其它按键的状态同一储存,内部有上拉电阻,未按时为HI,按时为LO。在激发输入模式时,作为返回线8位数据的使能引脚。

<13>OUTA0~OUTA3:动态扫描显示的输出口(高4位)。

<14>OUTB0~OUTB3:动态扫描显示的输出口(低4位)。

<15>BD:消隐输出线。

1.3 3. 8279结构

I/O 控制和数据缓冲器

双向的三态数据缓冲器将内部总线和外部总线DB0~7相连,用于传送CPU 和8279之间的命令、数据和状态。

控制逻辑

控制与定时寄存器用以寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。

定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz 的内部定时信号。外部时钟输入信号周期不小于500ns 。

扫描计数器

扫描计数器有两种输出方式。一种为外部译码方式,计数器以二进制方式计数。4位计数状态从扫描线SL0~SL3输出,经外部译码器译码出16位扫描线;另一种是扫描计数器的低二位译码后从SL0~SL3输出。

注意:当采用译码输出时,显示只能显示低四位字符。 键输入控制

这个部件完成对键盘的自动扫描,锁存RL0~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO )的RAM 存储器。

FIFO/传感器RAM 和显示RAM

8279具有8个先进先出的键输入缓冲器,并提供16个字节的显示数据缓冲器。

CPU 将段数据写入显示缓冲器,8279自动对显示器扫描,将其内部显示缓冲器中的数据在显示器上显示出来。

移 位

/选通

RL 7~0 SL 4~0

BD

OUTA 3~0, OUTB 3~0

芯片接口控制逻辑

实现8279和单片机接口的内容归纳为芯片接口控制逻辑,主要包括:数据缓冲器

I/O控制电路

中断请求产生电路

键盘接口控制逻辑

按功能分为以下几个部分:

扫描电路

扫描回送电路

去抖动及键码生成电路

键盘存储区FIFO RAM

时序和控制逻辑

1.4 8279的控制字

8279共有8条命令字,其格式与功能如下:

(1)键盘/显示方式设置命令:

D7、D6

D4、D3为显示方式设定位,共有以下四种显示方式,见下表:

表6-5 8279显示方式

D2、D1、D0为键盘/显示工作方式设定位,共有以下7种工作方式见下表:

表6-6 8279键盘/显示工作方式

(2)时钟编程命令:时钟编程命令字格式及功能说明如下:

D7、D6、D5为001,是时钟编程命令特征位。

D4、D3、D2、D1、D0用于设定对CLK输入端输入的外部时钟信号进行分频的分频系数N。若外部时钟频率为2MHz,PPPPP被设置为10100(N=20),即可产生8279内部要求的100KHz基本时钟信号。

(3)读FIFO/传感器RAM命令:读FIFO/传感器RAM命令字格式及功能说明如下:

D7、D6、D5为010,是读FIFO/传感器RAM命令特征位。

D4(AI)为自动递增设定位。当该位为0时,每次读完传感器RAM的数据后地址不变;当该位为1时,每次读完传感器RAM的数据后地址自动加1,下一个数据便从下一个地址读出,不必重新设置读FIFO/传感器RAM命令。

D2、D1、D0为FIFO/传感器RAM地址。

(4

D7、D6、D5为011,是读显示RAM命令特征位。

D4(AI)为自动递增设定位。该位为1时,每次读数后地址自动加1。

D3、D2、D1、D0为显示RAM的存储单元地址。

(5)写显示RAM命令:该命令字格式及功能说明如下:

D7、D6、D5为100,是写显示RAM命令特征位。

D4(AI)为自动递增设定位。该位为1时,每次写入数据后地址自动加1。

D3、D2、D1、D0为待写入显示RAM的存储单元地址。

(6

D7、D6、D5为101,是显示禁止写入/消隐命令特征位。

D3、D2为A、B组显示RAM写入屏蔽位。当D3=1时,A组的显示RAM禁止写入,从CPU写入显示RAM数据时,不会影响A的显示,这种情况通常用于双4位显示器。当D2=1时,可屏蔽B组显示器。

D1、D0为A、B组的消隐设置位。D1(或D0)为1,则对应的A(或B)组显示输出熄灭,该位为0,则显示恢复。

(7

D7、D6

D4、D3、D2为清除显示RAM方式设定位,工作方式见表6-7。

表6-7 清除方式设定

D0为总清除设定位。该位为1时,清除全部显示器RAM及FIFO RAM。

(8

D7、D6、D5为111,是结束中断/出错方式设置命令的特征位。

D4为1时,N键轮回工作方式可工作得特殊出错方式(多个键同时按下);对传感器工作方式,此命令使IRQ变低,结束中断,并允许对RAM进一步写入。

(五)8279状态字

8279的FIFO状态字主要用于键盘和选通工作方式,以指示数据缓冲器FIFO/传感器RAM

D7

示RAM操作无效。

D6为传感器信号结束/错误位。在传感器工作方式时,S/E=1表示传感器的最后一个信号已进入传感器RAM;在特殊错误方式中,D6=1表示出现了多键同时按下错误。该位在执行CF=1的清除命令时被复位。

D5为FIFO/传感器RAM溢出标志位。当FIFO/传感器RAM写满时,若再写入数据,则该位置1。

D4为FIFO/传感器RAM空标志位。当FIFO/传感器RAM已置空时,如果CPU企图读出数据,则该位置1。

D3为FIFO/传感器RAM满标志位。D3=1表示FIFO/传感器RAM已满。

D2、D1、D0表示FIFO/传感器RAM中字符的个数。

在本试验箱中,8279和键盘、LED的连线如下图:

我们发现,原理上8279可以同时控制8个LED和8列键盘,但本试验箱只有6个LED和6列键盘,这是通过少用两根线来实现的。上图74LS138的2号、3号输出线悬空,其余六根线接到了LED和键盘,在写程序时必须要有特殊的处理。虽然我们没有接2、3号LED,但是8279并不知道这件事,还是会向相应的RAM 里送数据,在写程序时,应该人为跳过这两位。同样的,对应的2、3列的键盘也要特殊处理。

不幸的是,我们的试验箱的六个LED和原理图相比是反向连接的:

原理图上位于最左位的LED在实验箱上位于最右边,次左位的位于次右位,也就是说是互为对称的,这带来了极大的不方便,因为不能利用8279出色的控制LED 的功能。举例如下:

假设8279选择左端输入方式,此时显示RAM的第一个单元存有‘1’的七段码,理论上LED最左端会显示1,其余位熄灭,而在本试验箱最右端会显示1,其余熄灭,现在有键按下,比如说是‘2’,如果将其七段码存入显示RAM的第二位,理论上LED最左端会依次显示1、2,其余熄灭;而在本试验箱上从左往右看,前4个LED熄灭,第五个是2,最后一个是1。这样,显示的顺序不能真正代表输入的顺序。要想使显示的顺序真正代表输入顺序,每输入一个字符后都要重新改变显示RAM的每一位,这实际上就是直接操纵LED,也就丧失了8279作为键盘接口的优越性。

3.硬件连接及初级设计说明

3.1硬件连接

这个电子计算器只用到试验箱提供的8279芯片。硬件连线很简单。将8279的地址连到210h即可。过程:从键盘输入,在led 灯显示

2.初级设计说明

3.2.1.计算功能

计算器实现的运算功能如下:

以模块化结构设计为基本思想,将程序分为初始化、读入数字、

加减乘除运算、输出结果4个模块。程序将键盘字符进行分析,将数字依次存入开辟的内存空间并记录次数,根据次数来调整数字相应的大小(例如,输入一个数字则直接保存,在输入一个数字则要把保存的数字乘以10再加上刚刚输入的数字,以此类推)。

遇到操作符后将其先保存到操作判断寄存器中,然后再执行相应的计算或操作。

3.2.2 输入功能

本实验仪提供了一个6×4的小键盘,向列扫描码地址(0e101H)逐列输出低电平,然后从行码地址(0e103H)读回,如

果有键按下,则相应行的值应为低,如果无键按下,由于上拉的

作用,行码为高.这样就可以通过输出的列码和读取的行码来

判断按下的是什么键。在判断有键按下后,要有一定的延时,防

止键盘抖动。列扫描码还可以分时用作LED的位选通信号。

3.2.3.实验程序可分成三个模块:

1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元;

2、显示模块:将显示单元的内容在显示器上动态显示;

3、主程序:调用键输入模块和显示模块。

3.2.

4. LED发光显示

本实验仪提供了8段码数码管LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,采用动态方式显示。8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到。6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显示位。

74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到74LS164中,向显示位选通地址输出高电平就可以点亮相应的显示位。

本实验仪中数据位输出地址为0e102H,时钟位输出地址为0e102H,位选通输出地址为0e101H。本实验涉及到了8155 I0/RAM扩展芯片的工作原理以及74LS164器件的工作原理。

七段数码管的字型代码表如下表:

3.3键盘布局

3.4显示结果

4.程序流程图1.控制原理图

2.输入模块流程图

流程图用到的控制字

控制字00H:键盘/显示方式设置命令,8字符显示,左边输入,编码扫描键盘,双键锁定输出

控制字0D1H:清除命令,将显示RAM全部清0

控制字40H:读写FIFO/传感器RAM命令

控制字0C2H:清除命令, 清空FIFO RAM

3.显示函数流程图

流程图用到的控制字

控制字0D1H:清除命令,将显示RAM全部清0

控制字40H:读写FIFO/传感器RAM命令

4.总体程序流程图

5.程序设计

(最终代码)

Z8279 EQU 212H

D8279 EQU 210H

LEDMOD EQU 00000000B ;左边输入,八位显示,外部译码八位显示DATA SEGMENT

DATA1 DB 0,0,0,0,0 ;第一个数据(作为被减数)

DATA2 DB 0,0,0,0,0 ;第二个数据(作为减数)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START:

PUSH CS

POP DS

PUSH CS

POP ES

MOV DX,Z8279

MOV AL,LEDMOD

OUT DX,AL

;--------------------------------------------------------- MOV DX,Z8279 ;清FIFO RAM寄存器

MOV AL,0D1H

OUT DX,AL

KAISHI: MOV SI,OFFSET DATA1

MOV BX,10

Q1: MOV BYTE PTR[SI+BX-1],'0';数据区清零

DEC BX

JNZ Q1

CALL SHURU ;读取第一个字符;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MOV [SI],AL ;存入第一个字符

MOV BX,1

CALL DISPL

CALL SHURU ;输入第二个字符;;;;;;;;;;;;;;;;;;;;;;;

CMP AL,'0'

JB T1

MOV BL,BYTE PTR[SI]

MOV BYTE PTR[SI],AL

MOV BYTE PTR[SI+1],BL

MOV BX,2

CALL DISPL

CALL SHURU

T1: PUSH AX ;存入运算符

MOV DX,Z8279

MOV AL,0D1H

OUT DX,AL

WAIIT6:

IN AL,DX

MOV BL,AL

AND AL,80H

CMP AL,80H

JE WAIIT6

CALL SHURU ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MOV SI,OFFSET DATA2

MOV BYTE PTR[SI],AL ;输入第三个字符

MOV BX,1

CALL DISPL

CALL SHURU ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CMP AL,'='

JZ T99 ;计算跳转

MOV BL,BYTE PTR[SI] ;输入第四个字符

MOV BYTE PTR[SI],AL

MOV BYTE PTR[SI+1],BL

MOV BX,2

CALL DISPL

CALL SHURU ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

T99: JMP JISUAN

;-------------------------------------------------------------- SHURU PROC ;输入函数

MOV DX,Z8279

MOV AL,0C2H

OUT DX,AL ;置空FIFO寄存器

WAIIT:

NOP

IN AL,DX

MOV BL,AL

AND AL,80H

CMP AL,80H

JE WAIIT ;FIFO正在清除期间则跳转等待

MOV AL,BL

AND AL,0FH

CMP AL,00H

JE WAIIT ;无键按下则等待

MOV AL,40H ;写读FIFO RAM命令字

OUT DX,AL

MOV DX,D8279 ;读入FIFO RAM内容

IN AL,DX

NOP

CMP AL,11

JNZ T101

MOV DX,Z8279

MOV AL,0D1H

OUT DX,AL ;置空FIFO寄存器

WAIIT1:

IN AL,DX

MOV BL,AL

AND AL,80H

CMP AL,80H

编程实验报告---科学计算器设计与实现

《可视化程序编程环境》 实验报告 项目名称科学计算器设计与实现 学院计算机学院 专业班级计算机科学与技术0804 2010年1月9 日

一、设计任务与要求 使学生了解可视化程序设计语言的基础知识,掌握面向对象编程的分析设计方法,以及与面向对象技术相关的一些软件开发技术,掌握在 VisualC++6环境下进行可视化程序设计技术。通过实践具体的项目,为他们进一步开展相关领域的学习和科研打下良好的基础。 二、需求分析 1. 功能需求(功能划分、功能描述) 1、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算 2、科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行 3、以角度、弧度两种方式实现上述部分函数 4、具备历史计算的记忆功能 5、对不正确的表达式能指出其错误原因 2. 运行需求(用户界面、人机接口、故障处理) 根据计算器要实现的相应功能来布局,分为基本功能区,特殊函数区,进制转换区,度数转换区和输出显示区五大基本模块。 三、实验方案 1、总体设计框图 2

3.基本功能区的设计 在这个模块中主要把0到F各个按键按下去后在输出显示区上显示出来列举一例: void Caysf55Dlg::OnBnClickedButton3() {if(zuizong=="0") m_str=""; m_str+="1"; UpdateData(0); if(zuizong=="0") zuizong=""; zuizong+="1";// TODO: 在此添加控件通知处理程序代码 } 接下来从输出显示区获得字符串,通过运算符的相应按键处理:列举加法: void Caysf55Dlg::OnBnClickedButton19()/*加法运算*/ {double zan; if(m_str=="") MessageBox(L"没有运算数"); else if(y==1||M==1) MessageBox(L"只能输入数值"); else if(m_str.GetAt (m_str.GetLength()-1)=='+'||m_str.GetAt (m_str.GetLength()-1)=='-'||m_str.GetAt (m_str.GetLength()-1)=='*'||m_str.GetAt (m_str.GetLength()-1)=='/')

c计算器实验报告

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 6.0中建立一个MFC工程文件,名为calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和单选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在calculatorDlg.h中添加math.h头文件,然后添加public成员。 7)打开calculatorDlg.cpp文件,在构造函数中,进行成员初始化和完善各控件 的响应函数代码。

(3)程序清单: 添加的public成员: double tempvalue; //存储中间变量 double result; //存储显示结果的值 int sort; //判断后面是何种运算:1.加法 2.减法 3.乘法 4.除法 int append; //判断后面是否添加数字 成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = 0.0; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0;

计算机科学与技术第次实验报告.docx

哈尔滨工程大学 《程序设计基础》实验报告 基础实践一 姓名:班级: 学号: 实验时间 :2018年5月10日成绩 哈尔滨工程大学计算机基础课程教学中心 实验题目 1:输入两个整数数组,每个数组有五个整数,将两者和并 并排列输出。 设计思想: 定义三个数组 , 将两组数据存储到第三个数组中 , 再用冒泡排序对其由大到小排序并输出。 实验代码及注释: #include #include #define N 10//宏定义

int main() { int a[5],b[5],c[N];//第一组数据,第二组,合并数组int i,j,t;//循环变量,中间变量 printf("输入第一组数据 :\n");//输入数据 for(i=0;i<5;i++) scanf("%d",&a[i]); printf("输入第二组数据 :\n"); for(i=0;i<5;i++) scanf("%d",&b[i]); for(i=0;i<5;i++) { c[i]=a[i];//两组数据合并 c[i+5]=b[i]; } for(i=0;i

for(j=0;j

复数计算器 实验报告

中南大学 高级程序设计实践(C++)课程设计报告 题目复数计算器 学生姓名 指导教师陈丽萍 学院信息科学与工程学院 专业班级通信工程1301班 完成时间 2014年7月5日

第一章需求分析与程序设计 1.1 需求分析 1.1.1程序设计的目的与任务 1.复习和巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握。 2.为学生提供独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生独立分析问题、解决问题、查阅资料以及自学能力。 3.学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。 4.在程序实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数,以实现预期的功能,解决实际问题。 1.1.2“复数计算器”程序所能实现的功能 1.建立实数类、复数类,复数类由实数类公有继承而来。 2.实现实数、复数信息的初始化。 3.通过选择结构和调用相关函数实现实数的相关运算,包括:两个实数间的加、减、乘、除和一个实数的自增、自减、求平方、二次方根等运算。 4.通过选择结构和调用相关函数实现复数的相关运算,包括:两个复数间的加、减、乘、除、求两个复数的夹角和一个复数的取模、求平方、求共轭复数、求单个复数的向量角等运算。 5.通过调用相关函数实现实数、复数信息的输出,显示在显示屏上。 6.通过多次运用选择和循环结构实现对实数、复数运算的选择,在选择了实数或复数运算的前提下,再实现对各种运算的选择,运算结束后还可以选择继续实现其它运算或退出程序。 1.2 程序设计 1.2.1概要设计 1.系统中的各个实体及它们之间的关系 系统中的实体是实数类对象和复数类对象,它们的关系是复数类对象所属的类是由实数类对象所属的类公有派生而来的。 2.系统的类层次 程序中建立了两个类,分别是实数类、复数类,复数类是由实数类公有派生而来的。 3.主程序的流程以及各程序模块之间的层次(调用)关系 首先从键盘输入数字1或2或0,输入不同数字则进入不同的并列的小程序模块。

数电实验二:简易计算器(实验报告)

数电实验2实验报告 1、设计修改方案 (1)加入编码器连接4选一数据选择器,控制进行运算的种类 (2)修改了输出端数据选择器的程序,使得当计算器没有任何输入时,结果显示保持为0,并且利用芯片自身的灭零管脚,让显示结果中,当十位为零时,十 位的零不显示。

2、实验数据及分析 (1)修改后电路图(附后) (2)仿真波形 设置输入2个4位二进制数为0110(十进制6)和0010(十进制2),计算方式控制SW[3:0]设为0111,即模拟除法操作,加入时钟信号。 ①模拟除法波形: 可以看到十位(商)的数码管显示中,1、2、3、4、7段亮,显示为数字3,而个位(余数)显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6除2商3余0。满足计算要求。 ②模拟乘法波形:(SW[3:0]设为1011,其他输入同上)

可以看到个位的数码管显示中,1、4、5、6段亮,显示为C(化为十进制为12),而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6乘2等于0C,即等于12。当改变输入4和2是,显示结果为8,。满足计算要求。 ③模拟加法波形:(SW[3:0]设为1101,其他输入同上) 可以看到个位的数码管显示中,1、2、3、4、5、6、7段全亮,显示为数字8,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6加2等于08,即等于8。满足计算要求。 ④模拟减法波形:(SW[3:0]设为1110,其他输入同上) 可以看到个位的数码管显示中,2、3、6、7段亮,显示为数字3,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6减2等于03,即等于3。满足计算要求。 从上面加减乘除四种功能运算的波形仿真可以看出,本实验设计能够正确完成对输入数字的上述四种运算。满足题目要求。

vb科学计算器实验报告

西安科技大学 可视化编程语言实验报告 题目:科学计算器 班级: 学号: 姓名: 2010年11月

复杂型科学计算器的设计与实现实验目的 1.通过本实验,进一步理解Visual Basic的编程方法。 2.提高运用Visual Basic编程的能力。 3.培养对所学知识的综合运用能力。 实验类型 综合型。 实验内容与步骤 一.界面设计。

Command5Caption= 三.程序代码: Dim num1 As Single, num2 As Single Dim fu As Integer Dim sign As Integer Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 To 9 sign = Index + 20 Case 10 sign = Index + 20 fu = 1 Case 11 To 14 sign = Index + 20 End Select = "" End Sub Private Sub Command2_Click(Index As Integer) Select Case Index Case 0 To 9 = & Index If fu = 0 Then num1 = Val Else num2 = Val

Case 10 = & "-" Case 11 = & "." Case 12 To 18 = "" sign = Index fu = 1 End Select End Sub Private Sub Command3_Click() If =”” then else = Left$, Len - 1) End if End Sub Private Sub Command4_Click() = "" End Sub Private Sub Command5_Click() Dim n As Integer, cf As Single fu = 0: cf = 1 Select Case sign Case 12 = num1 & "+" & num2 = num1 + num2 Case 13 = num1 - num2 Case 14 = num1 * num2 Case 15 = num1 / num2 Case 18 For n = 1 To num2 cf = cf * num1 Next n = cf Case 20 = Sin(num1) Case 21

单片机实验报告 计算器

单片机原理及其应用实验报告基于51单片机的简易计算器的设计 班级:12电子1班 姓名:金腾达 学号:1200401123 2015年1月6日

摘要 一个学期的51单片机的课程已经随着期末的到来落下了帷幕。“学以致用”不仅仅是一句口号更应该是践行。本设计秉承精简实用的原则,采用AT89C51单片机为控制核心,4X4矩阵键盘作为输入,LCD1602液晶作为输出组成实现了基于51单片机的简易计算器。计算器操作方式尽量模拟现实计算器的操作方式,带有基本的运算功能和连续运算能力。并提供了良好的显示方式,与传统的计算器相比,它能够实时显示当前运算过程和上一次的结果,更加方便用户记忆使用。本系统制作简单,经测试能达到题目要求。 关键词:简易计算器、单片机、AT89C51、LCD1602、矩阵键盘

目录 一、系统模块设计......................................................................................... 错误!未定义书签。 1.1 单片机最小系统 (1) 1.2 LCD1602液晶显示模块 (1) 1.3 矩阵按键模块 (2) 1.4 串口连接模块 (1) 二、C51程序设计 (2) 2.1 程序功能描述及设计思路 (2) 2.1.1按键服务函数 (2) 2.1.2 LCD驱动函数 (2) 2.1.3 结果显示函数 (2) 2.1.4状态机控制函数 (2) 2.1.5串口服务函数 (2) 2.2 程序流程图 (3) 2.2.1系统总框图 (3) 2.2.2计算器状态机流程转换图 (3) 三、测试方案与测试结果 (4) 3.1测试方案 (4) 3.3 测试结果及分析 (7) 4.3.1测试结果(仿真截图) (7) 4.3.2测试分析与结论 (7) 四、总结心得 (7) 五、思考题 (8) 附录1:整体电路原理图 (9) 附录2:部分程序源代码 (10)

c计算器实验报告

c计算器实验报告集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、 乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 中建立一个MFC工程文件,名为calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和 单选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在中添加头文件,然后添加public成员。 7)打开文件,在构造函数中,进行成员初始化和完善各控件的 响应函数代码。 (3)程序清单: 添加的public成员: double tempvalue; 法 2.减法 3.乘法 4.除法

int append; //判断后面是否添加数字 ●成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = ; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0; result=0; sort=0; append=0; } ●各控件响应函数代码: void CCalculatorDlg::OnButton1() //按钮“1” { // TODO: Add your control notification handler code here if(append==1)result=0;

安卓计算器开发实验报告

嵌入式WebOS应用开发 实验报告 实验名称:使用An droid Developer SDK开发应用程序 专业:_________________________ 姓名:__________________________________ 班级:_______________________________ 学号:______________________________ 一、作品的运行环境及安卓SDK基础操作 SDK An droid Developer 是一款在windows系统上运行的针对 An droid应用开发的谷歌官方软件(需要JAVA环境支持)。 1、导入工程 2、建立虚拟机 在运行虚拟机是为保证机器的顺畅运行建议选择分辨率较低的虚拟机,但是其RAM最好设为512MB因为部分程序如果调用资源过大会导致虚拟机无法运行。 3、虚拟机界面 二、作品介绍 我的应用是一个计算器。能实现包括小数的加减乘除运算,结果过大会自动用科学记数法表示,另外还有退格跟清屏功能键。

加应用图标 1.首先在我的桌面上添加你应 用的图标以及文字,双击图标后 项中自行进行挑选; 也可以添加自己的图片, 只要将图片放到对应的 文件夹之下在刷新就可 以,但不建议放分辨率 过高图片可能会出现超 出界面的等错误。 要在xml 界面中添加排版: xml 代码首末的 格式较为自由可以直接在 界面中拖动图标位置以及修改大小,而其他layout 则更会自动排列, 各有优劣。 三、 编程以及运行调试 (一)、在MyDesktop 主界面中添 fin^_ok,prig 世IF it launchiWipng 32E img'O.png jdE im^il.png] 3E img?.pHg 血 imql.pngi 32E img4.png 血 im^S.pngi Tn? imgg.png JJL -mgT.pngj ..1. imy^.png ..1. uiHiprxg 就可以看见对应的代码, 可直接 在代码中进行修改图片文字的 大小颜色等等。 以下是对应图像图标的代码 图片可以在左侧的选 (二)、在 res/layout 目录下新建.xml 文件,由于计算器的按钮很多, TIF charfrc 起 ch^tfrorn_bg_ipTW5&d !S'.pflg ~l <+i?,kbnif^M 口 .股 ch?kbojco#f bsckgrourid^na SE chfkb rn (」]n.hewlcgin 口unci 岱n 评 弧 tlwr^na TTF de^ r o 1 .pnq

BCD计数器实验报告

程序代码: module counter(sa,sb,ma,mb,ha,hb,clk,clear,HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,clkout); input clk,clear; output sa,sb,ma,mb,ha,hb,HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,clkout; reg [3:0]sa,sb,ma,mb,ha,hb; reg [6:0]HEX0,HEX1,HEX2,HEX3,HEX4,HEX5; reg clkout; reg [30:0]i; always @(posedge clk) begin if(i===13499999) begin i=0; clkout=~clkout; end else i=i+1; end always @(posedge clear or negedge clkout) begin if(clear) begin sa<=4'b0; sb<=4'b0; ma<=4'b0; mb<=4'b0; ha<=4'b0; hb<=4'b0; end else if((ha==4)&(hb==2)) begin ha<=4'b0; hb<=4'b0; end else if(ha>9)

begin ha<=4'b0; hb<=hb+1; end else if((ma==9)&(mb==5)) begin ma<=4'b0; mb<=4'b0; ha<=ha+1; end else if(ma>9) begin ma<=4'b0; mb<=mb+1; end else if((sb==5)&(sa==9)) begin ma<=ma+1; sb<=4'b0; sa<=4'b0; end else if(sa==9) begin sb<=sb+1; sa<=4'b0; end else begin sa<=sa+1; end end always@(sa or HEX0) begin case(sa) 4'b0000: HEX0=7'b1000000; 4'b0001: HEX0=7'b1111001; 4'b0010: HEX0=7'b0100100; 4'b0011: HEX0=7'b0110000; 4'b0100: HEX0=7'b0011001; 4'b0101: HEX0=7'b0010010; 4'b0110: HEX0=7'b0000010;

简易计算器设计实验报告

简易计算器设计实验报告 一.设计任务及要求 1.1实验任务: 根据计算器的原理设计一个具有加减乘除功能的简易计算器。如:5+3*4/8=4。 1.2 实验基本要求: (1)实现最大输入两位十进制数字的四则运算(加减乘除)。 (2)能够实现多次连算(无优先级,从左到右计算结果)。 如:12+34*56-78/90+9=36 (3)最大长度以数码管最大个数为限,溢出报警。 二.实验设计方案 (1)用QuartusII的原理图输入来完成系统的顶层设计。 (2)用VHDL编写以及直接拖模块来各功能模块。 (3)通过2个脉冲分别实现个位数和十位数的输入。 (4)通过选择每次的输出数值,将输出值反馈到运算输入端 (4)通过除法运算实现十六进制到十进制的转换输出。 其具体实现流程图如下:

三系统硬件设计 FPGA: EP2C5T144C8目标板及相应外围硬件电路。(从略) 四系统软件设计 1.数据输入模块 原理:用VHDL创建模块,通过两个脉冲分别对两个数码管进行输入控制,再通过相应运算模块将两个独立数据转化成两位十进制数字。 2.运算模块 原理:用VHDL创建模块,四种运算同步运行,通过按键加、减、乘、除选择输出对应的计算结果,当按键等号来时,将所得结果反馈给运算模块输入端。具体实现代码见附录二。 3.输出模块 原理:用VHDL创建模块,通过按键等号来控制显示运算对象还是运算结果,当等号按下时,输出计算结果,否则显示当前输入的数据,并且通过除法模块将十六进制转化为十进制。当输出结果溢出是LED0亮,同时数码管显示都为零。部分实现见附录二。 五实验调试 输入数据12,再按加法键,输入第二个数字25,按等号键,数码管显示37;按灭加法、等号键,输入第二个数据2,依次按等号键,减法键,数码管显示35;同上,按灭减法键、等号键,输入第三个数据7,依次按等号键,除法键,数码管显示5;按灭除法键、等号键,输入第四个数据99,依次按等号键,乘法键,数码管显示495,按灭乘法键、等号键,当前显示为99,依次按等号键、乘法键,数码管显示49005,同上进行若干次之后,结果溢出,LED0亮,同时数码管显示都为零。当输出为负数时,LED0灯变亮,同时数码管显示都为零。六实验结论 本实验基本实现了计算器的加减乘法运算功能,但是存在一个突出的缺陷,就是当输出结果时,必须先按等号键导通数据反馈,再按运算键选择输出结果。这与实际应用的计算器存在很大的差距。但是,本设计可以通过等号键实现运算对象和运算结果之间的切换。

MFC计算器实验报告

实验报告一——计算器 一实验名称 简易计算器 二实验目的 在Visual C++.EXE开发环境中,通过编写计算器程序,掌握创建对话框的方法,并向其中添加控件,并设置属性,使之满足程序的要求。 三编程思路 计算器要实现各种运算,在编写中主要分为两大块的编写,一是对1、2、3等数字按钮的响应函数编写,二是对加减乘除等运算符按钮的响应函数的编写。 给Dlg添加变量int m_operator; //运算符 double m_result; //结果(含中间变量) 另外添加编辑框的变量m_res 1.对数字按钮的响应函数的编写 1)由于每个按钮的响应函数相差不大,故用一个函数将其封装 在每次输入时要先判断数据开头是否为0 void CMy0710210202CalculateDlg::button(CString c) { UpdateData(TRUE); m_res+=c; if(m_res.GetAt(0)=='0'&&m_res.Find(".")==-1){ m_res.Empty(); m_res+=c; } UpdateData(FALSE); } 2)小数点按钮的响应函数。 首先要判断输入数据中是否已有小数点,数据是否为0,以及是否还没输入数据。 void CMy0710210202CalculateDlg::OnDian() { // TODO: Add your control notification handler code here UpdateData(TRUE); int n=m_res.Find("."); if(n==-1&&m_res.GetLength()!=0) m_res+="."; else if(m_res.GetLength()==0)m_res+="0."; UpdateData(FALSE); } 2.运算符按钮的响应函数的编写 用m_operator指代要进行的运算,由于每次的运算结果m_result 都传入了编辑框的变量m_res里,故此程序可以实现连续运算。 代码为 void CMy0710210202CalculateDlg::Result() { UpdateData(TRUE);

计算机科学与技术实验报告

哈尔滨工程大学《程序设计基础》实验报告 基础实践二 姓名:王明班级: 学号: 实验时间: 2017 年 5 月 8 日 哈尔滨工程大学计算机基础课程教学中心 实验五 实验题目1: 输入两个整数数组,每个数组有5个整数,将两者合并并排序输出。 设计思想:定义两个5个元素的数组,一个10个元素的数组,数据类型为整型,通过for循环输入前两个数组的值,并依次存入第三个数组中。另外编写排序函数,在主函数中调用对第三个数组中的元素排序并输出。 实验代码及注释: #include<> #include<>

void f1(int *a, int i, int j) { int m, n, c; int k; m = i; n = j; k = a[(i + j) / 2]; do { while (a[m]k&&n>i) n--; if (m <= n) { c = a[m]; a[m] = a[n]; a[n] = c; m+=1; n-=1; }

} while (m <= n); if (mi) f1(a, i, n); } int main() { int a1[5],a2[5],c[10]; printf("请输入两个数组,每组五个整数:\n"); for(int i=0;i<5;i++) scanf("%d %d",&a1[i],&a2[i]); for(int i=0;i<5;i++) { c[i]=a1[i]; c[i+5]=a2[i]; } f1(c,0,9); printf("排序后为:\n");

JAVA计算器实验报告

实验:计算器java程序 班级:XXXXXXX 姓名:XXXXX 学号:XXXXXXXX 实验地点:XXXXX 一、实验目的: 通过制作一个计算器让我们了解到组件的运用以及如何制作一个窗口,怎么样使用各种布局管理器,怎么样注册事件的监听,以及怎么样设置按钮或者说组件的监听程序,学会使用java语言的语法规则,掌握接口的使用,了解组建的背景颜色的设置等方法。 二、实验要求: 1.编写一个java计算器程序; 2. 运用组件的方法来布局窗口,运用接口,事件监听程序来完成计算器的功能。 三,实验步骤 1、新建一个类,注册各种组件; 2、获取窗格;设置布局管理器; 3、为各个组件注册监听程序; 4、设置组件的事件监听程序; 5、运行程序,对结果进行截图; 四,设计思路: 1.界面设置布置模块: 使用了awt,swing的类里面的方法来完成界面的布置。其中,容器布置选择了BorderLayout方法来布置面板,选择了GirdLayout方法来布置按钮。 文本区域接收字符从数字按钮的监听中获得。按钮是常规思路添加到面板上。并为按钮注册监听。 2.监听程序思路: 使用tf.getText()+"n"来实现获得文本区域显示按钮字符串,n等于所设置监听的数字按钮。tf.setText()来保存并输出获得的字符串。

使用Double.parseDouble()实现文本区域字符串转换成Double 型数据来完成计算。把ft.setText()中的字符转换成数字。 使用biaozhi==n。的方法来获得启发值。完成运算符按钮的监听。构造方法,运用biaozhi=n,来完成加减乘除小数点的不同运算。 运算后获得结果flag3。ft.setText()获得值显示在文本区域上3.数字按钮输入使用循环会更加简单,减少了十个数字按钮的逐个输入,添加,注册监听 for (int i=0;i<=9;i++){ btn[i]=new Button(String.valueOf(i)); centerPanel.add(btn[i]); btn[i].addActionListener(); } 五,程序实现: package yyy; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.Button; import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 public class jisuanqi8{ //新建对象,在构造函数中进行初始化 JFrame f;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”

C#计算器实验报告

C#计算器实验报告 班级:2010134 学号:201013432 姓名:蔡启林

一实验目的和要求 设计一个简单计算器,具有一般计算功能,能进行基本的加减乘除运算,还具有求根号,倒数等功能。特点是能进行不同进制的运算和不同进制间的转换。主要的工作主要是操作数与被操作数进行简单的加、减、乘、除运算来完成基本的,而且还可以进行简单的科学运算例如计算一个数的平方、开方、正弦、余弦、log、ln等操作 还可以计算面积、周长、体积和表面积等。通过新的技术和新方法来实现计算功能 显示界面为Windows From窗体。 二功能模块设计 标准计算器 通过Windows Form窗体中的对应按钮 接受用户输入数据提交对应的方法中来完成相应的功能计算 再将结果显示在显示框内。显示界面为Windows From窗体。 下面是一个简单的计算器的基本功能: 1 加法 两个数据进行加操作 可以为小数。 2 减法 两个数据进行减操作 可以为负数相减。 3 乘法 两个数相乘 4 除法 两个数相除 5 倒数 可以求得一个数的倒数 6 开方 开方后的结果可以精确到16位。 科学计算器 1 平方 接收的数相乘 结果保留一位小数。 2 立方 接收的数相乘两次 3 正弦 正弦结果精确度同开方。 4 余弦 余弦结果精确度同上。 5 Log Log运算精确到16位。 6 Ln 以e为底的对数。 7 二进制 二进制数的运算 8 八进制 八进制数的运算 9 十进制 十进制数的运算 11 十六进制 十六进制的运算 12 倒数 可以求得一个数的倒数 13 开方 开方后的结果可以精确到16位。 14 颜色

可以选择输入字体的颜色 三设计界面 标准型 科学型 四详细设计过程 (一)打开VS2010创建项目

大学生计算机实验报告(完整版)

《大学计算机基础》实验3.1 文件和文件夹的管理 实验报告 专业班级:经贸1103 姓名——- 学号201118910315 指导教师:———完成时间:2011.10 一、实验题目 文件和文件夹的管理 二、实验目的 1.熟悉Windows XP的文件系统。 2.掌握资源管理器的使用方法。 3.熟练掌握在Windows XP资源管理器下,对文件(夹)的选择、新建、移动、复制、删除、重命名的操作方法。 三、实验内容 1.启动资源管理器并利用资源管理器浏览文件。 2.在D盘创建文件夹 3.在所创建文件夹中创建Word文件。 4.对所创建文件或文件夹执行复制、移动、重命名、删除、恢复、创建快捷方式及设置共享等操作。 四、实验步骤 (一)文件与文件夹管理 1.展开与折叠文件夹。右击开始,打开资源管理器,在左窗格中点击“+”展开,点击“—”折叠 2.改变文件显示方式。打开资源管理器/查看,选择缩略、列表,排列图标等

3.建立树状目录。在D盘空白处右击,选择新建/文件夹,输入经济贸易学院,依次在新建文件夹中建立经济类1103班/王帅、王鹏 4..创建Word并保存。打开开始/程序/word,输入内容。选择文件/另存为,查找D盘/经济贸易学院/1103班/王帅,单击保存 5.复制、移动文件夹 6.重命名、删除、恢复。右击文件夹,选择重命名,输入新名字;选择删除,删除文件 7.创建文件的快捷方式。右击王帅文件夹,选择发送到/桌面快捷方式

8.设置共享文件。右击王帅,选择属性/共享/在网络上共享这个文件/确定 9.显示扩展名。打开资源管理器/工具/文件夹选项/查看/高级设置,撤销隐藏已知文件的扩展名 (二)控制面板的设置。 1.设置显示属性。右击打开显示属性/桌面、屏幕保护程序 2.设置鼠标。打开控制面板/鼠标/按钮(调整滑块,感受速度)、指针 3.设置键盘。打开控制面板/键盘/速度(调整滑块,感受速度)、硬件 4.设置日期和时间打开控制面板/日期和时间 5.设置输入法。打开控制面板/区域与语言选项/详细信息/文字服务与输入语言

实验报告 编写一个简易实用的计算器。

开课实验室:现代信息交流中心40*开课时间:2012年**月**日实验报告:年月日 一、实验目的:熟悉Java图形用户界面的开发原理与技术,包括各种组件和容器技术。 二、实验内容: 编写一个简易实用的计算器。 三、源代码清单: package exp3; import Result extends Panel { TextField tf; Result() { tf = new TextField("0", 25); add(tf); } } class Key extends Panel { Button backSpace, clearEnter, cancel,lBracket,rBracket; Button one, two, three, four, five, six, seven, eight, nine, zero; Button add, subtract, multiplay, divide; Button sqrt, reciprocal, mod; Button positiveAndNegative, point, equal; Key() { setLayout(new GridLayout(5, 5)); backSpace = new Button("←"); (new Color(255, 0, 0)); add(backSpace); clearEnter = new Button("CE"); (new Color(255, 0, 0)); add(clearEnter); cancel = new Button("C"); (new Color(255, 0, 0));

计算器实验报告 (1)

HTML网页实验报告 院系:计算机控制与工程学院 班级:计124-1 学号: 姓名: 完成日期:2014年12月18日

一.实验名称:设计一个网页计算器 二.需求分析: 计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。要实现计算功能,可以用HTML的知识编写程序来解决此问题。该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。该计算器使用非常简单和方便,对广大学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。 三.实验目的: 1.熟悉html5图形用户界面的设计原理和程序结构 2.能设计复核问题要求的图形用户界面程序 3.熟悉javascript css、button和table的组合 4.会应用button和table组件进行应用程序设计 四.实验硬件软件环境: 1.Dreamweaver开发环境 五.详细内容: 使用《网页设计与开发》课程讲授内容,编写一个简单的计算器,要求实现如下功能: 1.进行图形界面设计 通过图形界面设计,掌握文本框、标签及按钮的使用方法。 2.实现计算器的基本功能 计算器的设计按软件工程的方法进行,网页具有良好的界面;

必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作。即可单击按钮进行操作,也可直接通过键盘直接输入。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。包含的功能有:加、减、乘、除运算,开方、求倒数等功能.计算器的扩展功能 包括乘方、对数、正弦、余弦、正切、余切、反正弦、反余弦、反正切、反余切等功能。 4.计算器工作流程图 六.实验设计: 1、实验算法设计

简单的计算器实验报告

HUNAN UNIVERSITY 程序设计训练 ——简单的计算器 报告 学生姓名田博鑫 学生学号 20110407110 专业班级工业工程(1)班 指导老师吴蓉晖 2012年6月16日至2012年7月10日

1.程序设计目的和要求 目的: 此次程序设计的目的主要是为了我们能更好的理解和熟悉C语言这门计算机课程,自己有对计算机程序设计的的初步认识。 要求: 运用相关知识,查阅相关资料,编写一个简单的计算器,能够实现简单的基本的加减乘除运算,在计算器工作时利用键盘或鼠标进行相应操作。程序基本功能要求实现完整,并有简单的验证。在计算器运行中,输入数据时如果输入错误的情况,能够通过键盘上的退格键进行删除,并且重新输入正确的数据。在数据输入完成,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行调整。 2.程序设计的任务和内容 这个简单的计算器要求能够进行简单的四则运算,要求运用所学的知识和查阅相关的资料来完成这个简单的计算器的设计,要求这个简单的计算器尽量在windows界面下进行,计算器界面不做要求。该简单的计算器包含有基本的四则运算、正弦函数、余弦函数、正切函数、余切函数、平方、开方,以及平均值、标准差、方差的运算。 3.程序设计说明 该简单的计算器能进行基本的四则运算和乘方,开方,以及三角函数的运算。操作需要逐步根据提示来完成所要进行的运算。比如要进行81的开方运算的话首先在屏幕上可以看到开放运算的命令是5,所以先要输入5,然后再输入要开方的数据81可以在屏幕上看到运行的结果。 4.详细设计说明包含流程图

5.程序的调试及结果 调试与运行(没有错误)

科学计算器课程设计报告C课程设计修订稿

科学计算器课程设计报告C课程设计 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

计算机科学与技术学部 C++课程设计 题目科学计算器 学部计算机科学与技术 班级计科1103 指导教师李军 姓名刘明 学号 2012年6月27日

摘要 计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。 在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows 7环境下,使用VC++ 进行编写。 简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能等。我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。 关键词:计算器;运算;VC++等

相关文档
最新文档