选择法排序程序设计导学案.docx
- 文档编号:25895710
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:13
- 大小:134.58KB
选择法排序程序设计导学案.docx
《选择法排序程序设计导学案.docx》由会员分享,可在线阅读,更多相关《选择法排序程序设计导学案.docx(13页珍藏版)》请在冰豆网上搜索。
选择法排序程序设计导学案
第二章算法实例(三)
——选择排序程序设计导学案
一、课程学习目标
重点
难点
重点:
选择排序的过程;
选择排序算法的程序设计;
冒泡排序与选择排序的比较;
难点:
选择排序算法的程序设计
学科
指导
意见
教学要求:
1、初步掌握选择排序算法;
会考考纲
知识条目
考试要求
选择排序算法及程序实现
c
高考考纲
选择排序算法及程序实现
c
二、基础知识建构
1、选择排序法
选择排序的基本思想:
在所有的记录中从前往后选出最小(大)的数据,把它与第一个数据交换,然后在其余的记录中从前往后再选出最小(大)的数据与第二个数据交换,依此类推,直至所有数据排序完成。
思考:
选出最小(大)的数据过程?
范例1:
数组D(1to8)中的8个数据如下:
12、15、24、8、31、15、11、10。
现利用选择排序法进行升序排列。
各趟的排序后的结果为:
原始数据
12
15
24
8
31
15
11
10
第一趟结果
8
15
24
12
31
15
11
15
第二趟结果
8
10
24
12
31
15
11
15
第三趟结果
8
10
11
12
31
15
24
15
第四趟结果
8
10
11
12
31
15
24
15
第五趟结果
8
10
11
12
15
31
24
15
第六趟结果
8
10
11
12
15
15
24
31
第七趟结果
8
10
11
12
15
15
24
31
探究学习:
请把数组D(1to8)中的8个数据如下:
4、26、12、26、8、31、17、21。
现利用选择排序法进行排序。
并写出各趟排序后的数据的序列。
第一趟结果
第二趟结果
第三趟结果
第四趟结果
第五趟结果
第六趟结果
第七趟结果
选择排序法程序界面与代码:
Dimd(1To8)AsInteger'定义一个数组
PrivateSubCommand1_Click()'产生8个随机数
DimiAsInteger
i=1
Fori=1To8
‘产生[0,100)之间的随机数存放在数组d中
List1.AddItemStr(d(i))
Nexti
EndSub
PrivateSubCommand2_Click()'对8个数进行选择法排序
DimiasInteger,jasinteger,kasinteger,minasinteger
i=1
Fori=1To7'选择第i个数假设为最小的数
Min=i
Forj=i+1To8'如果找到更小的,用min记住它的编号
IfThenMin=j
Nextj
IfMin<>iThen'如果最小的数所在的位置不是i,则交换
EndIf
Fori=1To8
'在列表框list2中显示排序后的数据
Nexti
Nexti
EndSub
PrivateSubCommand3_Click()'清空列表数据
‘清空列表框list1
‘清空列表框list2
EndSub
3、冒泡排序与选择排序的比较
①、对两个相同的数据的排序
在冒泡排序后,(填“不会”或“可能会”)改变原数据中相同数据的原本的先后顺序
在选择排序后,(填“不会”或“可能会”)改变原数据中相同数据的原本的先后顺序
②、排序的效率
选择排序比冒泡排序效率要(数据交换次数的多少)
③、对n个数据排序的趟数
均要进行趟
三、小结
1、选择排序的过程;
2、选择排序算法的程序设计;
3、冒泡排序与选择排序的比较;
《程序的选择结构》教学设计
【课题名称】:
《程序的选择结构》
(选自粤教版教材信息技术选修1《算法与程序设计》一书第二章第3节,本节计划分两个课时,此教学设计为第一课时)
【教学目标】:
1、理解程序的选择结构,掌握VB程序中的条件语句的构建,掌握关系表达式、逻辑表达式等程序设计语言的基本知识;
2、通过对问题的分析、设计、解决来真正了解计算机解决问题的过程,体验编程解决问题的乐趣;
3、培养学生们对问题宏观分析的能力,多角度分析、处理,并能学以致用,在收获知识的同时挖掘自己的潜力;
【学情分析】:
此次授课的班级为高一的少年班,他们的信息技术课程最新的进度刚好是必修阶段的第四章——编制计算机程序解决问题,在必修课中,他们已经了解了编程解决问题的大致过程,以及VB中的一些基本语句。
因此本节课的重难点设置如下:
教学重点:
VB中的条件语句的格式、能从实际问题中提炼做判断条件的表达式
教学难点:
对实际问题分析出选择结构,提炼出条件表达式,并能用程序设计语言来实现
【教法设计】:
采用“问题解决教学法”、“学科结合法”、“讲授法”
【学法设计】:
分析法、实践练习法
【教学过程】:
(简)
(一)、导课(5分钟)
(二)、讲授
(三)、练习(包含课堂练习)
(四)、知识拓展
(五)、知识总结
【评价设计】
【教学过程】:
简
(一)、生疑:
(二)、质疑:
(三)、练习(包含课堂练习)
(四)、知识拓展
(五)、知识总结
【教学过程】:
(一)、导课(5分钟)什么是选择结构
/*兴趣为主——引出主题——能理解选择及选择的条件控制*/
教师先提出“物联网”的概念,即物与物之间的相互连接。
物联网的实现能使我们的生活更方便。
比如可以根据外面光线来选择自动地拉合窗帘,天亮时把窗帘自动拉开,天黑时自动合上。
又或者为了保障家里的财产安全,设置防盗装置,当有人从门窗进入时,会发出警报信息,同时发送短信或视频到手机中。
这些都是根据某种情况或条件做出的选择,生活中我们自己也会遇到很多选择。
(可以让大家说说自己的选择)
教师在屏幕上显示四个按钮,四个按钮后面分别对应四个活动,让同学们选择一个按钮,进行课堂活动。
其中四个活动分别设置如下:
按钮一活动:
英文翻译。
按钮二活动:
(游戏)看商品,猜价格。
按钮三活动:
(游戏)计算自己的健康指数
按钮四活动:
语文造句。
用“如果…那么…否则…”来造句
其中:
活动一和活动四直接体现了选择,而活动二和活动三可以让学生谈谈哪里体现了选择。
教师来解释选择结构,并以两个选择结构为例,给出流程图,解释选择在程序中的实现过程,展开教学。
那么,这种选择结构在程序中是如何实现的呢?
(二)、讲授
/*尝试自主总结——选择语句的讲解——引出关系表达式——引出逻辑表达式,层层递进,讲练结合*/
1、VB中选择结构的表示
教师给出两个编程实例,让学生们从中总结出选择语句的句式。
第一种表示:
所有条件语句写在一行
If条件Then语句组1Else语句组2
给出例子,并介绍当满足条件时要执行的语句较多时,语句之间应该用“:
”来分隔,而此时全部出现在一行可读性较差,由此给出语句的第二种格式:
第二种表示:
强调在Then后进行回车换行。
If条件Then
语句组1
Else
语句组2
End
举例:
Ifx>=0Then
y=x
print”该数非负,绝对值为”;y
Else
y=-x
print”该数为负数,绝对值为”;y
End
强调换行来写条件语句时,一定要有End来表示条件语句的结束。
(*屏幕练习1*)
用户输入一个数,求解这个数的绝对值,教师给出程序,让同学们完成。
Privatesubcommand1_Click()
n=inputbox(“请输入一个随机数:
”)
If_________Then
________________
Else
________________
End
Endsub
教师总结:
选择结构实际上是设置某些规则,根据对规则的条件判断来选择某部分进行操作。
流程图表示为:
而这里要判断的条件采用关系表达式来实现:
2、关系表达式
关系表达式是用关系运算符连接起来的式子。
关系运算符有:
运算符号
=
>
<
>=
<=
<>
含义
等于
大于
小于
大于等于
小于等于
不等于
关系表达式的值为逻辑值,即真(true)和假(false)。
举例:
5>712<>2185>=70“A”<”B”“a”=”A”
都是关系表达式,其中数值型的数据直接按大小关系比较得出真假。
而其他类型的数据则按其序号来比较,注意”a”和”A”不是相同的序号,”A”<”a”
(*屏幕练习2*)
比赛选手晋级程序,三项单项成绩的总分高于210分晋级,否则淘汰。
Privatesubcommand1_Click()
d1=inputbox(“请输入第一项单项分数:
”)
d2=inputbox(“请输入第二项单项分数:
”)
d3=inputbox(“请输入第三项单项分数:
”)
sum=d1+d2+d3
If_________Then
________________‘输出晋级信息
Else
________________‘输出淘汰信息
End
Endsub
在实际问题中,有的时候条件的判断并不是简单的、单一的关系判断,比如,上一道题中,若把晋级规则改变成“总分高于210且第一项成绩不低于80”,则分析此时的判断条件。
高于210:
sum>210
单项不低于80:
d1>=80
这两个条件要同时成立,此时需要了解VB中的逻辑连接符。
3、VB中的逻辑表达式
用逻辑连接符把关系表达式连接起来就成为了逻辑表达式。
常用的逻辑连接符有:
AND与两个表达式同时为真,结果才为真
OR或两个表达式有一者为真结果就为真
NOT非取反操作,表达式为假结果为真,表达式为真,结果为假
(*屏幕练习3*)
1、当希望几个条件都成立的时候,中间用_____连接
2、当希望几个条件有一项成立即可的时候,中间用_____连接
3、当希望某个条件不成立的时候,条件前面应加一个_____
因此,选手晋级程序的条件判断应该写为:
sum>210ANDd1>=80
在这里,介绍一下所学过的几种运算符的优先级关系,即算术运算符、关系运算符和逻辑运算符同时出现时,按照先算术、后关系、再逻辑的顺序来执行。
(三)、练习(包含课堂练习)
/*抛出问题——引导学生分析、解决——实践算法*/
判断下列数哪个不是水仙花数:
407521370371
提示:
水仙花数是指各个位数上的立方和刚好为此数数值。
比如153,刚好可以表示为
。
需要编写一个判断水仙花数的程序,用户从键盘随机输入一个三位整数,程序进行判断,若其是一个水仙花数,则输出“该数是一个水仙花数”,否则输出“该数不是水仙花数!
”
解决过程:
先在纸上画出问题解决的流程图,再完善程序。
教师对问题进行讲解,给出例程。
(四)、知识拓展
/*问题提升——启发思考——拓展教材*/
刚才判断水仙花数的程序可以实现对任意三位数的判断,但若用户输入的数字不是三位数,可能会导致程序的错误。
因此可以对用户输入的数据位数进行判断,从而加以控制——输入为三位数时,判断水仙花数,否则输出出错信息。
启发学生思考,该如何实现?
实质上就是在输入的时候加一个条件语句,满足条件的时候进行水仙花数判断,否则给出出错信息。
给出例程的实现,进一步给大家介绍选择结构的嵌套——一个语句中的某一个分支中可以包含另外一个条件语句。
(五)、知识总结
选择结构在VB中的实现,关系表达式和逻辑表达式的掌握。
【板书设计】:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 排序 程序设计 导学案