Skip to content

变量与数学表达——用代码做“数字计算”

课题

变量:代码中的“数据盒子”与数学公式的代码表达

教学时间

2课时(90分钟)

课前准备

  • 教师端:电脑(Python 3.10+)、投影仪、实物盒子(贴“变量”标签)、数字卡片(120、130、140等)、班级匿名身高数据表(Excel)、“标准体重公式”卡片(标准体重=身高-105)。
  • 学生端:电脑(Python环境)、笔记本、马克笔(用于记录重点)、家庭身高体重记录表(提前让学生填写)。
  • 教学素材:代码模板(提前发给学生)、奖励贴纸(“计算小能手”“变量达人”)。

一、导入活动:从“生活问题”到“代码需求”(10分钟)

活动1:“猜体重”游戏——引出变量的必要性

  • 教师展示班级匿名身高数据(如:145cm、152cm、160cm),提问:“知道身高后,怎么快速算出标准体重?”(出示公式卡片:标准体重=身高-105)。
  • 邀请3名学生上台用计算器手动计算,记录耗时(约1分钟/人)。
  • 追问:“如果要算全班30人的体重,每次都重新输入公式,麻烦吗?”引导学生思考:“有没有办法‘记住’身高和公式,让电脑自动算?”

活动2:“魔法盒子”演示——理解变量概念

  • 教师拿出贴“变量”标签的盒子,放入写“150”的数字卡片:“这个盒子叫height(身高),里面装着150→就像代码里写height=150”。
  • 换一张“160”的卡片:“盒子里的数字能换,代码里改height=160就行”。
  • 总结:变量就是“存储数据的魔法盒子,能随时更新内容”

二、知识点讲解:变量与数学运算(30分钟)

模块1:变量的定义与规则(15分钟)

  • 核心概念
    变量是给数据起的“名字”,用变量名=值表示(如age=12score=95)。
  • 规则讲解(结合例子):
    1. 变量名要“见名知意”:用height表示身高,不用a(举例:a=150 vs height=150,哪个更易理解?)。
    2. 命名规范:由字母、数字、下划线组成,不能以数字开头(正确:height2;错误:2height)。
    3. 区分大小写:Heightheight是两个不同变量(演示:Height=150print(height)会报错)。
  • 代码演示
    python
    # 定义变量并输出
    height = 150  # 身高(厘米)
    age = 12      # 年龄(岁)
    print(f"身高:{height}cm,年龄:{age}岁")  # 用f-string拼接变量
    让学生观察:修改height=160后,输出结果如何变化?(强调“一次定义,多次复用”)。

模块2:数学运算符与公式转换(15分钟)

  • 运算符介绍(类比数学符号):

    数学符号代码符号例子(代码)结果
    ++5+38
    --10-46
    ×*3*618
    ÷/12/43.0
    ²(平方)**5**2(5的平方)25
  • 公式转代码实战(以“标准体重”为例):

    1. 数学公式:标准体重 = 身高 - 105
    2. 代码实现:
      python
      height = 155  # 身高155cm
      standard_weight = height - 105  # 套用公式
      print(f"标准体重:{standard_weight}kg")  # 输出:标准体重:50kg
    3. 拓展练习:计算BMI(简易公式:BMI=体重÷身高²×10000)
      python
      weight = 45  # 体重45kg
      bmi = weight / (height**2) * 10000  # 注意运算顺序
      print(f"BMI值:{bmi:.1f}")  # 保留1位小数,如:BMI值:18.8

三、练习题设计:分层任务+真实场景(30分钟)

基础任务(全员完成):“我的健康数据”

  • 要求:用自己的身高(cm)和体重(kg)定义变量,计算标准体重和BMI,输出格式为:
    “我的身高是Xcm,标准体重是Ykg,实际体重是Zkg,BMI值是W”
  • 示例代码框架:
    python
    # 填写自己的身高和体重
    my_height = ______
    my_weight = ______
    
    # 计算标准体重
    my_standard = ______ - 105
    
    # 计算BMI
    my_bmi = my_weight / (______ **2) * 10000
    
    # 输出结果
    print(f"我的身高是{my_height}cm,标准体重是{my_standard}kg,实际体重是{my_weight}kg,BMI值是{my_bmi:.1f}")

进阶任务(选做):“小组健康分析”

  • 分组(每组3人),用班级匿名身高数据(如[140, 150, 160]),计算每组3人的标准体重,比较谁的实际体重(假设值)最接近标准体重。
  • 要求:用变量存储每个人的数据,用print()输出对比结果。

教师巡视重点:

  • 变量名是否规范(如是否用my_height而非x);
  • 运算顺序是否正确(如BMI计算中是否遗漏height**2);
  • 对“f-string”拼接的掌握(是否正确使用{变量名})。

四、讲解与互评:深化理解(15分钟)

  1. 学生展示:随机选2名学生投屏代码,讲解“变量怎么定义的”“公式对应哪个运算符”。
    • 示例点评:“这位同学用my_height作为变量名,很清晰;如果把height**2写成height*2,结果会怎样?(引导发现错误)”
  2. 小组互评:每组推荐1份“最清晰的代码”,贴“规范之星”贴纸,理由是“变量名易懂”“公式正确”。
  3. 拓展讨论:“如果要计算全班同学的BMI,手动改100次变量值麻烦吗?”(引出后续“循环”知识,激发兴趣)。

五、总结与作业(5分钟)

课堂总结:

  • 变量是“存储数据的盒子”,定义格式:变量名=值
  • 数学运算:+、-、*、/、**(平方),可直接套用生活公式;
  • 核心逻辑:用变量“记住”数据,用运算“处理”数据。

课后作业:

  1. 调查家人的身高(cm)和体重(kg),用代码计算他们的标准体重和BMI,记录“谁的BMI在健康范围(18.5-23.9)”;
  2. 尝试修改代码,给BMI超标的家人输出“建议”(如print("爸爸需要多运动哦!"))。

教学理论支撑:

  1. 维果茨基最近发展区:通过“魔法盒子”具象化变量(降低抽象难度),再过渡到代码公式(挑战进阶),符合“现有水平→潜在水平”的提升路径。
  2. STEAM教育融合:结合数学(公式计算)、科学(健康指标)、技术(代码工具),让编程成为解决实际问题的手段。
  3. 自我决定理论:用“家人健康数据”作为任务素材,增强学生的自主性和任务意义感,激发内在动机。