资源简介
(共2张PPT)
班级: 学号: 姓名:
给三个作品投票的算法是怎样的呢?接下来,就请你来动手尝试一下
吧!把合适的指令拖拽到流程图合适的位置,将流程图补充完整。
是
否
tp=“a”
tp=“b”
i-i+l中小学教育资源及组卷应用平台
第1课 算法与问题解决
预设教学目标:
1. 通过探讨、解决具体的数学问题的方法与步骤,了解算法解决问题的过程。
2. 通过体会数学与算法的紧密联系,激发对程序算法的学习兴趣。
3. 通过生活中的投票问题这个经典案例,体会算法解决问题的一般过程。让学生尝试分析问题,并运用图示将问题抽象,从而构建模型设计算法,培养学生的信息意识与计算思维。
预设教学重点:
计算机中实现算法的一般步骤。
预设教学难点:
建立模型,把投票问题转换成计算机实现的方法,理解计算机处理问题的一般过程。
预设教学内容:
1.计算机中运用算法解决问题经历的过程。
2.抽象与建模的过程
3.设计算法的过程
4.验证算法的过程
预设教学课时:
1课时
预设教学准备:
课件,练习,机遇电子教室
预设教学过程:
一、谈话导入
1.同学们,上一节课我们复习了什么是算法,以及算法的描述方法。今天这节课,我们就通过一个典型的问题解决来进一步感受在计算机中运用算法解决问题的一般步骤。
2.出示课题:算法与问题解决。
【讨论】
问题描述:某校正在进行校徽设计征选,经过全校海选,确定了A作品和B作品为候选校徽设计,现在请全校1000名学生为两个作品投票,投票结果将在全校公示。
这是一个典型的投票问题,生活中,我们常常会遇到投票问题,比如班干部竞选等,想一想可以通过哪些途径解决?
二、建构新知
1.利用算法来解决问题有多种途径,如由人工来实施,或由计算机通过控制与计算实现等,不同的途径适用于不同的场景。
2.人工实施的时候,我们常常用画“正”字来计票,当然,我们也可以用计算机来实现。 在计算机中运用算法解决问题,主要经历问题分析、抽象与建模、设计算法、验证与优化算法等过程。
【问题分析】
1.解决问题首先要对问题进行分析。
2.投票问题的一般流程是:
01确定候选作品02确定投票人03投票04计票公布结果。
3.根据流程,我们再来这道具体的校徽设计投票:
候选作品是否确定?(A作品和B作品)
投票人是否确定?(1000名学生)
然后就要开始投票,我们需要知道:每名学生的投票情况。
计票:计算出各作品的得票数分别是多少。
最后才能公布结果。
【抽象与建模】
1.解决了第一个步骤,问题分析后,我们来进行第二步:抽象与建模。
2.什么是抽象与建模呢?就是抽象出问题的关键要素,摒弃问题中无关的要素,然后找出这些关键要素之间的关系,建立模型。
3.本次作品投票中,该问题的关键要素包括:两个候选作品的编号以及1000名学生的投票情况。
●确定变量
本问题中,需要对每一次的投票内容进行处理,从而决定增加哪一个作品的得票数。使用计算机解决这个问题时,可以用变量来表示。变量tp表示每一次的投票,不同的变量值代表给不同的候选作品投票,用变量a和b表示两个候选作品的得票数。
●抽象规则
确定好变量之后,那就需要找出这三个变量之间的关系。
他们之间存在怎样的关系呢?tp的值会不会影响到变量a的值?会不会影响到b的值?如果tp是“a”,a的值会怎么变化?(a+1)如果tp是“b”,那b的值也会增加1。(b+1)
通常会这样来表述:a=a+1,b=b+1.
出示电脑小博士的话。
出示【小知识】:讲解赋值
= 代表赋值
a=a+1:将a+1的值赋给a
a2 a=a+1
a3
比如原先变量a的值是2,将a+1的值赋给了a,那么a的值就变成了3。
假设a2 b3 aa+b 那么a的值现在是多少?b的值呢?
●建立模型
在抽象的基础上,总结规律、建立模型是设计算法的前提。
三个变量之间的关系找到了,我们就要来建立模型了。建立模型时,可以借助公式、表格、图示等方式,我们来看看图示的形式怎么来建模的?
课件出示图示方法。
【设计算法】
设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、有序地描述解决问题的步骤。
使用计算机解决作品投票的问题算法如何来描述?请你先用自然语言来描述一下。
也许从头到尾很顺畅地描述这个算法对于你们来说有点难,我们不妨先来说一说你觉得会有哪些步骤,再来看看这些步骤怎么排序才会比较合理。
学生说一说具体的步骤,说到哪个步骤时,教师就点击课件上的一个步骤。
用自然语言来描述算法我们已经完成了,那么流程图呢?根据自然语言描述的算法,我们来完成流程图。
步骤1:A、B作品得票数清零。
步骤2:投票者输入投票内容“a”、“b”,并将其赋值给变量tp
步骤3:使用分支结构对投票内容进行判断,当tp是“a”时,变量a的数值增加1,当tp是“b”时,变量b的数值增加1.
这时能不能直接输出a和b的值?为什么?
是的,投票还没有结束,这里只是一次投票的情况,投票还要继续,那什么时候能结束投票?当投票总数达到1000的时候,投票总数可以用这里什么变量来表示呢?(a+b)所以在投票的时候还需要计算机进行判断,是否要进行投票。当投票数达到1000时才能输出结果,结束。
这是我们绘制出来的流程图,通过a+b的总投票数来控制一共投几票,再来看一下书本上的流程图,它增加了一个变量i,那这个变量i是用来干什么的呢?【变量i帮助计数】投票人数是1000名学生,为什么这里是1001?【i从1开始的】当一个人投票结束,计数器i就增加1。
【验证算法】
在计算机中,可以通过编写并运行程序来验证算法。
我们比较熟悉的图形化编程软件能完成算法的验证,使用python编写的投票程序也可以完成验证。
教师演示程序,学生观看效果。
提问:如果用户输入的数据既不是a,也不是b,结果会怎样?比如我就很纠结,不知道选哪一个好,我干脆弃权嘛好了,我输入了c,按照规则,输入c应该就是弃权了吧。如果按照我们的算法设计,想一想,结果会是怎么样呢?说一说你的理由。
验证输入其他数据的结果。
想一想,怎么修改就要可以避免?出示流程图。
【练习】
给三个作品投票的算法是怎样的呢?接下来,就请你来动手尝试一下吧!把合适的指令拖曳到流程合适的位置,将流程图补充完整。
三、课堂小结
【课后反思】
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)(共21张PPT)
执教者:
投票问题
投票问题
生活中,我们常常会遇到投票问题,想一想可以通过哪些途径解决?
利用算法来解决问题有多种途径,如由人工来实施,或由计算机通过控制与计算实现等,不同的途径适用于不同的场景。
人工实施
计算机实现
在计算机中运用算法解决问题,主要经历问题分析、抽象与建模、设计算法、验证与优化算法等过程。
一
问题分析
一
问题分析
01
确定候选作品
02
确定投票人
03
投票
04
计票
05
公布
结果
1000名
学生
每名学生的投票情况
各作品的得票数
抽象与建模
二
解决问题首先要对问题进行分析,抽象出关键要素,建立模型。
A作品和B作品的作品编号
1000名学生的投票情况
抽象与建模
二
解决问题首先要对问题进行分析,抽象出关键要素,建立模型。
01
确定
变量
02
抽象规则
03
建立模型
每一次的投票情况
A作品的得票数
B作品的得票数
a
b
tp
抽象与建模
二
解决问题首先要对问题进行分析,抽象出关键要素,建立模型。
01
确定
变量
02
抽象规则
03
建立模型
tp=
每一次的投票情况 [ tp ] A作品的得票数[ a ] B作品的得票数[ b ]
“a”
“b”
小知识
= 代表赋值
a=a+1:将a+1的值赋给a
a 2 a=a+1
a 3
a+1
b+1
a=
b=
抽象与建模
二
解决问题首先要对问题进行分析,抽象出关键要素,建立模型。
01
确定
变量
02
抽象规则
03
建立模型
在抽象的基础上,总结规律、建立模型是设计算法的前提。
公式
表格
图示
……
设计算法
三
设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、有序地描述解决问题的步骤。
1
2
3
4
5
设计算法
三
开始
结束
输出a、b的值
a 0, b 0
tp 用户输入投票情况
tp=“a”
是
否
a a+1
b b+1
投
一
票
的
情
况
一直投票下去?
什么时候结束投票?
a+b<1000
是
否
设计算法
三
开始
结束
输出a、b的值
a 0, b 0
tp 用户输入投票情况
tp=“a”
是
否
a a+1
b b+1
a+b<1000
是
否
为什么是1001?
变量i帮助计数
投完一票,计数器+1
验证算法
四
在计算机中,可以通过编写并运行程序来验证算法。
使用图形化编程软件编写的投票程序
使用Python编写的投票程序
如果用户输入的数据既不是a,也不是b,结果会怎样?
当选票不是a的时候
再次判断是不是“b”
变量c表示的就是弃权的数量
在计算机中运用算法解决问题经历的过程:
01
问题
分析
02
抽象与建模
03
设计
算法
04
验证与优化算法
https://www.21cnjy.com/help/help_extract.php
展开更多......
收起↑