少儿趣味编程Scratch算法挑战《选择排序法》(教案+源文件)

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

少儿趣味编程Scratch算法挑战《选择排序法》(教案+源文件)

资源简介

算法挑战:选择排序法
(
今日任务:
)
今日我们来利用 scratch 进行选择排序(Selection sort)法的探究,什么是选择排序法呢? 选择排序算法的运作如下:(从前往后)
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据
元素中选出最小(或最大) 的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
排序算法即解决以下问题的算法:
输入
n 个数的序列
输出
原序列的一个重排;,使得 a1*<=a2*<=a3*<=...<=an*
我们通过一个简单的小实例来看演示一下用来加深印象:
原始数列 第一次 第二次 第三次 第四次 第五次 第六次 第七次
经过第七次选择排序,每次都将未排序数列中的最小数字置顶;
第一次排序:1 被选择出来置于未排序数列的顶部;
第二次排序:2 和 6 调换位置, 被选择出来置于未排序数列的顶部;
(
第三次排序:
3

6
调换位置,
被选择出来置于未排序数列的
顶部;
第四次排序:
4

7
调换位置,
被选择出来置于未排序数列的
顶部;
)
第五次排序:5 已经是未排序数列中的最小值,不需要和未排序数列中其他数字调换位置;
第六次排序:6 和 7 调换位置, 被选择出来置于未排序数列的顶部;
第七次排序:7 和 8 调换位置, 被选择出来置于未排序数列的顶部;
至此选择排序结束,我们可以看到,选择排序比冒泡排序更加优化,更加高效
(
本课重难点:
)
(1)了解选择排序法的核心思想。
(2)能够通过 scratch 编程实现对一个随机数列的选择排序。
(
任务解读
flowchart

)
(
跟我来挑战
Follow
me

)
第一步:启动 scratch 软件;
第二步: 点击上方的“文件”→ “保存”→保存到桌面,文件名: 选择排序 →点击“保存”;
(第二步很很很重要,我希望所有的学生都能养成及时保存作品的好习惯!)
第三步: 程序解读
(见下页)
主程序:
创建随机无序数列 list 子程序:
选择排序子程序:
程序运行结果:
输入数字 30
生成一个长度为 30 的随机数列,你可以检查一下, 里面有没有重复数字?
回答数字“y ”
排序结果:
(
课后思考:
)
(1) 试将我的程序进行算法优化,看看能不能在我的程序基础上进一步优化一下?
(2) 试想一下, 选择排序都有哪些应用呢?什么领域或者是程序设计需要用到选择排序? 试着在网上搜索一下,顺便搜索一下更加高级的排序算法!

展开更多......

收起↑

资源预览