内容正文:
第一单元 算法的实现
猜数字算法验证
第七课
浙教版
学习目标
01
课堂导入
02
验证算法
03
完善算法
04
课堂任务
05
目录
CONTENTS
建构
2
PART 1
学习目标
学习目标
1.通过运行程序验证猜数字算法,掌握分析程序运行过程与结果的方法。
2.根据对算法验证结果的分析,完善猜测次数的设计,验证并优化算法。
3.了解二分查找法,体会通过二分查找法,快速缩小范围,找到目标数。
PART 2
课堂导入
课堂导入
同学们前面的课程里,我们学过鸡兔同笼问题的程序编写,学到了一些编程语句,上节课我们对猜数字游戏进行了算法的设计,这节课我们来对我们设计的算法进行验证,大家讨论一下进行程序编写需要哪些程序语句呢?
判断语句怎么设置?
循环语句怎么设置?
PART 3
验证算法
新知探究
根据我们设计的算法流程图进行算法的验证,我们选择Python来验证我们的算法,编写、运行程序进行验证。
验证算法
在Python中,我们为了明确我们的步骤可以在编程中做注释,方便我们检查程序的步骤。我们可以使用“#”,“#”后面为注释语句,程序运行时不会被执行。在编写程序时添加注释是个好习惯哦!
新知探究
验证算法
#设置一个具体数字
da=55
#用户输入一个猜测的数字
cai = int(input("猜一个1至100之间的数字"))
#当用户答错时,让其循环尝试
使用“while”语句进行循环
#当cai≠da时,加入判断语句进行判断
使用“if”、“else”语句进行判断,双分支
#当用户答对时,输出“对了”,游戏结束
print("对了")
根据算法流程图进行程序编写分析
新知探究
根据分析过程编写程序
抽象与建模
新知探究
运行猜数游戏,验证程序
验证算法
在Python中,使用input("")实现数据的输入,""中间的内容是提示语。
使用int()将其转化为整型数据,例如 cai=int(input("猜一个1至100之间的数字"))。
双分支条件语句:在Python中,用“if...else...”来构造双分支条件语句,当满足判断条件时执行if分支下的代码,否则执行else分支下的代码。
Python编程语句解读
这节课我们在编程时,用到input("")、int()和“if...else...”语句
验证算法
新知探究
验证算法
新知探究
练习活动:请同学们试一试通过修改“猜数字”游戏的目标数玩一玩,看看谁先猜到正确的数。
PART 4
完善算法
新知探究
完善算法
完善算法,加入统计数字
在我们玩“猜数字”游戏时候发现,需要我们自己去统计自己猜了几次猜到正确答案,现在我们通过完善算法,把统计次数的任务交给程序来完成。
我猜了12次猜到正确数字
我猜了10次猜到正确数字,我赢了
新知探究
完善算法
完善算法流程图
输入一次数字,记录一次
再次输入数字,原次数加一次
新知探究
完善算法
根据完善后的算法流程图,调整程序、运行程序
完善后的程序代码
运行完善后的程序
新知探究
完善算法
“二分查找法”,快速缩小范围,更容易找到目标数
在猜数字游戏中,可以先猜1~100中间的数50,那么根据出题者的大小提示可以排除一半的数!再在剩下的范围内继续猜中间值,不断缩小猜的范围,不超过7次就能猜出这个数字了。
目标值55:猜50——猜75——猜62——猜56——猜53——猜54——猜55正确
目标值28:猜50——猜25——猜37——猜31——猜28正确
目标值66:猜50——猜75——猜62——猜68——猜65——猜66正确
PART 5
课堂任务
课堂任务
这节课我们通过对“猜数字”游戏算法的验证,学习了程序设计的常用语句input("")、int()和“if...else...”,然后又对程序进行了完善,最后还学习了“二分查找法”,通过缩小范围来快速猜数字。
练习任务:请同学们继续修改完善后的猜数字算法,实现以下功能:如果用户的猜数次数超过7次,提示“挑战失败”。
谢谢
下节课见!
Thanks!
浙教版
$