5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc

上传人(卖家):QXX 文档编号:7476026 上传时间:2024-01-25 格式:DOC 页数:6 大小:83.50KB
下载 相关 举报
5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc_第1页
第1页 / 共6页
5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc_第2页
第2页 / 共6页
5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc_第3页
第3页 / 共6页
5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc_第4页
第4页 / 共6页
5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、排序算法的程序实现教学设计课程标准和教学目标排序算法的程序实现教材内容:5.3 排序算法的程序实现适应的课程标准: 1.7 通过实现数据的排序和查找,体验迭代和递归的方法,理解算法与数据结构的关系。教学目标: 掌握常用的冒泡排序的基本程序结构。能够编程实现冒泡排序。指向的核心素养: 信息意识:学生能够结合生活中的实例描述数据的内涵与外延,能够将有限制条件的、复杂生活情境中的关系进行抽象,有意识地选择恰当的数据结构表达数据的逻辑关系。计算思维:能够从数据结构的视角审视基于数组、链表的程序,解释程序中数据的组织形式,描述数据的逻辑结构及其操作,评判其中数据结构运用的合理性;能够针对限定条件的实际问

2、题进行数据抽象,运用数据结构合理组织、存储数据,选择合适的算法(排序、查找、迭代、递归)编程实现、解决问题。数字化学习与创新:学生较为熟练地运用数据结构解决生活中的真实问题,并在此过程中自主或协作探究;能够评估常见的数字化资源与工具对学习数据结构的价值,根据需要合理选择。信息社会责任:能够分析数据与社会各领域间的关系,自觉遵守相应的伦理道德和法律法规。学习环境:有教学控制软件的多媒体机房,python编程环境。建议课时:1课时教学活动设计教学环节教学过程设计意图情境导入回顾旧知:请同学们写出冒泡排序第一趟的基本过程。设计意图:巩固旧知,联系新知。学习任务一学习任务一:冒泡排序的基本过程与规则问

3、题:冒泡排序应该对任意排列的n个数据都能实现最终的排序,这里面是否有规则,规则在哪里?引导学生思考并回答问题。引导学生总结:排序的最少遍数为n-1,每遍进行的基本过程。第一遍,对n个元素冒泡,加工完毕,最大值23“下沉”至数组最后第一个元素的位置;第二遍,对n-1个元素冒泡,加工完毕,最大值20“下沉”至数组最后第二个元素的位置;第n-1遍,对2个元素冒泡,加工完毕,最大值13“下沉”至数组最后第n-1个元素的位置;排序完成。以升序、“最大元素下沉”为例,提炼出一般规则:设问:再仔细观察某一遍里面的加工步骤,这种方法是否通用?教师引导学生总结:排序过程中,按下面的方式使用变量i和j:i:记录正

4、进行的处理遍数,第1遍处理时值为1,第2遍处理时值为2,依次类推。j:记录当前数组元素的下标。每遍处理过程中,j值总是从第一个数组元素的下标值0开始,按每次加1的方式,直至j=n-i-1为止。每当j取定一个值后,当前数组元素dj将与它的后一个元素dj+1进行比较,若dj dj+1,则互换这两个数组元素中的数据。设计意图:按照由粗到细、逐步求精的策略,推动学生加深对冒泡排序的深刻认识。学习任务二:冒泡排序的程序实现学生自主编写程序,教师及时跟踪、辅导、点评、总结1.先研究冒泡排序的第一遍的程序实现仍以这些数据为例,回顾冒泡排序第一遍的加工过程:冒泡排序算法对数组d的第一遍加工过程设问:经过第一遍

5、加工,是否能够确保数据中的最大元素下沉到最下面?如何使用程序实现?for j in range(0,length-1): if LjLj+1: temp=Lj Lj=Lj+1 Lj+1=tempj代表数组元素的下标,试问j从0开始,是否可以达到length-1?为什么?设计意图:从第一遍加工的实现中可以发现规律,进而引导学生概括出全部算法过程。2. 设计算法设问:上一步中,我们编写了第一遍加工的程序代码,如何修改一下,完成第i遍(i = 1 , 2, 3, )的加工过程?对于n个元素,第一遍加工将最大元素下沉到第n个位置对于剩下的n-1元素,反复使用该规则,直到最后余下两个元素进行比较和交换冒

6、泡排序完成for j in range(0,length-i): if LjLj+1: temp=Lj Lj=Lj+1 Lj+1=temp设计意图:重点在于第一遍加工处理,这个过程清楚了,那么对于后面的每遍加工,遵循同样的规则,以此类推,即可实现数据的完整排序。此处在于引导学生意识到对第i遍加工来说,只需要将一个参数略微修改一下即可。3. 学生动手编写冒泡排序的程序def bubble_sort(L): length=len(L)#序列长度为length,需要执行length-1遍加工 for i in range(1,length): for j in range(0,length-i):

7、if LjLj+1: temp=Lj Lj=Lj+1 Lj+1=temp设计意图:由第一遍加工的代码,概括出第i遍加工代码,是一种抽象思维的过程,最后将整个过程,进一步概括出一个外层循环和内层循环的程序结构,这是一个难点。可以多花些时间,鼓励学生多思考、多动手、多验证。设计意图:从第一遍加工的实现中可以发现规律,进而引导学生概括出全部算法过程。设计意图:重点在于第一遍加工处理,这个过程清楚了,那么对于后面的每遍加工,遵循同样的规则,以此类推,即可实现数据的完整排序。此处在于引导学生意识到对第i遍加工来说,只需要将一个参数略微修改一下即可。设计意图:由第一遍加工的代码,概括出第i遍加工代码,是一

8、种抽象思维的过程,最后将整个过程,进一步概括出一个外层循环和内层循环的程序结构,这是一个难点。可以多花些时间,鼓励学生多思考、多动手、多验证。拓展学习冒泡排序算法的每一遍加工中,最小的元素“上浮”和最大的元素“下沉”这两种方式在程序实现时有何区别?建议在上节引入“选择排序”的基本思想与方法基础上。鼓励学生探索“选择排序”的程序实现。设计意图:根据学生的不同层次水平设置相应的教学任务课堂小结知识梳理:1. 冒泡排序的基本过程和结构;2. 冒泡排序的程序实现。作业布置课后练习选择排序算法是在参加待排序序列的所有元素中找出最小(或最大)数据的元素,使它与第一个元素中的数据相互交换位置。然后再在余下的

9、元素中找出最小(或最大)数据的元素,与第二个元素中的数据相互交换位置。以此类推,直到所有元素成为一个有序的序列。请根据该排序算法的思想,编程实现对数据序列23,20,13,18,14,11,98,4 的升序排列。课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。教学设计思路本课内容为排序算法的程序实现。建议分配1课时完成。首先,引导学生回顾旧知,与前面所学的冒泡排序基本思想与方法建立联系,学生可以较熟悉地对若干个数据进行冒泡排序。其次,引导学生能够从抽象的角度概括出冒泡排序的基本规则,并能以合适的数字化学习工具呈现出其每遍加工的基本过程。再次,在学生有了一定认知基础上,可以引入自然语言、

10、流程图,帮助学生理解冒泡排序的基本程序结构,从而实现对程序实现这个难点的突破。本节主要内容为排序算法的核心模块。针对核心素养培养的设计考虑本节侧重于计算思维的训练。程序语言是表达算法思想的工具,为了实现冒泡排序,在数据组织形式上选择较为简单的整数,并从中概括出冒泡排序的基本过程和算法步骤。这是一个逐步求精的过程。为了照顾普通学生的需要,可以从分析冒泡排序的第一遍加工入手,然后再就其程序实现进行展开,这是一个由抽象到具体的过程;然后再从第一遍的实现,推广到第i遍加工,这是一个思维泛化的过程;再由此出发,抽象出冒泡排序的整体程序结构,并通过简洁的代码实现,提炼出了冒泡排序的基本算法。这个基本过程,是一种思维螺旋式上升的提升过程,较好地实现了教学意图。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中 > 信息 > 浙教版(2019) > 选修1 数据与数据结构
版权提示 | 免责声明

1,本文(5.3.2 排序算法的程序实现 教学设计-2024新浙教版(2019)《高中信息技术》选修第一册.doc)为本站会员(QXX)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|