新闻列表
咨询热线:
187 - 6397 - 2757
冒泡排序,在我们前几篇文章中涉足过,也讲过什么是冒泡排序,可能同学们听着比较枯燥,毕竟都是一对数字,那肯定很枯燥了。想看上篇文章的冒泡排序的同学们可以点击冒泡排序进去查看。
速云少儿编程致力于 4 - 18岁 ,山东少儿无人机编程培训教育机构。
我们来看一看四岁小朋友的学习视频吧!
家长担心孩子们真的能听懂课程吗在每节课即将结束的时候我们都会进行课程汇报展示,来看一下小童鞋的汇报成果吧!
这个时候家长可能说了,我们四岁的孩子,年龄辣么小,又不认字,那该如何学习呢?
其实四岁、五岁的孩子不认字怎么学习?只要孩子识别颜色就可以学习。通过颜色识别具体编程积木,比如:蓝色是运动、紫色是外观、黄色是事件等等,通过颜色识别文字,根据颜色先实现出程序做出卡通的效果,以激发孩子兴趣,使孩子产生兴趣后开始具体学习每个积木的作用,再学习积木上面的文字。如下图:
作为家长的你有没有看到我们的小朋友上课呢?现在还在纠结三岁的孩子是否可以学习编程了吗?
言归正传!
今天为了让同学们轻松一下又能学到数学的精髓部分,我们就以鱼缸冒泡的方式进行排序,同学们仔细挺好哦!
先看效果:
排序的方法有很多种,今天介绍一下“冒泡法”排序。
冒泡排序:
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
不理解?看下面的介绍:
冒泡排序算法的原理如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
理解了吗?还不理解?再看图:
程序如下:
本例只对5个小球进行排序,所以循环上限是5次。
其中,列表“序号”中存放了需要排序的内容。变量i是外循环计数,循环次数为5;变量j是内循环计数,循环次数是5-i。
难点一:为什么内循环的次数是5-i?
l 由于是两两进行比较,所以第一次比较时,只需要比较4次就可以了。而第一次运行时,外循环变量i=1,所以这时5-1=4;
l 第二次执行内循环时,由于最大的已经冒泡到顶部,只剩下4个元素。这4个元素,也只要比较3次就可以。而这时外循环变量i=2,刚好5-2=3。后面的依次类推。
难点二:如何引用数组结构中的元素?
在Scratch中没有提供“数组”这种数据结构,但是提供了“列表”。数组可以通过列表来实现。
例如,有数组A,它有5个元素。则每个元素分别为A(1)、A(2)、A(3)、A(4)和A(5)。有的编程语言数组的下标从0开始,有的从1开始。有的编程语言支持对数组的整体操作,有的只能一个元素一个元素的访问。
Scratch中只有列表,所以只能通过下标,一个个的访问。
“交换”部分程序如下:
难点三:如何交换两个数据?
在程序中,两个变量必须通过第三个变量才能实现交换。因为在大部分编程语言中,等号的含义是“赋值”。
所以有的编程语言为了进行区分,将赋值号写成“:=”的形式。例如:
其含义是将100这个值赋予变量a。
因此直接写成下列形式,是不能交换变量a和b的值的:
执行第一条语句时,将变量b的值赋予了变量a,这时变量a的值已经等于变量b了。所以执行第二条语句时,只是再一次把值赋予变量b。变量a的值丢失了。
通常采用中间变量来实现交换。例如:
这里temp就是中间变量。注意其中的次序不能搞错。
结束:在利用冒泡法排序时,如果某次循环中没有发生交换,说明所有数据都已经排好了顺序。这时可以中止循环,直接宣布排序结束。通常的做法是设置一个标志变量flag。开始时设置flag=0;当可以提前中止时,设置flag=1。Scratch语言中没有break等中断循环的命令,一般是设置一个快速变量。这样条件判断部分就变得稍微复杂一些。
下面是跟算法无关的一些内容,只是为了让程序更有趣:
1、按住“R”键可以重置需要排序的序列。新的序列是随机生成的。再次按“空格”键可以开始排序;
2、设计了一条小鱼可以提供各种信息,例如“排序结束”等。为了让我们的泡泡鱼缸更生动形象,小鱼会在鱼缸中“漫步”。
3、为了更直观的展示排序过程,对5个小球进行了编号。编号可以去掉,排序的泡泡也可以换成你希望的物品哦。
这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?
计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。
当然,无人机编程就更加深奥,比如我们看下面的视频吧!
无人机能六架一起起飞?没错!那他又和数学有什么关系呢?
小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型。
现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?
无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?
答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!
无人机编程都学习哪些内容呢?
让无人机与编程结合?
没错!就是要让孩子“动手”+“编程”实现无人机起飞。
重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。
例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。
看我们小童鞋们上课视频吧
坦克编程都学习哪些内容呢?
动手组装”+“编写程序”
通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。
课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。
例如:人脸识别、智能跟随等前沿技术。