您现在的位置是:网站首页>Scratch编程教程Scratch编程教程

少儿编程Scratch第14讲:链表和冒泡排序算法实例教程

少儿编程网2019-07-10 22:37:27Scratch编程教程 人已围观 来源:艾博特

简介SAP/ORACLE/Salesforce/MS Dynamic这些企业应用软件,多以SQL数据表为基础,加上应用平台提供了很多类库,程序员进行底层算法设计的机会可能并不多。但从计算机技能学习来说,自己动手编写和实现一些算法还是必要的。至少,笔试、面试,算法还是会被考到的。

前言:

SAP/ORACLE/Salesforce/MS Dynamic这些企业应用软件多以SQL数据表为基础,加上应用平台提供了很多类库,程序员进行底层算法设计的机会可能并不多。但从计算机技能学习来说,自己动手编写和实现一些算法还是必要的。至少,笔试、面试,算法还是会被考到的。

目的:

使用冒泡排序算法,对数组中的数值由大到小进行排序。通过比较冒泡,了解冒泡排序的原理。初步了解数组链表功能,往链表中添加数据,读取链表的数据,删除链表数据,获取链表数据条目数量。

适用对象:适合有一定初步Scratch编程经验的用户,例如一二年级学生。本算法单独完成的难度比较大,需要家长讲解。

本游戏共享在:https://scratch.mit.edu/projects/213542724/

 

实现方式

冒泡排序制作思路:

1)背景图:既然是冒泡,那就加个海底的冒泡的背景图。

2)火龙角色:为了增加趣味性加入了一个火龙角色,开始时清空数据,然后随机填充15个数字,接着进行排序。火龙负责说话,提示当前系统在做什么。

3)数组(链表)变量一个:Data

4)设置三个变量:循环次数,当前位置,临时变量。

少儿编程Scratch第14讲:链表和冒泡排序算法实例教程

变量和链表。

5) 清空数据:程序开始时,清空链表中的数据。

a.  火龙提示“开始清空数据。”

b.     使用链表删除指令,可以删除链表指定位置条数条目,也可以全部删除或者删除尾部的数据。因此如果简单,可以直接全部删除。不过为了体现操作过程,我们使用了重复执行,读取条目总数,如果条目总数>1就删除第一条,然后等待0.1秒。这样就能看见系统依次删除链表中的数据。

c.     火龙提示,“数据已清空”。

少儿编程Scratch第14讲:链表和冒泡排序算法实例教程

清空,填充数据。

6)随机填充数据:

a.     火龙报“开始随机填充数据”

b.     强制加了一条最小的数0到链表;

c.     然后执行14次,在1-999中间随机选择一个数字,填充到链表中。填充中间未等待,因此一会填充好了15个数字。

少儿编程Scratch第14讲:链表和冒泡排序算法实例教程

(初始化后开始冒泡)

7) 冒泡排序:大循环,逐个比较。

a. 设置当前位置变量为15,从最后一个开始,和前面一个数相比较,如果比前面的数据大,就要往上冒泡,否则就不冒泡。

b. 设置循环次数:为当前位置减1,即第一次大循环,总最下面的第15个数字开始,一直往上比较,比较14次。15和14比,14和13比,最后是2和1比较。第一次将15个数字中,最大的数据冒到最上面,即位置1。第一次大循环结束。

c.     因为第一个数字已经是最大数,因此只要对2-15的数字进行第二轮排序即可。这样第二个大循环,重复比较的循环次数就可以减少1。因此第二次比较了13次,15和14比,14和13比,最后是3和2比较。即14个数字中找最大。第二次大循环结束。

少儿编程Scratch第14讲:链表和冒泡排序算法实例教程

大循环。

d.     依次类推,每次都找一个最大的,搬到最上面去。

e.     P和P-1位置的数字相比较时,如果P> P-1,即下面的数字大,就要交换。因此先将P-1存在临时变量里面;然后P挪到P-1,然后临时变量挪回P,实现P往上冒一格。火龙报“需要冒泡”或者“不需要冒泡”。

f.     冒泡比较后,等待0.5秒,这样能够看见在比较,冒泡,交换数字。

g.     每个大循环之间等待2秒,让火龙报“下一个大循环开始。”

 

少儿编程Scratch第14讲:链表和冒泡排序算法实例教程

排序结束

非专业程序人员编写,希望没有什么错误 :)


扩展阅读:

推荐阅读:别用错误的教育理念禁锢了孩子的发展,快让宝宝摸爬滚打

  • 让孩子亲近大自然的好处多多,时代的不断发展进步,很多小朋友都没见识过祖国山河的美,宝宝出生后,你买来床铃给宝宝听和看,买来绘本跟宝宝读,还放音乐给宝宝听。但是,你有没有让宝宝用手感受水流?有没有让宝宝用脚感受泥巴?宝宝的各种感官需要平衡发展呀。具体怎么做?我犯的错:只重视视觉和听觉大宝快 2 岁的时候,我们去参观幼儿园,发现大部分的幼儿园都有一个特别的角落,叫感觉区。那里放了各种质地的材料:纹理不同的布、米、豆、棉花、纸、橡皮泥。就连瓶子里都装了不同颜色、不同质地的液体:水、油、肥皂水,目的就是让孩子观察,感受。当时我深受启发,瞬间意识到在育儿方面自己进入了一个误区:对孩子的触觉和运动感觉,我重视不够。孩子从一出生,就通过各种感知觉来认识这个世界。新手爸妈往往会重视孩子的视觉和听觉。回想当年的我,也是如此,把宝宝房间贴满可爱的壁纸;在宝宝的小床上挂玩具;放音乐让孩子听。可对其他感官的重视,可谓很不够。柔软的怀抱比乳汁还重要触觉对婴幼儿建立安全依....>>查看全文

支持一下吧 ( )

文章评论

      匿名评论
    • 评论
    人参与,条评论
    少儿编程网

客服在线

服务时间

周一至周日 9:00-21:00