教案:绘制基本图形与循环应用

教案基本信息

课程名称:Python编程第十一课 绘制基本图形与循环应用
授课对象:有一定Python基础的学生(已掌握变量、循环)
课时安排:45分钟
教学形式:理论讲解 + 实践操作

一、 教学目标

知识与技能:

  1. 数学知识: 理解线段、角、封闭图形的概念;掌握正方形、三角形内角和边长的关系。
  2. 编程知识:巩固Turtle模块的基本移动命令。理解循环在简化重复绘图操作中的作用。
  3. 能够使用for循环绘制规则的正方形和三角形。

过程与方法:

  1. 经历从”逐条命令绘图”到”使用循环高效绘图”的思维转变,体验编程中”抽象”和”模式识别”的价值。
  2. 通过绘制几何图形,建立几何属性(边长、内角)与程序参数之间的对应关系。

情感态度与价值观:

  1. 感受代码复用带来的效率提升和简洁美感。
  2. 培养通过逻辑分析解决图形绘制问题的能力。

二、 教学重点与难点

教学重点:使用for循环绘制规则图形;理解图形边数、旋转角度与循环次数的关系。

教学难点:计算绘制封闭图形时海龟需要旋转的角度(外角公式);协调循环体内的移动和转向命令。

三、 教学准备

教师:安装Python环境的电脑、投影设备、教学课件。

学生:电脑已安装Python环境,已掌握Turtle基本命令。

四、 教学过程

(一) 复习导入:从繁琐绘图到高效循环(5分钟)

教师活动:

  1. 复习Turtle基本命令:”上节课我们学会了用forward()、right()等命令控制海龟移动。”
  2. 提出任务:”现在,我想画一个正方形,边长100像素。谁能用我们学过的命令写出来?”
  3. 学生可能会写出:

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()

代码讲解:

  1. for i in range(4): 表示接下来的缩进代码要重复执行4次。
    1. 每次循环都执行forward(100)和right(90)。
    1. 循环结束后,海龟回到起点,方向与开始时一致。

3. 理解旋转角度:外角的概念

教师讲解:为什么是右转90度?

正方形的每个内角是90度。

海龟转弯时转的是外角

外角 = 180° – 内角

对于正方形:外角 = 180° – 90° = 90°。

得出结论: 海龟每次旋转的角度就是多边形的外角度数

(三) 举一反三:绘制等边三角形(15分钟)

任务:绘制一个边长为100的等边三角形。

教师引导学生分析:

  1. 边数: 3条边 → 循环3次。
    1. 内角: 等边三角形每个内角都是60度。
    1. 外角: 外角 = 180° – 60° = 120°。
    1. 旋转方向: 如果一直右转,每次转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分钟)

教师引导发现通用公式:

  1. 循环次数 = 边数
  2. 每次旋转角度 = 外角 = 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):  # 边长从20100,每次增加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分钟)

课堂练习:

  1. 绘制一个正八边形(8条边),边长为50像素。
  2. 绘制一个由5个同心正方形组成的图案(使用循环嵌套)。

作业:

  1. 基础题: 编写一个程序,让用户输入边数和边长,程序自动绘制对应的正多边形。
  2. 挑战题: 绘制一个五角星。提示:五角星的每个顶角是36度,需要旋转144度(180-36)来连接各个顶点。

五、 板书设计

主标题: 循环绘制基本图形

核心公式:

循环次数 = 边数

旋转角度 = 外角 = 360° ÷ 边数

代码模板:

python

for i in range(边数):

    forward(边长)

    right(360/边数)

实例计算:

正方形:4边,转90°

三角形:3边,转120°

五边形:5边,转72°

您可能还喜欢...