(共13张PPT)
必修1《数据与计算》
第二章
算法与问题解决
2.3
用算法解决问题的过程
情境导入
春雨计步器
乐动力
动动计步器
咕咚
手机计步器APP
“动动有奖”APP奖励方案
“动动有奖”是某手机走路计步器程序,它能根据系统传递给它的走路步数给运动者奖励,运动者可以用累计的“奖金”去换取软件开发商提供的各种体育用品。具体的奖励规则如下:
1.每天走路的前1000步奖励0.3金,之后每2000步奖励0.1金(不足2000步没有奖励),每天最高奖励不超过3金。
2.每天必须到计步器页面点击“领奖”按钮,才能领取昨日走路奖金。
3.如果连续3天领奖成功,从第4天起走路奖金翻1倍(乘以2),每天最高奖励不超过6金。翻倍期间若有1天没有领奖(
即连续每天领奖行为中断),则翻倍权益取消,重新连续3天领奖成功才能继续翻倍。
抽象与建模
提炼核心要素
(1)本问题的已知数据有哪些?
(2)本问题的求解目标是什么?
使用变量n表示总天数,变量Xi表示第i天走路的步数,变量Fi表示第i天是否成功领取前一天奖金,1和0分别表示成功领取和未领取。
统计n天过去以后,该用户总共领取的奖金总数,可以用变量total表示。
抽象与建模
建立计算模型
(1)如何计算第i天的奖金Si?
(2)如何计算n天过去以后,该用户总共领取的奖金总数?
处理数据的一般过程
处理数据
输出处理结果
使用何种算法控制结构来处理数据?
输入数据
如何细化算法?
设计算法
描述算法
①输人总天数n。
②表示天数的变量i初始化为1。
③若i≤n,则转④,否则转⑦。
④输人第i天的数据(包括第i天走路步数X,是否成功领取第i天“奖金”的标:F)。
⑤根据当前输人的数据X,F,统计该天领取的奖金并累加到总奖金total中。
⑥表示天数的变量i增加1,然后转③。
⑦输出变量total的值。
思考与练习
上述算法中,“按照奖励规则第1条计算奖金t”在两个环节中出现,请根据算法功能完成下列练习。
(1)改进算法,使得算法中只有一个环节出现“按照奖励规则第1条计算奖金t”。
(2)请进一步细化原算法中的
“按照奖励规则第1条计算奖金t”,并用流程图进行描述。
课堂小结
用算法解决问题的过程
抽象与建模
设计算法
描述算法
课堂小结
学习评价
对自己和同伴的表现进行客观的评价,并思考后续完善的方向。(5=优秀,4=超出一般水平,3=满意,2=有待改进,1=不太理想)
评分项
自我评价
同学互评
能提炼“动动有奖”问题的核心要素,明确已知数据和求解目标
5
4
3
2
1
5
4
3
2
1
能建立“动动有奖”问题的计算模型,并写出数学表达式
5
4
3
2
1
5
4
3
2
1
能根据计算模型设计算法,并用自然语言描述该算法
5
4
3
2
1
5
4
3
2
1
能参与小组讨论并使用流程图描述算法
5
4
3
2
1
5
4
3
2
1
课堂作业
1.思考教材“巩固与提高”中4个问题。
2.
(选做)模仿教材中“动动有奖”APP奖励系统,设置一个“早起签到”积分奖励算法,并用自然语言或流程图描述算法。
谢谢观看算法的概念及描述和算法的控制结构教学设计
课程标准
和
教学目标
算法的概念及描述和算法的控制结构
教材内容:2.3
用算法解决问题的过程
适应的课程标准:
1.6从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。
教学目标:
●初步掌握从实际项目中界定问题、对问题进行抽象与建模的方法。
●能基于问题求解模型,分析计算过程中的数据、运算特点,针对求解目标开展算法设计。
●能根据问题求解过程中数据和运算的特点,选择合适的控制结构来正确地设计、描述算法。
指向的核心素养:
●信息意识:能够根据解决问题的需要,自觉、主动地寻求恰当的方式获取与处理信息。
●计算思维:针对给定的任务进行需求分析,明确需要解决的关键问题;能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题。
学习环境:有教学控制软件的多媒体机房,装有MS软件和班级讨论区。
建议课时:1课时
教学活动设计
教学环节
教学过程
设计意图
情境导入
在PPT上展示多个常见手机计步器APP的LOGO图片,和学生一起玩“猜猜我是谁”游戏,看学生能认出几个APP,从而说明现在手机计步器软件变得越来越流行了,人们可以不用另外购买计步器,通过手机软件就可以进行计步,平时运动起来很方便,一边手机听歌,一边计步。
由于竞争激烈,现在的手机计步器APP不仅具有计步功能,还设置了各种奖励机制来鼓励用户多运动,多使用APP。今天我们就来研究“动动有奖”APP的奖励机制,并为此设计相关算法。
通过展示漂亮的LOGO图片和简单的游戏,引起学生的注意,认识到手机计步器APP的优点和流行程度,从而激发学生解决“动动有奖”算法问题的兴趣。
学生活动(1)
教师在PPT上展示“动动有奖”APP系统界面和奖励规则,并给出项目任务:根据学生每天走路的步数,统计n天过去以后,该用户总共领取的奖金总数。
抽象与建模
请学生分步骤思考以下问题:
提炼核心要素
(1)本问题的已知数据有哪些?
走路的总天数,每天走路的步数,每天是否成功领取前一天奖金的标记。
(2)如何存储这些已知数据?
使用变量n表示总天数,变量Xi表示第i天走路的步数,变量Fi表示第i天是否成功领取前一天奖金,1和0分别表示成功领取和未领取。
(3)本问题的求解目标是什么?
统计n天过去以后,该用户总共领取的奖金总数,可以用变量total表示。
建立计算模型
(1)如何计算第i天的奖金Si?
第i天领取的奖金与前一天走路的步数有关,也与连续成功领奖的天数有关。
每天走路的前1000步奖励0.3金,之后每2000步奖励0.1金(不足2000步没有奖励),每天最高奖励不超过3金。
使用数学表达式可写成:
如果连续3天领奖成功,从第4天起走路奖金翻1倍(乘以2),每天最高奖励不超过6金。
使用数学表达式可写成:
(2)如何计算n天过去以后,该用户总共领取的奖金总数?
根据n组数据,累计每天的奖金Si。
使用数学表达式可写成:
说明:为验证模型的正确性,可提供少量测试数据代入模型,计算结果。
通过引导学生按步骤分析问题,体验提炼核心要素和建立计算模型的过程,掌握获取已知条件和求解目标的方法,学会使用数学表达式来建立计算模型,逐步培养抽象与建模的能力。
通过代入测试数据,强化学生对计算模型的理解,以便设计出正确的算法。
学生活动(2)
设计算法
有了计算模型后,就可以遵循算法的特征,围绕算法的要素设计算法。
请学生分步骤思考以下问题:
1.对数据处理的过程一般分为哪几个步骤?
①输入数据。
②处理数据。
③输出处理结果。
2.本问题的输入数据有哪些?
本问题需要输入的数据有走路的总天数n以及n组Xi和Fi的值。
3.可以使用哪种算法控制结构来处理这些输入的数据?
因为每天处理数据的规律是相同的,所以可以使用循环结构来处理数据,每执行一次循环体就是处理一天的数据。
4.如何使用自然语言来描述上述算法?
详细算法参见教材内容。
先给出处理数据算法的一般过程,再对具体的步骤分别提问,引导学生感受到“自顶向下、逐步求精”结构化程序设计思想的重要性。
鼓励学生使用不同于教材的方法来设计算法,培养学生使用自然语言将计算模型转化成算法的能力,增强学生的计算思维。
学生活动(3)
描述算法
请学生使用流程图描述算法。
详细算法参见教材内容。
思考与练习:
上述算法中,“按照奖励规则第1条计算奖金t”在两个环节中出现,请根据算法功能完成下列练习。
(1)改进算法,使得算法中只有一个环节出现“按照奖励规则第1条计算奖金t”。
(2)请进一步细化原算法中的
“按照奖励规则第1条计算奖金t”,并用流程图进行描述。
流程图是描述算法的一种重要方法,教师要引导学生理解流程图的特征和不同算法控制结构对应的流程图样式,并通过适度的练习熟练掌握流程图的画法。
思考与练习的设计,一是为了进一步引导学生深入探究教材呈现的算法,二是帮助学生初步感受解决同一个问题时算法的多样性,为今后实际设计算法、对算法进行迭代而积累认知。
课堂小结
总结用算法解决问题的过程:
1.抽象与建模;
2.设计算法;
3.描述算法。
通过对“动动有奖”APP的奖励系统的分析,学生体验了使用算法解决实际问题的过程,在此基础上启发学生提炼出其中的关键环节,并形成思维导图,以便学生面对实际问题时能进行抽象思维,用理论指导实践。
作业布置
基础作业(面向所有学生):
思考教材“巩固与提高”中4个问题。
提升作业(面向学有余力学生):
模仿教材中“动动有奖”APP奖励系统,设置一个“早起签到”积分奖励算法,并用自然语言或流程图描述算法。
课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。
教学设计思路
通过展示漂亮的LOGO图片和简单的游戏,引起学生的注意,认识到手机计步器APP的优点和流行程度,从而激发学生解决“动动有奖”算法问题的兴趣。
学生已经通过前面几节课感受了从问题到算法的一般思维过程及方法,初步体验了在现实情境中界定问题、总结规律、抽象算法的思维过程,但是还未上升到理论高度,需要通过研究更为复杂的问题来提升抽象与建模的能力。
教材提供的“动动有奖”算法问题难度适当,讲解清晰,教师可以引导学生通过按步骤分析问题,体验提炼核心要素和建立计算模型的过程,掌握获取已知条件和求解目标的方法,学会使用数学表达式来建立计算模型,逐步培养抽象与建模的能力。
在设计算法时,先给出处理数据算法的一般过程,再对具体的步骤分别提问,引导学生感受到“自顶向下、从粗到细”结构化程序设计思想的重要性。
流程图是描述算法的一种重要方法,教师要引导学生理解流程图的特征和不同算法控制结构对应的流程图样式,并通过适度的练习熟练掌握流程图的画法。搞清楚教材提供的流程图以后,教师还可以引导学生对原算法进行改进和进一步细化,并用流程图描述,帮助学生感受解决同一个问题时算法的多样性,为今后实际设计算法、对算法进行迭代而积累认知。
通过对“动动有奖”APP的奖励系统的分析,学生体验了使用算法解决实际问题的过程,在此基础上启发学生提炼出其中的关键环节,并形成思维导图,以便学生面对实际问题时能进行抽象思维,用理论指导实践。
针对
核心素养培养的
设计考虑
本条例各个核心素养的具体落点分析如下:
信息意识:落点在“能够根据解决问题的需要,自觉、主动地寻求恰当的方式获取与处理信息”。本节课分析的“动动有奖”APP项目难度较大,背景信息复杂繁琐,需要学生认真阅读材料,并从中提取有效信息,明确问题的已知数据和求解目标,并找出二者的关系,建立计算模型,以便设计算法。分析完教材提供的案例以后,学生还要在老师的引导下总结规律,提炼出用算法解决问题的一般过程,这对学生主动获取和处理信息的能力要求较高,有利于培养学生自主学习的意识和习惯。
计算思维:落点在“针对给定的任务进行需求分析,明确需要解决的关键问题;能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题”。本条例提供的项目实例较为复杂,可以对解题过程进行分解,逐层细化,深入分析每个步骤的各个细节问题。要回答这些问题,需要学生综合运用之前学习的算法特征和描述方法,提炼问题的核心要素,进行抽象与建模,使用自然语言和流程图等方法来描述算法。在熟悉了教材提供的算法及其流程图后,教师引导学生思考如何改进算法和对算法进一步细化,并对流程图进行改进,帮助学生感受解决同一个问题时算法的多样性,为今后实际设计算法、对算法进行迭代而积累认知。通过分析和思考实际项目各阶段不同的问题,体验使用算法解决问题的全过程,并总结成方法,形成思维模式,以便迁移到解决其他项目上,为后面使用计算机编程解决问题打下坚实基础。
数字化实践:落点在“运用数字化工具建构知识”。学生们要通过分析和解决实际项目,提炼出使用算法解决问题的关键环节,并上升为理论,这需要较为深入的思考。利用思维导图软件能帮助学生理清思路,将思考过程可视化,从而帮助梳理和发现思考过程中存在的问题,也更利于分享与交流。