南瓜爸爸的亲子编程课 篇四:编程中的3颗无限宝石:变量、判断和循环 | 南瓜爸爸第三课
很快南瓜爸爸的亲子编程课就到了第四篇了,前三篇的文章列一下:
·南瓜爸爸的亲子编程课 篇一:#原创新人#三分钟给各位爸妈说清楚少儿编程这档子事
·南瓜爸爸的亲子编程课 篇二:不用电脑,一张纸一支笔带孩子入门编程
· 南瓜爸爸的亲子编程课 篇三:不用电脑和手机,一个游戏带着娃儿体验第一次编程
经过前面几节入门课的内容,接下里的课程就将慢慢进入编程的硬核部分了。南瓜爸爸这节课的内容其实特别抽象,而且不是特别有趣,对于南瓜这样一个5岁的小朋友,我还不知道他能接受多少。
5岁小孩的注意力也就在15-30分钟,如果他感觉到无聊的话注意力就难以集中。我想对于大一点的孩子,可能会更加好理解一点。不过还是打算尽最大可能帮他理解理解,试一试吧!
为了让小朋友们更加有兴趣学习编程,南瓜爸爸这次都把《复仇者联盟3:无限战争》都给找来了!
在漫威宇宙中,混沌初开诞生了6颗无限宝石:空间宝石、现实宝石、力量宝石、心灵宝石、时间宝石、灵魂宝石,谁拥有了他们谁就拥有控制宇宙的力量。
编程中也有3颗无限宝石,掌握了他们就掌握了编程的基本法门,才能够编写出无所不能的程序!(来自一位程序员的仰天呐喊!)
这3颗无限宝石是
指代宝石——变量
真理宝石——判断
动力宝石——循环
任何一种编程语言,无论是专业编程语言Python、C、Java等,还是针对少儿的编程语言 Scratch ,变量、判断和循环是编程语言基本的逻辑控制器。
下面南瓜爸爸给大家讲讲这3颗无限宝石
开始之前
在《不用电脑,一张纸、一支笔带孩子入门编程 | 南瓜爸爸第一课 》中说到,编程就是编写指令,那什么是指令呢?其实就是一段一段的代码,这些代码按照编程语言的要求写出来,代码里就是记录着一系列的逻辑控制命令,在程序运行的时候,就是按照代码里的逻辑运行。逻辑是代码的核心。今天的3颗无限宝石合在一起,为我们编写代码提供了强大的逻辑思维能力!
指代宝石——变量
这个概念给5岁的南瓜解释起来就太有难度了,我让他把变量想象成“盒子”,里面装的东西是不停变化的,盒子里开始可能装的是5 ,后面经过一系列的指令操作后变成了 10,但是盒子还是那个盒子,变化的只是里面的内容,你打开这个这个盒子看到的是当前的状态。
真理宝石——判断
判断语句是判断对象真假的,这个对象可以是一个语句,一般为真(True)或者假(False),
在中文里,我们常常用
如果。。。
否则。。。
在编程当中
一般用 if 作为对中文 如果 的替代 ,else 作为对中文 否则 的替代
南瓜爸爸用真理宝石来构建一个栗子:
变量A 是 9
if 变量A 小于10
{
变量A 加 1
}
else
{
变量A 减 1
}
显示变量A的值
第一句:我们设定一个 变量A 并给他一个初始的值 9 ,就相当于把数字9放在 变量A 这个盒子里;
第二句:if 启动判断,判断的是之后语句 {变量A 小于 10} 的真假,如果为真,就执行下面括号内的语句:变量A 加 1,也就是把变量A盒子里的数字拿出来,加1之后再放进去,那么变量A仍然是变量A,但是里面的值就发生了变化。
第三句:{变量A 小于 10} 为 假,就执行 else 下面的括号内的语句:变量A 减 1,也就是把变量A盒子里的数字拿出来,减1之后再放进去。
第四句:显示此时变量的值。
在我们这个栗子当中,变量A开始的值是9,那么显然 {变量A 小于 9}是真的啦,执行变量A加1,不会执行 else 里的语句,执行完成之后,变量A的值现在为10,也就是在第四句时会显示变量A的值为10。
很好理解,对不对?
好了,我们把变量A的值设置为11,再执行一次作为练习吧!
动力宝石——循环
有了循环语句可以方便的执行需要重复执行的语句,循环语句一般用 while 开头。
比如让鸭子不停地叫
while 鸭子不累
{
鸭子叫一声
}
好吧,为了不要鸭子太累,我们让它叫100下好了
叫声次数 设为 0
while 叫声次数 小于 100
{
鸭子叫一声
叫声次数加1
}
while 后面跟着的语句类似于 if 后面跟着的语句,用于判断条件,只有判断结果是真的时候,才会执行{ } 里的语句。(编程中经常会用到的另外一种表示循环的方式是 for ,这里不再展开描述。)
程序的优化升级
上一次的课程《不用电脑和手机,一个游戏带着娃儿第一次体验编程 | 南瓜爸爸第二课》的最后,南瓜和爸爸实现了一个无障碍时的找到 target 的通用程序,我们再回顾一下那个用来描述Lego小人移动的路线图。今天这节课中,我们让钢铁侠替换Lego小人,让灭霸替换 target ,哇哈哈!
顺便回顾一下上一版本的通用编程代码:
Step 1 :
钢铁侠 前进方向 设置为右
Step 2:
钢铁侠 按照 前进方向 前进一格,然后:
{
判断 这一格是否是 灭霸 : 如果 是 那么 停止
否则 判断是否到达边界: 如果是 那么: 向 上 前进 一格 ;并把前进方向改为当前方向的 反方向
}
Step 3:
不断重复第二步,直到找到 灭霸
在学习了变量、判断、循环之后,我们对这段钢铁侠找灭霸的代码进行改造。在改造之前,我们先来画一画这段编程代码的逻辑顺序图。
好了,开始改造
把钢铁侠前进的方向设置为一个变量
钢铁侠前进方向 是 右
while 没有找到 灭霸
{
在 钢铁侠前进方向 上前进一格
if 这一格是 灭霸 : 完成任务,停止
if 当前位置到达边界:那么 向 上 前进 一格 ;并把 钢铁侠前进方向 改为当前方向的反方向
}
是不是简洁明了了许多,钢铁侠也可以很容易按照你的指令找到灭霸了,至于找到之后的结局,南瓜爸爸就不剧透了,大家还是去影院观看吧!
(图片来源泰国插画艺术家SpiderWee)
yuyusanka
校验提示文案
小丫小叮当
校验提示文案
牧渊
校验提示文案
天下第一鬼
校验提示文案
过小跌
校验提示文案
金鱼德
校验提示文案
同源小羊
校验提示文案
火羽
校验提示文案
番薯豆
校验提示文案
waterMxiao
校验提示文案
一个小小的石头
校验提示文案
都市漂泊
校验提示文案
lanmaylou
校验提示文案
果冻大爷
校验提示文案
银河系灭霸
校验提示文案
游心太玄
校验提示文案
xiaozhuzhu1
校验提示文案
wumorose
校验提示文案
草木方仪
校验提示文案
烦咪穗
校验提示文案
怎么回事
校验提示文案
烦咪穗
校验提示文案
草木方仪
校验提示文案
wumorose
校验提示文案
番薯豆
校验提示文案
火羽
校验提示文案
xiaozhuzhu1
校验提示文案
游心太玄
校验提示文案
同源小羊
校验提示文案
yuyusanka
校验提示文案
银河系灭霸
校验提示文案
金鱼德
校验提示文案
果冻大爷
校验提示文案
lanmaylou
校验提示文案
过小跌
校验提示文案
天下第一鬼
校验提示文案
都市漂泊
校验提示文案
一个小小的石头
校验提示文案
waterMxiao
校验提示文案
牧渊
校验提示文案