欢迎来到天天文库
浏览记录
ID:39469547
大小:72.50 KB
页数:4页
时间:2019-07-04
《VB课程设计题目》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、题目:排序演示程序知识点:基本控件的使用;排序算法;随机值的生成;顺序文件的读写;菜单应用;多模块程序设计;控件数组。1.题目介绍:对数值进行排序是程序设计中最基本的数据处理操作,本题目要求编制一个动态的演示排序操作的实用程序,让用户深刻了解不同排序方法的执行过程。本题目要求实现四种排序算法中的一种或多种:比较法、选择法、直接插入法和冒泡法。(1)比较法:所谓比较法就是:第一轮从a(0)开始,依次将a(0)与其后的所有元素逐个进行比较,如果其后的某个元素比a(0)小,则将两者对调,这样第一轮结束后a(0)中保留
2、的是10个元素中的最小值,然后从a(1)开始进行第二轮比较,第二轮比较结束后a(1)中保留次小值,以此类推,最后得到排序结果。(2)选择法:所谓选择法就是:先将10个数中的最小的数a(0)对换,再将a(1)到a(9)中最小的数与a(1)对换,以此类推,每比较一轮,找出一个未经排序的数中最小的一个,共应比较9轮即可。由此可见选择法与比较法的思想是一样的,但在选择法中,并不是每次找到最小值后马上进行对调,而是只有当找到最小值到才进行交换,两者之间的区别只是在这一点上。(3)直接插入法:所谓直接插入法就是:开始时认为
3、a(0)已排好序,将a(1)按大小顺序插入已排好序的前部分结点a(0),将a(i)插入按大小顺序插入已排好序的前部分结点a(0)、a(1)……a(i-1),依次类推。(4)冒泡法:所谓冒泡法就是:依次比较相邻的两个结点a(i-1)、a(i),顺序不合适时即进行交换,这样第一轮下来,最大的结点即沉至最后,以后每轮只需对前面未排好序的结点按此方法排序即可。2.功能要求:(1)启动程序,显示图1所示的主参考界面(比较法为例)。首先单击“产生10个随机数”按钮来产生10个随机数,并显示在10个文本框中,然后选择一种“演
4、示模式”和“排序方式”,其中演示模式可以直接给出排序结果,也可以通过动画动态演示整个排序过程,排序方式可以按照从小到大顺序,也可以按从大到小排序。图1主界面(比较法)(2)若编写两种以上排序算法可参照如下方式:单击窗口“功能”主菜单,如图2所示,从中选择“排序算法”命令,打开图3所示的对话框,从中选择一种排序方式,单击不同的排序方式时,“算法描述”中简要介绍了这种算法。单击“确定”按钮返回到主窗口,主窗口中最上方框架控件的标题文字显示当前所选的排序算法。图2“功能”菜单图3“排序算法选择”对话框“功能”菜单中有
5、一“从文件读取数据”命令,使用此命令可以从当前目录的data.txt文件中读入10个数。(3)设置完毕,单击“开始排序”按钮启动排序过程。若选择了动画方式,红色背景的文本框表示当前正在比较的元素,黄色的代表已排序的元素,两个运动的文本框表示交换过程,如图4所示。在排序过程中可以调节水平滚动条来控制演示的速度。排序结束后程序以消息框的形式报告数据交换的次数(图5所示)。可以使用快捷菜单中的“将数据写入文件”命令将排序后的数据保存到data.txt中覆盖原文件。图4程序主界面(4)选择主菜单“退出”命令可以退出本程
6、序,程序显示图6所示的对话框予以确认。图5显示交换次数图6确认退出对话框3.难点与提示(1)若编写两种以上排序算法,每种排序算法应设计单独的过程或函数。(2)以动画方式显示排序过程时,应使用Timer控件来控制整个过程。(3)注意文本框控件数组的使用。4.更上一层楼(1)改写程序,实现比较过程中对不同文本框颜色的更改与设置。(2)改写程序,可以实现指定个数(不总是10个)元素的排序。
此文档下载收益归作者所有