内容正文:
执教者:
浙江省教育厅教研室 组织编写
2023浙江教育出版社版 ∙ 小学信息科技
投票问题
投票问题
生活中,我们常常会遇到投票问题,想一想可以通过哪些途径解决?
利用算法来解决问题有多种途径,如由人工来实施,或由计算机通过控制与计算实现等,不同的途径适用于不同的场景。
人工实施
计算机实现
在计算机中运用算法解决问题,主要经历问题分析、抽象与建模、设计算法、验证与优化算法等过程。
一
问题分析
一
问题分析
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
a2 a=a+1
a3
a+1
b+1
a=
b=
抽象与建模
二
解决问题首先要对问题进行分析,抽象出关键要素,建立模型。
01
确定
变量
02
抽象规则
03
建立模型
在抽象的基础上,总结规律、建立模型是设计算法的前提。
公式
表格
图示
……
设计算法
三
设计算法时,要确定算法的输入与输出,并合理地选择控制结构,准确、有序地描述解决问题的步骤。
1
2
3
4
5
设计算法
三
开始
结束
输出a、b的值
a0, b0
tp用户输入投票情况
tp=“a”?
是
否
aa+1
bb+1
投
一
票
的
情
况
一直投票下去?
什么时候结束投票?
a+b<1000?
是
否
设计算法
三
开始
结束
输出a、b的值
a0, b0
tp用户输入投票情况
tp=“a”?
是
否
aa+1
bb+1
a+b<1000?
是
否
为什么是1001?
变量i帮助计数
投完一票,计数器+1
验证算法
四
在计算机中,可以通过编写并运行程序来验证算法。
使用图形化编程软件编写的投票程序
使用Python编写的投票程序
如果用户输入的数据既不是a,也不是b,结果会怎样?
当选票不是a的时候
再次判断是不是“b”
变量c表示的就是弃权的数量
在计算机中运用算法解决问题经历的过程:
01
问题
分析
02
抽象与建模
03
设计
算法
04
验证与优化算法
$$