内容正文:
2.3用算法解决问题的过程(教学设计)
年级
高一
授课时间
课题
2.3用算法解决问题的过程
教学
目标
1. 初步掌握根据实际情景,明确问题,进而对问题抽象、建模的方法
(学科核心素养:信息意识)
2. 能够根据建立的问题模型,设计合理有效的算法进行解决。
(学科核心素养:信息意识、计算思维)
3.能够根据实际需要选择恰当的方式描述算法,提升信息技术学科素养。(学科核心素养:信息意识、数字化学习与创新)
教学
重难点
重点:理解用算法解决问题的一般过程
难点:能够根据实际选择设计恰当的算法解决问题,选择恰当的方法描述算法。
教学
准备
多媒体网络教室 ppt教学课件 学习资源包、学习任务单
教学过程
教师活动
学生活动
新
课
导
入
情景导入:ppt出示动动有奖APP 截图
动动有奖”是某手机走路计步器程序(程序界面如图2. 3. 1所示), 它能根据系统传递给它的走路步数给运动者奖励,运动者可以用累计的“奖金”去换取软件开发商提供的各种体育用品。
具体的奖励规则如下:
1. 每天走路的前1000步奖励0. 3金,之后每2000步奖励0. 1金(不足2000步没有奖励), 每天最高奖励不超过3金。
2. 每天必须到计步器页面点击“领奖”按钮,才能领取昨日走路奖金。
3. 如果连续3天领奖成功,从第4天起走路奖金翻1倍(乘以2) , 每天最高奖励不超过6金。翻倍期间若有1天没有领奖(即连续每天领奖行为中断), 则翻倍权益取消,重新连续3天领奖成功才能继续翻倍。
师:其实,动动有奖这款应用功能的实现是硬件和计算机程序有机相结合。是计算机解决问题在生活中的具体体现。下面我们就一起来探究一下动动有奖奖励机制及算法设计。
创设情景,激发兴趣
新 知 讲 授
任务一: 抽象与建模
1.小组交流讨论剖析:“动动有奖计步器程序”的算法实现。
(1) 我们已经知道哪些数据?
走路的总天数、每天走路步数、前一天是否已经领取了奖励。
(2) 这些数据如何表示?
走路总天数用n
每天走路步数用X
前一天是否领取奖励用F表示(1表示领取,0表示未领取)
(3) 最终目的是什么?
这款应用实现领奖的最终统计的是n天后一共获得的奖励金总数,可以用total表示。
2.小组为单位,基于上述分析,如何用数学符号表示抽象出的模型?
数学模型剖析:
(1)对t的理解
t代表每天奖励的金额,根据奖励规则来看,当某一天( x i)的步数小于1000步时,奖励金为0。当某一天( x i)的步数大于1000步时,再走1000步达到2000步时就可以获得奖励金为0.3。超出2000步但达不到3000步,不会有额外奖励金,即当步数介于1000步到3000步之间,奖励金为0.3.但是每天最多获得3金,也就意味着当步数恰好等于55000时可以获得3金,如果当某一天( x i)的步数大于55000步时,不会再有更高的奖励。
(2) 对si 的理解
Si 代表的是某一天最终的奖励金是否翻倍计算,当没有点击领奖按钮时,无论走了多少路,是没有奖励金的。当某一天点击了领奖按钮,往前看前一天或者前两天只要有一天没有点击领奖按钮是没有额外的翻倍奖励的,实际该天获得奖励金为t.当某一天点击了领奖按钮,往前看前一天或者前两天都点击了领奖按钮就可以获得翻倍奖励的,实际该天获得奖励金为2t.
(3) 对total 的理解
total表示n 天一共获得的奖励金,即 total=S1+S2+S3+S4+......+Si
3. 请同学们根据数学模型,设计算法。
思考:(1)对数据的处理一般分几个步骤?
输入数据
处理数据
输出结果
(2) 可以用哪种算法控制结构设计算法?
生: 循环控制结构设计算法
按照“自顶向下、逐步细化”的结构化设计思想,对前面的算法细化:
①输人总天数n 。
②表示天数的变量i初始化为1。
③若i≤n, 则转④, 否则转⑦。
④输入第i天的数据(包括第i天走路步数Xi, 是否成功领取i天“奖金”的标记Fi)
⑤根据当前输入的数据Xi, Fi 统计该天领取的奖金并累加到总奖金total中。
⑥表示天数的变量i增加1, 然后转③。
⑦输出变量total的值。
4. 尝试分析算法流程图。
c表示成功领奖天数
拓展链接:
常用算法介绍:本例采用模拟策略来设计算法,即根据现实事务的实际流程和要求逐步进行处理,以达到数据处理的目标。计算机科学家根据各种问题的模型特征提出了各种针对性的算法设计策略,如穷举算法、顺序查找算法、对分查找算法、冒泡排序算法、深度优先搜索法以及动态规划等。
任务二:改进算法
上述算法中,“按照奖励规则第1条计算“奖金'! ”在两个环节中出现,请根据算法功能完成下列练习。
(1) 改进算法,使得算法中只有一个环节出现“按照奖励规则第1条计算“奖金‘t ”。
(2) 请进一步细化原算法中的“按照奖励规则第1条计算'奖金‘t ”, 并用流程图进行描述。细化图具体见下图1
详细内容见图1
图1
任务三:
任意输入三个数,输出其中最小数的值。设计解决该问题的算法并用流程图描述该算法。
一、算法步骤
1. 首先输入的三个数,分别记为 a、b 和 c。
2. 初始化一个变量min,将其初始值设为a。这是因为我们先假设第一个数就是最小的数,后续通过比较来更新这个变量的值。
3. 比较 min 和 b的大小。如果 b小于 min,那么将 min 更新为b。
4. 再比较 min 和c 的大小。如果 c 小于 min那么将 min更新为 c。
5. 最后,输出 min的值,这个值就是输入的三个数中的最小数。
任务四:思考三中不同的算法描述方法的优缺点,并填写下表。
描述方法
优点
缺点
自然语言
流程图
伪代码
用计算机解决问题时,由于实际问题情境的复杂性,需要对实际问题进行抽象与建模,再根据建立的计算模型设计算法,并将算法用合适的方式加以准确描述。
课
堂
练
习
1.(多选) 以下哪些步骤属于用算法解决问题的过程(ACD)
A. 抽象与建模
B. 问题界定
C. 设计算法
D. 描述算法
正确答案:ACD
答案解析:用计算机解决问题时,由于实际问题情境的复杂性,需要对实际问题进行抽象与建模,再根据建立的计算模型设计算法,并将算法用合适的方式加以准确描述。
2.某算法的部分流程图如图所示,执行这部分流程后,如果输入11,输出结果为( A)
A.7 B.8 C.9 D.10
正确答案:A
答案解析:
x
11
5
2
1
0
s
1
3
-1
7
输出
k
2
4
8
16
故正确答案为A。
课
堂
小
结
1. 学生思考并总结分享本节课收获,各同学之间互相补充。
2. 教师出示本节课思维导图,并总结提升,帮助学生理解算法的概念,明确算法的基本特征、描述方法。本节课思维导图如下:
作
业
设
计
1.完成分层作业。
2.学有余力的同学,P58页查看课本巩固提高部分第4题完成相关算法的设计及描述。
反
思
评
价
在本节课的教学过程中,首先通过一个实际问题(如“动动有奖”案例)引起学生的兴趣,引导学生思考如何用计算机程序解决这个问题。进而引导学生以小组讨论的方式明确解决实际问题需要先对实际问题进行抽象与建模,再根据建立的计算模型设计算法,并将算法用合适的方式加以准确描述。同时注重过程评价,观察学生在实践操作中的参与度和合作情况,评价其思维能力和问题解决能力。通过学生的分组讨论和分享交流,评价其对算法的理解和应用能力。在作业布置上,则因材分层布置相关题目,进一步巩固和深化学生对本节课内容的理解和掌握。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$