(共23张PPT)
本期目标
复习旧知
1、策略的作用
2、程序的制定过程
3、伪代码特点
解决“怎么做”的问题
明确问题—确定策略—用数学方式描述—
伪代码编写—算法
作为策略和算法之间的桥梁
用于理清算法的思路
用中文、英文等自然语言编写
效
高
3.2.1
第三单元第二节
策
略
学习目标
01.
了解策略的效率
02.
打破常规,多角度思考问题
“分奖品”问题
小明,你能
帮我个忙吗?
好呀,没问题
学校开运动会需要给
获得前三名的同学颁奖,我
遇到了一个问题,请你帮我
分一下奖品。
奖品总数是17个,第一名应得总数的1/2,第二名得总数的1/3,第三名得总数的1/9.请问:这17个奖品应该如何分给第一、二、三名的同学?
奖品总数是17个,第一名应得总数的1/2,第二名得总数的1/3,第三名得总数的1/9.请问:这17个奖品应该如何分给第一、二、三名的同学?
练一练
第一名的奖品数量=17 x 1/2 = 8.5个
第二名的奖品数量=17 x 1/3 = 5.66…个
第三名的奖品数量=17 x 1/9 =1.88…个
策略一
无效策略
1/2: 1/3: 1/9
策略二
9:6:2
最小公倍数18
17
有效策略
策略二伪代码
明确问题—确定策略—用数学方式描述—伪代码编写—算法
设Xi为每一名同学应获得的奖品数量
X1=1/2 * 18
X2=1/3 * 18
X3=1/9 * 18
则第一、二、三名同学应得奖品数为X1、X1、X1
本期目标
分奖品伪代码
Begin(算法开始)
定义第i名同学获得Xi份奖品
End(算法结束)
X1=1/2 * 18
X2=1/3 * 18
X3=1/9 * 18
Print(X1,X2,X3)
策略二伪代码
发现问题—确定策略—用数学方式描述—伪代码编写—算法
Begin(算法开始)
定义第i名同学获得Xi份奖品
End(算法结束)
X1=1/2 * 18
X2=1/3 * 18
X3=1/9 * 18
Print(X1,X2,X3)
想一想,还有其他的方法解决这个问题吗?
策略三
从外面借一个奖品来,将奖品总数变为18个,再分。
分完会剩一个,再还回去。
策略三
拓展思考
如果第一名得总奖品数的1/2,
第二名得总奖品数得1/3,
第三名得总奖品数的1/5,
奖品总数为31个时,请问前三名每人
应该分到多少个奖品
1/2: 1/3: 1/5
策略
15:10:6
最小公倍数30
31
“报数游戏”
规则:两人轮流报数,从1开始报,每次可报1到3个数,不能不报数,先报出20的玩家获胜。
两人一组试一试看谁会赢?有没有必胜策略?
试一试
规则:两人轮流报数,从1开始报,每次可报1到3个数,不能不报数,先报出20的玩家获胜。
策略——倒推
20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
初始数和先后顺序已经决定了最后的结果,因为只有后报数者才能抢到4的倍数,后报数者有必胜策略。
平衡游戏必胜策略:
1、后报数
2、抢(1+3)的倍数
关键因子
关键数
规则:两人轮流报数,从1开始报,每次可报1到3个数,不能不报数,先报出21的玩家获胜。
策略——倒推
21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
不平衡游戏必胜策略:
1、先报数,消除不平衡因子
2、抢1+(4的倍数)
总结:
无效策略——不能完成任务
有效策略——可以完成分配任务
最 优 解——必胜策略