欢迎来到天天文库
浏览记录
ID:37406266
大小:654.60 KB
页数:28页
时间:2019-05-12
《月二级VB等级考试辅导第6次》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011年9月等级考试辅导二级VisualBasic第六讲数组算法第7章常用算法-排序1第5章滚动条&计时器2第七章数组1求最值2排序3查找P90-2排序算法什么是排序:通过比较和交换,将无序的数排列成有序数排序比较交换法排序选择法排序冒泡法排序比较交换法基本过程(以降序为例):将第一个元素顺序与其后面的元素比较,比第一个大则进行交换,第一轮完毕后,最大的元素被挪到了第一个位置,第二轮从第二个元素开始重复上面的过程,结束后得到第二个最大的元素,如此下去经过N-1轮的比较,可将N个数排好1235421354312545123451234第一轮结束,数据5已排好比较交换法举例原始数据:1
2、,2,3,5,4要求:降序第二轮比较:51234521345312454123第二轮结束,找到第二最大值4比较交换法第三轮结果:54312第四轮结果:54321公式表示:(N为排序的个数,OP为操作,降序为“>”)fori=1toN-1‘外层循环N-1次forj=i+1toN‘内层依赖外层if(S(j)OPS(i))thent=S(i):S(i)=S(j):S(j)=t‘交换EndifNextjNextI方法:双重循环(循环嵌套)外循环:控制排序趟数内循环:排序过程中的数组元素下标取值869327原始数据689327689327683927682297682379第一轮排序冒泡排序8
3、69327DimaAsVarianta=Array(56,90,-123,58,5,10,100,53,66,518)n=UBound(a)Fori=1Ton-1Forj=1Ton-iIfa(j)>a(j+1)Thent=a(j):a(j)=a(j+1):a(j+1)=tEndIfNextjNexti冒泡排序DimaAsVarianta=Array(56,90,-123,58,5,10,100,54,66,518)n=UBound(a)Fori=1Ton-1Forj=nToi+1step-1Ifa(j)4、NextjNexti冒泡排序上机例题【例5.2】捷成64-5上机例题【例5.3】捷成53-5选择法排序思想方法:对n个数排序,先将第一个数与第二个数到第n个数逐一比较,找出最小数的位置i(下标),然后将a(1)与a(i)进行交换,将最小数存放在a(1)中然后将第二个数依次与第三个到第n个数逐一进行比较,找出第二个到第n个数中最小数,然后将a(2)与a(i)进行交换,最终这n个数中的次小数放在a(2)中重复上面的步骤,直到排序结束为止(进行n-1趟排序)按递增排序选择法排序第一趟排序869327原始数据869327a(1)a(2)a(3)a(4)a(5)a(6)第一趟排序269387第5、二趟排序269387第二趟排序239687第三趟排序239687第三趟排序236987第四趟排序236987第四趟排序236789第五趟排序236789第五趟排序2367891、求数组的最小元素2、交换数组中的两个元素方法:双重循环(循环嵌套)外循环为i:控制排序趟数内循环为j:排序过程中的下标变量选择法排序DimaAsVarianta=Array(56,90,-123,58,5,10,100,53,66,518)n=UBound(a)Fori=1Ton-1k=iForj=i+1TonIfa(k)>a(j)Thenk=j'如按从大到小排序,则a(k)k6、)Thent=a(i):a(i)=a(k):a(k)=tEndIfNexti选择法排序P44-考点11计时器VisualBasic可以利用系统内部的计时器计时,而且提供了定制时间间隔的功能,用户可以自行设置每个计时器事件的时间间隔。一、属性Name和Enabled与其它控件相同。但它还有一个自己独有的属性:Interval:用于设置计时器事件之间的时间间隔,单位为毫秒,取值范围为0~65535。由于受系统时钟周期18.5次/秒的限制,一般不要小于50。二、事件计时器支持Timer事件,在时间间隔到时自动触发.计时器:Interval以毫秒为单位计时器只有在Enabled为True,且7、Interval非0时才计时P44-2007年9月选择题第23题10.某人在窗体上画了一个名称为Timer1的计时器和一个名称为Lab的标签,计时器属性设置为Enabled=True,Interval=0,并编程如下。希望在每2秒在标签上显示一次系统当前时间。(2007年9月选择题第23题)PrivateSubTimer1_Timer()Label1.Caption=Time$EndSub在程序执行时发现未能实现上述目的,那么,他应做的修改是______。
4、NextjNexti冒泡排序上机例题【例5.2】捷成64-5上机例题【例5.3】捷成53-5选择法排序思想方法:对n个数排序,先将第一个数与第二个数到第n个数逐一比较,找出最小数的位置i(下标),然后将a(1)与a(i)进行交换,将最小数存放在a(1)中然后将第二个数依次与第三个到第n个数逐一进行比较,找出第二个到第n个数中最小数,然后将a(2)与a(i)进行交换,最终这n个数中的次小数放在a(2)中重复上面的步骤,直到排序结束为止(进行n-1趟排序)按递增排序选择法排序第一趟排序869327原始数据869327a(1)a(2)a(3)a(4)a(5)a(6)第一趟排序269387第
5、二趟排序269387第二趟排序239687第三趟排序239687第三趟排序236987第四趟排序236987第四趟排序236789第五趟排序236789第五趟排序2367891、求数组的最小元素2、交换数组中的两个元素方法:双重循环(循环嵌套)外循环为i:控制排序趟数内循环为j:排序过程中的下标变量选择法排序DimaAsVarianta=Array(56,90,-123,58,5,10,100,53,66,518)n=UBound(a)Fori=1Ton-1k=iForj=i+1TonIfa(k)>a(j)Thenk=j'如按从大到小排序,则a(k)k
6、)Thent=a(i):a(i)=a(k):a(k)=tEndIfNexti选择法排序P44-考点11计时器VisualBasic可以利用系统内部的计时器计时,而且提供了定制时间间隔的功能,用户可以自行设置每个计时器事件的时间间隔。一、属性Name和Enabled与其它控件相同。但它还有一个自己独有的属性:Interval:用于设置计时器事件之间的时间间隔,单位为毫秒,取值范围为0~65535。由于受系统时钟周期18.5次/秒的限制,一般不要小于50。二、事件计时器支持Timer事件,在时间间隔到时自动触发.计时器:Interval以毫秒为单位计时器只有在Enabled为True,且
7、Interval非0时才计时P44-2007年9月选择题第23题10.某人在窗体上画了一个名称为Timer1的计时器和一个名称为Lab的标签,计时器属性设置为Enabled=True,Interval=0,并编程如下。希望在每2秒在标签上显示一次系统当前时间。(2007年9月选择题第23题)PrivateSubTimer1_Timer()Label1.Caption=Time$EndSub在程序执行时发现未能实现上述目的,那么,他应做的修改是______。
此文档下载收益归作者所有