新闻列表
咨询热线:
187 - 6397 - 2757
递归:程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
上面讲的很复杂?一句顺口溜就是“山里有个庙,庙里有个和尚,和尚在讲故事,讲的什么呢?山里有个庙,庙里有个和尚,和尚在讲故事,讲的什么呢?山里有个庙,庙里有个....”,其实就是无限循环,不停地往里进,之后再不停地往外出,这就是递归思想!
如果还懵的话我们不妨看下一个电影“盗梦空间”,其实这个电影就是类似于编程的递归思想。目的只有一个让“程序自己使用自己”也就是“自己调用自己”。
其实就是无限的循环,都是一直在重复,但我们不能让它一直重复下去。
故事一样,永远也讲不完,我们必须要给程序一个停止积木,在适当的时候停止这个循环。
我们分别用循环和递归做一个小程序体会一下。我们让小猫从1数到10。
重复循环如下图:
递归如下图:
为了表现出递归的思想,我们来做一个复杂的程序体验一下,我们来做一个“雪花曲线”。
"雪花曲线"是从一个正三角形变来的,①、先画一个正三角形,把它的每一条边三等分;②、我们取三等分的中间一段为边,向外在画正三角形,并把底边去掉;③、重复上面两步产生更多的三角形,如下图:
我们认识了“雪花曲线”,那如何用程序画出来呢?我们先来分析一下。由于“雪花曲线”是从三角形变化来的,那么我们是不是会画一条边了,剩下两条边就都可以了。我们先设置一个变量“级别”,这个变量代表我们三角行变化的次数,“级别”为0,我们就是画一个正三角形的一条边,级别为1,我们就在正三角形边的基础上变化一次,级别越高我们画的图形也就越复杂。如下图:
我们可以从中找到规律,0级为一条直线;1级在0级(1/3长度)处向左转了60°,(1/3长度)后又向右转了120°,(1/3长度)后又向左转了60°;2级在1级(1/3长度)处向左转了60°,(1/3长度)后又向右转了120°,(1/3长度)后又向左转了60°.........我们找到了规律,就开始写程序了。首先我们定义一个函数,其中“级别”和“边长”作为形参。然后我们编写程序的结束条件,也就是递归的出口,让它不一直重复下去。然后我们就按照上面的规律,调用自身函数,来画下一级别的边。如下图:
然后我们的主程序,用画笔调用这个函数,画三条边就好了。完整的程序,如下图:
太简单?来点复杂的?好!看下面高级编程语言。
JAVA代码如下:
PHP代码如下:
今天我们认识了递归,关于递归我们可以总结为两点:
⭐ 递归就是函数自己直接或间接调用自己本身。
⭐ 使用递归我们一定要设置一个递归出口,否则就成了死循环。
同学们,学会了吗?这可是编程的核心思想属于高难度的哦!这如果学会了,参加信息学竞赛可是妥妥的啦!
这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?
计算机是不是很强大呀!但前提是你要会编程呀!只有会编程,你才能让计算机替你解决问题呀!别担心,编程其实也没有想象那么难!只要你愿意学。
当然,无人机编程就更加深奥,比如我们看下面的视频吧!
无人机能六架一起起飞?没错!那他又和数学有什么关系呢?
小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型。
现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?
无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?
答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!
无人机编程都学习哪些内容呢?
让无人机与编程结合?
没错!就是要让孩子“动手”+“编程”实现无人机起飞。
重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。
例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。
看我们小童鞋们上课视频吧
坦克编程都学习哪些内容呢?
动手组装”+“编写程序”
通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。
课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。
例如:人脸识别、智能跟随等前沿技术。