教案:绘制基本图形与循环应用
教案基本信息
课程名称:Python编程第十一课 绘制基本图形与循环应用
授课对象:有一定Python基础的学生(已掌握变量、循环)
课时安排:45分钟
教学形式:理论讲解 + 实践操作
一、 教学目标
知识与技能:
- 数学知识: 理解线段、角、封闭图形的概念;掌握正方形、三角形内角和边长的关系。
- 编程知识:巩固Turtle模块的基本移动命令。理解循环在简化重复绘图操作中的作用。
- 能够使用for循环绘制规则的正方形和三角形。
过程与方法:
- 经历从”逐条命令绘图”到”使用循环高效绘图”的思维转变,体验编程中”抽象”和”模式识别”的价值。
- 通过绘制几何图形,建立几何属性(边长、内角)与程序参数之间的对应关系。
情感态度与价值观:
- 感受代码复用带来的效率提升和简洁美感。
- 培养通过逻辑分析解决图形绘制问题的能力。
二、 教学重点与难点
教学重点:使用for循环绘制规则图形;理解图形边数、旋转角度与循环次数的关系。
教学难点:计算绘制封闭图形时海龟需要旋转的角度(外角公式);协调循环体内的移动和转向命令。
三、 教学准备
教师:安装Python环境的电脑、投影设备、教学课件。
学生:电脑已安装Python环境,已掌握Turtle基本命令。
四、 教学过程
(一) 复习导入:从繁琐绘图到高效循环(5分钟)
教师活动:
- 复习Turtle基本命令:”上节课我们学会了用forward()、right()等命令控制海龟移动。”
- 提出任务:”现在,我想画一个正方形,边长100像素。谁能用我们学过的命令写出来?”
- 学生可能会写出:
python
import turtle as t
pen = t.Turtle()
pen.forward(100)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.forward(100)
pen.right(90)
pen.forward(100)
pen.right(90)
t.done()
4.引导观察:”大家看这段代码,有什么特点?”(重复了4次forward(100)和right(90))
5.引出主题:”在编程中,重复的工作应该交给循环来处理。今天我们就学习用for循环来画图,让代码变得更简洁!”
设计意图:通过对比,让学生直观感受到循环的必要性和优越性。
(二) 新知探究:用循环绘制正方形(15分钟)
1. 分析绘图模式
教师引导: 绘制正方形的过程可以抽象为一个重复的模式:”前进 → 右转90度”,这个模式重复了4次。
模式识别:
重复内容: forward(100) 和 right(90)
重复次数: 4次(因为正方形有4条边)
2. 使用for循环重构代码
代码实现:
python
import turtle as t
pen = t.Turtle()
pen.speed(5) # 设置合适的速度
pen.color(“blue”) # 设置画笔颜色
# 使用for循环绘制正方形
for i in range(4): # 循环4次,i的值依次为0,1,2,3
pen.forward(100) # 前进100像素
pen.right(90) # 右转90度
t.done()
代码讲解:
- for i in range(4): 表示接下来的缩进代码要重复执行4次。
- 每次循环都执行forward(100)和right(90)。
- 循环结束后,海龟回到起点,方向与开始时一致。
3. 理解旋转角度:外角的概念
教师讲解:为什么是右转90度?
正方形的每个内角是90度。
海龟转弯时转的是外角。
外角 = 180° – 内角。
对于正方形:外角 = 180° – 90° = 90°。
得出结论: 海龟每次旋转的角度就是多边形的外角度数。
(三) 举一反三:绘制等边三角形(15分钟)
任务:绘制一个边长为100的等边三角形。
教师引导学生分析:
- 边数: 3条边 → 循环3次。
- 内角: 等边三角形每个内角都是60度。
- 外角: 外角 = 180° – 60° = 120°。
- 旋转方向: 如果一直右转,每次转120度。
代码实现:
python
import turtle as t
pen = t.Turtle()
pen.speed(5)
pen.color(“red”)
# 绘制等边三角形
for i in range(3): # 循环3次
pen.forward(100) # 前进100像素
pen.right(120) # 右转120度(外角)
t.done()
学生实践:运行代码,观察绘制出的三角形。
常见问题调试:如果旋转角度计算错误(比如误用内角60度),图形将无法闭合。引导学生通过调试理解角度的重要性。
(四) 总结规律:绘制任意正多边形(10分钟)
教师引导发现通用公式:
- 循环次数 = 边数
- 每次旋转角度 = 外角 = 360° ÷ 边数
通用绘制函数:
python
def draw_polygon(sides, length):
“””绘制正多边形
sides: 边数
length: 边长
“””
angle = 360 / sides # 计算外角度数
for i in range(sides):
pen.forward(length)
pen.right(angle)
# 测试绘制正五边形(5条边)
draw_polygon(5, 80)
# 测试绘制正六边形(6条边)
draw_polygon(6, 60)
(五) 综合应用:创意图形绘制(10分钟)
任务1:绘制正方形序列
python
# 绘制多个逐渐变大的正方形
for size in range(20, 101, 20): # 边长从20到100,每次增加20
for i in range(4):
pen.forward(size)
pen.right(90)
任务2:绘制彩色三角形图案
python
colors = [“red”, “green”, “blue”, “purple”, “orange”]
for i in range(36): # 绘制36个三角形,围成一圈
pen.color(colors[i % 5]) # 循环使用颜色列表中的颜色
for j in range(3): # 绘制一个三角形
pen.forward(50)
pen.right(120)
pen.right(10) # 每个三角形之间旋转10度
(六) 课堂练习与作业(5分钟)
课堂练习:
- 绘制一个正八边形(8条边),边长为50像素。
- 绘制一个由5个同心正方形组成的图案(使用循环嵌套)。
作业:
- 基础题: 编写一个程序,让用户输入边数和边长,程序自动绘制对应的正多边形。
- 挑战题: 绘制一个五角星。提示:五角星的每个顶角是36度,需要旋转144度(180-36)来连接各个顶点。
五、 板书设计
主标题: 循环绘制基本图形
核心公式:
循环次数 = 边数
旋转角度 = 外角 = 360° ÷ 边数
代码模板:
python
for i in range(边数):
forward(边长)
right(360/边数)
实例计算:
正方形:4边,转90°
三角形:3边,转120°
五边形:5边,转72°