咨询热线:

187 - 6397 - 2757

当前位置: 首页 > 新闻列表 > 编程与学科结合

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」

    冒泡排序,在我们前几篇文章中涉足过,也讲过什么是冒泡排序,可能同学们听着比较枯燥,毕竟都是一对数字,那肯定很枯燥了。想看上篇文章的冒泡排序的同学们可以点击冒泡排序进去查看。

    速云少儿编程致力于 4 - 18岁 ,山东少儿无人机编程培训教育机构。

我们来看一看四岁小朋友的学习视频吧!

    家长担心孩子们真的能听懂课程吗 在每节课即将结束的时候我们都会进行课程汇报展示,来看一下小童鞋的汇报成果吧!

    这个时候家长可能说了,我们四岁的孩子,年龄辣么小,又不认字,那该如何学习呢?

    其实四岁、五岁的孩子不认字怎么学习?只要孩子识别颜色就可以学习。通过颜色识别具体编程积木,比如:蓝色是运动紫色是外观黄色是事件等等,通过颜色识别文字,根据颜色先实现出程序做出卡通的效果,以激发孩子兴趣,使孩子产生兴趣后开始具体学习每个积木的作用,再学习积木上面的文字。如下图:

家长关心孩子从小学习编程的6个问题都在这里了,你还在犹豫吗(图1)

    作为家长的你有没有看到我们的小朋友上课呢?现在还在纠结三岁的孩子是否可以学习编程了吗?

    言归正传!

    今天为了让同学们轻松一下又能学到数学的精髓部分,我们就以鱼缸冒泡的方式进行排序,同学们仔细挺好哦!

    先看效果:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图1)

    排序的方法有很多种,今天介绍一下“冒泡法”排序。

    冒泡排序:

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法

    它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

    不理解?看下面的介绍:

    冒泡排序算法的原理如下:

    1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

    2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

    3.针对所有的元素重复以上的步骤,除了最后一个。

    4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    理解了吗?还不理解?再看图:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图2)

    程序如下:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图3)

    本例只对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中只有列表,所以只能通过下标,一个个的访问。

     “交换”部分程序如下:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图4)

    难点三:如何交换两个数据?

    在程序中,两个变量必须通过第三个变量才能实现交换。因为在大部分编程语言中,等号的含义是“赋值”。

    所以有的编程语言为了进行区分,将赋值号写成“:=”的形式。例如:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图5)

    其含义是将100这个值赋予变量a。

    因此直接写成下列形式,是不能交换变量a和b的值的:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图6)

    执行第一条语句时,将变量b的值赋予了变量a,这时变量a的值已经等于变量b了。所以执行第二条语句时,只是再一次把值赋予变量b。变量a的值丢失了。

    通常采用中间变量来实现交换。例如:

看鱼缸冒泡泡,我们用编程学习冒泡排序「济南少儿编程_山东少儿编程_少儿编程」(图7)

    这里temp就是中间变量。注意其中的次序不能搞错。

    

    结束:在利用冒泡法排序时,如果某次循环中没有发生交换,说明所有数据都已经排好了顺序。这时可以中止循环,直接宣布排序结束。通常的做法是设置一个标志变量flag。开始时设置flag=0;当可以提前中止时,设置flag=1。Scratch语言中没有break等中断循环的命令,一般是设置一个快速变量。这样条件判断部分就变得稍微复杂一些。

    下面是跟算法无关的一些内容,只是为了让程序更有趣:

    1、按住“R”键可以重置需要排序的序列。新的序列是随机生成的。再次按“空格”键可以开始排序;

    2、设计了一条小鱼可以提供各种信息,例如“排序结束”等。为了让我们的泡泡鱼缸更生动形象,小鱼会在鱼缸中“漫步”。

    3、为了更直观的展示排序过程,对5个小球进行了编号。编号可以去掉,排序的泡泡也可以换成你希望的物品哦。

    这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图11)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)"编程"+"数学"结合,巧解奥数题 - 水手分椰子,作为家长的你会吗?(图12)

    计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。小云解读:如何通过编程解决数学题 - 求数值累加之和(图3)小云解读:如何通过编程解决数学题 - 求数值累加之和(图4)小云解读:如何通过编程解决数学题 - 求数值累加之和(图4)

    当然,无人机编程就更加深奥,比如我们看下面的视频吧!

    无人机能六架一起起飞?没错!那他又和数学有什么关系呢?

    小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型

    现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?

无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?

答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!


    无人机编程都学习哪些内容呢?

       让无人机与编程结合?

没错!就是要让孩子“动手”+“编程”实现无人机起飞。

重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。

例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。


无人机编程(图1)



当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图7)

看我们小童鞋们上课视频吧

    坦克编程都学习哪些内容呢?

    动手组装”+“编写程序”

    通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。

    课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。

    例如:人脸识别、智能跟随等前沿技术。


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图8)


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图9)

在线客服
热线电话

微信公众账号

在线购课

微信客服