- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(论文)_冒泡法排序的动画演示
沈 阳 航 空 航 天 大 学
课程设计
学 号 :
班 级 : 9
姓 名 :
指导教师 :
2011年 7 月 4 日沈阳航空航天大学
课程设计任务书
学院:机电工程学院 专业:机械设计制造及其自动化 班级学号:25 题目:“冒泡法”排序的动画演示
一、课程设计时间
2011年6月27日~7月1日。
二、课程设计内容
用控件数组技术实现动画演示,用冒泡法对一组随机数据(≥8个)由小到大排序,演示排序过程中元素变换的完整过程。
要求:排序过程中欲交换值的2个元素,使用明显颜色、闪烁效果,并要有延时,延时时间可在界面手动设置。排序过程可以随时停止和继续。
三、课程设计要求
程序质量:
贯彻事件驱动的程序设计思想。
用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师: 学生签名:
五、成绩
六、教师评语
目 录
一、需求分析 3
二、设计分析 3
三、技术要点 3
四、总结 3
五、完整的源程序 3
六、参考文献 3
一、需求分析
题目要求用“冒泡法”对一组数据进行由小到大排序,并且动画演示排序过程中元素变换的过程。也就是表示,比较相邻两个数大小和交换值得过程要可见,并用明显的颜色来区分正在比较的两个数字。
颜色的变换、数字的交换实现了动画的效果。
二、设计分析
(1)基本原理:
冒泡法”排序——使用Label控件数组,多个Timer控件。分别用来进行数组的输入和控制程序的运行。
(2)总体设计:
从数组第一个数开始,对数组中两个相邻的数比较,即a(0)与a(1)比较,若为逆序,则a(0)与 a(1)交换;然后a(1) 与a(2)比较,···,直到最后a(N-1) 与a(N)比较,这时一轮比较完毕,一个最大的数“沉底 ”,成为数组中的最后一个元素a(N),一些较小的数如同气泡一样“上浮”一个位置。
然后对a(0) 与a(N-1)的N个数进行同(1)的操作,次最大的数放入a(N-1)元素内,完成第二轮排序;依次类推,进行N轮排序后,所有的数均有序。排序结束。
三、技术要点
(1)产生随机数,并对标签数组赋值
Private Sub Command1_Click()
Dim a(9) As Integer, n As Integer
For n = 1 To 10
a(n - 1) = Int(n * 10 * Rnd + 8 - n) 产生随机数
Label1(n - 1).Caption = a(n - 1) 对个标签赋值
Next n
Timer1.Enabled = True
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = True
Command1.Enabled = False
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = True
End Sub
图1产生随机数,并对标签数组赋值
(2)正在比较的两个数标签颜色分别为红色和绿色
Static a As Integer, b As Integer
If a = 9 Then
a = 0: b = b + 1
End If
If a + 1 = 10 - b - 1 Then 在上一轮比较中最后两个数不参加本轮比较
Label1(a).BackColor = QBColor(12) 正在比较的两个数颜色改变
Label1(a + 1).BackColor = QBColor(10)
End If
a = a + 1
Timer2.Enabled = True
Timer1.Enabled = False
End Sub
图2 在比较大小的两个数
(3)若两个数逆序排列则其标签显示边框并交换数字,交换数字后标签颜色变为黄色
Private Sub Timer2_Timer()
Static i As Integer, j As Integer
If i = 9 Then
i = 0
End If
If Val(Label1(i).Caption) Val(Label1(i + 1).Caption) Then
Label1(i).BorderStyle = 1: Label1(i + 1).BorderStyle =
您可能关注的文档
- 西宁地区新建年产3万吨100%硫酸转化工序工艺初步设计.doc
- 装备马厂沭阳县马厂新城总体规划(2013_2030)说明书 第一部分.doc
- 西安(三桥)至西安北动车走行线环境保护体系.doc
- 西宁地区新建年产3万吨100%硫酸转化工序工艺初步设计——青海大学本科毕业设计.doc
- 西宁地区新建年产3万吨100硫酸转化工序工艺初步设计青海大学本科毕业设计.doc
- 西安科技大学土木工程毕业设计(论文)任务书_医院住院楼设计.doc
- 西安某加气站初步设计(代可行性研究报告).doc
- 西小马庄村村民自住楼(西区)7#楼电气工程施工方案7#楼.doc
- 西德福(太原)液压件有限公司机械液压杆件生产线项目可行性研究报告.doc
- 西方行政制度概论考试小抄(完整版电大小抄)_2012电大专科考试小抄.doc
最近下载
- 海上避碰规则.pptx VIP
- 避碰规则COLREG72-(03中英版).doc VIP
- YY 0068.1-2008 医用内窥镜 硬性内窥镜 第1部分:光学性能及测试方法.pdf
- 故事罗伯特.麦基.doc VIP
- 回肠造口还纳术护理.pptx
- YY0068.3-2008 医用内窥镜 硬性内窥镜 第3部分:标签和随附资料.pdf VIP
- 《YY/T 0068.2-2008医用内窥镜 硬性内窥镜 第2部分:机械性能及测试方法》.pdf
- 统编版八年级语文上册《文学性文本阅读》期中复习专项练习题(带答案).docx VIP
- YY 0068.2-2008医用内窥镜 硬性内窥镜 第2部分:机械性能及测试方法.pdf
- 提升课堂互动的课件设计PPT模板.pptx VIP
原创力文档


文档评论(0)