内容正文:
单元学习评价(编程计算)
1
单元回顾,知识梳理
2
单元回顾,知识梳理(算法的三种基本结构)
顺序结构
循环结构
分支结构
语句体1
语句体2
从上至下,依次执行
条件判断,选择执行
条件
否
是
语句体1
语句体2
条件
是
否
语句体
条件满足,重复执行
3
单元回顾,知识梳理(计算机解决问题的过程)
1 分析问题
3 编写程序
2 设计算法
4 调试运行
4
小试牛刀,流程完善(流程符号“归位”)
程序框 名称 功能
起止框
输入/输出框
处理框
判断框
流程线
连接符
请对应《学习任务单》课前任务2,帮助符号“归位”
算法的开始和结束
输入和输出数据
操作的内容
判断的条件
算法运行的方向
接续流程图
5
小试牛刀,流程完善
生活中处处蕴含着算法的基本结构思想,请同学们:
辨析以下生活情境包含哪一种算法结构;
尝试完善对应的流程图。
6
小试牛刀,流程完善(任务一)
顺序结构
循环结构
分支结构
智能百叶窗可以根据室外光照强度自动调节叶片角度。控制程序根据采集数据(0~255)分为三级控制。数据为0~80时,室外光照弱,叶片角度调为0°;数据为81~175,叶片角度调整为45°;数据为176~255时,光照过强,叶片角度调整为90°,百叶窗呈关闭状态。
智能百叶窗可以根据室外光照强度自动调节叶片角度。控制程序根据采集数据(0~255)分为三级控制。数据为0~80时,室外光照弱,叶片角度调为0°;数据为81~175,叶片角度调整为45°;数据为176~255时,光照过强,叶片角度调整为90°,百叶窗呈关闭状态。
判断条件
分支结构
【条件判断,选择执行】
7
分支结构
小试牛刀,流程完善(任务一)
多分支结构
双分支结构
单分支结构
输入光照强度
0<=光照强度<=80
叶片角度
调为0°
81<=光照强度<=175
叶片角度
调为45°
叶片角度
调为90°
请完善流程图
多分支结构
双分支结构
单分支结构
8
顺序结构
循环结构
分支结构
十进制正整数转换为二进制的方法是“除2取余,逆序排列”。即用十进制数整除2,得到商和余数,再用商整除2,以此类推,直到商等于0为止。然后把先得到的余数作为二进制数的低位,后得到的余数作为二进制数的高位,依次排列起来。
小试牛刀,流程完善(任务二)
9
举例:(11)10=( ?)2
11
2
5
2
2
2
1
2
0
商
商
商
商
余数
余数
余数
余数
1
1
0
1
二进制数
1
11
011
1011
十进制数
举例:(11)10=( 1011)2
余数
小试牛刀,流程完善(任务二)
10
顺序结构
循环结构
分支结构
十进制正整数转换为二进制的方法是“除2取余,逆序排列”。即用十进制数整除2,得到商和余数,再用商整除2,以此类推,直到商等于0为止。然后把先得到的余数作为二进制数的低位,后得到的余数作为二进制数的高位,依次排列起来。
循环结构
小试牛刀,流程完善(任务二)
【条件满足,重复执行】
11
循环结构
十进制数//2
十进制数%2
商>0
余数+二进制数
请完善流程图
输入十进制数
二进制数=余数
余数=商%2
商=商//2
输出二进制数
12
顺序结构
循环结构
分支结构
“嫦娥四号”探测器经历了点火准备、主减速段、快速调整段、接近段、悬停段、避障段以及缓速下降段等动力下降过程,实现从距离月面15千米高度安全下降至月球表面的软着陆。
“嫦娥四号”探测器经历了点火准备、主减速段、快速调整段、接近段、悬停段、避障段以及缓速下降段等动力下降过程,实现从距离月面15千米高度安全下降至月球表面的软着陆。
小试牛刀,流程完善(任务三)
【从上至下,依次执行】
13
顺序结构
小试牛刀,流程完善(任务三)
请完善流程图
14
项目学习,游戏设计(分析问题)
猜数字
请分析游戏功能:
2.从键盘输入猜测的数字;
3.重复猜数,直到猜对为止;
4.输出“你猜对了!”及猜测的次数。
请思考:
如何判断猜对还是猜错呢?
15
项目学习,游戏设计(分析问题)
请分析游戏功能:
1.给定一个正确数;
2.从键盘输入猜测的数字;
3.重复猜数,直到猜对为止;
4.输出“你猜对了!”及猜测的次数。
请思考:
这样功能的游戏会存在什么问题呢?
老师,我知道!我们设计游戏的时候可以指定一个数作为正确数,例如,指定正确数为4,每一次判断猜测数是否等于4。
16
项目学习,游戏设计(分析问题)
请分析游戏功能:
1.给定一个正确数;
2.从键盘输入猜测的数字;
3.重复猜数,直到猜对为止;
4.输出“你猜对了!”及猜测的次数。
存在问题:
1.猜数不具有随机性;
2.不适合反复体验。
老师,如果我们已经知道或者在玩游戏的过程中试出了正确的数字,就相当于知道答案,那这个游戏就不好玩了!
17
项目学习,游戏设计(分析问题)
猜数字
请改进游戏功能:
1.随机产生一个[1,5]的整数;
2.从键盘输入猜测的数字;
3.重复猜数,直到猜对为止;
4.输出“你猜对了!”及猜测的次数。
循环结构:
for循环(已知循环次数)
while循环(已知循环条件)
18
游戏功能:
1.随机产生一个[1,5]的整数;
2.从键盘输入猜测的数字;
3.重复猜数,直到猜对为止;
4.输出“你猜对了!”及猜测的次数。
项目学习,游戏设计(设计算法)
输入猜测数字
随机数 != 猜测数
?
猜测次数+1
请完善流程图
随机整数[1,5]
输入猜测的数字
输出“你猜对了!”及猜测次数
19
游戏功能:
1.随机产生一个[1,5]的整数;
2.从键盘输入猜测的数字;
3.重复猜数,直到猜对为止;
4.输出“你猜对了!”及猜测的次数。
项目学习,游戏设计(设计算法)
输入猜测数字
随机数 != 猜测数
1
猜测次数+1
请完善流程图
输入猜测数字
20
项目学习,游戏设计(编写程序、调试运行)
#导入随机模块
import __①__
#随机生成一个[1,5]的整数a
a=random.randint(1,5)
#从键盘输入猜测的数字b
b=int(__②__("请输入猜测的数字(1~5):"))
#设置count变量统计猜测次数
count=__③__
while __④__: #循环的条件
b=int(input("请输入猜测的数字(1~5):"))
__⑤__ #猜测次数加1
print("你猜对了!共猜了",__⑥__,"次")
输入猜测数字
随机数 != 猜测数
1
猜测次数+1
21
项目学习,游戏设计(编写程序、调试运行)
要点梳理
随机模块:random
输入语句:input()
计数:x=x+1
输出语句:print()
22
项目学习,游戏设计(编写程序、调试运行)
#导入随机模块
import random
#随机生成一个[1,5]的整数a
a=random.randint(1,5)
#从键盘输入猜测的数字b
b=int(input("请输入猜测的数字(1~5):"))
#设置count变量统计猜测次数
count=1
while a != b: #循环的条件
b=int(input("请输入猜测的数字(1~5):"))
count=count+1 #猜测次数加1
print("你猜对了!共猜了",count,"次")
23
总结评价
内容梳理
24
总结评价
请进行单元知识结构的查漏补缺。
25
总结评价
请进行自我评价并完成作业
26
Lavf58.12.100
$$