(共21张PPT)
2.2 算法的控制结构
算法的三种控制结构
顺序结构
分支结构
循环结构
顺序结构
按照顺序从上往下依次执行,每条语句必须且只执行一次。
语句1
语句2
语句3
选择乘车日期和车次
选择或添加乘车人
提交购票订单
网上支付购票款
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出BMI
根据身高和体重,计算BMI
顺序结构的应用
分支结构(选择结构)
根据条件判断选择不同的分支执行:
条件为真时执行Y指向的语句,否则执行N指向的语句。
选择结构中,必有一个分支被执行,其余分支不执行。
N
Y
语句块1
语句块2
条件表达式
Y
N
开始
结束
输入身高、体重
计算BMI=体重/身高2
输出“超重啦”
BMI>24?
输出“正常”
分支结构的应用
根据BMI判断是否超重
分支结构(选择结构)
当表达式为真时,执行语句块;
否则什么都不执行。
单分支结构
当表达式为真时,执行语句块1;
否则(表达式为假)执行语句块2。
双分支结构
N
Y
语句块1
语句块2
条件表达式
语句块
Y
N
条件表达式是否为真?
分支结构的应用
该流程图的功能是什么?
求x,y,z三个数中的最大值
分支结构(选择结构)
特点:条件判断选择不同分支,一次只执行一个分支,其余分支不执行
当<表达式1>条件成立时,执行<语句块1>, 本结构结束。若为假,则判断<表达式2>,依此类推。直到找到一个为真的条件时,才执行相应的语句块,本结构结束。
练一练
1.“若是本店会员,所有商品打8.5折,否则无折扣”,用算法描述这一问题,合适的算法结构是( )
A.选择结构 B.循环结构
C.顺序结构 D.树形结构
A
2.某算法流程图如图所示,当分别输入x的值为1和7时,该算法的输出结果分别为( )
A.-24 19 B.7 19
C.7 21 D.7 24
D
练一练
练一练
3.对输入的二个整数a和b,找出其中的较大者赋给c并输出。解决该问题的算法流程图如图所示,该流程图中虚线框部分的内容可为( )
D
4.某算法如下图所示,对于该算法理解正确的有( )
练一练
A.该算法中包含循环结构和分支结构
B.输入电量a为100时,输出y的值为53
C.输入电量a为200时,输出y的值为110.5
D.判断框中代码“a≥50?”可能会被判断两次
C
循环结构
对某个条件进行判断,当符合条件时,执行Y指向的语句(循环体),然后返回重新判断这个条件,当符合条件时,再次执行循环体。重复上述过程,直到不符合条件,则跳出循环,执行循环体后面的指令。
若循环条件始终满足?
算法无限循环,违背有穷性
N
Y
语句块1
语句块2
条件表达式
循环结构
判断全班45名同学是否超重
Y
N
输出“超重啦”
输入身高、体重
计算BMI=体重/身高2
BMI>24?
输出“正常”
N
n=0
Y
n=n+1
n<45?
练一练
5.某算法的部分流程图如下图所示。执行这部分流程后,“x←x-2”被执行的次数为( )
A.0 B.1 C.2 D.3
C
练一练
6.某算法的部分流程图如图所示。执行这部分流程,依次输入3,4,-1,则输出s的值是( )
A.-2 B.-1
C.0 D.1
B
7.某算法的部分流程图如图所示,执行这部分流程后,下列说法正确的是( )
练一练
A.步骤“x>y?”共执行了3次
B.步骤“x←x-2”共执行了4次
C.输出的x,y值分别为4,6
D.交换“x←x-2”和“y←y+1”的位置会影响执行结果
C
8.程序通常需要三种不同的控制结构,即:顺序结构、分支结构和循环结构,下面说法正确的是( )
A.一个程序只能包含一种结构
B.一个程序最多可以包含两种结构
C.一个程序可以包含以上三种结构中的任意组合
D.一个程序必须包含以上三种结构
练一练
C
分支结构与循环结构的区别
1.分支结构就是判断条件是否成立,并选择某一路径中的指令执行。
2.循环结构就是首先判断条件是否成立,如果不成立,则跳出循环体;如果条件成立,则执行循环体内的指令,然后再次判断条件是否成立,如果条件成立,则再次执行循环体内的指令,直至条件不成立跳出循环体为止。
三种基本结构流程图
1.顺序结构
2.分支结构
3.循环结构
语句1
语句2
语句3
N
Y
语句块1
语句块2
条件表达式
N
Y
语句块1
语句块2
条件表达式