Appearance
变量与数学表达——用代码做“数字计算”
课题
变量:代码中的“数据盒子”与数学公式的代码表达
教学时间
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=12,score=95)。 - 规则讲解(结合例子):
- 变量名要“见名知意”:用
height表示身高,不用a(举例:a=150vsheight=150,哪个更易理解?)。 - 命名规范:由字母、数字、下划线组成,不能以数字开头(正确:
height2;错误:2height)。 - 区分大小写:
Height和height是两个不同变量(演示:Height=150,print(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 公式转代码实战(以“标准体重”为例):
- 数学公式:标准体重 = 身高 - 105
- 代码实现:python
height = 155 # 身高155cm standard_weight = height - 105 # 套用公式 print(f"标准体重:{standard_weight}kg") # 输出:标准体重:50kg - 拓展练习:计算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分钟)
- 学生展示:随机选2名学生投屏代码,讲解“变量怎么定义的”“公式对应哪个运算符”。
- 示例点评:“这位同学用
my_height作为变量名,很清晰;如果把height**2写成height*2,结果会怎样?(引导发现错误)”
- 示例点评:“这位同学用
- 小组互评:每组推荐1份“最清晰的代码”,贴“规范之星”贴纸,理由是“变量名易懂”“公式正确”。
- 拓展讨论:“如果要计算全班同学的BMI,手动改100次变量值麻烦吗?”(引出后续“循环”知识,激发兴趣)。
五、总结与作业(5分钟)
课堂总结:
- 变量是“存储数据的盒子”,定义格式:
变量名=值; - 数学运算:
+、-、*、/、**(平方),可直接套用生活公式; - 核心逻辑:用变量“记住”数据,用运算“处理”数据。
课后作业:
- 调查家人的身高(cm)和体重(kg),用代码计算他们的标准体重和BMI,记录“谁的BMI在健康范围(18.5-23.9)”;
- 尝试修改代码,给BMI超标的家人输出“建议”(如
print("爸爸需要多运动哦!"))。
教学理论支撑:
- 维果茨基最近发展区:通过“魔法盒子”具象化变量(降低抽象难度),再过渡到代码公式(挑战进阶),符合“现有水平→潜在水平”的提升路径。
- STEAM教育融合:结合数学(公式计算)、科学(健康指标)、技术(代码工具),让编程成为解决实际问题的手段。
- 自我决定理论:用“家人健康数据”作为任务素材,增强学生的自主性和任务意义感,激发内在动机。