义务教育版(2024)五年级信息科技 第17课 选择排序轻松做 课件

资源下载
  1. 二一教育资源

义务教育版(2024)五年级信息科技 第17课 选择排序轻松做 课件

资源简介

(共25张PPT)
(义务教育版)五年级
全一册
第17课
选择排序轻松做
学习目标
激趣导入
学习活动
学习探究
思考-讨论
课堂小结
拓展-提升
单元主题
单元主题
单元名称 课名称 核心内容
第五单元 把数据排列有序 第 16 课 比较交换找最值 在一列数值中找出最大数,辨认其中的算法结构。
第 17 课 选择排序轻松做 选择排序的基本步骤, 执行次数与选择排序数据量的关系,算法验证与实现。
第 18 课 冒泡排序齐体验(1) 冒泡排序的算法步骤。
第 19 课 冒泡排序齐体验(2) 冒泡排序的过程,执行次数与冒泡排序数据量的关系,算法验证与实现。
第 20 课 化大为小桶排序 桶排序的算法思想,桶的数量和范围在排序过程中的作用。
学习目标
激趣导入
【身高排序大挑战续集】
同学们,假如我们要进行一次小组活动,需要按从矮到高的顺序排队。大家想想,你会怎么组织进行排队?
激趣导入
【建构】
排序算法有很多种,这一课学习比较简单的选择排序。
本课主要围绕选择排序算法及其执行过程、执行次数来展开学习。
学习活动
学习活动
活动1:描述选择排序的算法

学习活动
一、描述选择排序的算法
桌上有5个盒子,分别以 1、2、3、4、5 编号,每个盒子里装有一张卡片,卡片上写着一个大于 0 的数。
学习活动
一、描述选择排序的算法
请依据这些卡片上的数,把它们从大到小排序。
要求:把写着最大数的卡片放在 1 号盒子,写着第二大数的卡片放在 2号盒子,以此类推。
学习活动
一、描述选择排序的算法
选择排序的基本步骤如下。
第 1 步:用前一课所学方法,找出最大数的卡片所在盒子。
第 2 步:把写着最大数的卡片与 1 号盒子里的卡片进行交换。
第 3 步:以此类推,在 2 号到 5 号盒子里,用“找出最大数”的方法,继续查找其中最大数的卡片,找到后与对应盒子里的卡片进行交换。
学习活动
一、描述选择排序的算法
以上操作,其实也形成了一个具有循环结构的算法。
第 1 步:把卡片放入盒子,已排序个数设为 0。
第 2 步:在未排序数中找到最大数,与未排序的第一个数交换位置。
第 3 步:重复第 2 步,依次查看所有数并交换到相应的位置。
第 4 步:按顺序呈现 5 个数。
学习活动
一、描述选择排序的算法
学习活动
活动2:分析选择排序的过程

学习探究
二、分析选择排序的过程
5 张卡片上有 5 个数,如108、24、12、91、35。运用前面所学选择排序算法,完成从小到大的排序,验证算法执行的步骤,记录卡片交换的次数,填写任务单。
思考-讨论
进一步思考:学习选择排序算法后,有一位同学说:“我观察一下就能把这5个数排好顺序,不必反复操作,计算机有点笨呀!”
你认同这个说法吗?与小组同学交流你的想法。
二、分析选择排序的过程
学习活动
活动3:验证选择排序的算法

学习活动
三、验证选择排序的算法
在上一课的学习中,当找到列表中的最大数后,还可以进行多次比较和交换,实现列表中的数按从大到小排序。
打开以下参考程序并运行,利用程序实现选择排序算法,把数据由大到小排序。
学习活动
三、验证选择排序的算法
data = [64, 25, 12, 22, 11, 90, 88, 77, 55, 33] # 要排序的数据列表
n = len(data) # 获取列表数据的个数
i = 0 # 设置外层循环控制变量的初始值
while i < n - 1: # 外层循环用于控制排序的轮数
max = i # 最大值变量设为当前轮数的起始值
j = i + 1 # 设置内层循环控制变量的值
while j < n: # 内层循环用于找到未排序数中的最大数
学习活动
三、验证选择排序的算法
if data[j] > data[max] : # 如果找到的值更大就更新最大数
max = j
j = j+1
if max != i: # 如果最大数不在指定位置就交换位置
data[i], data[max] = data[max], data[i]
i = i+1 # 进入下一个数的排序
print(' 排序后的数 :', data) # 输出排序后的列表
课堂小结
2
分析选择排序的过程
3
验证选择排序的算法
1
描述选择排序的算法
用自然语言描述
用流程图描述
1. Python 中的数据列表
2. while 循环
3. 程序实现与验证
拓展-提升
在 Python 中,可以使用 sorted( ) 函数来进行排序,编程验证与实现算法时更加简单便捷。打开配套资源中的参考程序,观察并运行,体会用程序实现算法的多样性,感受多途径解决问题的过程。
拓展-提升
# 创建一个包含 10 个数的列表
  box = [24, 99, 56, 25, 91, 77, 42, 83, 108, 35]
  print(' 排序前 : ', box)
  # 使用 sorted( ) 函数进行排序
  box=sorted(box)
  print(' 排序后 :' , box)
https://www.21cnjy.com/recruitment/home/fine

展开更多......

收起↑

资源预览