资源简介 (共28张PPT)(义务教育版)五年级全一册第19课冒泡排序齐体验(2)学习目标激趣导入学习活动思考-讨论学习探究课堂小结拓展-提升单元主题单元主题单元名称 课名称 核心内容第五单元 把数据排列有序 第 16 课 比较交换找最值 在一列数值中找出最大数,辨认其中的算法结构。第 17 课 选择排序轻松做 选择排序的基本步骤, 执行次数与选择排序数据量的关系,算法验证与实现。第 18 课 冒泡排序齐体验(1) 冒泡排序的算法步骤。第19课 冒泡排序齐体验(2) 冒泡排序的过程,执行次数与冒泡排序数据量的关系,算法验证与实现。第 20 课 化大为小桶排序 桶排序的算法思想,桶的数量和范围在排序过程中的作用。学习目标激趣导入【身高排序大挑战之冒泡排序】同学们,你们知道冒泡排序吗?你能使用冒泡排序的思想来组织排队吗?激趣导入【建构】上一课我们通过“排队”活动,体验了冒泡排序的算法步骤,下面通过对数据进行排序,分析冒泡排序的过程,并利用程序进行验证与实现。 学习活动学习活动活动1:冒泡排序的过程分析一学习活动一、冒泡排序的过程分析【 任务 1 】:把最大数交换到最后利用冒泡排序算法,把最大数排列到最后(最右侧),操作描述如下。学习活动一、冒泡排序的过程分析【 任务 1 】:把最大数交换到最后第 1 步:比较第一个数和第二个数,7 > 5,交换位置学习活动一、冒泡排序的过程分析【 任务 1 】:把最大数交换到最后第 2 步:比较第二个数和第三个数,7 < 9,不交换位置学习活动一、冒泡排序的过程分析【 任务 1 】:把最大数交换到最后第 3 步:比较第三个数和第四个数,9 > 3,交换位置学习活动一、冒泡排序的过程分析【 任务 1 】:把最大数交换到最后第 4 步:比较第四个数和第五个数,9 > 6,交换位置学习活动一、冒泡排序的过程分析【 任务 1 】:把最大数交换到最后第 5 步:比较第五个数和第六个数,9 > 8,交换位置学习活动一、冒泡排序的过程分析【 任务 2 】:按数值从小到大排序第二轮:返回最左边,在第一个至第五个数中,通过比较、交换找到它们中的最大数,把它排到第五的位置。学习活动一、冒泡排序的过程分析【 任务 2 】:按数值从小到大排序第三轮:返回最左边,在第一个至第四个数中,通过比较、交换找到它们中的最大数,把它排到第四的位置。学习活动一、冒泡排序的过程分析【 任务 2 】:按数值从小到大排序第四轮:返回最左边,在第一个至第三个数中,通过比较、交换找到它们中的最大数,把它排到第三的位置。学习活动一、冒泡排序的过程分析【 任务 2 】:按数值从小到大排序第五轮:返回最左边,比较第一个和第二个数,把较大的数排到第二的位置。学习活动活动2:流程图描述冒泡排序算法二学习探究二、流程图描述冒泡排序算法学习活动活动3:验证冒泡排序的算法三学习活动三、验证冒泡排序的算法下面通过观察、运行冒泡排序的程序,体会算法的实现。第 1 步:打开“冒泡排序 .py”程序。第 2 步:观察、运行这个程序,体验冒泡排序的算法执行过程。第 3 步:大致了解程序与算法的对应关系。第 4 步:尝试修改程序中的排序数据,再运行程序,观察变化。学习活动三、验证冒泡排序的算法def bubble_sort(num_list):n = len(num_list)for i in range(n):for j in range(0, n - i - 1):if num_list[j] > num_list[j + 1]:num_list[j], num_list[j + 1] = num_list[j + 1], num_list[j]return num_list学习活动三、验证冒泡排序的算法if __name__ == "__main__":numbers = [7, 5, 9, 3, 6, 8]sorted_numbers = bubble_sort(numbers)print("排序后的数组:", sorted_numbers)课堂小结2流程图描述冒泡排序算法3验证冒泡排序的算法1冒泡排序的过程分析把最大数交换到最后按数值从小到大排序拓展-提升【“报数”排序游戏】在 10 张卡片上分别写下一个 50 以内的自然数,随机分发给 10 位同学,然后选一位同学出来从 1 开始报数。当报的数与某张卡片上的数相同时,该同学就手持卡片站出来。继续报数,直到 50 为止,手持卡片的同学按先后顺序站成一排,这时发现,这 10 个数已经按顺序排列。用计算机解决排序问题时,也可以用以上“报数”的方法。计算机按顺序数数,当数到的数与参与排序的某个数相同时,这个数就会被加入已排序数的队列中。https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源预览