谈谈少儿编程

十年热恋 提交于 2021-02-02 15:47:01
时下,少儿编程非常火热。网络上不时可以看到各类编程广告,前2天刚看到张泉灵、李开复等大咖都为某少儿编程培训站台代言,市面上各类机器人培训、少儿编程培训也是异常火爆。前不久,工信部推出了中国首个AI等级考试“青少年人工智能技术水平测试”。可见,知识焦虑已经由中年大叔蔓延到了下一代的少年儿童。

之前,有朋友问我会不会给自己儿子报编程培训?这个答案我目前不好直接回答,一是要看小孩有没兴趣,当然这个可以引导。二是要看有没有合适的培训机构,再好的东西如果没有好的教授者和讲授方法,小孩是不容易接受的。总的来说,小孩的培训应该在轻松前提下,加上兴趣的推动(至少不排斥),如果再能碰上良师+好友,那这个培训就是值得的。

少儿编程,通常针对的是6岁以上,12岁以下(即小学年龄阶段)的儿童。这个年龄阶段的儿童,已经有了基本的数理逻辑能力,是可塑很强的群体。因此,单从年龄段上来看,少儿时期是培养逻辑思维能力的重要时期。
工具上看,目前比较适合少儿学习的工具是scratch。Scratch是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具。在2012年在中国得到普及,2013在上海举行比赛。针对 8 岁以上孩子们的认知水平,以及对于界面的喜好,MIT 做了相当深入研究和颇具针对性的设计开发。对于这款软件,我没有深入去使用过,仅在网页上做了粗粗的了解。
下面,我们通过一道少儿基础编程题,一起来感受下编程的简单乐趣。(家里如果有适龄儿童,可以引导着一起体验)
题目:交换两个变量的值例如:a 的值为10 b的值为1,那么交换后,a的值为1,b的值为10。这里假定a ,b为非负整数(为满足后续所有运算)。
方法1:借助一个中间变量“temp”,第一步:将中间变量的值设置为a;第二步:将a的值设置为b;第三步:将b的值设置为中间变量,如图所示。

程序代码: (由scratch实现,类似搭积木)

对于特殊情况下我们还可以用其他的方法来交换。比如本题中a和b是两个数,我们可以用计算的方式来交换变量。
方法2:第一步,将a设置为a+b,此时a=11;第二步将b设置为a-b,那么b=11-1,b的值变为10;第三步将a的值设置为a-b,那么a=11-10,此时a的值为1,完成交换。
程序代码:

方法3:类似的,我们还可用乘法来做交换,方法与上方法二类似,这里不再具体说明。
实际上,从上面过程可以看出,不仅仅是方法2、3,即通过加减,或是乘除,只要满足可以做两个数正逆计算,都可以实现2个正整数的交换。 比如稍复杂的次幂、逆运算为log。 这一类的计算交换,实现的是同样的思想方法。
方法4:此外,还可以利用异或,仅使用两个变量进行交换,python算法参考如下:
def demo(a,b):
   a = a^b 
   b = a^b  # b = (a^b)^b = a
   a = a^b  # a = (a^b)^a = b
   print(a,b)
demo(13,31)
 
#说明:a1=a^b
 b=b^a1=b^a^b=a
//此时a1=a^b  b=a
a=a1^b=a^b^a=b

这样就完成了a与b的交换。

可见:同一变量与另一变量和其异或值异或等于另一个数,如(a^b)^b=a。


怎么样,是不 感觉挺好玩?   如果觉得很easy,那么恭 喜你,多半是“程序猿”出身。 如果觉得马马虎虎,至 少可以看懂,那么说明你的逻辑思维能力基础不错,稍加练习可以应付自家小孩的教学。 如果不知所云,那要加加油了,千万别让下一代再输在起跑线。

 
 
 
 *****************************
 ***Stay foolish   stay hungry. ***
 *****************************


   
   
   


推荐阅读:


浅谈如何自动化生成测试脚本...
有没有好到简历模版可以参考一下

一站式自动化测试平台以及解决方案


微信扫描二维码,关注我的公众号


本文分享自微信公众号 - 测试开发社区(TestDevHome)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!