视频标签:算法与程序设计,排序
所属栏目:信息技术优质课视频
视频课题:高中信息技术浙教版选修1算法与程序设计2.3 排序
教学设计、课堂实录及教案:高中信息技术浙教版选修1算法与程序设计2.3 排序
课题名称
选择排序算法(第一课时)
授课者 苏晨怡
年级 高二
教材 《算法与程序设计》
课时
1课时
授课时间
2017.5
一、前端分析
学习内容分析
教材选自《算法与程序设计》的2.3.3选择排序。 1.《学科教学指导意见》对本课教学内容的要求
对于选择排序,除了掌握选择排序算法本身外,更重要的是理解选择排序算法的原理,了解选择排序算法的特点。
2.本课内容的组成成分和在模块学习中的地位和作用 选择排序是《算法与程序设计》模块中,难度最高的算法之一。学生只有在充分理解和掌握选择排序算法的前提之下,才能更好使用VB程序语言来实现该算法。学生对于选择排序算法思想的理解是前提和基础,也是算法实现过程中难点的突破口。所以,本课重点在于选择排序算法思想的理解与掌握,该算法的程序实现留到下一节课再做学习。 学习者特征分析
1.学生已有的认知水平和能力基础
通过上学期《信息技术基础》算法部分的学习,学生初步了解算法及其表示、比较熟悉流程图设计。 2.学生学习本课可能遇到的困难和问题
学生对象为内高新疆班学生,大多数学生在初中学习时因地域或教育原因,信息素养不高,在学习《算法与程序设计》模块时普遍表示出比较吃力。
学习中学生可能难以理解什么条件两个数据要交换;难以理解如何找到最小数;会被流程图中多个控制变量所代表作用搞混;直接拿出整个排序的复杂算法分析,可能会吓跑学生,学生会逃避学习,注意力难以长时间集中。
3.学生在学习过程中可能采取的各种学习策略
为了帮助学生更好的解决在课堂中可能遇到的问题、解决难点,利用学案设计多个教学活动。让学生在活动中思考、交流、探究,从而得到问题的答案。在活动中,学生加深了对于选择排序算法的理解,在参与活动的过程中,解决了这些将会遇到的难题。与同学一起解决问题。
学习需要分析 排序算法是程序设计中的重要算法,对它的学习既是对已经学过的三种程序设计结构的综合运用,又能为后续对分查找的学习作好铺垫。
第 2 页 共 9页
二、教学目标
知识与技能 1.掌握选择排序具体算法具体过程; 2.能对照冒泡排序,解释选择排序的优势。
过程与方法
1.具有模仿水平,在教师指导下可以表达出选择排序的思想,能对流程图作出解释;
2.能独立完成流程图的绘制,对选择排序的各个环节比较熟练。 情感、态度与价
值观: 1.学生在学习过程中,通过亲身经历体验选择排序的实现过程,获得对此
算法的感性认识;
2.开展交流合作,把自己对此算法的心得与他人交流,培养良好的信息素养,提升热爱科学的理念。
三、教学重难点
重点
1.对选择排序原理的理解;
2.绘制流程图。
难点
1.如何找到一组数中的最小数(或最大数);以及下标变量k的理解;
2.数据交换发生的条件。
四、教学环境
硬件环
境 多媒体教室
软件环境
一份教学ppt、每个学生一份学案
五、教学策略
讲授法为主,适当让学生讨论与体验。把握重点,先导入问题,复习冒泡排序,分析冒泡中数据交换次数多的问题,指出冒泡排序法效率不高,从而引出数据交换次数较少的选择排序算法。
在教学过程中,可通过Flash演示材料,比较直观地把抽象的问题简单化,由“流
程图雏形绘制”-“逐步完善流程图”的过程,让学生理解选择排序的思想原理。
在教学中可灵活运用小组合作、分组讨论等手段进行教学,通过发散性思维的培养,增强学生对知识的探索能力。
六、 教学过程
教学行为
学生活动
设计意图
课前准备 分发给学生一份学案
课前预习
为教学的顺利开展做好准备。
第 3 页 共 9页
一、
复习导入
1.提问:若要将108、120、96、75这组数据按从小到大的顺序进行冒泡排序,则: ①需进行几次冒泡排序,每次的排序结果
分别是什么?
②整个排序过程中进行了几次数据交换,是否能减少交换次数? ③能否减少交换次数?
1.回答问题; 2.讨论思考第三个小问题,能否减少交换次数。
复习冒泡排序算法,并通过分析数据交换的次数,提问学生是否有办法让数据交换的次数变少,引发学生思考与发现,进而引出选择排序算法。
二、 例题示范引出概念
1.讲解:将108、120、96、75四个数从小到大进行排序,简要阐述选择排序算法。第一次,从四个数中找到最小数75,放到最上面第一个位置,75与108交换位置; 第二次,从三个数中找到最小数96,放到最上面第二个位置,96与120交换位置; 依次类推,直到成为有序序列,结果如下:
2.引出概念: 选择排序是在参与排序的所有数组元素中找出最小(或最大)数据的元素,使它与第一个元素中的数据相互交换,然后再在余下的元素中找出最小(或最大)数据的元素,与第二个元素中的数据相互交换位置,以此类推,直到所有元素成为一个有序的序列。
听教师讲解,解决疑惑。 通过对第三个小
问题深层次的探讨,引出本节课学
习的算法:选择排序算法及其概念。 三、 小试牛刀
随堂练习1:
1.先在学案上回答两个练习题。
2.请学生讲解这两道目自己的选择与做题思路。
让学生先了解选择排序算法,通过两道简单题目的练手,对其有总体认识,树立信心。
第 4 页 共 9页
四、 选择排序算法表示
(流程图1)
1.回顾:表示算法的三种方法:自然语言
——>流程图——>程序语言
2.有的同学说,画流程图还不简单,一个开始,一个结束,中间加个“选择排序”不就行了。
回答没错,得到流程图一。
回顾算法的三
种表示方法。
借学生口闻,无缝引导学生到画选
择排序的流程图
中。
五、
选择排序算法表示
(流程图2)
1.流程图一问题:这个流程图没错,但实际问题没有解决,到底选择排序是怎么样进行的呢? 2.观察:根据下图图例,请学生用自己的语言描述选择排序过程
3.根据学生的回答,得出流程。
学生参与思考,回答问题。 1.请学生起来,对照上面实例,引导问答进行排序要有两步:第一步,
找最小数;第二步,交换位置。
2.通过抛出简单的问题,对选择排序算法进行分解,一
步步加深理解难度。
第 第 第
第 5 页 共 9页
六、 选择排序算法表示
(流程图3) 1.流程图二问题:“找最小数”和“交换位置”要重复几次?
说明:请学生回答这儿总共四个数,重复几次?3次。如果总共5个数,重复几次? 如果总共n个数,重复几次?得出流程图三。
2.找最小数,交换,循环三次,再结束,画
的规范些,就成改进的流程图三。
1.回顾程序的三种基本结
构; 2.在学案上先
补充改进后的流程图三,再回答问题。
重复做事情,会想到用哪一个程序结构来表达?引导学生想起“循环结构”,在流程图二的基础上加上循环部分,完善流程图。
七、 选择排序算法表示(流程图4:
找最小数)
1.流程图三问题:怎么样在一组数中找到最小数据呢?(以108、120、96、75为例)
1.学生思考108、120、96、
75四个数当中哪个数最小,并回答。
2.思考:以第一种方法找最小数,得出的第一遍选择排
1.“找最小数”是本节课的难点,首先尝试直接把确切的数值对调来找最小数,发现其违背选择排序算法思想,从而引进最小数下标变量k,这样更符合学
第 6 页 共 9页
2.讲解:以第一遍选择排序为例,对算法就行演示。
首先访问到的是108,只有一个数,最大是它,最小也是它,所以最小数就是108; 接着访问到120,最小数108和120比较大小,108小,还是最小数还是108;
其次访问96,最小数108和96比较大小,96小,所以我们把最小数96移到数组第一个位置,交换108和96;
最后访问75,最小数96和75比较大小,75小,因此我们把最小数75移到数组第一个位置,交换96和75。
因此第一遍排序结果是:75 120 108 96 3.提问:这样的排序结果对吗?
4.讲解:直接拿确切的数对调是不恰当的,为了解决这个冲突,引入最小数下标k这个变量。一起看这个表格:
5.引导学生得出流程图四,并请学生补充完整
6.提问:将排序数据规模拓展为N,流程图四怎么修改?
序结果是否正确,有无违背选择排序算法思想,并回答。 3.在学案上补充完整流程图四,并回答。 4.思考将排序数据规模拓展为N,流程图四如何修改,并回答。
生的思考,方便学生理解与熟记最小数下标k。 2.让学生自己归纳出解决的办法,既能落实知识点,又能激发学生的求知与探索欲望。
视频来源:优质课网 www.youzhik.com