Golden Thumb

remote tutor & close friend of chosen kids
proud dad of an awesome daughter
正文

引领小朋友,需要耐心,也需要方法(二)

(2019-09-30 11:35:01) 下一个

利用循环变量 i 的表达式把 i 的值映射到另一个值域常常难住初次面对这类挑战的孩子。

所以我需要经常跟家长朋友们解释,小孩子学编程,不是学编程,是学数学,学逻辑推理,练习抽象思维,培养解决问题的能力,提升信心。

小E在仿真器屏幕上把象棋的32颗棋子画出来了。很漂亮,是一颗一颗画的。

我说能不能用一个for循环把那两颗红士画出来。原来的程序差不多长这样:

小E以前做过类似的for循环,所以写出for循环框架没问题。而且还熟练地拷贝了一行代码放进循环体中。

他也知道焦点在那个“5”,可是就想不出一个合适的含 i 的表达式能构造出 3 和 5 。我在注释中写了这个:

让他把问号的地方换成一个“有 i 的有加减乘除什么的的一个式子”。

没反应。

我说:“来个容易点的。哦,这两个都很容易。上面两个。”又提供了两个简单的mapping。

还没反应。

我说:“我这么写你就肯定行了。”给上面两个映射各加了一行。

不出所料,小E立马写出了两个简单函数 i * 5 和 i + 3。

还在思考关键的第三个。

我说:“第三个你自己加一行呗。”小E自言自语:“加一行应该是 7 吧?”

水到渠成。

随后自然是一马平川。双士所需的映射函数搞明白了,双象的映射,双马的映射,统统拿下。对于双车的映射,小E表示:“这个我还能更简单些,因为加上零等于不加”。

遇到双炮时,自己还咕噜了一句:“炮我觉得用马的就可以了”。

从他的口气中我听到了信心满满。

补充:几分钟前,小E发来了惊艳的国际象棋棋盘。

帅呆了!

胃口好就再喂点食:“再给一个难题思考思考:如果我知道手指头触到屏幕上的位置是(123,234),怎么计算手指头落在国际象棋的哪个格子中呢?”

 

 

 

 

 

 

 

 

[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.