(共20张PPT)
上节回顾
上节课我们学习了算法的定义、算法的特征、算法的三要素、算法的描述。
也在上节课中用自然语言描述了很多个算法,其实再复杂的算法也是由一些基本结构组成的,本节课我们就来学习一下这些基本结构。
2.2算法的控制结构
算法的基本结构
顺序结构
分支结构
循环结构
在算法的描述方式中,最能体现结构性的描述方式是哪一种?
流程图
流程图
小试牛刀
以下能具有判断功能的是( )
A B C D
D
顺序结构(P49)
指的是算法中各个步骤按照先后顺序依次执行的结构。
顺序结构的特点:
①每个步骤按照算法中出现的顺序依次执行。
②每个步骤一定会被执行一次,而且只执行一次。
操作1
操作2
操作3
练习1
请尝试用设计一个能自动计算体质指数(BMI)并输出的算法。
注:体质指数 (Body Mass Index,简称BMI),是国际最常用来量度体重与身高比例的工具。它利用身高和体重之间的比例去衡量一个人是否过瘦或过胖。
体质指数(BMI)=体重(kg)/身高 (m)^2
算法描述
①输入身高s
②输入体重t
③计算BMI的值
④输出BMI的值
输入身高s(m)
输入体重t(kg)
bmi = t/s^2
输出bmi
开始
结束
分支(选择)结构(P49~50)
指先进行条件判断,再根据判断结果分别执行
不同处理的控制结构。
分支结构的特点:
①首先进行条件判断,根据条件满足与否来决定执行哪个分支。
②在一个分支结构中,必定有一个分支被执行,其他的分支则被忽略。
条件
操作1
操作2
Y
N
练习2
在上一个练习中,大家已经计算出了体质指数,对于数字,人们更关心自己是否健康,所以我们可以给上一个算法增加一个分支结构,使得输出结果直接为健康状态。
注:体质指数的范围
< 18.5 过轻
18.5-23.9 正常
24-27.9 超重
>28 肥胖
算法描述
①输入身高s
②输入体重t
③计算BMI的值
④根据BMI判断健康状态r
⑤输出健康状态
bmi = t/s^2
r=过轻
r=正常
r=超重
r=肥胖
输出r
bmi<18.5
Y
N
bmi<=23.9
Y
N
bmi<=27.9
Y
N
循环结构
指在条件控制下,某些操作步骤需要重复执行(循环)的控制结构。
循环结构的特点:
①能够重复的执行某些语句
②需要及时终止,否则可能会进入死循环
条件
循环体
操作2
Y
N
超市收银系统
请大家阅读书本P51~52页,回答以下问题
在超市收银系统中需要重复执行的步骤是?
如果这不部分不重复执行可能会产生什么影响?
工作量增加、零钱找不开、优惠券难凑满减等。
练习3 猜数游戏
一款猜数游戏的逻辑是这样的:
游戏开始生成一个[1,100]随机数,玩家有5次机会进行猜数,每次猜测若不正确都会提示偏大还是偏小,如果5次以内猜中了,则输出”胜利”,否则输出”失败”。
你能完成这个游戏的算法设计吗?
算法分析
从简单入手,先完成1次猜数的算法流程
①生成随机数n
②输入猜测的数字m
③进行猜数判断(略)
生成随机数n
输入m
m>n
Y
N
输出 “偏大”
输出 “偏小”
mY
N
输出 “胜利”
算法分析
思考,这个猜数游戏是需要重复执行的步骤吗?
需要最多需要重复几次?
若猜数次数为K,初值为1那么
每猜完一次后,K的值如何变化?
k<=5
Y
N
k=1
输出 “失败”
k = k+1
猜数
合二为一
生成随机数n
k=1
输出 “失败”
k<=5
Y
N
k = k+1
输入m
m>n
Y
N
输出 “偏大”
输出 “偏小”
mY
N
输出 “胜利”
小提示:当前算法中,当玩家胜利是,还会继续猜数,我们应当及时让他终止,因为他已经完成了游戏。
总结
顺序结构、分支结构、循环结构的定义以及特点
利用流程图来表示算法
作业
53页课后思考题
作业本2.2内容
谢 谢