新闻列表
咨询热线:
187 - 6397 - 2757
链表大家编程的时候用的不多,所以也不太熟悉,今天老师着重讲一下,看看小伙伴们是否能够通过链表的使用能够让程序做得更有效率。
链表:在scratch里也翻译成列表。也是变量的一种,但是是一组变量。相当于一个队列。通常用在同一类的变量组。举个例子吧,比如今天天气如何?晴天?阴天?多云?雷阵雨?等等,这些就可以看成一组变量,因为都是描述天气的。再比如今天是星期几?周一到周日,7个变量,也可以看成有关周几的一组变量。这样的例子很多,比如都有哪几门功课?公园里都有哪些花?家里有哪些家具?这些都可以看成一组组的变量。
这么一解释,是不是小伙伴顿时豁然开朗,原来链表就是变量组呀,那用途是不是很广泛呢?当然我们也可以把变量组中的一个个变量拿出来定义成单独的变量,但是这样你就会发现有大量的重复编程的内容。
我们今天用一个例子来讲讲变量的用法,首先我们先解释一下链表的指令集。
老师创建了一个比赛的列表。第一条指令就是在列表的后面增加一个新的变量。第二条指令就是删除变量组的某一条变量。(选项里包含了末尾和全部的选项,也就是可以直接把整个列表链表清空)第三条指令是插入指令。就是在某一项前面插入一个变量(此处也有两个选项,可以插在末尾,可以随机插入某个位置)。第四条是替换掉某个变量,也就是先删除再插入了。(选项里也包括了末尾和随机两个选项)
这三条指令相当于参数的指令了。第一个是直接返回了链表中的某一项,第二个反馈整个链表有多少项。第三个是判断整个链表中是否包含某一项目。
整个看起来是不是很像最基本的数据库列表呀。
我们通过个小游戏来简单熟悉一下:我们在屏幕上画出三个轨道,让小猫们在这个三个跑道上随机的跑。
这个简单的小动画可以用很多方法实现,我们今天试试链表怎么用:
我们首先在屏幕上画三条赛道(就画三根线吧),然后我们创建一个赛道的列表,用来表示三条赛道的Y坐标。
如果变量内容简单,可以直接在创建链表的时候,直接把变量初始内容填上。点赛道变量表的左下角的小+号就可以添加变量。
当然如果变量有规律的话,也可以通过在程序里初始化阶段通过循环指令添加。这个大家可以自己研究。
程序分解:
1:不断的克隆小猫。
2:把每个克隆小猫出现的位置放在随机的赛道上。然后向右方跑。
第一部分的程序,很简单。
第二段程序:
左边的部分很简单,关键是选择赛道这条指令。这个是老师新建了个积木指令。指令里只有一条语句,就是设置Y坐标为赛道变量里面任意一项的值。(之所以采用新建一个选择赛道这样的指令是想大家养成一个好习惯,让编程更具可读性,和可管理性。习惯去把一组复杂的指令打包成一个指令,以后更加方便的编程和维护。)
通过这个小例子,大家是不是对链表有些熟悉啦。
老师仔细在网上研究了一下关于链表的经典例子,其中有一个能非常好的学习链表的例子,就是如何取不重复的随机数。比如在1到10中任意选取五个不重复的随机数。
重复的随机数大家都会选,一条指令就做到了,那不重复的随机数呢?其实不重复的随机数应用很多,比如排雷的小游戏,你就不能把两颗雷放在同一位置,还有打比赛,随机抽取比赛队伍时,就不能一个队伍选两次。很多游戏里的随机选取都是不能重复的。
当然随机选取不重复的方法也有很多,比如把随机选取出来的数字与已经选取出来的数字做一一比对,如果重复再重新选取。
如果用链表的方法,效率就比较高:
1:从链表中任意选取一项。
2:将该项从链表中删除。
3:重复第一步。
是不是很简单,这样就不会有重复的选项了。这个小程序就留给小伙伴们自己去做了
速云少儿编程致力于 4 - 18 岁,山东少儿无人机编程教育机构,速云网络研发软件工程师授课少儿编程,教给孩子们不光要学习编程,还要结合编程知识给我们无人机写程序,实现我们无人机的自动启飞、人脸识别、智能跟随,包括更加高级的编程玩法,就是无人机编舞。可能家长想了!四岁孩子能学习无人机编程吗?那我们看个四岁的小同学吧,你自己看看能不能学习吧!
我们来看一看四岁小朋友的学习视频吧!
家长担心孩子们真的能听懂课程吗?在每节课即将结束的时候我们都会进行课程汇报展示,来看一下小童鞋的汇报成果吧!
这个时候家长可能说了,我们四岁的孩子,年龄辣么小,又不认字,那该如何学习呢?
其实四岁、五岁的孩子不认字怎么学习?只要孩子识别颜色就可以学习。通过颜色识别具体编程积木,比如:蓝色是运动、紫色是外观、黄色是事件等等,通过颜色识别文字,根据颜色先实现出程序做出卡通的效果,以激发孩子兴趣,使孩子产生兴趣后开始具体学习每个积木的作用,再学习积木上面的文字。如下图:
这个时候你还认为编程难吗?其实针对4岁起,就已经可以学习编程了。通过搭积木的方式让孩子学习编程。
当然,比如我们下面的无人机编程视频吧!
无人机能六架一起起飞?没错!那他又和数学有什么关系呢?
小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型。
现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?
无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?
答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!
无人机编程都学习哪些内容呢?
让无人机与编程结合?
没错!就是要让孩子“动手”+“编程”实现无人机起飞。
重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。
例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。
看我们小童鞋们上课视频吧
坦克编程都学习哪些内容呢?
动手组装”+“编写程序”
通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。
课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。
例如:人脸识别、智能跟随等前沿技术。