Appearance
循环与规律创作(下)——嵌套循环与复杂图案的数学逻辑
课题
用嵌套循环解锁“多层重复”的秘密
教学时间
2课时(90分钟)
课前准备
- 教师端:电脑(Python 3.10+)、投影仪、多媒体课件(含多层重复图案:棋盘格、砖墙、树木年轮)、实物道具(多层抽屉、俄罗斯套娃)、“嵌套指令卡”(外层:“3行”,内层:“每行4个”)。
- 学生端:电脑(Python环境)、方格纸(绘制棋盘格草稿)、计算器(计算图形参数)、小组任务卡(含项目主题)。
- 教学素材:嵌套循环代码模板、“多层规律分析表”(记录外层/内层循环的作用)、AI代码小助手(可生成嵌套循环框架)。
一、导入活动:从“多层重复”到嵌套循环(15分钟)
活动1:“摆棋子”游戏——体验双层重复
- 任务:用围棋子在桌面摆“3行4列”的长方形阵,记录步骤。
- 学生反馈:“先摆第1行4个,再摆第2行4个,再摆第3行4个”。
- 提炼逻辑:外层循环控制“行数”,内层循环控制“每行的个数”——这就是“嵌套循环”。
活动2:“拆俄罗斯套娃”——理解循环嵌套结构
- 展示套娃:“最大的娃里有中娃,中娃里有小娃——就像循环里套循环”。
- 类比代码:python
# 外层循环:3个套娃 for 大娃 in range(3): # 内层循环:每个套娃里有2个装饰 for 装饰 in range(2): print("画装饰")
二、知识点讲解:嵌套循环与复杂图案设计(30分钟)
模块1:嵌套循环的语法与执行逻辑(12分钟)
- 核心概念:一个循环体内包含另一个循环(外层循环控制“大重复”,内层循环控制“小重复”),格式:python
for 外层变量 in range(外层次数): # 外层循环要做的事(如换行、移动位置) for 内层变量 in range(内层次数): # 内层循环要做的事(如画一个小图形) - 执行顺序:
- 外层第1次循环 → 内层循环执行完所有次数 → 外层第2次循环 → 内层循环执行完所有次数 → …直到外层结束。
- 生活案例:打印3行5列的星号阵(
*):python输出:for row in range(3): # 3行 for col in range(5): # 每行5个 print("*", end=" ") # end=" "表示不换行 print() # 每行结束后换行* * * * * * * * * * * * * * *
模块2:用嵌套循环绘制棋盘格(18分钟)
- 需求:画8×8的黑白棋盘(每个小方格边长30,相邻方格颜色交替)。
- 数学分析:
- 外层循环:8行(
range(8)),每行结束后“回到行首+向下移动30”; - 内层循环:8列(
range(8)),每个方格颜色=“黑” if (行+列)为偶数 else “白”(交替逻辑)。
- 外层循环:8行(
- 代码实现:python
import turtle t = turtle.Turtle() t.speed(0) # 最快速度 size = 30 # 方格边长 for row in range(8): # 外层:8行 for col in range(8): # 内层:8列 # 计算颜色(行列和为偶→黑,奇→白) if (row + col) % 2 == 0: t.color("black") else: t.color("white") # 画方格(填充) t.begin_fill() for _ in range(4): # 小循环:画正方形 t.forward(size) t.right(90) t.end_fill() # 移动到下一列 t.forward(size) # 每行结束后:回到行首,向下移动一行 t.penup() t.goto(0, -(row + 1) * size) # y坐标负方向移动(向下) t.pendown() turtle.done()
三、练习题设计:分层任务+小组项目(30分钟)
基础任务(全员完成):“彩色网格”
- 要求:用嵌套循环画4×4网格,每个方格边长40,颜色按“红→绿→蓝→黄”循环(每行重复这4种颜色)。
- 提示:颜色列表
colors = ["red", "green", "blue", "yellow"],内层用colors[col]调用。
进阶任务(选做):“同心圆阵”
- 要求:外层循环控制“圆的层数”(5层),内层循环控制“每层的圆数量”(第1层1个,第2层2个…第5层5个),每层圆半径递增20。
小组项目(补充课时核心):“四季树”主题创作
- 任务:用嵌套循环设计“一棵有年轮的树”——外层循环画5圈年轮(半径递增10),内层循环在年轮外画树叶(每圈12片叶子,均匀分布)。
- 分工:1人设计年轮参数(半径、颜色),1人设计树叶逻辑(角度360÷12=30度),1人调试代码。
- AI支持:用AI代码小助手生成“画树叶的函数”,小组修改参数适配年轮。
四、讲解与互评:从“图案”到“逻辑”(10分钟)
- 代码拆解:选1组“四季树”项目,让学生讲解“外层循环做了什么?内层循环做了什么?数学规律是什么?”(如“每圈树叶数量=层数×2”)。
- 问题复盘:讨论“内层循环忘记缩进导致只画1片叶子”“角度计算错误导致树叶重叠”等问题的解决方法。
- 跨组互评:用“多层规律分析表”为其他组评分(维度:逻辑清晰度、数学准确性、创意性)。
五、总结与作业(5分钟)
课堂总结:
- 嵌套循环的作用:处理**“大重复包含小重复”**的任务,外层控制整体结构,内层控制局部细节;
- 关键逻辑:先确定“外层次数”和“内层次数”,再设计“外层变化量”(如行数、半径)和“内层变化量”(如列数、角度);
- 与数学的深度关联:图案的对称性、均匀性依赖于除法(如360÷数量=间隔角度)和加减法(如行列和控制颜色)。
课后作业:
- 用嵌套循环画“楼梯”(外层5级,内层每级的台阶数=级数,如第1级1阶,第2级2阶);
- 记录项目中“最有成就感的bug解决过程”,下次课分享。
教学理论支撑:
- 少年教育心理学的“逻辑推理发展”:通过嵌套循环的“双层逻辑”训练,提升少年的层级思维能力(从“单一重复”到“多层嵌套”)。
- 自我决定理论:小组项目赋予学生“参数设计权”和“分工自主权”,满足自主性需求,增强编程动机。
- STEAM教育的工程思维:“四季树”项目需要拆解任务(年轮/树叶)、设计参数(半径/角度)、迭代调试,体现“工程设计流程”。