当前位置:文档之家› 计算机组成原理算法实现 课程设计说明书

计算机组成原理算法实现 课程设计说明书

计算机组成原理算法实现 课程设计说明书
计算机组成原理算法实现 课程设计说明书

课程设计说明书

计算机组成原理算法实现(四)

专业 计算机科学与技术

学生姓名 王亚飞 班级 D 计算机132 学

1320704223 指导教师 花小朋 完成日期

2016年1月22日

1 课程设计目的

本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。

2 课程设计内容与要求

2.1 题目

计算机组成原理算法实现(四)

2.2 功能

能够实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

(1)系统进入(主)窗体的设计:菜单需要在输入口令正确后方可激活使用。口令输入错误时要给出重新输入口令的提示。

(2)选择主窗体中“定点小数真值还原”时进入下图所示的窗体:

在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。输入一个定点小数形式的机器数(如:1.1001)后,按“原—〉真值”、“反—〉真值”、“补—〉真值”或“移—〉真值”按钮中的任一个后,将在第二个文本框中显示对应的真值。选择“返回”按钮时回到主窗体。

(3)选择主窗体中的“定点小数单符号位补码加减运算”时进入如下图所示的窗体:操作时首先选择“输入”按钮输入参与运算的数据,然后再选操作按钮。当单击“加法”、“减法”第三、四个文本框显示对应的结果。选择“返回”按钮时回到主窗体。

(4)选择主窗体中的“定点小数原码乘法”时进入如下图所示的窗体:操作时首先选择“输入”按钮输入参与运算的数据,然后再选操作按钮。当单击“乘法”时第三个文本框显示对应的结果。选择“返回”按钮时回到主窗体。

(5)选择主窗体中的“浮点数的加减运算”时进入下图所示的窗体:先选择“输入”按钮输入参与运算的数据,再选操作按钮。当单击“加法”和“减法”时下列文本框显示对应的结果:加法的阶码和尾数、减法的阶码和尾数。选择“返回”按钮时回到主窗体。

(6)选择主窗体中的“帮助”进入下图所示的窗体:阅读完文字后,可使用“关闭”按钮返回主窗口。

3 功能模块详细设计3.1 功能介绍

3.2实现方法

(1)登录界面

设计思路

界面:整个布局使用了LinearLayout,设置 android:orientation="vertical"就可以让所有控件以水平方式来排列,LinearLayout作为容器来承载控件,布局中第一个控件是TextView,值为“计算机组成原理算法实现(4)”,第二个控件是EditText,EditText是文本输入框,最后一个控件是Button控件,用于确定来绑定事件。

功能:Buttton绑定了一个监听点击的一个事件,在这个方法体中,主要写了,获得EditText的字符串消息和Intnet跳转,Intent是Android中的一个类,用于控件不同地Activity跳转,从而实现可以在手机上看到不同的画面,这里的Intent 跳转到主界面,这也是程序的唯一入口地址。当口令正确,就可以进入主界面,如果连续三次错误程序将被锁死,无法打开。

(2)主界面

设计思路

界面:在主界面中使用了NavigationView,NavigationView采用最Google最新的Material Design,它是一个很新并且重要的Material Design组件。在Material Design中,Navigation drawer导航抽屉,被设计用于应用导航,提供了一种通用的导航方式,体现了设计的一致性。

而NavigationView的典型用途就是配合之前v4包的DrawerLayout,作为其中的Drawer部分,即导航菜单的本体部分。NavigationView是一个导航菜单框架,使用menu资源填充数据,使我们可以更简单高效的实现导航菜单。它提供了不错的默认样式、选中项高亮、分组单选、分组子标题、以及可选的Header。

功能:这里的导航菜单设置了四个ITEM,分别是“机器数的真值还原”,“定点小数符号位的补码加减运算”,“定点小数原码的乘法运算”和“浮点数的加减运算”,点击对应的ITEM分别会跳到相应的界面,从而实现了界面的跳转,具体的操作将会在别人Activity处理。

(3)机器数的真值还原

设计思路

界面:在这个UI中,设置了较多的控件,首先第一个是EditText,用于输入信息,第二个和第三个控件都是TextView,不同的是第一个只是用来提示用户下面是真值,所以这里的Text属性就被设置了“真值是”,第三个真正用来显示所求的结果的,然后依次放了几个Button,用来触发事件。

功能:第一个Button是原码求真值的,我们所输入的是定点小数所以是符合原码的不用再做处理,第二个Button是“反码-->真值”,当得到所输入的数据后,对这个定点小数小数点以后的数据进行取反,取反的数据再与符号位连接起来就得到“反码-->真值”的值了。第三个Button是用来“补码-->真值”,因为补码是在反码基础上取反加1就好,所以可以复用求反码的方法,在此基础上加1,便取到补码到真值的值了。第四个Button是“移码”复用第三个Button的方法,只要对符号位替换掉就好了。

(4)定点小数的单符号位的补码加减运算

设计思路

界面:UI布居中,有两个EditText,分别输入两个定点小数,两个TextView用来显示求和的结果,和相减的结果,四个Button按钮用来触发事件。

功能:

点击“减法”会获得两个输入框中补码相加的结果,在TextView中显示,点击“加法”会对两个输入框的值进行相加,加的结果会显示在TextView中,以供用户观察。点击“返回”会直接退出这个界面,回到主界面,点击“清除”会清除输入框中的值。代码处理首先是取得两个ExitText中的值,程序得到的值会进行判断是正是负,如果是正的直接处理,如果是负的会把它写成加一个负数的形式,调用相

加的方法,最后加上符号位,最后返回一个字符串。

(5)定点小数原码乘法运算

设计思路

界面:UI中有两个EditText,一个TextView以及三个Button。

功能:点击输入会获得第一个EditText的焦点,点击乘法会对两个输入框的值进行相乘,乘的结果会显示在TextView中,以供用户观察。点击“返回”会直接退出这个界面,回到主界面。定点小数原码乘法的原理是,符号位相同得正,不同为负,然后对后边字符串中的内容进行遍历,第一个数的最后一位依次与第二个数的个个位置的数相乘,保存在一个字符串数组中,最后对这个数组进行二进制加法运算,返回这个结果。

(6)浮点数的加减运算

设计思路

界面:UI布居中,有四个EditText,分别输入两个浮点小数,四个TextView用来显示求和的结果,和相减的结果,四个Button按钮用来触发事件。

功能:点击“输入”会获得第一个EditText的焦点,点击乘法会对四个输入框的值进行浮点数加减,乘的结果会显示在TextView中,以供用户观察。点击“返回”会直接退出这个界面,回到主界面。

4 设计小结

为期一周的课程设计就这样结束了。在程序设计的时也遇到了很多的问题,刚刚看到这个题目时觉得挺简单,后来慢慢的发现并非如此。当你真正要去做一个东西的时候,会面临比平常多的问题。

经过本次课程设计,发现做软件真的需要做很多工作,不仅仅是敲代码。

通过此次课程设计,使我更加扎实的掌握了有关Android方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,

计算器说明书

Java程序设计说明书 设计题目:Java计算器 学生姓名: 指导教师: 专业名称:计算机科学与技术所在院系:

目录 摘要2第1章计算器概述 1.1设计目的 4 1.2功能模块设计 4 1.3系统功能图 4 设计实现的详细步骤 2.2.1 计算器界面7 2.2.2 界面设计代码7 2.3程序运行效果9 第3章设计中遇到的重点及难点 (13) 3.1 设计中的重点 (13) 3.2 设计中的难点 (13) 3.2.1 设计难点1:布局 (13) 3.2.2 设计难点2:代码 (13) 3.2.3设计难点3:运行结果 (14) 3.3 本章总结 (14) 第4章本次设计中存在不足与改良方案 (15) 4.1设计不足 (15) 4.2改良方案 (15) 4.3本章总结 (18) 结论 (19) 参考文献 (20)

JAVA课程设计说明书 摘要 一、计算器概述 1、1设计计算器的目的: 该计算器是由Java语言编写的,可以进行十进制下的四则运算(加、减、乘、除)、开平方、百分号、求倒数,还可以实现其他按钮的功能。添加了一个编辑、查看、帮助的主菜单并能实现其功能。Backspace 表示逐个删除,CE 表示全部清除,C 表示一次运算完成后,单击“C”按钮即可清除当前的运算结果,再次输入时可开始新的运算,MC 表示清除储存数据,MR 表示读取储存的数据,MS 表示将所显示的数存入存储器中,存储器中原有的数据被冲走,M+ 表示计算结果并加上已经储存的数。界面类似Windows 自带的计算器。 该计算器围绕Java编程语言在编程方面的具体应用,论述了使用面向对象方法,对计算器程序进行需求分析、概要设计、详细设计,最后使用Java编程实现的全过程。在编程使用Java语言,是目前比较流行的编程语言。在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。 关键词:Java语言、标准、计算器

算法设计与分析课程设计(完整版)

HUNAN CITY UNIVERSITY 算法设计与分析课程设计 题目:求最大值与最小值问题 专业: 学号: 姓名: 指导教师: 成绩: 二0年月日

一、问题描述 输入一列整数,求出该列整数中的最大值与最小值。 二、课程设计目的 通过课程设计,提高用计算机解决实际问题的能力,提高独立实践的能力,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。提高适应实际,实践编程的能力。在实际的编程和调试综合试题的基础上,把高级语言程序设计的思想、编程巧和解题思路进行总结与概括,通过比较系统地练习达到真正比较熟练地掌握计算机编程的基本功,为后续的学习打下基础。了解一般程序设计的基本思路与方法。 三、问题分析 看到这个题目我们最容易想到的算法是直接比较算法:将数组的第 1 个元素分别赋给两个临时变量:fmax:=A[1]; fmin:=A[1]; 然后从数组的第 2 个元素 A[2]开始直到第 n个元素逐个与 fmax 和 fmin 比较,在每次比较中,如果A[i] > fmax,则用 A[i]的值替换 fmax 的值;如果 A[i] < fmin,则用 A[i]的值替换 fmin 的值;否则保持 fmax(fmin)的值不变。这样在程序结束时的fmax、fmin 的值就分别是数组的最大值和最小值。这个算法在最好、最坏情况下,元素的比较次数都是 2(n-1),而平均比较次数也为 2(n-1)。 如果将上面的比较过程修改为:从数组的第 2 个元素 A[2]开始直到第 n 个元素,每个 A[i]都是首先与 fmax 比较,如果 A[i]>fmax,则用 A[i]的值替换 fmax 的值;否则才将 A[i]与 fmin 比较,如果 A[i] < fmin,则用 A[i]的值替换 fmin 的值。 这样的算法在最好、最坏情况下使用的比较次数分别是 n-1 和 2(n-1),而平均比较次数是 3(n-1)/2,因为在比较过程中,将有一半的几率出现 A[i]>fmax 情况。

数据结构,课程设计,校园最短路径问题

一、课程设计题目:校园最短路径问题 二、课程设计目的: 1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所具备的科学工作方法和作风。 三、课程设计要求: 1.设计的题目要求达到一定的工作量(300行以上代码),并具有一定的深度和难度。 2.编写出课程设计报告书,内容不少于10页(代码不算)。 四、需求分析: 1、问题描述 图的最短路径问题是指从指定的某一点v开始,求得从该地点到图中其它各地点的最短路径,并且给出求得的最短路径的长度及途径的地点。除了完成最短路径的求解外,还能对该图进行修改,如顶点以及边的增删、边上权值的修改等。 校园最短路径问题中的数据元素有: a) 顶点数 b) 边数 c) 边的长度 2、功能需求 要求完成以下功能: a)输出顶点信息:将校园内各位置输出。 b)输出边的信息:将校园内每两个位置(若两个位置之间有直接路径)的 距离输出。 c)修改:修改两个位置(若两个位置之间有直接路径)的距离,并重新输 出每两个位置(若两个位置之间有直接路径)的距离。 d)求最短路径:输出给定两点之间的最短路径的长度及途径的地点或输出 任意一点与其它各点的最短路径。 e)删除:删除任意一条边。 f)插入:插入任意一条边。 3、实现要点 a) 对图的创建采用邻接矩阵的存储结构,而且对图的操作设计成了模板类。 为了便于处理,对于图中的每一个顶点和每一条边都设置了初值。 b) 为了便于访问,用户可以先输出所有的地点和距离。 c) 用户可以随意修改两点之间好的距离。 d) 用户可以增加及删除边。 e) 当用户操作错误时,系统会出现出错提示。 五、概要设计:

课程设计说明书范本模板

辽宁工业大学 工艺课程设计( 论文) 题目: Al-12.5 Si-3 Cu-2-2Ni-0.5Mg铸造合金热处理工艺设计 院(系): 光伏学院 专业班级: 材料工程技术102 学号: 学生姓名: 杨向天 指导教师: 李青春 教师职称: 副教授 起止时间: -7-5~ -7-16

前言 合金工具钢的淬硬性、淬透性、耐磨性和韧性均比碳素工具钢高, 按用途大致可分为刃具、模具和检验尺寸使用的量具用钢三类。合金工具钢广泛用作刃具、冷、热变形模具和量具, 也可用于制作柴油机燃料泵的活塞、阀门、阀座以及燃料阀喷嘴等。 此设计是经过在课堂学习热处理理论知识后的探索和尝试, 其内容讨论如何设计圆板牙钢的热处理工艺, 重点是制定合理的热处理规程, 并按此完成Al-12.5Si-3Cu圆板牙钢的热处理工艺设计。

目录( 小二号黑体, 段前段后1行, 1.25倍行距, 居中排列) 1 低合金刃具钢热处理工艺概述........................................ 错误!未定义书签。 2 圆板牙钢的热处理工艺设计............................................ 错误!未定义书签。 2.1 圆板牙钢的服役条件、失效形式......................... 错误!未定义书签。 2.2 圆板牙技术要求及示意图 ...................................... 错误!未定义书签。 2.3 圆板牙钢的材料选择 .............................................. 错误!未定义书签。 2.4 圆板牙9SiCr钢的C曲线...................................... 错误!未定义书签。 2.5 圆板牙9SiCr钢加工工艺流程图........................... 错误!未定义书签。 2.6 9SiCr圆板牙(M12)钢退火-淬火-回火热处理工艺错误!未定义书签。 2.7 9SiCr圆板牙钢退火、淬火、回火热处理工艺理论错误!未定义书 签。 2.8 选择设备、仪表和工夹具..................................... 错误!未定义书签。 2.9 圆板牙热处理质量检验项目、内容及要求 ........ 错误!未定义书签。 2.10 圆板牙热处理常见缺陷的预防及补救方法........ 错误!未定义书签。 3 参考文献 ............................................................................ 错误!未定义书签。

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

内部堆排序算法的实现课程设计说明书

数据结构课程设计设计说明书 内部堆排序算法的实现 学生姓名金少伟 学号1121024029 班级信管1101 成绩 指导教师曹阳 数学与计算机科学学院 2013年3月15日

课程设计任务书 2012—2013学年第二学期 课程设计名称:数据结构课程设计 课程设计题目:内部堆排序算法的实现 完成期限:自2013年3 月4日至2013年3 月15 日共 2 周 设计内容: 堆排序(heap sort)是直接选择排序法的改进,排序时,需要一个记录大小的辅助空间。n个关键字序列K1,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质):ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ n) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。(即如果按照线性存储该树,可得到一个不下降序列或不上升序列)。 本课程设计中主要完成以下内容: 1.设计堆排序算法并实现该算法。 2.对堆排序的时间复杂度及空间复杂度进行计算与探讨。 3.寻找改进堆排序的方法。 基本要求如下: 1.程序设计界面友好; 2.设计思想阐述清晰; 3.算法流程图正确; 4.软件测试方案合理、有效。指导教师:曹阳教研室负责人:申静 课程设计评阅

摘要 堆排序是直接选择排序法的改进。本课设以VC++6.0作为开发环境,C语言作为编程语言,编程实现了堆排序算法。程序运行正确,操作简单,易于为用户接受。 关键词:堆排序;C语言;时间复杂度

数据结构课程设计报告Dijkstra算法求最短路径

中南大学 《数据结构》课程设计 题目第9题 Dijkstra算法求最短路径 学生姓名 XXXX 指导教师 XXXX 学院信息科学与工程学院 专业班级 XXXXXXX 完成时间 XXXXXXX

目录 第一章问题分析与任务定义---------------------------------------------------------------------3 1.1 课程设计题目-----------------------------------------------------------------------------3 1.2 原始数据的输入格式--------------------------------------------------------------------3 1.3 实现功能-----------------------------------------------------------------------------------3 1.4 测试用例-----------------------------------------------------------------------------------3 1.5 问题分析-----------------------------------------------------------------------------------3 第二章数据结构的选择和概要设计------------------------------------------------------------4 2.1 数据结构的选择--------------------------------------------------------------------------4 2.2 概要设计-----------------------------------------------------------------------------------4 第三章详细设计与编码-----------------------------------------------------------------------------6 3.1 框架的建立---------------------------------------------------------------------------------6 3.2 点结构体的定义---------------------------------------------------------------------------7 3.3 创立带权值有向图------------------------------------------------------------------------8 3.4 邻接矩阵的显示---------------------------------------------------------------------------9 3.5 递归函数的应用---------------------------------------------------------------------------10 3.6 Dijkstra算法实现最短路径--------------------------------------------------------------10 第四章上机调试------------------------------------------------------------------------------------11 4.1 记录调试过程中错误和问题的处理---------------------------------------------------11 4.2 算法的时间课空间性能分析------------------------------------------------------------11 4.3 算法的设计、调试经验和体会---------------------------------------------------------11 第五章测试结果-----------------------------------------------------------------------------------12 第六章学习心得体会-----------------------------------------------------------------------------12 第七章参考文献-----------------------------------------------------------------------------------12 附录------------------------------------------------------------------------------------------------------12

课程设计说明书模板

机械制造学课程设计说明书 题目名称 专业班级 学生姓名 学号 指导教师 机械与电子工程系 二○一四年月日

目录 一、任务书--------------- -------3 二、指导教师评阅表----------------------4 三、序言-------------------------------------------------------------------------------------------3 四、零件的分析-----------------------------------------------------------------------------------3 五、工艺规程的设计------------------------------------------------------------------------------4 (1). 确定毛坯的制造形式---------------------------------------------------------------4 (2). 基面的选择---------------------------------------------------------------------------4 (3). 制订工艺路线------------------------------------------------------------------------4 (4). 机械加工余量、工序尺寸及毛坯尺寸的确------------------------------------5 (5). 确定切削用量及基本工时---------------------------------------------------------6 六、设计心得与小结-----------------------------------------------------------------------------11 七参考文献-------------------------------------------------------------------------------------1 1

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

算法课程设计

<<算法与程序设计>>课程作业 班级:计本08-1班 学号:3081817106 姓名:詹萍

简单算法 符号三角形问题:这个问题用的是回溯法解决的,符号三角形要求在符号三角形的第1行有n个由“+”和“-”组成的符号,以后每行符号比上行少1个,2个同号下面是“+”,2个异号下面是“-”。计算有多少个不同的符号三角形,使其所含“+”和“-”的个数相同。 解题思路: 1、针对所给问题定义解空间,该问题的解空间为n元组x1,x2,x3...xn,其中xi ∈S,S={0,1},其中0代表“+”, 1代表“-”; 2、确定易于搜索的解空间结构,例如子集树,排列树,该问题是子集树; 3、以深度优先原则搜索解空间树,并利用剪枝函数避免无效搜索,这里的约束函数应该为:在符号三角形的第一行的前i个符号x1...xi确定后,就确定了一个由i*(i+1)/2个符号组成的符号三角形。下一步确定了x(i+1)的值后,只要在前面已确定的符号三角形的右边加一条边,就可以扩展为x1...x(i+1)所相应的符号三角形。最终由x1...xn所确定的符号三角形中包含的“+”号个数与“-”号个数同为n*(n+1)/4。因此在回溯搜索过程中可用当前符号三角形所包含的“+”号个数与“-”号个数均不超过n*(n+1)/4作为可行性约束;用0和1代替+和-,执行异或操作推出下一行对应符号,当所有符号总数为奇数时无解,当某种符号超过总数一半时无解。 4.由于回溯法是对解空间的深度优先搜索,不断改变第一行每个符号,搜索符合条件的解,因此可以使用递归回溯。 #include using namespace std; class Triangle {friend int Computer(int);//定义友元函数 private: void Backtrack(int t); //t,第一行第t个符号 int n, //第1行符号的个数 half, //每个三角形总符号数的一半 count, // 统计减号的个数 **p; //指向三角形的二维指针 long sum; }; //统计符合条件的的三角形的个数 void Triangle::Backtrack(int t)//回溯法 {int i,j,k,s,f; if((count>half)||(t * (t-1)/2 - count > half)) return; //如果加号或减号的个数大于符号三角形中总符号数的一半则退出函数if(t<=n) //回溯条件直到n for(i=0; i<2; i++) { p[1][t] = i; //第一行第t个符号 count += i; //“-”号统计 for(j=2; j<=t; j++) //当第一行符号>=2时,可以运算出下面行的某些符号 { p[j][t-j+1] = p[j-1][t-j+1]^p[j-1][t-j+2]; //通过异或运算下行符号 count += p[j][t-j+1];} if(t>=n)

机械设计课程设计说明书模板.

燕山大学 机械设计课程设计说明书题目:带式输送机传动装置 学院(系):机械工程学院 年级专业: 09级机械设计及理论 学号: 0901******** 学生姓名:乔旋 指导教师:许立忠 教师职称:教授

目录 一、设计任务书.................................................................. 二、传动方案分析................................... .......................... 三、电动机的选择和参数计算........................................ 四、传动零件的设计计算................................................. 五、轴的设计...................................................................... 六、键的选择校核............................................................ 七、轴承的校核................................................................... 八、联轴器的选择及校核................................................ 九、密封与润滑的选择.................................................... 十、减速器附件及说明................................................... 十一、装配三维图........................................................ 十二、设计小结............................................................. 参考资料...................................................................

Windows下的计算器设计说明书

课程设计说明书Windows环境下的计算器 学院名称:机械工程学院 专业班级:测控0901 学生姓名:李彧文 指导教师姓名:张世庆 指导教师职称:副教授 2011年6月

摘要

课程设计任务书 Windows环境下的计算器 一、课程设计题目:设计一个windows附件中所示的计算器 二、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和C++调试技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,对windows环境下的编程有一个基本的认识。 3、创新要求: 在基本要求达到后,可进行创新设计,如增加计算器的函数功能。 4、写出设计说明书 按照设计过程写出设计说明书。 三、设计方法和基本原理: 1、问题描述(功能要求): 要求所编写的计算器能够完成基本的加、减、乘、除运算,类似于Windows下附件中的计算器。 2、问题的解决方案(参考): 根据题目的要求,可以将问题解决分为以下步骤: (1)完成界面的设计,要求界面要美观实用; (2)添加成员变量和成员函数(消息映射函数); (3)利用结构化程序的设计思路完成按键的判断和数据的移位以及计算功能; (4)程序功能调试; (5)完成系统总结报告以及系统使用说明书。

四、程序设计和调试: 五、答辩与评分标准: 1、完成基本功能:40分; 2、设计报告及使用说明书:30分; 3、设置错误或者按照要求改变结果:15分; 4、回答问题:15分。

《数据结构课程设计》最短路径问题实验报告

《数据结构课程设计》最短路径问题实验报告

目录 一、概述 0 二、系统分析 0 三、概要设计 (1) 四、详细设计 (5) 4.1建立图的存储结构 (5) 4.2单源最短路径 (6) 4.3任意一对顶点之间的最短路径 (7) 五、运行与测试 (8) 参考文献 (11) 附录 (12)

交通咨询系统设计(最短路径问题)一、概述 在交通网络日益发达的今天,针对人们关心的各种问题,利用计算机建立一个交通咨询系统。在系统中采用图来构造各个城市之间的联系,图中顶点表示城市,边表示各个城市之间的交通关系,所带权值为两个城市间的耗费。这个交通咨询系统可以回答旅客提出的各种问题,例如:如何选择一条路径使得从A城到B城途中中转次数最少;如何选择一条路径使得从A城到B城里程最短;如何选择一条路径使得从A城到B城花费最低等等的一系列问题。 二、系统分析 设计一个交通咨询系统,能咨询从任何一个城市顶点到另一城市顶点之间的最短路径(里程)、最低花费或是最少时间等问题。对于不同的咨询要求,可输入城市间的路程、所需时间或是所需费用等信息。 针对最短路径问题,在本系统中采用图的相关知识,以解决在实际情况中的最短路径问题,本系统中包括了建立图的存储结构、单源最短问题、对任意一对顶点间最短路径问题三个问题,这对以上几个问题采用了迪杰斯特拉算法和弗洛伊德算法。并未本系统设置一人性化的系统提示菜单,方便使用者的使用。

三、概要设计 可以将该系统大致分为三个部分: ①建立交通网络图的存储结构; ②解决单源最短路径问题; ③实现两个城市顶点之间的最短路径问题。

迪杰斯特拉算法流图:

机械设计课程设计说明书格式

机械设计课程设计说明书格式 论文统一用A4打印纸书写(不允许用铅笔书写文字) 封面格式:教务处统一印制格式 扉页:装订设计任务书 目录页:书写目录 说明书装订顺序:封面+设计任务书+目录+正文+成绩评定表资料袋上的相关部分都要填写,资料袋底部写学号。 目录 1. 设计任务------------------------------------------------------1 2. 传动方案分析-----------------------------------------------页码 3. 电动机的选择计算-------------------------------------------页码 4. 传动装置的运动和动力参数的选择和计算-----------------------页码 5. 传动零件的设计计算-----------------------------------------页码5.1 高速级齿轮传动设计计算-------------------------------------页码 5.2 低速级齿轮传动设计计算-------------------------------------页码 6. 轴的设计计算-----------------------------------------------页码 7. 键连接的选择及计算-----------------------------------------页码 8. 滚动轴承的选择及计算---------------------------------------页码 9. 联轴器的选择-----------------------------------------------页码 10. 润滑与密封-------------------------------------------------页码 11. 箱体及附件的结构设计和选择---------------------------------页码 12. 设计小结---------------------------------------------------页码 13. 参考资料---------------------------------------------------页码

单片机简易计算器课程设计

课程设计 题目名称简易计算器设计 课程名称单片机原理及应用 学生姓名 班级学号 2018年6 月20日

目录 一设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUES仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘; 执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。

三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。 四主程序流程图 程序的主要思想是:将按键抽象为字符,然后就是对字符的处理。将操作数分别转化为字符串存储,操作符存储为字符形式。然后调用compute()函数进行计算并返回结果。具体程序及看注释还有流程图 五程序源代码 #include #include #include/* isdigit()函数*/ #include/* atoi()函数*/ #define uchar unsigned char #define uint unsigned int

计算机算法设计与分析课程设计.

成绩评定表 学生姓名吴旭东班级学号1309010236 专业信息与计算 科学课程设计题目 分治法解决棋盘覆 盖问题;回溯法解 决数字拆分问题 评 语 组长签字: 成绩 日期20 年月日

课程设计任务书 学院理学院专业信息与计算科学 学生姓名吴旭东班级学号1309010236 课程设计题目分治法解决棋盘覆盖问题;回溯法解决数字拆分问题实践教学要求与任务: 要求: 1.巩固和加深对基本算法的理解和运用,提高综合运用课程知识进行算法设计与分析的能力。 2.培养学生自学参考书籍,查阅手册、和文献资料的能力。 3.通过实际课程设计,掌握利用分治法或动态规划算法,回溯法或分支限界法等方法的算法的基本思想,并能运用这些方法设计算法并编写程序解决实际问题。 4.了解与课程有关的知识,能正确解释和分析实验结果。 任务: 按照算法设计方法和原理,设计算法,编写程序并分析结果,完成如下内容: 1.运用分治算法求解排序问题。 2. 运用回溯算法求解N后问题。 工作计划与进度安排: 第12周:查阅资料。掌握算法设计思想,进行算法设计。 第13周:算法实现,调试程序并进行结果分析。 撰写课程设计报告,验收与答辩。 指导教师: 201 年月日专业负责人: 201 年月日 学院教学副院长: 201 年月日

算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。算法 (Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。 分治法字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在一个2^k*2^k的棋盘上, 恰有一个放歌与其他方格不同,且称该棋盘为特殊棋盘。 回溯法的基本做法是深度优先搜索,是一种组织得井井有条的、能避免不必要重复搜索的穷举式搜索算法。数字拆分问题是指将一个整数划分为多个整数之和的问题。利用回溯法可以很好地解决数字拆分问题。将数字拆分然后回溯,从未解决问题。 关键词:分治法,回溯法,棋盘覆盖,数字拆分

数据结构课程设计报告_最短路径C++

青岛理工大学琴岛学院 设计报告 课题名称:求解最优交通路径 学院:计算机工程系 专业班级:计算机科学与技术 学号:####### 学生:** 指导教师:** 青岛理工大学琴岛学院教务处 2011 年 7 月 7日

图1 B.具体功能实现及相应的弗洛伊德算法 首先,建立查询信息对话框,使用户能够录入需要查询的城市代号,并显示路径长度及最短路径沿途经过的城市。并相应地添加如下变量int m_v0;int m_v1;int m_lj;CString m_zd; 具体代码如下: #define MAXV 25 //最大顶点个数 #define INF 32767 //用32767表示∞ //以下定义邻接矩阵类型 typedef struct { int no; //顶点编号 char name[10]; //顶点名称 } VertexType; //顶点类型 typedef struct //图的定义 { int edges[MAXV][MAXV]; //邻接矩阵 int vexnum,arcnum; //顶点数,弧数 VertexType vexs[MAXV]; //存放顶点信息 } MGraph; //图的邻接矩阵类型 1.通过函数CreatUDN()存放城市路径信息,输入顶点之间的路径长度,创建带权图的邻接矩阵。 void CTDialog::CreatUDN() { MGraph *g=(MGraph*)malloc(sizeof(MGraph)); int i,j; for(i=0;iedges[i][j]=INF; if(i==j)g->edges[i][j]=0; //初始化置任意两城市之间距离为无穷大,即两城市之间没有直接通路

课程设计说明书书写格式

课程设计说明书书写格式 《模拟电子技术》课程设计说明书书写格式模拟电子技术》为了保证课程设计文档的质量,做到说明书格式的规范化,特作如下规定: 一,内容要求及格式课程设计说明书应用汉语撰写,内容应层次分明,数据可靠, 文字简练, 说明透彻,推理严谨. 说明书内容一般应由九个主要部分组成, 依次为:1. 封面,2. 课程设计任务书, 3. 目录, 4. 说明书正文,5. 结束语,6. 参考文献, 7. 附录. 各部分的具体要求如下:1.封面格式:XXXXXXXX学校课程设计说明书课题名称一———————专业名称————————学生班级————————学生姓名————————学生学号————————指导教师———————— 2. 课程设计任务书 3. 目录列出说明书的大标题, 一级和二级节标题,逐项标明页码, 标题应该简明扼要,点出各部分主要内容. " 目录"两字居中, 下空两行为章,节, 小节及其开始页码. 章,节, 小节分别以如下方式: 第 1 章,1.1,1.1.1 依次标出,章, 节,小节与页码之间用"..." 连接.每一... 级标题标题依次往后退一个汉字. 4. 说 明书正文正文是主体,一般可包括设计要求与指标, 理论分析, 计算方法, 具体设计内容,测试方法和实验结果,数据分析和讨论,结论等. 标题:每章标题以三号黑体居中打印; " 章"下空两行为"节"以四号黑体左起打印; " 节"下为"小节" , 以小四号黑体左起打印. 换行后空二个汉字打印论文正文. 正文采用小四号宋体, 正文行间距为固定值24磅.例:第1章XXXX 1. 1 XXXX 1.1.1 XXXX 图, 表,公式:文中的图,表公式一律采用阿拉伯数字分章编号,如:图2-5, 表3-2, 公式等.图序及图名居中置于图的下方,图中的术语,符号,单位等应与正文表述所用一致表序及表名置于表的上方,表中参数应标明量和单位的符号;图序及图名,表序及表名采用五号楷体字.公式的编号用括号括起写在右边行末,其间不加虚线. 图,表, 公式等与正文之间要有一定的行间距. 5. 结束语设计总结,主要成果或结论,存在的问题等 6. 参考文献只列作者直接阅读过, 在正文中被引用过的文献资料. 参考文献一律列在正文的末尾,不得放在各章之后.在引用别人的结论时,应在引用处加以说明,严禁抄袭现象的发生.作者姓名写到第三位,余者写",等"或",et al.."" 参考文献"四字居中用三号黑体字,空一行左起按顺序依次列出参考文献,将序号置于方括号内,用小四号宋体字. 几种主要参考文献的格式为: 连续出版物:序号作者. 文题.刊名[J],年,卷号:起~止页 码专或编著:序号作者.书名[M].出版地:出版社,出版年.起~止页码技术标准:序号发布单位.技术标准代号. 技术标准名称.出版地:出版者,出版日期举例如下: [1] 周绥平,陈宗基. DR 算法的更新时间间隔研究. 系统仿真学报[J],1999,7 :13~18 [2] 竺可桢.物理学[M].北京:科学出版社,1973.56~60 [3] 中华人民共和国国家技术监督局. GB3100~3102. 中华人民共和国国家标准—量与单位. 北京: 中国标准出版 社,1994-11-01 7. 附录主要列入设计过程所做的实物图,公式推导,与正文分开. 8.

计算机课程设计说明书(C++,包括代码)

数学与计算机学院 课程设计说明书 课程名称: 面向对象程序设计-课程设计课程代码: 题目: 计算器 年级/专业/班: 学生姓名: 学号: 开始时间:2011 年 5 月28日 完成时间:2011 年6月 27 日 课程设计成绩: 学习态度及平时成绩(30)技术水平与实际 能力(20) 创新(5)说明书撰写质量(45) 总分 (100) 指导教师签名:年月日 目录 1 引言 (1) 1.1问题的提出 (1) 1.2任务与分析 (1)

2.1加法功能 (2) 2.2减法功能 (2) 2.3乘法功能 (2) 2.4除法功能 (2) 2.5开平方功能 (2) 2.6四则混合运算功能 (2) 2.7显示功能 (2) 3 程序运行平台 (3) 4 总体设计 (3) 5 程序类的说明 (4) 6 模块分析 (6) 6.1加法模块 (6) 6.2减法模块 (7) 6.3乘法模块 (8) 6.4除法模块 (10) 6.5开方模块 (11) 6.6求余模块 (13) 6.7四则混合运算模块 (14) 7 系统测试 (22) 8 结论 (27)

参考文献 (28) 摘要 本课程设计是为了实现一个简单计算器,该计算器类似于windows附件中自 带的计算器。分析了现在人们对数据的处理需求,利用系统平台Windows 2000XP, 程序设计语言采用面向对象程序设计语言C++,利用Visual C++编程实现了该系 统。该系统具有数据录入,数据修改,数据处理,数据显示等功能。用户根据系

统界面提示,输入需要处理的数据,系统根据要求实现加、减、乘、除以及开方等功能。 关键词:计算器;程序设计;C++

相关主题
文本预览
相关文档 最新文档