欢迎来到天天文库
浏览记录
ID:6328911
大小:294.50 KB
页数:14页
时间:2018-01-10
《课程设计(论文)-“冒泡法”排序的动画演示》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、沈阳航空航天大学课程设计学号:班级:9姓名:指导教师:2011年7月4日沈阳航空航天大学设计用纸沈阳航空航天大学课程设计任务书学院:机电工程学院专业:机械设计制造及其自动化班级:94060114学号:25题目:“冒泡法”排序的动画演示一、课程设计时间2011年6月27日~7月1日。二、课程设计内容用控件数组技术实现动画演示,用冒泡法对一组随机数据(≥8个)由小到大排序,演示排序过程中元素变换的完整过程。要求:排序过程中欲交换值的2个元素,使用明显颜色、闪烁效果,并要有延时,延时时间可在界面手动设置。排
2、序过程可以随时停止和继续。三、课程设计要求程序质量:²贯彻事件驱动的程序设计思想。²用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。²代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:²课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:学生签名:五、成绩六、教师评语第14页,共14页沈阳航空航天大学设计用纸目录一、需求分析3二、设计分析3三、技术要点3四、总结3五、完整的源程序3六、参考文献3第14页,共14页沈阳
3、航空航天大学设计用纸一、需求分析题目要求用“冒泡法”对一组数据进行由小到大排序,并且动画演示排序过程中元素变换的过程。也就是表示,比较相邻两个数大小和交换值得过程要可见,并用明显的颜色来区分正在比较的两个数字。颜色的变换、数字的交换实现了动画的效果。二、设计分析(1)基本原理:冒泡法”排序——使用Label控件数组,多个Timer控件。分别用来进行数组的输入和控制程序的运行。(2)总体设计:从数组第一个数开始,对数组中两个相邻的数比较,即a(0)与a(1)比较,若为逆序,则a(0)与a(1)交换;然后
4、a(1)与a(2)比较,···,直到最后a(N-1)与a(N)比较,这时一轮比较完毕,一个最大的数“沉底”,成为数组中的最后一个元素a(N),一些较小的数如同气泡一样“上浮”一个位置。第14页,共14页沈阳航空航天大学设计用纸然后对a(0)与a(N-1)的N个数进行同(1)的操作,次最大的数放入a(N-1)元素内,完成第二轮排序;依次类推,进行N轮排序后,所有的数均有序。排序结束。三、技术要点(1)产生随机数,并对标签数组赋值PrivateSubCommand1_Click()Dima(9)AsInt
5、eger,nAsIntegerForn=1To10a(n-1)=Int(n*10*Rnd+8-n)'产生随机数Label1(n-1).Caption=a(n-1)'对个标签赋值NextnTimer1.Enabled=TrueTimer2.Enabled=FalseTimer3.Enabled=FalseTimer4.Enabled=TrueCommand1.Enabled=FalseCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=
6、TrueEndSub第14页,共14页沈阳航空航天大学设计用纸图1产生随机数,并对标签数组赋值(2)正在比较的两个数标签颜色分别为红色和绿色StaticaAsInteger,bAsIntegerIfa=9Thena=0:b=b+1EndIfIfa+1<=10-b-1Then'在上一轮比较中最后两个数不参加本轮比较Label1(a).BackColor=QBColor(12)'正在比较的两个数颜色改变Label1(a+1).BackColor=QBColor(10)EndIfa=a+1Timer2.En
7、abled=TrueTimer1.Enabled=FalseEndSub第14页,共14页沈阳航空航天大学设计用纸图2在比较大小的两个数(3)若两个数逆序排列则其标签显示边框并交换数字,交换数字后标签颜色变为黄色PrivateSubTimer2_Timer()StaticiAsInteger,jAsIntegerIfi=9Theni=0EndIfIfVal(Label1(i).Caption)>Val(Label1(i+1).Caption)ThenLabel1(i).BorderStyle=1:La
8、bel1(i+1).BorderStyle=1'逆序的两个数标签显示边框j=Label1(i).Caption:Label1(i).Caption=Label1(i+1):Label1(i+1)=j'将逆序的两个数调换位置Label1(i).BackColor=QBColor(14)'改变顺序的两个标签颜色改变Label1(i+1).BackColor=QBColor(14)EndIfi=i+1Timer3.Enabled=True第14页,共14页沈阳
此文档下载收益归作者所有