项目4 制作简易计算器共55页文档
- 格式:ppt
- 大小:6.11 MB
- 文档页数:20
1 设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务课题:简易计算器任务:设计一个具有特定功能的计算器。
该计算器上电或按键复位后能自动显示系统提示界面,进入准备工作状态。
能实现基本的加、减、乘、除四则运算。
1.2 功能要求说明在本次工程实践中,主要完成如下方面的设计任务:(1)计算器上电或按键复位后能显示初始化界面(2)2秒后进入计算器界面(3)按键能进行加、减、乘、除运算并显示结果(4)按清零键后能进行下一次计算1.3 设计课题总体方案介绍及工作原理说明计算器的总体功能原理是以AT89S52单片机为主要控制核心,通过外接4*4行列式键盘作为控制信号输入源,一块12864液晶作为显示器件,通过按键控制,单片机实时地去执行,在12864液晶上显示界面。
系统控制原理图如图1所示。
图1系统控制原理图2 设计课题硬件系统的设计2.1 设计课题硬件系统各模块功能简要介绍2.1.1 AT89S52控制模块考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、液晶模块的显示控制、复位电路等,我们选择了AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
简易加减计算器设计一、引言计算器是一种用于进行数学计算的设备,它可以帮助我们进行各种加减乘除等运算。
本篇文章将介绍如何设计一个简易的加减计算器,该计算器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。
二、设计思路1.确定输入和输出2.设计加法电路加法可以通过逻辑门电路实现,其中最基本的逻辑门是异或门。
我们可以使用多个异或门来实现加法,具体的实现方法如下:-使用8个异或门分别对两个二进制数的对应位进行异或运算,得到8个中间结果;-使用7个与门分别对中间结果和进位信号进行与运算,得到7个进位信号;-使用7个或门分别对进位信号进行或运算,得到进位输出;-使用一个或门对中间结果和进位输出进行或运算,得到最终的结果。
3.设计减法电路减法可以通过将减数取反然后与被减数进行加法运算来实现。
具体的实现方法如下:-对减数取反,可以使用8个反相器实现;-将取反后的减数和被减数输入到加法电路中进行加法运算,得到结果。
三、电路实现根据上述设计思路,我们可以使用数字集成电路来实现加减计算器。
以下是一个基于数字集成电路74LS83A的简易加减计算器电路图:```______________,---,A+B,----,S_______,,_____________,______---,M,---_______,,_________________-----------,B'+1=B__________```在上述电路图中,A和B分别表示两个8位二进制数的输入,S表示计算结果的输出,M表示减号操作符的输入,B'+1表示减数的取反。
四、测试与验证为了验证电路的正确性,我们需要进行测试。
我们可以编写一个测试程序,将各种情况的输入输入到电路中,并检查输出结果是否符合预期。
测试例子如下:输入:M=0预期输出:输入:M=1预期输出:通过编写测试程序,并根据预期结果检查输出结果,可以验证电路设计的正确性。
五、总结本篇文章介绍了如何设计一个简易的加减计算器,该计算器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。
1一. 设计任务简易计算器的设计制作二.设计内容利用16个4脚按键开关组合成4×4的键盘,4根行线和4根列线接至单片机的另一并行输出口上,作为输出设备;再配合使用电源,时钟电路,复位电路即可构成一基于51单片机的最小输入,输出系统。
三.设计要求1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算。
2、用4×4的键盘作为输入设备。
3、用LED 或LCD 进行显示。
4、编写无符号数加、减、乘、除运算、输入和显示的程序。
5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能。
6、编写课程设计的总结 四.参考选取元器件见附录1 五.设计方案论证液晶显示模块与单片机的连接方式通常有两种,一种为直接访问方式(总线方式),另一种为间接控制方式(模拟口线)。
直接访问方式就是将液晶显示模块的接口作为存储器或I/O 设备直接挂在单片机总线上,单片机以访问存储器或I/O 设备的方式控制液晶显示模块的工作。
间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接,单片机通过 对这些接口的操作,达到对液晶显示模块的控制。
间接控制方式的特点是电路简单,可省略单片机外围的数字逻辑电路,控制时序由软件产生,可以实现高速单片机与液晶显示模块的接口,故本次设计采用间接控制方式。
(1)模拟口线2图2-2-1(2)总线方式图2-2-2六.设计原理1.逻辑框图(由于实际电路与任务电路有部分出入,但原理相同,见图2-2-3)图2-2-3 2.键盘结构及其原理图2-2-4如图2-2-4所示,键盘中有无键按下是由列线送入全扫描字,然后读LCD 显示AT89C51矩阵键盘输入时钟电路 复位电路入行线状态来判断。
具体是:向列线输出全扫描字00H,将全部列线置为低电平,然后将行线的电平状态读入累加器A中。
如果有键按下,总会有一根行线电平被拉至低电平,从而使输入不全为1。
键盘中哪一个键被按下是通过将列线逐列置低电平后,检查行输入状态实现的。
简易电子计算器项目制作一、总体要求请你在四小时(240分钟)内,用YL-236型单片机应用实训考核装置制作成电子计算器模拟装置,具体要求如下:1. 请你仔细阅读并理解电子计算器的工作要求和有关说明,根据你的理解,选择你所需要的控制模块和元器件。
2. 在赛场提供的图纸上画出电子计算器的电气接线方框图,并在标题栏的“工位”上填写你的竞赛工位号。
3. 根据你画出的电气原理图,连接电子计算器的电路。
4. 编写电子计算器的控制程序。
5. 调试你编写的程序,检测和调整有关元器件设置,完成电子计算器的整体调试,使该电子计算器能实现要求的设计功能。
6. 功能调试完毕后,把程序烧写到单片机当中。
二、简易电子计算器基本描述电子计算器由显示单元、运算单元和数字输入单元组成,整体框架如图1所示:1.显示单元显示单元采用8位LED 数码管。
输出形式如图2所示。
当有数字键按下时在数码管个位显示该数字,先前的数字左移一位;输入的数码最高位的“0”不得显示。
如输入“013”三个数字时,显示屏只能显示“13”。
2.运算单元⑴ 要求该计算器能够完成100以内整数(含100)的加减乘除四则运算。
见图3所示;即四则运算符两边参与运算的数字为整数,且不能大于100。
⑵当输入数字大于100或违反运算法则时,在显示屏最高位显示“E ”。
见图4所示;图1 电子计算器系统组成图2 显示要求举例图3 要求参与计算的数都不能大于100⑶运算结果为有小数时,小数部分舍去。
见图5所示;⑷运算结果是负数时要求显示负数。
见图6所示;⑸不要求有连续输入运算功能。
如果计算87-6×12,则只能先算6×12,然后按“CLR ”,再输入87-72(6×12的计算结果)。
换句话说,参与运算的两个数必需手工输入,不得利用先前运算的结果而省去输入一个待运算的数。
(注意:优先级是输入者判断的)如果计算23×56×98,当运算到与98相乘时,需要手工输入23×56的运算结果,由于23×56的值大于100,则不能计算与98相乘的结果。
简易计算器设计范文首先,我们需要决定计算器的基本功能。
一个简易计算器通常应该具备加法、减法、乘法和除法的功能。
此外,我们还可以添加开方、求平方以及取模等功能。
在设计计算器之前,我们需要确定用户界面。
对于一个简易计算器来说,我们可以使用命令行界面或者图形用户界面。
在本文中,我们将使用命令行界面。
接下来我们需要设计计算器的算法。
为了实现加、减、乘、除这些基本运算,我们可以编写四个函数来完成。
比如,加法函数可以接收两个数并返回它们的和,减法函数可以接收两个数并返回它们的差,乘法函数可以接收两个数并返回它们的乘积,除法函数可以接收两个数并返回它们的商。
同时,我们还需要添加一些辅助函数来处理开方、求平方以及取模等功能。
比如,开方函数可以接收一个数并返回它的平方根,求平方函数可以接收一个数并返回它的平方,取模函数可以接收两个数并返回它们的余数。
在设计计算器时,我们还要考虑到用户输入的错误处理。
如果用户输入无效的操作或者除数为零,我们需要给出错误的提示信息。
接下来,我们来设计主要的程序流程。
首先,我们需要显示一个欢迎信息,告诉用户如何使用计算器。
然后,在一个循环中,我们会要求用户输入要执行的操作,然后读取用户输入的操作和操作数。
根据用户的选择,我们会调用相应的函数来执行计算,并输出结果。
接着,我们会继续询问用户是否要继续进行计算。
如果用户选择退出,我们会结束循环并显示一个退出信息。
最后,我们需要编写测试用例来确保计算器的功能正常。
我们可以输入一些固定的操作和操作数,然后验证计算器返回的结果是否正确。
如果测试用例中出现错误,我们需要进行修复。
在编写代码之前,我们还需要选择一个编程语言。
对于一个简易计算器来说,Python是一个非常适合的选择。
Python具有简单易读的语法,能够轻松地实现我们的设计。
下面是本文的设计示例:```python#导入所需的库import math#加法函数def add(x, y):return x + y#减法函数def subtract(x, y):return x - y#乘法函数def multiply(x, y):return x * y#除法函数def divide(x, y):if y == 0:raise ValueError("除数不能为零") return x / y#开方函数def square_root(x):if x < 0:raise ValueError("不能对负数开方") return math.sqrt(x)#求平方函数def square(x):return x ** 2#取模函数def modulo(x, y):if y == 0:raise ValueError("除数不能为零") return x % y#欢迎信息print("欢迎使用简易计算器!")print("请按以下方式输入操作:")print("加法:'a 数1 数2'")print("减法:'s 数1 数2'")print("乘法:'m 数1 数2'")print("除法:'d 数1 数2'")print("开方:'r 数'")print("求平方:'q 数'")print("取模:'o 数1 数2'")#主程序循环while True:#用户输入operation = input("输入操作:")data = operation.splitif data[0] == "a":result = add(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "s":result = subtract(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "m":result = multiply(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "d":try:result = divide(float(data[1]), float(data[2])) print("结果为:", result)except ValueError as e:print("错误:", str(e))elif data[0] == "r":try:result = square_root(float(data[1]))print("结果为:", result)except ValueError as e:print("错误:", str(e))elif data[0] == "q":result = square(float(data[1]))print("结果为:", result)elif data[0] == "o":try:result = modulo(float(data[1]), float(data[2]))print("结果为:", result)except ValueError as e:print("错误:", str(e))else:print("无效的操作")#判断是否继续计算choice = input("是否继续计算?(y/n)")if choice == "n":breakprint("谢谢使用,再见!")```通过以上设计,我们可以在命令行中使用这个简易计算器来执行加、减、乘、除、开方、求平方和取模等操作。
摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
计算器是人们的日常最常见的电子产品之一,它应用极广,发展迅猛,并且不断出现着拥有强大功能的计算器。
此次课程设计实现四位数的加减乘除运算的简易计算器,实现键盘输入,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不十分完善,限制也较多。
完成的计算器经过检验能够完整的实现预设功能,各种细节完善。
具有很高的使用价值。
目录摘要 (1)第一章设计要求 (2)第二章设计思路及原理图 (2)a 思路 (2)b 原理图 (2)c 单片机引脚图 (3)第三章程序图 (3)第四章源程序 (4)第五章课程设计的心得体会 (10)第一章设计要求本次的设计是利用单片机设计简单的计算器,本设计利用单片机的I/O接口设计4×4键盘,8个键依次对应0~3、“+”、“-”、“=”和清除键。
通过检测不同数字键、功能键的按下,可以进行加减乘除运算,并可连续运算。
对应每一个数字键按下的同时,LED显示按下键的值,并显示最后的运算结果。
试验设备:8051单片机、七段四显示数码管一个、导线若干、12MHz晶振一个、计算机。
第二章设计思路及原理图a 思路:首先初始化参数,送LED低位显示“0”,高位不显示。
然后扫描键盘看是否有键输入,若有,读取键码。
判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=”),是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。
利用单片机的I/O接口设计4×4键盘,两行四列分别由单片机的P2.4\P2.5及P2.0-P2.3输入输出数据。
学院课程设计设计课程:信息系统分析与设计题目简单计算器姓名姓名学院学院专业指导教师二O一五年6月20 日目录一、概述 (4)1.1 设计名称 (4)1.2 编写目的 (4)1.3 参考资料 (4)二、需求概述 (4)2.1 功能需求 (5)2.2 响应需求 (5)2.3 精度需求 (5)2.4 故障处理 (5)三、环境 (5)3.1 运行环境 (5)3.2 开发环境 (5)四、可行性分析 (5)五、总体设计 (6)5.1 第一层 (6)5.2 第二层 (6)5.3 第三层 (6)六、详细设计 (6)6.1 逻辑设计 (7)6.2 总体流程图 (7)七、用户界面设计 (9)7.1 界面设计 (9)7.2 操作方式 (10)八、调试与测试 (10)九、源程序清单 (14)十、小结 (17)一、概述1.1 设计名称简单计算器1.2 编写目的设计一个计算器,具有以下功能:1.2.1用图形界面设计一个计算器;1.2.2系统界面上面一行是数字输入对话框和运算符号的下拉列表;数字输入框用来编辑并显示所输入的数字,运算符号下拉列表里面有运算符号+ — * / =,用来实现运算的进行和结束;1.2.3系统界面下面是一个文本框,用来显示输入的操作数和参与运算的运算符号,直到运算符号为等号,输出等号和运算结果。
1.2.4对操作数与运算符号的逻辑输入和循环输入进行处理,实现四则运算的连续运算,并且能对各个操作数和运算符号进行有效的输出;1.2.5当运算符号选择为“=”时,算法结束,输出最后一个操作数、“=”和最终的运算结果。
1.3 参考资料1.3.1 项目来源市场上出现的各种计算器虽然具有强大的功能,但是使用操作上也增加了技术性,并且价格较贵,所以有必要用自己学习的知识来开发一个实用的计算器,使之能在界面和功能上尽量模拟windows操作系统。
应用所学的有关知识,将书面知识和实际需求和应用结合起来,以达到学以致用的目的。
摘要:计算器(calculator ;counter)一般是指“电子计算器”,该名词由日文传入中国。
计算器能进行数学运算。
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备组成。
低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。
使用简单计算器可进行加(+)、减(-)、乘(*)、除(/)、开方(sqrt)、百分数(%)、倒数(1/x)等简单算术计算。
本次设计只完成加(+)、减(-)、乘(*)、除(/)运算。
关键字:加减乘除、优先级、进制转换、数据选择、有效数字、正负1 设计内容与设计要求1、1基本内容:设计一个简易计算器1、2基本要求:①实现最大输入两位十进制数字的四则运算(加减乘除)②能够实现多次连算(无优先级,从左到右计算结果)如12+34×56-78÷90+9=36.75③最大长度以数码管最大个数为限,溢出报警④有正负数区分;⑤除法不能除尽时小数保留2位有效数字1、3扩展要求:能够区分运算优先级(先乘除,后加减)如12+34×56-78÷90+9=1924.132 方案选择能够进行区分优先级的计算,先乘除,后加减。
乘除运算同步进行,从左往右;乘除结束后的数据进行加减运算。
3 系统具体设计3、1总体框架(总电路图附录1)3、2各个模块设计①乘法模块(VHDL附录2)当乘法符号的上升沿的时候读入反馈的结果(包括数据及正负号)并输出到data1、data1_pn;当乘法符号的下降沿的时候读入数据(包括数据及正负号)并输出到data2、data2_pn。
并进行计算,结果的数据由乘法器计算得到;结果的正负号即为两个相乘数据的正负号取异或。
数据为保留两位小数,输出的当成被乘数的数乘上100。
元件例化:②除法模块(VHDL 附录3)当除法符号的上升沿的时候读入反馈的结果(包括数据及正负号)并输出到data1、data1_pn;当除法符号的下降沿的时候读入数据(包括数据及正负号)并输出到data2、data2_pn 。
如何创建一个简单的计算器程序计算器程序是计算机编程中的基本项目之一。
无论是日常的数学运算还是简单的计算任务,计算器程序能够提供方便和效率。
在本文中,我们将探讨如何创建一个简单的计算器程序。
1. 设计界面首先,我们需要设计一个用户界面,使用户能够输入运算表达式并获取计算结果。
一个简单的设计方法是使用文本框和按钮。
文本框用于接收用户输入的表达式,按钮用于触发计算并显示结果。
2. 获取用户输入在程序中,我们需要获取用户在文本框中输入的运算表达式。
为了实现这一点,我们可以使用编程语言提供的输入函数或方法。
例如,Python中的`input()`函数可以用于获取用户输入。
3. 解析表达式一旦获取到用户输入的运算表达式,我们需要解析它以便进行计算。
通常,我们可以使用栈这种数据结构来解析表达式。
栈能够方便地处理运算符的优先级和顺序。
4. 执行计算通过解析表达式,我们可以得到一个数字列表和一个操作符列表。
接下来,我们需要按照运算的顺序执行计算。
对于每个操作符,我们从数字列表中取出相应数量的数字进行计算,并将计算结果放回数字列表。
5. 显示结果计算完成后,我们将结果显示在用户界面中的某个区域中。
可以使用文本框或标签等控件来显示计算结果。
6. 处理错误在设计计算器程序时,我们还需要考虑错误处理。
例如,当用户输入的表达式不符合语法规则或包含除数为零的除法运算时,我们需要给出相应的错误提示。
7. 添加额外功能除了基本的四则运算,我们还可以给计算器程序添加其他功能,如求平方、开方、求正弦等。
这些功能可以根据用户的需求进行扩展。
通过以上步骤,我们可以创建一个简单的计算器程序。
该程序能够接收用户输入的数学表达式,解析并执行计算,并将结果显示在界面中。
这个计算器程序可以帮助用户快速进行基本的数学运算。
当然,如果需要更高级的功能和更复杂的计算,可能需要使用更专业的计算器软件或编程技术。
总结:本文介绍了创建一个简单的计算器程序的基本步骤。
任务(课题)名称任务1 独立按键控制LED灯亮灭授课班级课型理实一体化课时 4 授课时间任务(教学内容)描述本任务主要学习独立按键的工作原理;if语句的应用及独立按键控制LED灯亮灭的程序编写和仿真等内容。
教学目标知识目标会描述独立键盘的工作原理;掌握选择判断语句if的应用;能力目标会编写独立键盘控制LED灯的亮灭的C程序;会调试仿真独立键盘控制LED灯的亮灭的程序电路。
情感态度与价值观目标培养学生自主讨论学习的能力;教学重难点重点判断语句if的应用难点判断语句if的应用教学方法讲授法、分组讨论教学资源多媒体教学设备、PPT、EDA仿真机房教学过程教学环节教学内容知识点与技能点一、布置任务任务描述单片机P1.0连接一个独立按键KEY,当KEY按下时,LED灯亮;当KEY松开时,LED灯灭。
二、新课讲解1.独立式按键工作原理独立式按键是直接用单片机的I/O线构成的按键检测电路,其特点是每个按键单独占用一个I/O口,每个按键的工作不会影响其它I/O线的工作状态。
(2)按键消抖目前常用的按键大部分都是机械式按键,由机械触点构成,通过机械触点的闭合与断开,实现电压信号的高低输入,在键按下及松开瞬间均有抖动过程。
按键消抖方法:硬件消抖:可在按键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖电路。
软件消抖:在单片机检测到有按键的I/O口为低电平时,不是立即认定该键已被按下,而是执行一个5~10ms或时间更长的延时程序后,再次检测I/O口,如果仍为低电平,说明该键的确被按下,这实际上是避开了按键按下时的前沿抖动。
2.选择语句if(1)if语句基本形式:if(表达式){语句;}(2)if—else语句基本形式:if(表达式){语句1;}else{语句2;}3)if—else if—else语句基本形式:if(表达式1)else if(表达式2) {语句2;}else if(表达式3) {语句3;}……else if(表达式m) {语句m;}else{语句n;}1.任务分析单片机P3.0连接一个独立控键,P1.0连接发光二极管。
毕业设计题目简易加减乘除计算器系别专业班级姓名学号指导教师日期设计任务书设计题目:简易加减乘除计算器设计要求: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的许多特性。
一、课程设计的内容设计一个简单计算器要求: 在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
二、课程设计的要求与数据1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力。
三、课程设计应完成的工作1、编写完成相应题目的程序;2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;2) 总体设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;6) 附录:主要源程序代码,含必要的注释。
3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解决问题、运行程序和回答教师提出的问题。
四、课程设计进程安排五、应收集的资料及主要参考文献[1] 谭浩强.C程序设计(第三版)[M],北京:清华大学出版社,2005.9[2] 谭浩强. C程序设计题解与上机指导(第三版)[M],北京:清华大学出版社,2005.7[3] 李春葆曾平刘斌。
C++语言程序设计题典第一版北京清华大学出版社 2003年4月[5] 刘振安刘燕君C++程序设计课程设计第一版机械工业出版社2004年8月发出任务书日期: 2007年 6 月 18 日指导教师签名:计划完成日期: 2007年 6 月 22 日基层教学单位责任人签章:主管院长签章:目录1 设计目的与要求 (5)2 总体设计 (6)3 详细设计 (6)4调试分析 (7)5 总结 (7)6 附录 (8)6 答辩记录(正文处请留出适当空白) (13)7 指导教师意见(正文处请留出十行空白) (13)1 目的与要求课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发及程序调试能力。
《制作简单的计算器》学案第一篇:《制作简单的计算器》学案制作简单的计算器学习要点:数据类型数据类型的转换 +-*/符号判断组合框四舍五入注释一、任务分析简单计算器:输入数值进行加减乘除计算,绘制流程图,确定所需组件。
(1)三个编辑框(输入或显示的数值和结果)(2)一个组合框(放置运算符号)(3)一个标签(放置等号)(4)1个按钮(被单击时激发代码)2、界面设计(可参考上图)3、认识语句(1)到文本():数值转化为文本(2)到数值():到数值(通用型待转换的文本或数值)(3)判断()调用格式:〈无返回值〉判断(逻辑型条件)本命令根据提供的逻辑参数的值,来决定是否改变程序的执行位置,如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到下一分支处去继续判断。
(4)组合框():语句使用可参考E语言知识库4、练习用E语言解决(1)利用组件组建窗体(2)右击组合框,设置“列表项目”,在列表项管理对话框中选择“向后插入空项目”分别输入“+-*/”符号。
点击确定(3)点击组合框属性,在【类型】中选择“不可编辑下拉式”;在【现行选中项】中选择“0”。
(目的避免在组合框中写入不必要的东西)(4)点击【计算】按钮编写程序编辑框3.内容=到文本(到数值(编辑框1.内容)+到数值(编辑框2.内容))(5)利用判断解决加减乘除的运算(6)注意除号的写法:如果输入“/”,符号自动变成“÷”,进行除法运算;如果输入“”,符号自动加粗“ \”,表示进行整除运算(**求出两个数值的商,并返回其整数部分,运算符号为“”。
)E语言代码改成如下:(7)四舍五入:调用格式:〈双精度小数型〉四舍五入(双精度小数型欲被四舍五入的数值,[整数型被舍入的位置])-系统核心支持库->算术运算英文名称:round 返回按照指定的方式进行四舍五入运算的结果数值。
本命令为初级命令。
参数<1>的名称为“欲被四舍五入的数值”,类型为“双精度小数型(double)”。
计算器系统设计一任务和目标做一个简易计算器,可以对两个二位数进行加法和减法运算,例如11+23=34。
我们平常的学习中做过给出两个数进行加减法运算的题目,但是这个题目难点在于这两个要做运算的数未知,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个二位数进行运算,而且做的是加法运算还是减法运算也未知,所以我们还要判断这个运算为加法运算还是减法运算。
另外运算过程中的进位借位,选择什么方式进行输出,如何实现清屏等也是要解决的问题。
二设计原理方案设计首先我们要解决的是输入时是用INT 21H的10号功能调用还是用INT 21H 的1号功能调用来进行输入。
若是用10号功能调用则我们进行多字符输入,可以将输入的字符都存储到一个数据区里面,并调用9号功能调用输出存进去的字符,这种输入和输出的方案是可行的。
我选择的是利用1号功能调用来输入,即把单个字符一个个的输入并存储到一个数据区里。
我们要做的是两个二位数的运算,先认定输入的格式为ab+cd=或者ab-cd=,当然如果输入不是这样的格式计算出来的结果就不一定是我们想要的结果了。
在存储的时候也是有选择的存储,当输入的并非格式里所要求的字符时则报错。
然后我们要判断是做加法运算还是减法运算,即判断输入的运算符是‘+’号还是‘-’号,因为输入的格式固定了,所以只需要把存进数据区的第三个字符拿来和‘+’号进行比较,若相等则进行加法运算,若不等则为减法运算。
在进行运算的过程中会想到到底如何对存进数据区的数据进行提取来作运算,一种方案是将‘+’号或‘-’号之前的两位数提取出来,当然要做一个10a+b的换算,同理将后两位按照这种方式提取出来,最后进行运算。
因为考虑到这种方式在运算时个位或十位进位或者借位的情形比较麻烦,所以我想到了把两个二位数的十位提取出来进行运算存到一个数据区里,个位也同时提取出来进行运算并存到该数据区,在这里把十位和个位拆开来进行运算再考虑进借位时就方便些,并且输出的时候也比较方便。