第一章122 条件语句.docx
- 文档编号:9669513
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:22
- 大小:104.20KB
第一章122 条件语句.docx
《第一章122 条件语句.docx》由会员分享,可在线阅读,更多相关《第一章122 条件语句.docx(22页珍藏版)》请在冰豆网上搜索。
第一章122条件语句
1.2.2 条件语句
学习目标
1.理解条件语句的格式及功能;2掌握条件结构程序框图与程序语言的相互转换;3.进一步体会算法的基本思想.
知识点一 条件语句
思考1 对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,使用输入、输出和赋值语句还行吗?
需要用怎样的语句?
答案 不行,要用与条件结构相适应的条件语句.
思考2 一般在什么条件下才需要用到条件语句?
使用条件语句的关键是什么?
答案 一般在分类处理问题时需要用条件语句;使用条件语句的关键是明确分类的标准和方法.
梳理 条件语句的格式、功能及与条件结构的对应关系
格式一
格式二
条件语句
IF 条件 THEN
语句体
END IF
IF 条件 THEN
语句体1
ELSE
语句体2
ENDIF
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行ENDIF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
对应条件结构框图
有时候条件语句中还套有条件语句形成条件语句的嵌套.编写嵌套的条件语句时,要注意IF—THEN—ELSE—ENDIF的配对,识读程序时,可以用文字的缩进来表示嵌套的层次,以帮助阅读和理解.
知识点二 常用的内置函数和符号
就像制造业的工人不必连扳手也自己造一样,QBasic也配备了一些可以直接用的工具,具体如下表所示.
符号
功能
举例
AND
逻辑联结词“且”
x>0ANDx<1 相当于0 SQR(x) 求x的算术平方根 SQR(4) 相当于 aMODb a除以b的余数 4MOD3的值为1 a\b 带余除法中a除以b的商 8\2的值为4 类型一 条件语句 命题角度1 IF—THEN—ENDIF语句及应用 例1 下列程序运行后的结果是( ) a=2 b=3 IF a<b THEN t=a a=b b=t END IF PRINT“a=”;a,“b=”;b END A.a=2,b=3B.a=3,b=2 C.a=2,b=2D.a=3,b=3 答案 B 解析 计算机执行本条件语句时,先对条件进行判断.因为2<3成立,所以把2赋给t,把3赋给a,再把2赋给b,并且最终输出的结果是a=3,b=2.故选B. 反思与感悟 (1)“条件”表示判断的条件,“语句体”表示满足条件时执行的操作内容;条件不满足时,结束条件语句,“ENDIF”表示条件语句的结束.条件语句必须以IF开始,以ENDIF结束,一个IF必须和一个ENDIF对应. (2)计算机在执行这种形式的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行ENDIF之后的语句. 跟踪训练1 编写程序,使得任意输入2个整数按从大到小的顺序输出. 解 算法: 第一步,输入2个整数a,b. 第二步,若a 第三步,输出a,b. 第四步,结束. 程序: INPUT “a,b=”;a,b IF a x=a a=b b=x ENDIF PRINT “a,b=”;a,b END 命题角度2 IF—THEN—ELSE—ENDIF语句及应用 例2 已知y= 编写一个程序, 输入x的值,得到相应的函数值,并画出程序框图. 解 程序: INPUT “x=”;x IFx<0 THEN y=2*x^2-5 ELSE y=x-1 ENDIF PRINT y END 程序框图如图. 反思与感悟 “条件”表示判断的条件,“语句体1”表示满足条件时执行的操作内容,“语句体2”表示不满足条件时执行的操作内容,“ENDIF”表示条件语句的结束. 计算机在执行时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后面的语句体1;如果条件不符合,就执行ELSE后面的语句体2,然后结束这一条件语句.“条件”处可以是复合条件.在“语句体”处可以有多个语句,执行时按从上到下的顺序执行. 跟踪训练2 求过两点P1(x1,y1),P2(x2,y2)的直线斜率,写出其算法程序,并画出相应的程序框图. 解 程序: INPUT “x1,y1=”;x1,y1 INPUT “x2,y2=”;x2,y2 IF x1=x2 THEN PRINT “斜率不存在” ELSE k=(y2-y1)/(x2-x1) PRINT k ENDIF END 程序框图如图. 类型二 条件语句的嵌套 例3 已知分段函数y= 编写程序,输入自变量x的值,输出相应的函数值,并画出程序框图. 解 程序及程序框图如下. INPUT x IF x<0 THEN y=-2*x+1 ELSE IFx=0THEN y=0 ELSE y=2*x+1 ENDIF PRINT y END 反思与感悟 在一些复杂的算法中,有时需要按要求进行判断后继续按照另一个要求进行判断,这时可以再利用一个条件语句进行判断,这就形成了条件语句的嵌套. 条件结构嵌套的一般格式如下: 相应的条件语句如下: IF 条件1 THEN IF 条件2 THEN 语句体1 ELSE 语句体2 ENDIF ELSE 语句体3 ENDIF 跟踪训练3 执行下面的程序,若输入的t的值为8,则输出y的值为( ) INPUT t IFt<5 THEN y=t*t+1 ELSE IFt<8 THEN y=2*t-1 ELSE y=SQR(8*t)+1 ENDIF PRINTy END A.7B.8C.9D.15 答案 C 解析 由题意知该程序的功能是计算分段函数 y= 的值,因为t=8,所以代入该函数解析式,得到y=9,故选C. 类型三 条件语句的实际应用 例4 某地电信部门规定: 拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.22元;如果通话时间超过3分钟,则超过部分按每分钟0.1元收费,不足1分钟按1分钟计算.设通话时间为t(单位: 分钟),通话费用为y(单位: 元),设计一个计算通话费用的程序. 解 定义y=[x]为正实数x的整数部分,则通话费用y与通话时间t的关系式为 y= 程序: INPUT “请输入通话时间(分钟): ”;t IF t<=3 THEN y=0.22 ELSE IF INT(t)=t THEN y=0.22+0.1*(t-3) ELSE y=0.22+0.1*(INT(t-3)+1) ENDIF ENDIF PRINT“通话费用(元): ”;y END 反思与感悟 算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用到条件语句. 跟踪训练4 在音乐唱片超市里,每张唱片售价25元,顾客如果购买5张以上(含5张),则按照9折收费;顾客如果购买10张以上(含10张),则按8.5折收费.请设计一个算法,并写出程序,要求输入唱片的张数,输出应收款的金额. 解 算法步骤如下: 第一步,输入x; 第二步,若x<5,则y=25x;否则,执行第三步; 第三步,若x<10,则y=22.5x;否则y=21.25x; 第四步,输出y. 程序框图如图所示. 根据程序框图写出程序如下. INPUT x IF x<5 THEN y=25*x ELSE IFx<10THEN y=22.5*x ELSE y=21.25*x ENDIF ENDIF PRINTy END 1.下列关于条件语句的说法正确的是( ) A.条件语句中必须有ELSE和ENDIF B.条件语句中可以没有ENDIF C.条件语句中可以没有ELSE,但是必须有ENDIF D.条件语句中可以没有ENDIF,但是必须有ELSE 答案 C 解析 条件语句主要有两种形式的格式,分别是IF-THEN格式和IF-THEN-ELSE格式,但是不管是这两种格式的哪一种,IF与ENDIF必须是同时出现. 所以条件语句中可以没有ELSE,但是必须有ENDIF,故选C. 2.下面程序运行后输出的结果是3,则输入的x值一定是( ) INPUT x IF x>0 THEN y=x ELSE y=-x ENDIF PRINT y END A.3B.-3 C.3或-3D.0 答案 C 解析 该程序语句是求函数y=|x|的函数值,∵y=3, ∴x=±3. 3.当输入a=3时,下面的程序输出的结果是________. INPUT a IF a<10 THEN y=2*a ELSE y=a*a ENDIF PRINT y END 答案 6 解析 依题意,程序功能为求函数y= 的函数值.当a=3时,y=2×3=6. 4.某程序如下: INPUT x IF x>=1 THEN y=x+1 ELSE y=3-2*x ENDIF PRINT y END 当执行此程序时,没有执行语句y=x+1,则输入的x值的取值范围为________. 答案 (-∞,1) 解析 由题意知,不执行语句y=x+1,说明输入x的值不满足条件x≥1,故x<1. 5.编写程序,使得任意输入2个整数,如果不等,则交换两数的次序输出;如果两数相等,则输出“相等,请重新输入”. 解 程序如下: INPUT “a,b=”;a,b IF a=b THEN PRINT “相等,请重新输入” ELSE x=a a=b b=x PRINT “a,b=”;a,b ENDIF END 条件语句是一个语句,IF,THEN,ELSE,ENDIF都是语句的一部分. 条件语句必须是以IF开始,以ENDIF结束,一个IF必须与一个ENDIF相对应. 如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就是由双支变为单支. 为了程序的可读性,一般IF、ELSE与ENDIF顶格书写,其他的语句体前面则空两格. 40分钟课时作业 一、选择题 1.条件语句处理算法中的哪个基本逻辑结构( ) A.顺序结构B.条件结构 C.循环结构D.以上都不对 答案 B 解析 条件语句是处理条件结构的算法语句. 2.若运行如下程序,最后输出y的值为-20,那么输入的t值为( ) INPUT “t=”;t IF t<5 THEN y=2*t-8 ELSE y=8*t-t^2 ENDIF PRINTy END A.10或-6B.10或-2 C.-6D.10或-2或-6 答案 A 解析 当t<5时,由2t-8=-20,得t=-6;当t≥5时,8t-t2=-20,得t=10. 3.如图所示的程序中,当输入的a,b的值分别为2,3时,最后输出的m的值为( ) INPUT a,b IF a>b THEN m=a ELSE m=b ENDIF PRINT m END A.2B.3C.4D.1 答案 B 解析 因为2>3不成立,所以程序执行ELSE后面的m=b,因为b=3,所以m=3,故选B. 4.运行下列程序,当输入x=-2时,输出结果是( ) INPUT “x=”;x IF x>0 THEN y=3*SQR(x) ELSE IFx=0THEN y=1 ELSE y=-2*x^2+4*x ENDIF ENDIF PRINTy END A.16B.-16 C.2 D.8 答案 B 解析 该程序是求分段函数y= 在x=-2处的函数值,∴y=-16. 5.根据算法语句,当输入x的值为60时,输出y的值为( ) INPUT x IF x<=50 THEN y=0.5*x ELSE y=25+0.6*(x-50) ENDIF PRINTy END A.25B.30C.31D.61 答案 C 解析 由题意得,y= ∴当x=60时,y=25+0.6×(60-50)=31. ∴输出y的值为31. 6.阅读下面程序: INPUT “a=”;a IF a>5 THEN b=2*a ELSE b=a*a+1 ENDIF PRINTy END 如果输入a=5,则该程序运行结果为( ) A.1B.10C.25D.26 答案 D 解析 因为5不大于5,执行ELSE后的语句,b=5×5+1=26,然后输出b的值. 7.当x=5,y=-20时,下面程序运行后输出的结果为( ) INPUT “x=,y=”;x,y IF x<0 THEN x=y-3 ELSE y=y+3 ENDIF PRINT x-y,y-x END A.22,-22B.22,22 C.-22,22D.-22,-22 答案 A 解析 程序具体运行如下: (x,y)→(5,-20)→(5,-17),∴x-y=22,y-x=-22. 二、填空题 8.下面是一个计算函数y=f(x)的值的程序,若输出的y值为4,则输入的x值是________. INPUT x IF x<0 THEN y=(x+2)^2 ELSE IFx=0 THEN y=4, ELSE y=(x-2)^2 ENDIF ENDIF, PRINT y END 答案 -4或0或4 解析 由题意知该程序的作用是计算分段函数y= 的值. 当x<0时,若y=4,则(x+2)2=4,得x=-4; 当x>0时,若y=4,则(x-2)2=4,得x=4; 当x=0时,y=4,正好输出y=4. 故满足条件的x值为-4,0,4. 9.若下面程序执行的结果是5,则输入的x值是______________________________. INPUT x IF x>=0 THEN y=x ELSE y=-x ENDIF PRINT y END 答案 5或-5 解析 由程序语句知,该程序的功能是输入一个x,输出函数y= 的值,故输出5时,应输入5或-5. 10.下面给出的是一个算法的程序.如果输出的y的值是20,则输入的x的值是________. INPUTx IFx<=5THEN y=10*x ELSE y=2.5*x+5 ENDIF PRINTy END 答案 2或6 解析 当x≤5时,10x=20,即x=2,满足x≤5; 当x>5时,2.5x+5=20,解得x=6,满足x>5. 故输入的值为2或6. 11.下列程序语句是求函数y=|x-4|+1的函数值,则①处为________. INPUT “x=”;x IF x>=4 THEN y=x-3 ELSE ① ENDIF PRINT y END 答案 y=5-x 解析 ∵y=|x-4|+1= 故①处填y=5-x. 12.写出下列程序的运行结果. (1) INPUT “a=”;a IF a<0 THEN PRINT “nosolution” ELSE t=SQR(a) PRINT t ENDIF END 输入a=9时,输出结果为________. (2) INPUT “x=”;x IF x<10 THEN p=x*0.35 ELSE p=10*0.35+(x-10)*0.7 ENDIF PRINTp END 输入x=6,则p=________;输入x=20,则p=________. 答案 (1)3 (2)2.1 10.5 解析 (1)a=9不满足a<0,故执行“t=SQR(a)”, ∴t=3. (2)x=6满足x<10, ∴p=6×0.35=2.1; x=20不满足x<10, ∴p=10×0.35+(20-10)×0.7=10.5. 三、解答题 13.儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m但不超过1.4m,可买半票;若超过1.4m,应买全票.试写出一个购票算法程序. 解 程序如图: INPUT “身高h=”;h IF h<=1.1 THEN PRINT “免费乘车” ELSE IF h<=1.4 THEN PRINT “半票乘车” ELSE PRINT “全票乘车” END IF END IF END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 122 条件语句 条件 语句