高一年级信息科技2020空中课堂第二单元
第1课时 分支结构
思考与讨论视频
(建议在WIFI环境下观看)
知识点梳理
本课是算法与程序设计的第二单元《分支结构》第1课时的内容,主要内容包括:什么是分支结构?如何实现分支结构?如何用分支结构解决实际问题?
一、什么是分支结构?
生活中有许多实例包含算法的分支结构的算法思想,选择穿着不同样式的衣服,根据垃圾的不同类型将垃圾正确投放到不同的垃圾筒中,便携式红外测温仪表能根据不同的温度值判定人体体温的类型,邮寄快递过程中的计费问题……我们还可以列举很多与今天要学习的分支结构相关联的算法实例。
那么什么是分支结构呢?它是一种根据给定的条件,选择执行不同的步骤的算法结构,如下图1所示,对给定的条件进行判断,若条件成立则执行步骤1,若条件不成立则执行步骤2。分支结构实现了算法根据条件选择某一路分支来执行的流程,又称为选择结构。
图1-分支结构算法执行流程图
在“输入一个整数,判断其奇偶性,若它是偶数,则输出“是偶数”,否则输出‘是奇数’”的算法实例中,我们可以设定的条件为“x是偶数”(如下图2所示),对此条件进行判断,如果符合条件则输出“是偶数”,否则输出“是奇数”,这样的算法结构能根据条件选择其中的一种情况来执行,实现了判断整数x奇偶性的算法。
图2-判断整数x奇偶性的算法流程图
分支结构有双分支结构与单分支结构两种基本形式,如在算法“输入一个整数a求它的绝对值”的算法设计中就有如下图3,图4所示两种做法:第一种对条件a<0进行判断,条件成立则a=-a,否则a=a,第二种满足a<0的时候a=-a,而当不满足此条件时,算法可以不执行具体的步骤而进入到下一步,第一种算法流程为双分支结构,第二种为单分支结构。
图3-求a的绝对值,双分支结构
图4-求a的绝对值单分支
二、如何实现分支结构?
那么如何实现分支结构呢,在VB程序设计语言中有规定的分支结构语句,if语句,分支结构有双分支与单分支两种基本形式,if语句相应的也有单分支与双分支语句两种格式。
图5-分支结构两种形式
双分支语句格式
If 条件 Then
语句组 1
Else
语句组 2
End If
单分支语句格式
If 条件 Then
语句组
End If
如在实现“输入一个整数,判断其奇偶性,若它是偶数,则输出“是偶数”,否则输出‘是奇数’”的算法实例中的程序代码如下:
双分支结构程序代码:
Private Sub Command1_Click()
Dim x As Long
x = Val(InputBox("请输入一个整数x"))
If x mod 2 =0 Then
Print "是偶数"
Else
Print "是奇数"
End If
End Sub
单分支结构程序代码:
Private Sub Command1_Click()
Dim a As Long
a = Val(InputBox("请输入一个整数a"))
If a < 0 Then
a = -a
End If
Print a
End Sub
三、如何用分支结构解决实际问题?
有如下问题:某文具店开业促销,同一商品买10件及以上则总价打9折,请你设计一个算法,输入购买单价和数量,输出应付款。
为解决此问题,用计算机解决实际问题的一般步骤来解决此问题:
1.分析问题,明确输入什么数据,如何处理,输出什么数据。
输入:单价p,数量 n
处理:
输出:s
2.设计算法,利用算法的基本结构设计算法,并用流程图描述此算法,如下图6所示。
图6-购买文具算法流程图
3.编写程序,在VB程序设计中新建工程,进行基本界面设计如下图7所示,并设计如下代码:
图7-购买文具程序界面设计
Private Sub Command1_Click()
Dim p As Single,n As Integer,s As Single
p = Val(InputBox("请输入单价p"))
n = Val(InputBox("请输入数量n"))
If n < 10 Then
s = p * n
Else
s = p * n * 0.9
End If
Print s
End Sub
4.调试运行,在代码编写的过程中会出现一些错误,典型的错误如下图8所示,出现错误后,我们要认真分析,耐心进行代码的调试与修改,经数据的验证后保存工程。
图8-分支结构,if语句典型错误
通过以上4个步骤实现用分支结构解决实际问题的一般过程。