2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)

| 2份
| 31页
| 646人阅读
| 220人下载
普通

内容正文:

第二章 排序算法的程序实现 条目梳理 随堂演练 -2- 条目梳理 随堂演练 -3- 考点1 考点2 冒泡排序 冒泡排序的基本思想是把待排序的n个元素看成垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素的数据,将较小的数据换到上面的一个元素中。重复这一过程,直到处理完最后两个数,称为第一遍加工。当第一遍加工完成后,最小(大)的数已经上升到第一个元素的位置。然后对余下的n-1个数重复上述过程,经过n-1遍处理以达到排序目的的一种排序方法。冒泡排序最多需要比较和交换的次数是 条目梳理 条目梳理 随堂演练 -4- 考点1 考点2 常用的冒泡排序程序结构: 升序方式冒泡排序的程序段 For i = 1 To n - 1  For j = n To i + 1 Step -1 If a(j) < a(j - 1) Then  t = a(j): a(j) = a(j - 1): a(j - 1) = t End If  Next j Next i 提示在降序方式中,If语句中条件表达式为a(j)>a(j-1)。 条目梳理 条目梳理 随堂演练 -5- 考点1 考点2 【例1】有如下VB程序段: s=″ ″ For i = 1 To 3 For j = 6 To i + 1 Step -1   If a(j) > a(j-1) Then     k=a(j):a(j)=a(j-1):a(j-1)=k   End If Next j s = s + str(a(i)) Next i Text1.Text=str(s) 数组元素从a(1)到a(6)的数据依次为“3、7、2、5、8、9”,经过该程序“加工”后,文本框Text1中显示的是(  ) A.2 3 5 B.9 8 7 C.3 7 2 D.7 3 2 条目梳理 条目梳理 随堂演练 -6- 考点1 考点2 答案:B 解析:观察程序可知,内循环中每次都是对相邻的数据进行比较,把较大数交换到上面,所以该算法属于升序型冒泡排序。外循环3遍,表明排序3遍。可用列表方式模拟冒泡排序的过程。 其次,每一遍排序完之后都将对应的a(i)以字符串的形式加入到字符串变量s中,每加一次在两个数之间都会产生一个空格,最终s的结果是:9 8 7。 条目梳理 条目梳理 随堂演练 -7- 考点1 考点2 选择排序 选择排序算法的基本思想是在待排序的数据中选出最小(大)的数据,把它与第1个位置的数据交换,然后在其余的数据中再选出最小(大)的数据与第2个数据交换,依此类推,直到所有的数据排序完成。选择排序最多需要比较的次数是 最多需要交换的次数是n-1。 常用的选择排序程序结构: 条目梳理 条目梳理 随堂演练 -8- 考点1 考点2 升序方式选择排序的程序段 For i = 1 To n-1  k=i  For j =i+1 To n If a(j) < a(k) Then k=j  Next j If k<>i then t = a(i): a(i) = a(k): a(k) = t End If Next i 提示在降序方式中,If语句中表达式为a(j)>a(k)。 条目梳理 条目梳理 随堂演练 -9- 考点1 考点2 【例2】 某学校举行校园歌手比赛,数组a存放歌手的得分,数组mc存放名次。名次计算规则为:分值最高为第1名,分值相同则名次相同。VB程序段的部分代码如下: For i=1 To n-1 k=i For j=i+1 To n If  ①  Then k=j  Next j If k<>i then t=a(k):a(k)=a(i):a(i)=t If i=1 then mc(1)=1 '数组元素mc(i)存放i号歌手的名次 Else If a(i)<>a(i-1) Then  ②  Else  ③   End if Next i 条目梳理 条目梳理 随堂演练 -10- 考点1 考点2 答案:①a(j)>a(k) ②mc(i)=i ③mc(i)=mc(i)-1 解析:代码段采用了选择排序算法。根据题意,分值最高为第1名,并由语句mc(1)=1可知,a(1)应是最高分,说明应是对数组降序排序,故①处填a(j)>a(k)。在第i遍排序完成后,该遍中最大数已存入a(i)中,然后计算a(i)的名次。如果i=1,即最高分者为第1名,所以mc(1)=1;否则如果a(i)<>a(i-1),那么第i位歌手的名次是mc(i)=i,如果a(i)=a(i-1),表示当前歌手的得分和前一位相同,则其名次也应与前者相同,即mc(i)=mc(i)-1。 条目梳理 条目梳理 随堂演练 -11- 1 2 3 4 5 6 7 8 1.有以下VB程序段 For i = 1 To 2  For j = 1 To 5-i If

资源预览图

2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)-第1页
1
2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)-第2页
2
2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)-第3页
3
2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)-第4页
4
2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)-第5页
5
2019年高考信息技术复习(江浙选考1)配套精品(课件+优选试题):算法与程序设计 第二章 排序算法的程序实现 (共2份打包)-第6页
6

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。