备战大晨7月 GESP C++ 1级(12):for 循环初体验,从"抄 5 遍"到"1 加到 100"

备战大晨7月 GESP C++ 1级(12):for 循环初体验,从"抄 5 遍"到"1 加到 100"
强仔上篇(11)咱们把 && 和 || 这对逻辑运算符啃完,大晨做分支选择题正确率 10 题对 8 题,我悬着的心放下一半。文末我说过:顺序、分支都拿下了,下一座大山,是循环。这周末,《一本通·编程启蒙》正式翻到第三章,大晨的编程学习进入了新大陆。
从”罚抄 5 遍”说起
周六晚上,大晨生字听写错了俩,被妈妈罚抄 5 遍。他一边抄一边嘟囔:”手都酸了……”
我一看,机会来了,这不就是现成的循环教材吗?我说:”你要是台电脑,这活儿一行代码就能搞定。”
大晨眼睛一亮:”电脑也会偷懒?”
对,程序员的本事,就是把重复一百遍的事,写成只写一遍。 循环干的就是这个。
for 循环”三件套”
《编程启蒙》第三章第一节讲 for 语句。格式长这样:
1 | for (起点; 终点; 每次怎么走) |
我给大晨翻译成大白话:从哪儿开始、到哪儿停、一步迈多大,这三件事交代清楚,循环就成了。
于是我让他把”罚抄 5 遍”写出来:
1 |
|
屏幕上唰地打出 5 行,大晨乐了:这罚抄来得也太快了。
不过第一次他自己敲的时候踩了个坑:把 i <= 5 写成了 i < 5,屏幕只打了 4 遍。他盯着看了半天,突然喊:”哦!到 5 之前就停了,没包含 5!”
这种自己踩坑、自己爬出来的 bug,比我讲十遍都管用。
1 加到 100,高斯”躺枪”
第二个例子是经典款,累加求和:
1 |
|
运行,5050。我趁机讲了高斯小时候的故事:首项加尾项,乘项数除以二,人家秒出答案。
本以为能镇住他,结果大晨不服:”高斯是聪明,可电脑不怕累啊,加一万次也就一眨眼。”说完把 100 改成 1000,跑出 500500,兴奋得直拍桌子。
他说得没错。高斯的公式是给人的智慧,循环是给机器的耐心。 两样都得会,这才是学编程。
老父亲陪跑心得
这周最大感受:循环比分支抽象一个量级。大晨的卡点是理解”i 每跑一圈就变一次”这个动态过程,我用操场跑圈计数帮他比喻,一圈记一次,才勉强通。
另外两条经验:一是别急着上 while 和嵌套,先把 for 三件套练到肌肉记忆;二是单次还是控制在 40 分钟左右,抽象内容烧脑,贪多必崩。
小结
到这篇为止,大晨已经拿下:输入输出、变量、运算符、分支、逻辑运算、for 循环,离明年 7 月的考试还有大半年,节奏不慌。
收工前大晨突然问我:”爸,能不能只打印 1 到 100 里能被 3 整除的数?”好家伙,这就自己发现新需求了。这事儿,得把 if 塞进 for 里才办得到,循环 + 分支,混合双打,咱们下篇见分晓。
免责声明:本文仅为自家孩子备考 GESP 的学习记录,涉及的书目、进度和教法仅适合大晨个人,不构成任何学习建议,每个孩子节奏不同,请以实际情况为准。


