“选择法”排序的动画演示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书

沈阳航空工业学院

课程设计任务书

学院:航宇专业:工程力学班级:6403401

学号:200604034026 题目:“选择法”排序的动画演示

一、课程设计时间

2007~08第2学期第1~2周,共计2周,40学时。

二、课程设计内容

用控件数组技术实现动画,演示用选择法对数组(18,12,16,10,11,19,13,19)由大到小排序、元素变换的完整过程。

要求:准备换值的2个元素,使用显眼颜色、闪烁效果。

三、课程设计要求

程序质量:

✧贯彻事件驱动的程序设计思想。

✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提

供的模板。

四、指导教师和学生签字

指导教师:________ 学生签名:________

五、成绩

六、教师评语

目录

需求分析------------------------------- 2 设计分析------------------------------- 2 关键技术------------------------------- 5 总结------------------------------- 7 完整程序------------------------------- 8 参考文献------------------------------- 11

需求分析

1.用控件数组技术实现动画,演示用选择法对数组(18,12,16,10,11,19,13,19)由大到小排序、元素变换的完整过程。

2要求:准备换值的2个元素,使用显眼颜色、闪烁效果3用户界面友好,功能明确,操作方便;可以加以其它功能或修饰

4代码应适当缩进,并给出必要的注释,以增强程序的可读性。

设计分析

1基本原理:运用选择法排序,用循环体实现,并通过设置颜色来展示动画。

2. 总体设计:选择法排序,将数组全部陈列出来,再用颜色区别相交换的两个数,分六步来实现,从而实现动态效果。

3详细设计:将数组都陈列出来,每一步就是数组变化的过程。第一列是出现原数组。第二列是第一步选择出最大的数和第一位的数进行交换。第三列是在剩余的数中悬出最大的数再和第二位的数进行交换。依次类推,直到将数

组按照从大到小的顺序排列出来。最后的一列既是所求。

关键技术

1、界面设计如下:

2、运行界面如下:

3、选择法排序程序如下:

For i = 1 To n

b(1, i) = a(i)

Label1(i).Caption = b(1, i)

Next i

For i = 1 To n - 1

max = i

For j = i + 1 To n

If a(j) > a(max) Then max = j

Next j

c(i) = max

b(i, max) = a(max)

t = a(i)

a(i) = a(max)

a(max) = t

For m = 1 To 8

b(i, m) = a(m)

Next m

Next i

4、结束语句如下:

Private Sub Command2_Click()

Unload Me

End Sub

总结

这次我的题目是选择法排序,通过这次实习,我知道了排序的基本程序段,并且解决了实现动画效果这一关键技术.在课设过程中,我遇到了重重困难,但通过老师的指点和自己查阅资料,我克服了困难,顺利的完成了任务。

同时我也了解了VB的出现是一场技术革命,它给人们的生活带来了很多方便和好处,它在生活中各个方面都能发挥巨大的作用,所以,对于我们大学生来说,学好VB不仅是自己的需要,更是社会发展的需要

完整程序

Option Base 1

Private Sub Command1_Click()

Dim a%(1 To 8), max%, n%, i%, j%, t%, b%(8, 8), c%(7)

a(1) = 18: a(2) = 12: a(3) = 16: a(4) = 10: a(5) = 11: a(6) = 19: a(7) = 13: a(8) = 19

n = 8

For i = 1 To n

b(1, i) = a(i)

Label1(i).Caption = b(1, i)

Next i

For i = 1 To n - 1

max = i

For j = i + 1 To n

If a(j) > a(max) Then max = j Next j

c(i) = max

b(i, max) = a(max)

t = a(i)

a(i) = a(max)

a(max) = t

For m = 1 To 8

b(i, m) = a(m)

Next m

Next i

For i = 1 To 8

Label2(i).Caption = b(1, i)

Label3(i).Caption = b(2, i)

Label4(i).Caption = b(3, i)

Label5(i).Caption = b(4, i)

Label6(i).Caption = b(5, i)

Label7(i).Caption = b(6, i)

Next i

相关文档
最新文档