Scratch教程

当前位置:小码王 > 学习教程 > Scratch教程

Scratch算法练习-选择排序
导读:只要理解了Scratch的算法和核心,就能对后面要学到的数学知识有个提早的认知。今天南京小码王Scratch培训班老师要来给大家介绍一下如何用Scratch算法进行选择排序,一起来学习一下吧。

前面已经介绍过了,Scratch算法的神奇之处,利用Scratch编程,我们可以轻松解决许多数学问题,还能省去繁杂的步骤,即使是没有学到这部分知识的孩子,只要理解了Scratch的算法和核心,就能对后面要学到的数学知识有个提早的认知。今天南京小码王Scratch培训班老师要来给大家介绍一下如何用Scratch算法进行选择排序,一起来学习一下吧。


题目:使用Scratch编写程序,对列表中的10个数利用选择排序法排序。


简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出更小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出更小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出更小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。


以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列:


初始序列举例:{49 27 65 97 76 12 38}


第1趟:12与49交换:12{27 65 97 76 49 38}

第2趟:27不动 :12 27{65 97 76 49 38}

第3趟:65与38交换:12 27 38{97 76 49 65}

第4趟:97与49交换:12 27 38 49{76 97 65}

第5趟:76与65交换:12 27 38 49 65{97 76}

第6趟:97与76交换:12 27 38 49 65 76 97 完成


数据交换位置的一般方法:假设我们要交换A\B两个瓶子中的水,首先要把A瓶子里的水倒出来放入其它容器里C里,然后再把B瓶子里的水倒入到A瓶里,最后把其它容器C里的水倒回B瓶子里,这样就完成了交换,程序也是如此。例如:替换第1项与第3项,将第1项存入临时变量,然后把第1项替换为第3项,再将第3项替换为临时变量。


Scratch程序如图:


12.jpg


有人觉得Scratch是不是太简单了,孩子学了没有意义?其实不然,这是非常适合零基础的孩子入门编程的一个选择,有了Scratch基础,再学其他编程语言会轻松不少。南京小码王开设了专门的Scratch培训班,这里有更多有趣的Scratch教程,还有专业老师手把手指导带领孩子们入门,欢迎大家前来试听体验课程。春节期间,小码王还有更多有趣的活动等你来!