“我会一直刻苦练习,直到通过体能测试”
“我会克制自己玩手机的冲动,直到顺利通过考试”
……
一直重复做某事,直到某个条件满足,则循环结束,停止做某事。 这个逻辑,其实就是编程里的do...until…的逻辑。
其实,编程里还有一种循环:do…while…,二者有啥不同呢?
一个是,一直循环,直到表达式条件不满足退出循环,表达式为False;另一个则是,一直到当表达式条件为True的时候退出循环。
可是,scratch里只有“重复执行直到”积木,用于执行不确定次数循环的一类控制积木。
为了让孩子们体会循环动作受表达式True/False的控制的情形,Free老师将涌在喉头的一箩筐解释说明毅然截断,让大家自己动手编程体会。
比如,小猫咪想向老师咨询考试成绩,老师如果告诉它是-12分,它肯定不相信,必会一直问个不休。计算机怎么来模拟或再现这个过程呢?
再比如,模拟输入计算机开机口令,当输入口令与真实口令不符时,计算机不断提示用户输入口令(当然可以限制最高错误次数),当口令匹配成功,则切换开机画面。
最后,大家一起模拟了“营救不成反被追”的场景。这个过程,百花齐放百家争鸣,孩子们的想象力和创造力得到了淋漓尽致的发挥。
对于求100以内所有偶数和的问题,有同学提出异议:我学过数学公式,直接用公式就好了,干嘛要编程来算?(为善于思考的同学点赞!)
即便是用公式,也需要计算(尤其是数值很大,公式很复杂时),更何况,客观世界中,有许多我们拿不出公式的计算任务,计算逻辑复杂,计算量巨大,这时,计算机的优势就凸显了,可以高速地通过重复进行多次简单的运算,最终完成或逼近任务目标。其实,这正是计算机的长处。
目前的计算机编程,可以分为两大类,一类是基于规则的人为的逻辑的再现,通俗讲,就是计算机按照你的指令逻辑进行战术操作;一类是机器通过训练发展出的自我感知自我决策的智能学习,换句话说,你并不知道计算机完成任务的具体步骤或逻辑,而只赋予了计算机一定的战略目标。
路还很长,我们大家都在编程的路上,有你,有我,有Andrew NG,还有很多很多…
领取专属 10元无门槛券
私享最新 技术干货