1.2.2 条件语句
学
习
目
标
核
心
素
养
1.理解条件语句结构及其功能.(重点)2.会用条件语句编写程序.(难点)3.条件语句的两种形式.(易混点)
1.通过条件语句的学习,培养逻辑推理素养.2.借助条件语句的编写及应用,培养数学建模素养.
条件语句的格式、功能及与条件结构的对应关系
格式一
格式二
条件语句
IF条件THEN语句体END IF
IF 条件 THEN 语句体1ELSE 语句体2END IF
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END
IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
对应条件结构框图
思考:一般什么问题需要用条件语句?使用条件语句的关键是什么?
[提示] 一般在分类处理问题时用条件语句,使用条件语句的关键是明确分类的标准和方法.
1.条件语句对应的基本逻辑结构是( )
A.顺序结构
B.条件结构
C.循环结构
D.以上都不正确
B [条件语句对应的基本逻辑结构是条件结构.]
2.下列说法中正确的是( )
A.ELSE后面的语句不可以是条件语句
B.两个条件语句可以共用一个END
IF
C.条件语句的叠加中,每个条件语句都是一个独立的整体
D.条件语句的嵌套中,对所有条件都要进行判断
C [ELSE后面是一个语句体,当然可以是条件语句,所以A错.一个IF和一个END
IF对应,不能共用,因此B错.程序在执行条件语句嵌套的过程中可能不对所有的条件都进行判断,只是对一部分条件进行判断,沿着一个分支执行下去,直到结束,故D错.]
3.下面的程序要解决的问题是________.
[答案] 输出x的绝对值
4.当a=3时,下面的程序段输出的结果是________.
6 [当a=3时,满足a<10的条件,故执行y=2×a,即y=6.]
条件语句与条件结构
【例1】 (1)根据下面的程序,填写程序框图.
①________,②________,③________.
(2)根据下面的程序框图,写出程序.
[解] (1)根据条件语句可知该语句为求分段函数y=的函数值,所以三个空中分别填的内容为:①x≥?,②y=2x-5,③y=5-2x.
故填x≥? y=2x-5 y=5-2x
(2)程序如下:
条件语句与条件结构的转化
?1?根据条件结构写条件语句:
①首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF—THEN—ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF—THEN”语句.
②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中?如果有的话?的内容,是ELSE后的语句体2.
③最后应注意所用程序符合书写格式.
?2?如果是由条件语句画条件结构,可相应变化.
1.(1)根据下面的程序框图写出程序语句.
(2)根据下面的程序语句画出程序框图.
[解] (1)程序框图所实现的算法功能是:求任意一个实数a的立方的绝对值.程序如下:
(2)
条件语句的设计
[探究问题]
观察如图所示的内容:
1.以上两种格式的条件语句有什么异同?
[提示] 相同点:都由IF开始,END
IF结束.都对某一条件进行判断后执行相应的语句体.
不同点:(1)中当满足条件时执行语句体,不满足条件时执行END
IF后的语句;(2)中满足条件时执行THEN后的语句,不满足条件时执行ELSE后的语句.
2.如果题目中有两个或两个以上的条件,该怎样设计条件语句?
[提示] 使用叠加式或嵌套式条件语句.
【例2】 已知分段函数y=编写程序,输入自变量x的值,输出相应的函数值,并画出程序框图.
思路点拨:(1)只作一次判断能解决本题吗?
(2)你认为解决本题有哪些不同的方法?
[解] 法一:嵌套式:
程序及程序框图如下.
法二:叠加式:
1.(变条件)已知y=,编写一个程序,输入x的值,得到相应的函数值,并画出程序框图.
[解] 程序框图如图所示:
程序如下:
2.(设问)参照本例的解决方法设计一个程序,输入学生的成绩S,根据该成绩的不同值进行以下输出:若S<60,则输出“不及格”;若60≤S≤90,则输出“及格”;若S>90,则输出“优秀”.
[解] 程序如下:
条件语句的嵌套与叠加
(1)在一些复杂的算法中,有时需要按要求进行判断后继续按照另一个要求进行判断,这时可以再利用一个条件语句进行判断,这就形成了条件语句的嵌套和叠加.
(2)条件语句的嵌套一般格式与相应的程序框图如下:
(3)条件语句的叠加一般格式与相应的程序框图如下:
条件语句的实际应用
【例3】 某市对出租车的计费统一规定:如果行驶不超过2
km,则收费5元(即起步价),若超过2
km,则超出部分每1
km加收1.8元(不足1
km的,按1
km计算).写出计算路费的程序.
思路点拨:设路程为x
km,费用为y元,则y=
这是一个分段函数,可用条件语句设计程序.
[解] 程序框图如下:
程序如下:
用条件语句解决实际问题的步骤
?1?构思出解决问题的一个算法;?可用自然语言?
?2?画出程序框图,形象直观地描述算法;
?3?根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.
2.到某银行办理跨行汇款,银行收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5
000元,按汇款额的1%收取手续费;超过5
000元,一律收取50元手续费,画出描述汇款额为x元,银行收取手续费y元的程序框图,并写出相应的程序.
[解] 由题意,知y=
程序框图如图所示:
程序如下:
1.两种条件语句的区别与联系
(1)区别:IF—THEN—ELSE语句含有两个语句体,满足条件时执行一个语句体,不满足条件时执行另一个语句体;而IF—THEN条件语句,只有一个语句体,是满足条件时执行的语句体.
(2)联系:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体后,程序都交汇于一点完成条件语句;都以IF开始,以END
IF结束.
2.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END
IF都是语句的一部分.
(2)条件语句必须是以IF开始,以END
IF结束,一个IF必须与一个END
IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF、ELSE与END
IF顶格书写,其他的语句体前面则空两格.
1.判断下列结论的正误(正确的打“√”,错误的打“×”)
(1)条件语句的执行是按照程序中的先后顺序执行的.
( )
(2)条件语句实现了程序框图中的条件结构.
( )
(3)条件语句一定要完整,即IF—THEN—ELSE—END IF中每一部分都不能少.
( )
[答案] (1)√ (2)√ (3)×
2.已知条件语句如下:
则下列说法正确的是( )
A.条件成立时,先执行语句体1,再执行语句体2,最后结束条件语句
B.条件不成立时,先执行语句体2,再执行语句体1,最后结束条件语句
C.条件成立时,先执行语句体1,再结束条件语句
D.条件成立时,先执行语句体2,再结束条件语句
C [由条件语句的功能知C正确.]
3.若输入8,则下列程序执行后输出的结果是________.
0.7 [本题是求分段函数
c=
在t=8时的函数值.所以c=0.2+0.1×8-0.1×3=0.7.]
4.编写程序输出两个不相等的实数a,b中的较大数,并画出程序框图.
[解] 程序如下:
程序框图如图所示.
PAGE1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
学
习
目
标
核
心
素
养
1.理解输入语句、输出语句、赋值语句的格式与作用.(重点、易混点)2.能够将程序框图转化为“算法”语句.(难点)
1.通过算法语句的学习,培养数学抽象素养.2.借助程序语句的编写,提升逻辑推理素养.
1.输入、输出语句
(1)输入、输出语句
输入语句、输出语句分别与程序框图中的输入、输出框对应,用来输入和输出信息.
(2)输入、输出语句的格式及功能
名称
格式
功能
输入语句
INPUT
“提示内容”;变量,其中“提示内容”一般是提示用户输入什么样的信息
把程序中新输入的值赋给变量
输出语句
PRINT“提示内容”;表达式
在计算机的屏幕上输出常量、变量的值和系统信息
2.赋值语句
(1)赋值语句和程序框图中表示赋值的处理框对应,用来给变量赋值.
(2)赋值语句的格式及功能
赋值语句
变量=表达式
将表达式所代表的值赋给变量,一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量
思考:赋值号与等号有何区别?
[提示] (1)赋值号与等号意义不同,若把“=”看作等号,则N=N+1不成立,看成赋值号则成立.
(2)赋值号两边的内容不能对调.
(3)虽然赋值语句具有计算与赋值的作用,但不能利用它进行代数式的演算.
1.下列关于赋值语句的说法错误的是( )
A.赋值语句先计算出赋值号右边的表达式的值
B.赋值语句是把左边变量的值赋给赋值号右边的表达式
C.赋值语句是把右边表达式的值赋给赋值号左边的变量
D.赋值语句中的“=”和数学中的“=”不一样
B [赋值语句的作用是把右边表达式的值赋给赋值号左边的变量.]
2.在INPUT语句中,如果同时输入多个变量,变量之间的分隔符是( )
A.逗号
B.分号
C.空格
D.引号
A [在算法语句中,同时输入多个变量,变量之间用逗号隔开.]
3.下列给出的输入、输出语句正确的是( )
①输入语句:INPUT
a,b,c,d,e;②输入语句:INPUT
X=1;③输出语句:PRINT
A=4;④输出语句:PRINT
10,3
2,2/3.
A.①②
B.②③
C.③④
D.①④
D [①④正确,②③中对变量赋值是错误的.]
4.下面一段程序执行后的结果是________.
10 [先把2赋给A,然后把A
2赋给A,即A变为4,再把A+6赋给A,故A为10.]
输入、输出语句
【例1】 (1)下列语句正确的是________(只填序号).
①INPUT 2,3,4
②INPUT x=2
③INPUT x
④INPUT x,y,z
⑤INPUT “a=”;a
⑥INPUT “a=”;5
5
⑦INPUT a,b,c,
(2)当x的值为5时,“PRINT“x=”;x”在屏幕上的输出结果为( )
A.5=5
B.5
C.5=x
D.x=5
(1)③④⑤ (2)D [(1)
序号
正误
理由
①
×
输入语句不能直接输入常量
②
×
输入语句不能输入表达式
③
√
这是最常见的输入方式,一般在某一程序之前,用来输入下面的程序运行所需要的变量值
④
√
这是一个输入多个变量的表达方式,即对三个变量进行赋值,每个变量之间用“,”隔开
⑤
√
程序上机运行后,若输入5,则屏幕显示a=5
⑥
×
输入语句没有运算功能,输入语句要求输入的值只能是一个常数,不能是一个表达式
⑦
×
输入语句末尾不带任何符号
(2)PRINT语句可将用双引号引起来的字符串显示在屏幕上,从而应输出x=5.]
输入、输出语句中的注意点
?1?输入语句没有计算功能,只能输入常量;而输出语句有计算功能,可以输出常量、变量或表达式的值以及字符
?2?“提示内容”和变量之间用分号隔开,若输入?出?多个数,各数之间应用逗号隔开,“提示内容”可以省略.
?3?程序中运算符号要规范,输出语句不能输出一个等式,这是易错点.
1.有以下程序:
程序执行后的结果是( )
A.5 5
B.3 3
C.A=5 B=5
D.A=3 B=3
C [该程序运行过程中A,B的值变化如下:A=3,B=5;A=5,B=5;所以程序执行后的结果是A=5,B=5.]
赋值语句
【例2】 (1)下列赋值语句正确的是( )
A.M=a+1
B.a+1=M
C.M-1=a
D.M-a=1
(2)读如下两个程序,完成下列问题.
程序a:
程序b:
①程序a的运行结果为________.
②若程序a,b运行结果相同,则程序b输入的值为________.
(1)A (2)①6 ②0 [(1)a+1=M中,赋值号的左边是表达式,故B错误;
M-1=a中,赋值号的左边是表达式,故C错误;
M-a=1中,赋值号的左边是表达式,故D错误.
只有A:M=a+1是正确的赋值语句.
(2)赋值语句给变量赋值时,变量的值总是最后一次所赋的值,故程序a中x的值最后为6.要使程序b中y的值为6,即x2+6=6,故x=0.即输入的x的值为0.]
赋值语句的几种常见形式
?1?赋予变量常数值,如a=1.
?2?赋予变量其他变量或表达式的值,如b=a,b=2a+1.
?3?变量自身的值在原值上加常数或变量,如i=i+1,i=i+S.
2.设A=10,B=20,则可以实现A,B的值互换的程序是( )
C [A中程序执行后A=B=10,B中程序执行后A=B=10,C中程序执行后A=20,B=10,D中程序执行后A=B=10.]
程序框图与程序语言的转化
【例3】 已知一个正三棱柱的底面边长为a,高为h,求解这个正三棱柱的表面积和体积的程序框图如图,根据程序框图,写出求这个正三棱柱的表面积和体积的程序.
[解] 程序如下.
编写程序的步骤
?1?根据问题要求构思算法分析.
?2?把算法分析转化为程序框图,即画出程序框图.
?3?把程序框图转化为程序.,要注意转化过程中基本结构与相应语句的对应.熟练后可直接写出程序.
3.根据如图所示的程序框图,写出相应的算法语句.
[解] 程序如下:
1.需输入信息时用INPUT语句,需输出信息时用
PRINT语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
2.赋值语句是一个程序必不可少的重要组成部分,使用赋值语句,一定要注意其格式要求,不能利用赋值语句进行代数式计算等.
1.判断下列结论的正误(正确的打“√”,错误的打“×”)
(1)语句INPUT只能给一个变量赋值.
( )
(2)输出语句可以输出数值计算的结果.
( )
(3)赋值语句中的“=”和数学中的“=”作用一样.
( )
[答案] (1)× (2)√ (3)×
2.赋值语句N=N+1的意义是( )
A.N等于N+1
B.N+1等于N
C.将N的值赋给N+1
D.将N的原值加1再赋给N,即N的值增加1
D [赋值语句N=N+1的意义是:将N的原值加1后再赋给N,即N的值增加1.]
3.下面程序运行后,输出的结果为________.
4 1 [运行程序得,a=1+3=4,b=4-3=1.]
4.把如图的程序框图转化为算法语句.
[解]
PAGE