内容正文:
4.2 数值计算 教学设计
教材版本:教科版(2019)高中信息技术必修1《数据与计算》
课时安排:1课时(45分钟)
授课对象:高一年级
一、教材与学情分析
(一)教材分析
本节是第四章“计算与问题解决”的第二课。4.1节学生已经理解了算法是什么、有哪些特征,本节开始让学生用程序真正“算”出结果。教材以累加求和、圆周率近似计算等案例为载体,介绍了数值计算的基本过程。
这一节在整册教材中处于“从想法到做法”的转折点。学生之前写过的Python程序大多是“输入姓名、输出问候”这类偏文本处理的任务,而数值计算要求学生把数学思维转化为程序思维——这个转化过程是本节的核心教学价值。
(二)学情分析
学生已掌握Python的基本输入输出和if语句,能看懂和仿写简单程序。但存在三个典型问题:
问题
具体表现
对教学的影响
循环执行“脑子里跑不动”
能看懂for i in range(1,101),但说不清sum在循环里怎么一步步变大
需要把“看不见的过程”变成“看得见的表格”
把程序计算等同于计算器
不理解程序可以自动重复、批量处理
需要设计“计算器做不到”的任务情境
缺乏精度和误差概念
习惯“答案是精确值”,不理解“算到什么时候停”
需要从生活经验切入“精度取决于用途”
二、教学目标(基于学科核心素养)
1. 信息意识:能够识别日常生活和学科学习中哪些问题适合用“数值计算”解决(如统计成绩、计算利息、估算增长),哪些用计算器更快;形成“用程序处理大批量重复计算”的主动意识。
2. 计算思维:能够将数学公式或文字描述转化为程序中的“变量+循环+条件”结构;能在循环中追踪变量变化,理解累加、累乘、迭代逼近三种基本模式;初步建立精度控制意识。
3. 数字化学习与创新:能用Python编写、调试简单数值计算程序;能利用print语句在循环中输出关键变量的值来“观察”执行过程;能尝试修改参数观察结果变化并记录对比。
4. 信息社会责任:通过讨论“数值计算结果被误用”的案例,初步认识计算结果的局限性;形成“计算结果需要结合实际判断”的基本态度。
三、教学重难点
类型
内容
突破策略
重点
数值计算基本流程;循环结构在累加、迭代中的用法
用“变量追踪表”把循环过程外化
难点
在脑中追踪循环变量的变化;理解精度控制的含义
先纸上手动模拟,再上机验证;用“量桌子”类比引入精度
四、教学方法与资源
主要方法:任务驱动法、手脑并用法(纸上模拟+上机验证)、对比发现法。
教学资源:多媒体课件、学习任务单(含变量追踪表)、机房电脑(Python环境)、数值计算案例卡(每组一张)。
五、教学过程
环节一:导入——“你算得过来吗”(5分钟)
教师活动
学生活动
设计意图
展示情境:某班50人,每人5门课成绩。算每人总分、平均分,再算全班每门课平均分。问:“手工算要多久?年级12个班呢?”
估算时间,感受重复计算的麻烦
让学生直观感受“不是算不出来,是算不过来”
追问:“计算器能帮我们算吗?”
发现计算器需要人一次次输入,不能自动处理所有组合
引出程序计算的核心优势:自动、批量、可重复
过渡语:“程序算得快,不是因为它聪明,而是因为它不怕重复。”
环节二:手动模拟——把循环“摊开”看(12分钟)
任务一:累加求和——计算1+2+3+…+100
第一步:自然语言描述
学生口述步骤,教师板书:
① sum = 0② i = 1③ sum = sum + i④ i = i + 1⑤ 如果 i ≤ 100,返回③⑥ 输出 sum
第二步:填写变量追踪表
发放任务单,学生在纸上手动模拟前5轮:
轮次
i的值
sum的变化
sum当前值
开始
1
0+1
1
第1轮后
2
1+2
3
第2轮后
3
3+3
6
第3轮后
4
6+4
10
第4轮后
5
10+5
15
第5轮后
6
15+6
21
教师活动
学生活动
设计意图
请两位学生分享填表结果,追问:“第3轮结束时sum=6,它代表什么?”
回答:代表1+2+3的结果
让学生理解“sum在循环中不断累积”
展示对应Python代码,让学生对照表格验证逻辑
对照代码和表格,确认一致
手脑并用,把抽象过程外化为表格
环节三:上机验证——让程序“开口说话”(12分钟)
任务二:给循环加“监控”
教师活动
学生活动
设计意图
要求学生在循环体内加print("第",i,"轮:sum=",sum),运行后观察输出
输入代码,添加print,运行观察
用print把“脑子里跑不动”的过程打印出来
巡视,帮助解决缩进错误、变量名不一致等问题,但不直接帮改
调试程序,对照输出和自己填的表格
调试能力是计算思维的重要组成
追问:“把100改成1000,程序要改哪里?改成10000呢?”
回答:只改循环条件里的数字,结构不变
体会程序的可扩展性
代码与输出对照表:
Python代码
运行输出(前5行)
sum = 0
(无输出)
for i in range(1,101):
(无输出)
sum = sum + i
第 1 轮:sum= 1
print("第",i,"轮:sum=",sum)
第 2 轮:sum= 3
print("最终结果:",sum)
第 3 轮:sum= 6
第 4 轮:sum= 10
第 5 轮:sum= 15
……
最终结果: 5050
对比讨论:
方法
适用场景
局限
公式法 n(n+1)/2
只适用于连续整数求和
换一个问题就不管用了
循环累加法
求平方和、偶数和、任意数列和都行
算得比公式慢,但通用
环节四:精度控制——算到什么时候停(10分钟)
任务三:用尺子量桌子
教师活动
学生活动
设计意图
问:“用尺子量课桌,量到厘米够不够?量到毫米呢?”
回答:看用途,做课桌厘米够了,做精密仪器要毫米
用生活类比引入精度概念
展示莱布尼茨级数:π/4 = 1 - 1/3 + 1/5 - 1/7 + …,问:“这个公式能一直算,程序怎么知道什么时候停?”
思考后回答:设定条件,比如“最后一项小于某个很小的数就停”
从“无限算下去”引出精度控制的必要性
小组讨论:写出停止条件的方案
小组方案示例
评价
while abs(term) > 0.01:
精度要求低,算得快但不准
while abs(term) > 0.0001:
精度适中,常用选择
while abs(term) > 0.000001:
精度高,但算得慢
不同精度下的π值对比表:
精度要求
循环次数
π的近似值
与真实值的误差
0.01
50次
3.14
0.0016
0.0001
5000次
3.1416
0.000007
0.000001
500000次
3.141593
0.0000003
结论:精度越高,算得越多,结果越准——但要花更多时间。精度取决于用途,不是越高越好。
环节五:总结与责任(6分钟)
教师活动
学生活动
设计意图
请学生用一句话总结:“数值计算最需要注意什么?”
自由发言
用自己的语言完成概念内化
责任讨论:展示理财App案例——宣传“历史年化收益率5%”,但用户实际收益远低于5%。问:“从数值计算角度看,可能是什么原因?‘平均数’起了什么作用?”
讨论:历史数据算的平均不代表未来;可能被极端值拉高了
将计算与社会责任连接
平均数陷阱示意图:
用户
收益
用户1
+8%
用户2
+7%
用户3
+6%
用户4
+5%
用户5
+4%
用户6
+3%
用户7
+2%
用户8
+1%
用户9
0%
用户10
-50%
平均值
-1.4%
说明:10个人里9个人收益为正,但平均值是负数——因为有一个极端值把平均拉下来了。宣传只挑“平均数”说,就可能误导人。
课后任务:用循环方法计算“1到100中所有偶数的和”,写出变量追踪表(至少前3轮)。
六、板书设计
4.2 数值计算
一、基本流程
分析问题 → 建立模型 → 设计算法 → 编写程序 → 验证结果
2、 三种核心模式
模式 代码形式 生活例子
累加 sum = sum + i 存钱罐
累乘 fact = fact * i 细胞分裂
迭代 x = (x + a/x)/2 逐步逼近
3、 精度控制
“算到什么时候停?”→ while abs(term) > 精度要求:
4、 学生板书区
[变量追踪表展示]
学科网(北京)股份有限公司
$