1、第二章 算法初步 3 几种基本语句 31 条件语句 学 习 目 标核 心 素 养 1.熟练掌握条件语句的格式,明确条件语句的功能(重点)2.能够将具体问题的算法框图转化为算法语句.3.会利用条件语句解决实际生活中的相关问题(难点)1.通过掌握条件语句的格式,明确条件语句的功能,培养数学抽象素养.2.通过能将具体问题的算法框图转化为算法语句,提升逻辑推理素养.自 主 预 习 探 新 知 1条件语句的定义在算法中,选择结构是一种基本结构,是表达选择结构最常用的语句条件语句的格式有两种:IfThen 语句和 IfThenElse 语句条件语句2条件语句结构及形式形如下面的框图描述的算法都可以用 If
2、 语句进行表示其一般形式是:If 语句 1Else语句 2End If条件 Then 3复合 If 语句形如的框图描述的算法都可以用复合 If 语句来表达复合 If 语句的一般形式是:If 语句 1Else If 语句 2 Else语句 3 End IfEnd If条件1 Then条件2 Then思考:一般在什么条件下才需要用到条件语句?使用条件语句的关键是什么?提示 一般在分类处理问题时需要用到条件语句;使用条件语句的关键是明确分类的对象和标准1以下关于条件语句的说法,正确的是()A条件语句的执行是按照程序中的先后顺序执行的B条件语句实现了算法框图中的选择结构C条件语句不能嵌套,即条件语句中
3、不能再使用条件语句D条件语句一定要完整,即 IfThenElseEnd If 中每一部分都不能少B 条件语句的执行是有选择性的,故 A 错条件语句中可以有嵌套,故 C 错在条件语句中根据需要,Else后的内容可以省略2当输入 x3.2 时,下面的程序输出的结果为()输入 x;If x0 ThenxxEnd If输出 x.A3.2 B3.2 C3 D3B 由程序知 yx,x0,x,x0,故当输入 x3.2 时 y3.2.3阅读下面程序:若输入 x5,则输出结果 x 为()输入 x;If x0 ThenxxEnd If输出 x.A5 B5 C0 D不确定B 当 x0 时,不符合条件,执行 End
4、If 之后的语句,直接输出 x 的值,即为 5.4下面程序的运行结果是_x5If x0 Thenyx3Else yx3End If输出 y8 50,执行 Else 后的语句,y538.合 作 探 究 释 疑 难 条件语句及其简单应用【例 1】已知函数 yx21,x0,2x5,x0,对任意的 x,求函数值,请画出算法框图并写出程序语句解 算法框图为 程序语句为 输入 x;If x0 Then yx21 Else y2If语句的适用范围及注意事项1算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用条件语句进行描述 2若程序只对条件满足时作处理,不用
5、处理条件不满足时的情况,则可以省略Else分支 3条件语句是一个整体,If,Then,Else,End If都是语句的一部分,且“If”和“End If”必须成对出现跟进训练1(1)若输入t4,则下面算法语句执行后输出的结果为()A.4B.0.2C0.1 D0.3(2)已知下列程序:输入 x;If x0 Then yx2Else yx2End If输出 y.若输入 x2,则输出 y_.(1)B(2)4 由给出的算法语句知其功能是求输入任意的 t 值对应的函数 c0.23.84t,t4,0.20.1t3,t4的值,则当 t4 时,c0.23.8(44)0.2.(2)由程序可知,其功能是输入 x
6、的值,求函数 yx2,x0,x2,x0的函数值 因为 x20,所以 y(2)24.故输出 y4,故填 4.条件语句的实际应用【例 2】某商场开展促销活动,采用购物打折的方法销售商品,规定一次性购物在 100 元以上的,按九五折优惠;200 元以上的,按九折优惠;300 元以上的,按八五折优惠显然,采用哪种优惠是与消费额有关的(1)试建立消费额 x 与实际支付费用 y 之间的函数关系;(2)对上述关系用什么语句来表达?(3)如何表达?解(1)yx,x100,0.95x,100 x200,0.9x,200 x300,0.85x,x300.(2)条件语句,因为不同的变量取值,导致不同的函数关系与之对
7、应(3)输入 x;If x100 Then yx Else If 100 x200 Then y0.95 Else If 200 x300 Then y0.9 Else y0.85End If End If End If 输出 y.编写程序解决实际问题时,通常先建立数学模型,再根据所得数学模型确定算法分析和算法框图,最后再将算法框图转化为程序语句.需要分类讨论的问题,通常用条件语句来解决.跟进训练2某市通信部门规定:拨打市内电话时,如果通话时间不超过3 min,则收取通话费0.2元;如果通话时间超过3 min,则超过部分以0.1元/min收取通话费(t以分钟计,不足1 min按1 min计)问
8、:如何设计一个计算通话费用的算法?请画出框图并用语句描述该算法解 令 c(单位:元)表示通话费用,t(单位:min)表示通话时间,则有 c0.20t3.0.20.1t3t3.依上面分析知,解决这一问题的算法步骤如下:1输入通话时间 t;用语句描述为:输入 t;If t3 And t0 Then c0.2 复合 If 语句探究问题1条件语句必须要有 If,Then,End If 吗?提示:条件语句必须有 If、Then,End If,根据需要,Else 及其后的语句可以省略2一个完整的条件语句中,可以有多个 End If 吗?提示:不可以因为一个完整的条件语句总是以 If 开始,以 End If
9、 结束,故不能有多个 End If.3复合 If 语句中有两个 If 语句,是否可以推广到 3 个,4 个或更多?提示:可以,但要注意书写格式4应用条件语句应注意什么问题?提示:条件语句必须以 If 语句开始,以 End If 语句结束,有几个 If 语句,就必须有几个 End If 语句对应【例 3】给出一个算法:1输入 x;2若 x0,则 yx1;否则执行第 3 步;3若 x0,则 y0;否则 yx;4输出 y.(1)指出该算法的功能;(2)将该算法用算法框图表示出来;(3)用基本语句写出该算法思路探究 解决此问题可先由条件入手分析,再依次画出框图,并用基本语句描述 解(1)该算法的功能是
10、利用给出的 x 的值,求函数 yx1x0的值(2)算法框图如图所示:(3)用基本语句描述为:输入 x;If x0 Then yx1 Else If x0 Then y0 Else yx End If End If 输出 y.1使用复合If语句的注意事项(1)使用范围:判断条件多于一个时;(2)分清层次:编写条件时,要注意If和End If的配对使用及书写的格式2利用复合 If 语句解决问题的步骤(1)构思出解决问题的一个算法(可用自然语言);(2)画出算法框图,形象直观地描述算法;(3)根据框图写算法语句,即逐步把框图中的算法步骤用算法语句表达出来跟进训练3(1)下列关于条件语句的说法正确的是
11、()A每个条件语句中不能没有Else及其后面的语句B在条件语句的嵌套中,可以只有一个End IfC在编写程序中,可以同时使用多个条件语句D在Then和Else后面只能跟一个语句(2)分析下面的用基本语句描述的算法,当输入的 x 值为 2 时,程序的输出结果为_输入 x;If x2 Thenyx4Else If x2 Then y0 Else y5x End IfEnd lf输出 y.(1)C(2)25(1)对于 A 项,条件语句中可以没有 Else 及其后面的语句,故 A 项错;对于 B 项,条件语句中的 If 与 End If 是一一对应的,有多少个 If 时,必须有相同个数的 End If
12、 与之配对,故 B 项错;C 项正确;对于 D 项,条件语句中可以进行嵌套,故 D 项错(2)当 x2 时,yx4;当 x2 时,y0;当 x2 时,y5x,那么当 x2 时,y5225,即输出 25.课 堂 小 结 提 素 养 1两种条件语句的区别与联系If语句复合If语句 区别该条件语句中只有一个语句体,执行一次语句该条件语句中含有两个及以上语句体 联系If语句实质上是复合If语句的简化.两种语句首先都是先对条件进行判断,然后才执行相应的语句体,执行完语句体后程序都交汇于一点完成条件语句.2.使用条件语句应注意的问题(1)条件语句是一个语句,If,Then,Else,End If 都是语句
13、的一部分(2)条件语句必须是以 If 开始,以 End If 结束,一个 If 必须与一个 End If 相对应(3)为了程序的可读性,一般 If、Else、End If 顶格书写,其他的语句体前面空两格.1思考辨析(1)条件语句是首先判定If后的条件,若不满足条件,则跳出If语句 ()(2)If语句中的条件只能是一个不等关系()(3)在算法语句中若有条件语句,End If只能用一次()解析(1).由 If 语句的格式知,当不满足条件时执行 Else 后的语句,而不是跳出 If 语句(2).If 语句中条件可以是两个不等关系,当然也可以是等式(3).If 语句中 If 与 End If 是对应
14、的,有一个 If 开头,就有一个End If 结束 答案(1)(2)(3)2写出下列程序运算的结果输入 x;If x10 ThenP0.35P10若 x6,则 P_;若 x20,则 P_.21 10.5 当 x6 时,P60.352.1,当 x20 时,P100.35100.710.5.3写出下列程序运行的结果输入 a;If a0 Then 输出 aElse 输出“是负数”End If输入4,输出结果为_;输入 9,输出结果为_是负数 3 若输入4,因为40,所以输出的结果为“是负数”;若输入 9,因为 90,所以输出的结果是 9 的算术平方根,即3.4已知函数 yx1,x0,2x25,x0,设计一个算法,写出程序语句,根据输入的 x 的值,输出对应 y 的值解 算法步骤为:1输入 x;2如果 x0,则 yx1;否则,y2x25;3输出 y.程序语句:输入 x;If x0 Then yx1 Else课 时 分 层 作 业 点击右图进入 Thank you for watching!