ARTICLE · 1229438
【雅和学小学数学思维培养体系】算法思维能力解读
雅和学的理念是“培养孩子受益一生的能力和习惯”。

引言|
在之前的文章里,我们简单解读了一下九大能力培养体系——
并且解读了前六个能力:
数感认知能力——【雅和学小学数学思维培养体系】数感认知能力解读
空间想象能力——【雅和学小学数学思维培养体系】空间想象能力解读
运算求解能力——【雅和学小学数学思维培养体系】运算求解能力解读
数据处理能力——【雅和学小学数学思维培养体系】数据处理能力解读
逻辑推理能力——【雅和学小学数学思维培养体系】逻辑推理能力解读
抽象概括能力——【雅和学小学数学思维培养体系】抽象概括能力解读
能力体系视图概览:

什么是算法思维能力?|算法思维能力的定义
算法思维能力是面对一个复杂问题时,能够设计出一系列清晰、有限、确定的操作步骤,从而系统化、条理化的解决问题,并能够评估和优化解决路径的能力。
它的关键不仅在于解决问题,而是把解决问题的过程本身当成对象去设计、优化和复用。
|算法思维能力的体现
面对问题,不仅在乎当下问题的答案,还会将产生答案的路径完整表达出来,并推广到类似问题中;
面对不同方法,能够评估不同路径的复杂度,找到解决问题的最佳策略。
比如面对汉诺塔问题:

面对6个圆盘的汉诺塔问题,大多数孩子可能会选择直接动手尝试:先挪动这个,再试试那个。即便尝试了很久,也未必能找到一条成功的路径,更不用说用最少的步骤完成挑战。
但是有算法思维的同学会如何思考问题呢?
第一步:从简单的问题出发
其实无论是几个圆盘,问题的类型是一样的,处理方案也很可能会有相通之处。既然6个圆盘太多我们无从下手,那就先处理更少的圆盘个数。
先从2个圆盘开始。只需要3步,我们就能顺利完成挑战。

接下来增加到3个圆盘。经过一些尝试,孩子也能够找到一条7步完成挑战的路径。

这时,我们已经成功解决了两个问题。但更有价值的思考才刚刚开始。
第二步:寻找不同问题之间的联系
先不要急着挑战4个圆盘,而是回头看看:3个圆盘究竟是怎样成功的?
仔细观察就会发现,整个过程实际上可以拆成三个阶段:
第一阶段:先把上面的2个小圆盘从A柱移到B柱。这不正是我们刚刚解决过的2个圆盘问题吗?只不过目标柱换了位置,依然只需要3步。 第二阶段:把最大的圆盘从A柱移到C柱,只需要1步。 第三阶段:再把B柱上的2个圆盘移到C柱。这又是一个2个圆盘的问题,同样需要3步。
于是,我们发现了一个巧妙的结构:
解决3个圆盘的问题,其实只需要解决两次2个圆盘的问题,再加上中间移动最大圆盘的1步。
这个发现最精彩的地方,并不在于算出了3+1+3=7,而在于我们意识到:已经成功解决的2个圆盘问题,可以被看作一个完整的操作模块,直接用来解决更加复杂的3个圆盘问题。
我们不再需要每一步都重新思考,而是能够调用此前已经掌握的整套方法。
第三步:把成功的方法推广出去
既然3个圆盘可以这样解决,那么4个圆盘呢?
我们可以尝试使用完全相同的策略:
第一阶段:先将上面的3个圆盘从A柱移到B柱。这就是一个已经解决过的3个圆盘问题,需要7步。 第二阶段:将最大的圆盘从A柱移到C柱,需要1步。 第三阶段:把B柱上的3个圆盘移到C柱,再次调用3个圆盘的解决方法,需要7步。
因此,4个圆盘只需要:7+1+7=15(步)
不过,知道需要15步,与真正能够完成这15步,仍然是两回事。
接下来,孩子需要亲自实践:把已经掌握的3个圆盘操作过程,按照新的起点和终点重新执行,检查每一步是否合法,最终验证整个方案是否能够成功。
至此,我们不仅发现了一个规律,更重要的是,获得了一套可以重复执行、能够继续推广的操作程序。
第四步:回到最初的6个圆盘问题
现在再看5个圆盘、6个圆盘,我们还需要从头尝试吗?
完全不需要!
因为我们已经找到了一套稳定的方法:
先把上面的所有小圆盘移到辅助柱,再移动最大的圆盘,最后把所有小圆盘移到目标柱。
而每当我们遇到“移动所有小圆盘”的任务时,都可以继续使用完全相同的方法,将它分解成规模更小的问题。
不断重复,直到只剩下1个圆盘——那时只需要直接移动一次。
于是,5个圆盘需要31步,6个圆盘需要63步。更重要的是,这些操作不仅能够成功,而且可以证明,它们已经达到了最少的移动次数。
从2个圆盘到3个圆盘,再从3个圆盘推广到任意多个圆盘,我们得到的已经不仅仅是一道题的解答,而是一套适用于整类问题的解决程序。
算法思维能力是整个能力体系中连接问题分析与有效行动的核心能力,它让人能够将复杂问题转化为清晰、可靠、可重复执行并不断优化的解决程序。具备良好算法思维能力的人,面对问题时不仅关注最终的答案,更会主动思考答案是如何产生的,将复杂任务拆解为一系列明确、有序的操作步骤,并从成功的经验中提炼出可以反复调用的方法,使其能够推广到更复杂或同类型的问题中;在此基础上,还会主动检验解决路径的正确性与可靠性,评估不同方法的操作成本与复杂程度,发现并减少重复、低效的环节,不断优化解决策略。这是一种将个别问题的成功经验转化为解决一类问题的通用方法,并在持续实践中提升解决问题效率与质量的长期价值能力。

|执行算法:从理解规则到熟练执行算法思维能力的培养,首先要从理解和执行一套清晰、确定的操作规则开始。事实上,孩子在数学学习中早已接触过大量算法。例如,我们熟悉的列竖式计算,本身就是一套完整的算法:
明确顺序:相同数位对齐,从个位开始,依次向高位计算;
执行规则:每一位上的数相加,满十向前一位进一;
重复操作:按照相同的规则逐位计算,直到所有数位处理完毕。
老师在教授竖式计算时,实际上就是在向孩子传授一套算法。而孩子通过不同数字、不同位数的计算练习,逐渐熟悉这套操作规则,并能够在新的问题中稳定执行。
因此,算法思维的基础训练,并不一定需要特殊的题目,而是可以融入日常的数学学习中。
这一阶段的教学关键,在于让孩子不仅记住操作步骤,还能够明确每一步的操作对象、执行顺序和判断条件。通过不断练习,使一套原本需要老师指导的操作程序,逐渐成为孩子可以独立、准确执行的方法。
学会按照规则完成任务,是算法思维发展的起点,但还不是终点。
|表述算法:从学会一道题到掌握一套方法
算法思维能力的进一步提升,关键在于——孩子能否将已经掌握的解题经验,整理成一套清晰、完整、可以重复执行的操作程序。
这里,讲题是一个非常好的训练抓手。
我们经常要求孩子讲解一道题,但很多时候,孩子只是把解题算式重新念了一遍,或者简单解释每个算式的含义。
如果希望进一步培养算法思维,就可以引导孩子从“解释自己做了什么”,走向“告诉别人应该怎样做”。
例如,面对一道需要多步计算的应用题,可以尝试这样表述:
第一步:先求出什么数量,为什么要先求它,对应的算式是什么;
第二步:利用第一步的结果,再求出什么数量,对应的算式是什么;
第三步:最后通过什么运算,得到我们需要的答案。
随着问题复杂程度的提升,算法也不再只是简单的步骤排列,还可能需要根据条件作出不同的选择。
例如:如果某个数量超过100,我们应该怎样处理?如果不足100,又应该怎样处理?不同情况下,后续的操作步骤又有什么区别?
这时,孩子就开始接触算法中非常重要的条件判断与分支处理。
有条件的情况下,还可以让孩子尝试把已经学会的题目教给没有学过的同伴。
这是一种很有价值的检验方式:如果另一个孩子能够理解这些说明,并独立按照给定步骤完成同类问题,说明这套方法已经具有了一定的清晰性与可执行性。
如果同伴无法顺利执行,也恰好提供了改进算法的机会:究竟是哪一步没有说明白?遗漏了什么判断条件?还是某个操作依赖于讲解者没有说出来的经验?
因此,训练的重点不是要求孩子把解题过程说得越来越长,而是帮助他们逐渐做到:步骤明确、顺序合理、条件清楚、方法可以复用。
当孩子开始主动把自己的解题经验整理成别人也能执行的方法时,就迈出了从掌握个别解法到掌握一套算法的重要一步。
事实上,孩子在数学学习中早已接触过大量算法。例如,我们熟悉的列竖式计算,本身就是一套完整的算法:
明确顺序:相同数位对齐,从个位开始,依次向高位计算;
执行规则:每一位上的数相加,满十向前一位进一;
重复操作:按照相同的规则逐位计算,直到所有数位处理完毕。
老师在教授竖式计算时,实际上就是在向孩子传授一套算法。而孩子通过不同数字、不同位数的计算练习,逐渐熟悉这套操作规则,并能够在新的问题中稳定执行。
因此,算法思维的基础训练,并不一定需要特殊的题目,而是可以融入日常的数学学习中。
这一阶段的教学关键,在于让孩子不仅记住操作步骤,还能够明确每一步的操作对象、执行顺序和判断条件。通过不断练习,使一套原本需要老师指导的操作程序,逐渐成为孩子可以独立、准确执行的方法。
学会按照规则完成任务,是算法思维发展的起点,但还不是终点。
|表述算法:从学会一道题到掌握一套方法
算法思维能力的进一步提升,关键在于——孩子能否将已经掌握的解题经验,整理成一套清晰、完整、可以重复执行的操作程序。
这里,讲题是一个非常好的训练抓手。
我们经常要求孩子讲解一道题,但很多时候,孩子只是把解题算式重新念了一遍,或者简单解释每个算式的含义。
如果希望进一步培养算法思维,就可以引导孩子从“解释自己做了什么”,走向“告诉别人应该怎样做”。
例如,面对一道需要多步计算的应用题,可以尝试这样表述:
第一步:先求出什么数量,为什么要先求它,对应的算式是什么;
第二步:利用第一步的结果,再求出什么数量,对应的算式是什么;
第三步:最后通过什么运算,得到我们需要的答案。
随着问题复杂程度的提升,算法也不再只是简单的步骤排列,还可能需要根据条件作出不同的选择。
例如:如果某个数量超过100,我们应该怎样处理?如果不足100,又应该怎样处理?不同情况下,后续的操作步骤又有什么区别?
这时,孩子就开始接触算法中非常重要的条件判断与分支处理。
有条件的情况下,还可以让孩子尝试把已经学会的题目教给没有学过的同伴。
这是一种很有价值的检验方式:如果另一个孩子能够理解这些说明,并独立按照给定步骤完成同类问题,说明这套方法已经具有了一定的清晰性与可执行性。
如果同伴无法顺利执行,也恰好提供了改进算法的机会:究竟是哪一步没有说明白?遗漏了什么判断条件?还是某个操作依赖于讲解者没有说出来的经验?
因此,训练的重点不是要求孩子把解题过程说得越来越长,而是帮助他们逐渐做到:步骤明确、顺序合理、条件清楚、方法可以复用。
当孩子开始主动把自己的解题经验整理成别人也能执行的方法时,就迈出了从掌握个别解法到掌握一套算法的重要一步。
|设计并选择算法:从解决问题到设计和优化解决路径如果说前两个阶段侧重于理解、执行和表述已有的算法,那么算法思维更高层次的表现,就是面对新的问题,能够主动设计解决程序,并对不同程序进行检验、比较与优化。
这时,关键不再是直接提供一套成熟的方法,而是让孩子经历从尝试、发现问题,到设计规则、检验规则、改进规则的完整过程。
例如,平时可以和孩子一起玩猜数字游戏:
游戏规则:
在1~100之间选择一个整数,但不告诉孩子。
孩子可以不断提出各种问题,比如:“这个数是100吗?”“这个数是质数吗?”“这个数比10小吗?”。我们只能回答“是”或“否”。
孩子需要根据我们的回答,逐步确定这个数,并且希望无论我们选了哪个数,都能用尽可能少的问题找到答案。
最开始孩子们的提问大概率是随机的,想到哪问到哪,猜测的次数也很多。随着时间的推移,他们可能逐渐找到一些“套路”。我们可以要求孩子把他们的“套路”表达出来,形成“算法”。
进一步甚至可以尝试求出他们找到算法一定能在几步之内找到正确答案……
我们还可以继续引导孩子思考:
检验算法:如果老师选择1、11、50、78或100,这套方法都能成功吗?
比较算法:对于不同的猜数字的算法,哪一种猜出答案的速度会更快?
优化算法:通过不断对算法的改进,能够将猜测次数最低压到多少次呢?
升级难度:如果孩子最终找到了最佳算法,我们还可以升级猜数的难度,比如改为我们从1~10中选择两个整数。
在这个过程中,孩子不仅学会了一种高效的猜数方法,更重要的是逐渐建立起一种意识:面对问题,我们可以主动设计解决路径;面对已有的方法,我们可以通过检验、比较和推理,判断它是否可靠,以及能否进一步优化。这也是为什么在培养算法思维时,我们应当有意识地为孩子提供探索的空间。不要急于告诉孩子最成熟的算法,而是鼓励他们先尝试构建自己的方法,再通过不同例子寻找可能的漏洞,并根据发现的问题调整规则。
检验算法:如果老师选择1、11、50、78或100,这套方法都能成功吗?
比较算法:对于不同的猜数字的算法,哪一种猜出答案的速度会更快?
优化算法:通过不断对算法的改进,能够将猜测次数最低压到多少次呢?
升级难度:如果孩子最终找到了最佳算法,我们还可以升级猜数的难度,比如改为我们从1~10中选择两个整数。
算法思维能力的培养,并不是“会套用几种固定的解题步骤”,而是一种贯穿问题解决全过程的思维方式。它让孩子从“模仿步骤”走向“清晰表述规则”,从“掌握解法”走向“创造解决程序”,从“找到可行路径”走向“检验与优化策略”。
当这种能力真正建立,解题步骤不再是需要机械记忆的套路,而成为可以被主动设计、反复执行、灵活复用与持续优化的思维工具,让孩子能够将解决一个问题的成功经验,转化为解决一类问题的通用方法。
雅和学小学思维体系中的低年级算法思维能力的培养,重点在于理解和执行算法。这一阶段,需要帮助孩子明确操作步骤及其执行顺序,并能够根据不同情况,正确判断并选择相应的操作方式。


|小中的算法思维能力
中年级的逻辑推理能力培养,重点是能够从具体问题的解决中总结出一般的操作过程。也就是“讲题”发挥核心作用的阶段。


|小高的算法思维能力
高年级的算法思维能力培养,则需要适当开拓算法的设计、对比和优化了。

六年级夏季第12讲-《校园活动日》
写在最后
算法思维的价值,不在于让孩子记住多少套解题步骤,而在于让他们逐渐学会设计解决问题的方法。从理解和执行规则,到清晰表述算法,再到自主创造、检验与优化策略,孩子收获的不只是解决一道题的技巧,更是解决一类问题的能力。当孩子能够将复杂问题转化为清晰、可靠、可执行的解决程序时,算法思维便真正成为他们应对未来挑战的重要能力。















































































