§1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
学习目标 1.了解输入语句、输出语句和赋值语句的作用.2.理解这些语句与相应逻辑结构的关系,并能转化为算法语句.
知识点一 输入语句
输入语句的格式:INPUT “提示内容”;变量.
输入语句的功能:输入提示内容要求的相应信息或值.即把程序使用者新输入的值赋给变量.
知识点二 输出语句
思考 一个程序如果没有输出语句,影响程序运行吗?你知道运行结果吗?
答案 不影响.程序照常运行,但运行结果就不会告诉你.
梳理 输出语句
(1)格式:PRINT “提示内容”;表达式.
(2)功能:
知识点三 赋值语句
思考 赋值语句中的“=”和平时所用的“=”意义相同吗?
答案 意义不同,赋值语句中的“=”叫赋值号,它表示把右边的表达式所代表的常量、变量或算式赋给左边的变量,如C=Y+Z表示把计算Y+Z所得的值赋给C.
梳理 赋值语句
(1)格式:变量=表达式.
(2)功能:将表达式所代表的值赋给变量.一般先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.
1.输入语句的作用是计算.( × )
2.输出语句的作用是实现算法的输出结果功能.( √ )
3.赋值语句的作用是把赋值号左边的值赋值给右边.( × )
类型一 输入、输出语句的应用
例1 下面语句执行后输出的i=________,j=________.
i=5
j=-2
i=i+j
j=i+j
PRINT i,j
END
考点 输入语句、输出语句
题点 输入语句、输出语句的应用
答案 3 1
解析 第一句把5赋给i,第二句把-2赋给j,第三句把5+(-2)的值3赋给i,第四句把3+(-2)的值1赋给j,并最终输出3,1.
反思与感悟 (1)输入语句的理解中要注意的问题
①“提示内容”必须加双引号,提示内容原样在计算机屏幕上显示,提示内容与变量之间用“;”隔开.
②一个输入语句可以输入多个变量,中间用“,”隔开,其格式为:INPUT“提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,….
例如:
(2)输出语句的理解中要注意的问题
①“提示内容”是提示用户要输出什么样的信息,提示内容必须加双引号,提示内容原样输出.
②同输入语句一样,输出语句也可以一次完成输出多个表达式的功能,不同的表达式之间用“,”隔开.
例如:
③计算机先计算表达式的值再输出,即输出语句有计算功能.
④用来分隔提示内容及表达式的引号、分号等不会输出.
跟踪训练1 (1)下列给出的输入语句正确的是________.
①INPUT a;b;c ②INPUT x=3
③INPUT a,b,c ④INPUT “a=,b=”,a,b
⑤INPUT “a=,b=”a,b
(2)下列给出的输出语句正确的是________.
①PRINT A=4 ②PRINT “你的姓名”XM
③PRINT a,b,c ④PRINT 3*2
考点 输入语句、输出语句
题点 输入语句、输出语句的格式
答案 (1)③ (2)③④⑤
解析 (1)判断一个输入语句正确与否,关键是要理解输入语句的格式:INPUT “提示内容”;变量,另外,还要注意一些需要记住的细节部分.
(2)结合输出语句的格式,对照说明内容,比较可得结论.
类型二 赋值语句的应用
例2 (1)下列给出的赋值语句正确的有________个.
①x=2*y+z;②x=3;③x+y=7;④y=3.14*4.
考点 赋值语句
题点 赋值语句的格式
答案 3
解析 赋值语句的格式是:变量=表达式,故①②④正确,③错误.
(2)下列程序的运行结果为________.
x=1
x=x*2
x=x*3
x=x*4
PRINT x*5
END
考点 赋值语句
题点 赋值语句的输出结果
答案 120
解析 由赋值语句的特点,可知结果为1×2×3×4×5,故答案为120.
反思与感悟 赋值号与数学中的等号的意义是不完全相同的,是以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N=N+1,是将N的原值加1再赋给N.
跟踪训练2 下面程序的运行结果为________.
a=2
a=2+a
a=a-5
PRINT 1/a
END
考点 赋值语句
题点 赋值语句的输出结果
答案 -1
解析 程序如下:
第二句给a赋值后a=4,第三句给a赋值后a=-1,
故最后输出为=-1.
类型三 三种语句的功能与综合运用
例3 编写一个程序,要求输入两个正数a和b的值,输出ab与ba的值.
考点 三种语句的功能与格式
题点 利用三种语句编写程序
解 方法一 程序: 方法二 程序:
反思与感悟 在任何一个程序中输入、输出、赋值语句是不可缺少的,它们在程序中各有作用.解决实际问题时,先将语句转译为数学语言,然后求解.
跟踪训练3 阅读下列程序,并填空.
(1)程序甲: (2)程序乙:
(1)程序甲中输出的结果为________;
(2)程序乙中输出的结果依次为________,________,________.
考点 输入语句、输出语句和赋值语句的应用
题点 三种语句的功能
答案 (1)16 (2)1 2 3
解析 (1)因为a=5,b=3,c==4,d=c2=16.
所以输出的结果为16.
(2)因为a=1,b=2,c=a+b=3,所以a+c-b=1+3-2=2,所以b=2.
故输出的结果依次为1,2,3.
例4 已知一个正三棱柱的底面边长为a,高为h,试设计一个程序来求解这个正三棱柱的表面积和体积,并画出程序框图.
考点 输入语句、输出语句和赋值语句的应用
题点 利用三种语句编写程序
解 程序及程序框图如下.
反思与感悟 程序框图是算法的一种直观表示,而程序设计语言则是将框图转化为计算机能读懂的一种表示形式,二者之间联系密切.
跟踪训练4 阅读下面的程序,根据程序画出程序框图.
INPUT x,y
PRINT x/2
PRINT 3*y
x=x+1
y=y-1
PRINT x,y
END
考点 三种语句的应用
题点 程序与程序框图之间的互化
解 程序框图如图所示.
1.下列赋值语句正确的为( )
A.x2+2x=5 B.x=x+5
C.0=0 D.x=2y=
考点 赋值语句
题点 赋值语句的格式
答案 B
解析 依据赋值语句的格式“变量=表达式”可知选项A,C错误;而选项D中一次给多个变量同时赋值,故选项D错误,故选B.
2.下面的程序输出的结果是( )
a=2
b=5
c=a+b
a=c+4
PRINT a,b
END
A.2,5 B.4,5 C.11,5 D.7,5
考点 赋值语句
题点 赋值语句的输出结果
答案 C
解析 第三句给c赋值后c=7,
第四句给a赋值后a=11,故最后输出11,5.
3.下列程序执行后结果为3,则输入的x值为( )
INPUT “x=”;x
y=x*x+2*x
PRINT y
END
A.1 B.-3
C.-1 D.1或-3
考点 三种语句
题点 三种语句的功能
答案 D
解析 由题意得,x2+2x=3,
解方程得x=1或x=-3.
4.下面一段程序执行后的结果是________.
A=2
A=A*2
A=A+6
PRINT A
END
考点 赋值语句
题点 赋值语句的输出结果
答案 10
解析 先把2赋给A,然后把A*2赋给A,
即A的值为4,再把4+6=10赋给A,
所以输出的结果为10.
5.根据如图所示的程序框图,写出相应的算法语句.
考点 三种语句的应用
题点 程序与程序框图之间的互化
解 程序如下:
INPUT “x,y=”;x,y
x=2*x
y=y/4
PRINT x,y
x=x-y
y=y-2
PRINT x,y
END
1.需输入信息时用INPUT语句,需输出信息时用PRINT语句,当变量需要的数据较少或给变量赋予算式时,用赋值语句,当变量需要输入多组数据且程序重复使用时,使用输入语句较好.
2.赋值语句是一个程序必不可少的重要组成部分,使用赋值语句,一定要注意其格式要求,不能利用赋值语句进行代数式计算等.
一、选择题
1.下列给出的输入、输出语句正确的是( )
①输入语句INPUT a;b;c
②输入语句INPUT x=3
③输出语句PRINT A=4
④输出语句PRINT 20,3*2
A.①② B.②③
C.③④ D.④
考点 输入语句、输出语句
题点 输入语句、输出语句的格式
答案 D
解析 ①INPUT语句可以给多个变量赋值,变量之间用“,”隔开;②INPUT语句中只能是变量,而不能是表达式;③PRINT语句中不用赋值号“=”;④PRINT语句可以输出常量、表达式的值.
2.下列给变量赋值的语句正确的是( )
A.5=a B.a+2=a
C.a=b=4 D.a=2*a
考点 赋值语句
题点 赋值语句的格式
答案 D
解析 A错,因为赋值语句的左右两边不能对换,赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量;B错,赋值语句左边是一个变量,而不是代数式;C错,因为赋值语句不能把一个值同时赋给两个变量;D项正确.
3.运行如图所示的程序,输出的结果是( )
a=1
b=2
a=a+b
PRINT a
END
A.3 B.4
C.1 D.2
考点 赋值语句
题点 赋值语句的输出结果
答案 A
解析 a=1,b=2,把1与2的和赋给a,即a=3,输出的结果为3.
4.给出下列程序,若输入x=2,y=3,则输出x,y的值分别为( )
INPUT x,y
A=x
x=y
y=A
PRINT x,y
END
A.2,3 B.2,2 C.3,3 D.3,2
答案 D
解析 该程序的运行过程是:
输入2,3
A=2
x=3
y=2
输出3,2
即x,y的值分别为3,2.
5.执行如图所示的程序,若输入的a,b的值分别为1,2,则输出c的值为( )
INPUT a,b
a=b
c=a+b
PRINT c
END
A.2 B.3 C.4 D.5
考点 三种语句的应用
题点 三种语句的功能
答案 C
解析 由题意可得a=1,b=2;a=2,c=2+2=4,所以输出c的值为4.故选C.
6.给出下面一个程序:
A=5
B=8
X=A
A=B
B=X+A
PRINT A,B
END
则此程序运行的结果是( )
A.5,8 B.8,5
C.8,13 D.5,13
考点 赋值语句
题点 赋值语句的输出结果
答案 C
解析 此程序先将A的值赋给X,再将B的值赋给A,再将X+A的值赋给B,即将原来的A与B的和赋给B,最后A的值是原来B的值8,而B的值是两数之和13.
7.下面的程序输出的结果是( )
x=6
y=3
x=x/3
y=4*x+1
PRINT x+y
END
A.27 B.9 C.2+25 D.11
考点 赋值语句
题点 赋值语句的输出结果
答案 D
解析 该程序的运行过程:
x=6,
y=3,
x=6÷3=2,
y=4×2+1=9,
x+y=2+9=11.
所以输出11.
8.下列程序执行后,变量a、b的值分别为( )
a=15
b=20
a=a+b
b=a-b
a=a-b
PRINT a,b
A.20,15 B.35,35
C.5,5 D.-5,-5
答案 A
解析 根据赋值语句的意义,先把a+b=35赋给a,
然后把a-b=35-20=15赋给b,
最后再把a-b=35-15=20赋给a.
9.给出下列程序:
INPUT “实数”;x1,y1,x2,y2
a=x1-x2
m=a^2
b=y1-y2
n=b^2
s=m+n
d=SQR?s?
PRINT d
END
此程序的功能(SQR()是一个函数,用来求某个非负数的算术平方根)为( )
A.求点到直线的距离
B.求两点之间的距离
C.求一个多项式函数的值
D.求输入的值的平方和
考点 三种语句的应用
题点 三种语句的功能
答案 B
解析 输入的四个实数可作为两个点的坐标,程序中的a,b分别表示两个点的横、纵坐标之差,而m,n分别表示两点横、纵坐标之差的平方:s是横、纵坐标之差的平方和,d是平方和的算术平方根,即两点之间的距离,最后输出此距离.
10.执行下列算法语句后的结果(x MOD y表示整数x除以整数y的余数)为( )
INPUT “x,y=”;x,y
A=x*y
B=x MOD y
C=A*y+B
PRINT A,B,C
END
(运行时从键盘上输入16,5)
A.A=80,B=1,C=401
B.A=80,B=3,C=403
C.A=80,B=3.2,C=403.2
D.A=80,B=3.2,C=404
考点 三种语句的应用
题点 三种语句的功能
答案 A
解析 第一句输入x=16,y=5,
第二句A=xy=80,
第三句B取x除以y的余数,即B=1,
第四句C=80×5+1=401,
故选A.
二、填空题
11.下面程序的运行结果为________.
a=2
b=3
c=4
a=b
b=c+2
c=b+4
d=?a+b+c?/3
PRINT “d=”;d
END
考点 赋值语句
题点 赋值语句的输出结果
答案
解析 a=b=3,b=c+2=4+2=6,c=b+4=6+4=10.
∴d=(a+b+c)=(3+6+10)=.
12.下面程序的功能是求所输入的两个正数的平方和,已知最后输出的结果为3.46,试据此将程序补充完整.
INPUT “x1=”;1.1
INPUT “x2=”;
S=
PRINT S
END
考点 三种语句的应用
题点 利用三种语句编写程序
答案 1.5 x1^ 2+x2^ 2
解析 因为程序的功能是求所输入的两个正数的平方和,所以S=x+x,
又因为最后输出的结果是3.46,
所以3.46=1.12+x,
解得x=2.25.
又因为x2是正数,
所以x2=1.5.
三、解答题
13.“鸡兔同笼”问题是我国古代著名的趣题之一.大约在1500年前,《孙子算经》中就记载了这个有趣的问题.书中这样描述:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔几何?
试设计一个算法,输入鸡兔的总数和鸡兔的脚的总数,分别输出鸡、兔的数量,并编写程序,画出相应的程序框图.
考点 三种语句的应用
题点 程序与程序框图的互化
解 算法步骤如下:第一步,输入鸡和兔的总数量M.
第二步,输入鸡和兔的脚的总数量N.
第三步,鸡的数量为A=.
第四步,兔的数量为B=M-A.
第五步,输出A,B,得出结果.
程序如下:
INPUT “鸡和兔的总数量为:”;M
INPUT “鸡和兔的脚的总数量为:”;N
A=(4*M-N)/2
B=M-A
PRINT “鸡的数量为:”;A
PRINT “兔的数量为:”;B
END
程序框图如图所示:
四、探究与拓展
14.阅读下列程序,如果输入a=1,b=2,c=3,则输出的S的值为________.
INPUT a,b,c
a=b
b=c
c=a
S=a^2+b^3+c^4
PRINT S
END
考点 三种语句的应用
题点 三种语句的功能
答案 47
解析 依题意得a=2,b=3,c=2,
∴S=22+33+24=47.
15.编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积(π取3.14).
考点 三种语句的应用
题点 利用三种语句编写程序
解 程序如下:
INPUT “R=”;R
C=2*3.14*R
S=3.14*R^2
PRINT “C=”;C
PRINT “S=”;S
END
1.2.2 条件语句
学习目标 1.理解条件语句的格式及功能.2.能用条件语句编写简单的程序.
知识点一 条件语句
思考 一般在什么条件下才需要用到条件语句?使用条件语句的关键是什么?
答案 一般在分类处理问题时需要用条件语句;使用条件语句的关键是明确分类的标准和方法.
梳理 条件语句的格式、功能及与条件结构的对应关系
格式一
格式二
条件语句
IF 条件 THEN
语句体
END IF
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
对应条件结构框图
知识点二 条件语句的嵌套和叠加
1.条件语句的嵌套
①语句格式
IF 条件1 THEN
语句体1
ELSE
IF 条件2 THEN
语句体2
ELSE
语句体3
END IF
END IF
②程序框图
③条件语句嵌套的实质
将外层条件语句中的分支语句再设计成一个条件语句.
特别提醒:在条件语句中的嵌套中,每一个“IF”对应着一个“END IF”,注意书写格式.
2.条件语句的叠加
①语句格式
IF 条件1 THEN
语句体1
END IF
IF 条件2 THEN
语句体2
END IF
IF 条件3 THEN
语句体3
END IF
②程序框图
1.条件语句中必须有ELSE和END IF.( × )
2.条件语句中可以没有END IF.( × )
3.条件语句中可以没有ELSE,但是必须有END IF.( √ )
4.条件语句中可以没有END IF,但是必须有ELSE.( × )
类型一 条件语句
例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=3 B.a=3,b=2
C.a=2,b=2 D.a=3,b=3
考点 条件语句与条件结构的应用
题点 IF—THEN—END IF语句的应用
答案 B
解析 计算机执行本条件语句时,先对条件进行判断.因为2<3成立,所以把2赋给t,把3赋给a,再把2赋给b,并且最终输出的结果是a=3,b=2.故选B.
反思与感悟 (1)“条件”表示判断的条件,“语句体”表示满足条件时执行的操作内容;条件不满足时,结束条件语句,“END IF”表示条件语句的结束.条件语句必须以IF开始,以END IF结束,一个IF必须和一个END IF对应.
(2)计算机在执行这种形式的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.
跟踪训练1 编写程序,输出两个不相等的实数a,b中的较大数,并画出程序框图.
考点 条件语句与条件结构的应用
题点 IF—THEN—END IF语句的应用
解 程序如下:
INPUT “a,b=”;a,b
IF b>a THEN
a=b
END IF
PRINT a
END
程序框图如图所示.
例2 已知y=编写一个程序,输入x的值,得到相应的函数值,并画出程序框图.
考点 条件语句与条件结构的应用
题点 IF—THEN—ELSE—END IF语句的应用
解 程序:
INPUT “x=”;x
IF x<0 THEN
y=2*x^2-5
ELSE
y=x-1
END IF
PRINT y
END
程序框图如图.
反思与感悟 “条件”表示判断的条件,“语句体1”表示满足条件时执行的操作内容,“语句体2”表示不满足条件时执行的操作内容,“END IF”表示条件语句的结束.
计算机在执行时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后面的语句体1;如果条件不符合,就执行ELSE后面的语句体2,然后结束这一条件语句.“条件”处可以是复合条件.在“语句体”处可以有多个语句,执行时按从上到下的顺序执行.
跟踪训练2 求过两点P1(x1,y1),P2(x2,y2)的直线斜率,写出其算法程序,并画出相应的程序框图.
考点 条件语句与条件结构的应用
题点 IF—THEN—ELSE—END IF语句的应用
解 程序:
INPUT “x1,y1=”;x1,y1
INPUT “x2,y2=”;x2,y2
IF x1=x2 THEN
PRINT “斜率不存在”
ELSE
k=?y2-y1?/?x2-x1?
PRINT k
END IF
END
程序框图如图.
类型二 条件语句的嵌套
例3 已知分段函数y=编写程序,输入自变量x的值,输出相应的函数值,并画出程序框图.
考点 条件语句与条件结构的应用
题点 条件语句的嵌套
解 程序及程序框图如下.
INPUT x
IF x<0 THEN
y=-2*x+1
ELSE
IF x=0 THEN
y=0
ELSE
y=2*x+1
END IF
END IF
PRINT y
END
反思与感悟 在一些复杂的算法中,有时需要按要求进行判断后继续按照另一个要求进行判断,这时可以再利用一个条件语句进行判断,这就形成了条件语句的嵌套.
条件结构嵌套的一般格式如下:
相应的条件语句如下:
IF 条件1 THEN
IF 条件2 THEN
语句体1
ELSE
语句体2
END IF
ELSE
语句体3
END IF
跟踪训练3 已知a,b,c三个实数中,有且只有一个负数,画出程序框图,设计一个程序,筛选出这个负数.
考点 条件语句与条件结构的应用
题点 条件语句的嵌套
解 程序框图如图.
程序如下:
INPUT “a,b,c=”;a,b,c
IF a<0 THEN
PRINT a
ELSE
IF b<0 THEN
PRINT b
ELSE
PRINT c
END IF
END IF
END
类型三 条件语句的实际应用
例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)
END IF
END IF
PRINT “通话费用(元):”;y
END
反思与感悟 解决实际应用问题,应先建立函数模型,由于对应函数为分段函数,可考虑用条件语句对算法进行描述.应用多个条件语句的嵌套时,要明确各种条件与相应语句之间的对应关系,一般先由程序框图直观地弄清这些关系之后再编写程序.
跟踪训练4 某商场购物实行优惠措施,若购物金额x在800元以上(包括800元),打8折;若购物金额x在500元以上(包括500元),但不足800元,则打九折,否则不打折.设计程序框图,并编写程序,要求输入购物金额x,能输出实际交款额y.
考点 条件语句与条件结构的应用
题点 条件语句的实际应用
解 由题意建立函数模型为y=
程序框图如图所示.
程序如下:
INPUT “x=”;x
IF x>=800 THEN
y=0.8*x
ELSE
IF x>=500 THEN
y=0.9*x
ELSE
y=x
END IF
END IF
PRINT “y=”;y
END
1.阅读下面程序:
INPUT x
IF x<0 THEN
x=-x
END IF
PRINT x
END
若输入x=5,则输出结果x为( )
A.-5 B.5
C.0 D.不确定
考点 条件语句与条件结构
题点 条件语句的应用
答案 B
解析 当x≥0时,不符合条件,执行END IF之后的语句,直接输出x的值,即为5.
2.下面程序的算法功能是:判断任意输入的数x是不是正数,若是,则输出它的平方值;若不是,则输出它的相反数.
INPUT “x=”;x
IF THEN
y=-x
ELSE
y=x*x
END IF
PRINT “y=”;y
END
则横线处填入的条件应该是( )
A.x>0 B.x<0
C.x>=0 D.x<=0
考点 条件语句与条件结构的应用
题点 条件语句的应用
答案 D
解析 条件成立时,执行y=-x;条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<=0,故选D.
3.阅读下面程序:
INPUT a
IF a>5 THEN
b=4
ELSE
IF a<3 THEN
b=5
ELSE
b=9
END IF
END IF
PRINT a,b
END
如果在运行时,输入2,那么输出的结果是( )
A.2,5 B.2,4
C.2,3 D.2,9
考点 条件语句与条件结构的应用
题点 条件语句的嵌套
答案 A
解析 输入a的值2,首先判断是否大于5,显然2不大于5,然后判断2与3的大小,显然2小于3,所以结果是b=5,因此结果应当输出2,5.
4.某程序如下:
INPUT x
IF x>=1 THEN
y=x+1
ELSE
y=3-2*x
END IF
PRINT y
END
当执行此程序时,没有执行语句y=x+1,则输入的x值的取值范围为________.
考点 条件语句与条件结构的应用
题点 条件语句的算法功能
答案 (-∞,1)
解析 由题意知,不执行语句y=x+1,说明输入x的值不满足条件x≥1,故x<1.
5.已知函数y=编写一个程序,对每一个输入的x值,求出相应的函数值.
考点 条件语句与条件结构的应用
题点 条件语句的嵌套
解 程序如下:
INPUT x
IF x<=-1 THEN
y=(x+1)^2
ELSE
IF x<1 THEN
y=2*x+2
ELSE
y=1/x-1
END IF
PRINT y
END
1.使用条件语句时应注意的问题
(1)条件语句是一个语句,IF,THEN,ELSE,END IF都是语句的一部分.
(2)条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般IF,ELSE与END IF顶格书写,其他的语句体前面则空两格.
2.对于三段或三段以上的分段函数求函数值时,需要条件语句的嵌套结构.在编写条件语句的嵌套中的“条件”时,要注意“IF”与“END IF”的配对,通常可以利用文字的缩进来表示嵌套的层次,以帮助我们对程序的阅读和理解.
3.条件语句的嵌套,其一般形式是
外层条件语句
一、选择题
1.若运行如下程序,最后输出y的值为-20,那么输入的t值为( )
INPUT “t=”;t
IF t<5 THEN
y=2*t-8
ELSE
y=8*t-t^2
END IF
PRINT y
END
A.10或-6 B.10或-2
C.-6 D.10或-2或-6
考点 条件语句与条件结构
题点 分段函数的求值问题
答案 A
解析 当t<5时,由2t-8=-20,得t=-6;当t≥5时,8t-t2=-20,得t=10.
2.如图所示的程序中,当输入的a,b的值分别为2,3时,最后输出的m的值为( )
INPUT a,b
IF a>b THEN
m=a
ELSE
m=b
END IF
PRINT m
END
A.2 B.3 C.4 D.1
考点 条件语句与条件结构
题点 分段函数的求值问题
答案 B
解析 因为2>3不成立,所以程序执行ELSE后面的m=b,因为b=3,所以m=3,故选B.
3.下面程序运行的结果是3,则输入的x值是( )
INPUT x
IF x>=0 THEN
y=x^2+2
ELSE
y=-x
END IFPRINT y
END
A.1 B.-3
C.1或-3 D.±1或-3
考点 条件语句与条件结构
题点 分段函数的求值问题
答案 C
解析 当x≥0时,3=x2+2,所以x=1;当x<0时,3=-x,所以x=-3,故选C.
4.下列程序语句是求函数y=|x-4|+1的函数值,则①处为( )
INPUT “x=”;x
IF x>=4 THEN
y=x-3;
ELSE
① ;
END IF
PRINT y
END
A.y=3-x B.y=x-5
C.y=5-x D.y=x-3
考点 条件语句与条件结构的应用
题点 条件语句的算法功能
答案 C
解析 ∵y=|x-4|+1=故选C.
5.在下面程序中,若输入x=,则输出的y值为( )
INPUT x
IF x>=0 THEN
IF x>0 THEN
PRINT “y=”;?π/2?*x-5
ELSE
PRINT “y=”;0
END IF
ELSE
PRINT “y=”;?π/2?*x-3
END IF
END
A.0 B.1
C.3 D.
考点 条件语句与条件结构的应用
题点 条件语句的嵌套
答案 B
解析 由于>0,故输出y=×-5=1,故选B.
6.执行如图所示的程序,如果输出的结果是4,那么输入的只可能是( )
INPUT x
IF x>=0 THEN
y=x^2
ELSE
y=x
END IF
PRINT y
END
A.2 B.-4
C.2或-4 D.±2或-4
考点 条件语句与条件结构
题点 分段函数求自变量问题
答案 A
解析 根据题意得,当x≥0时,y=x2=4,解得x=2;当x<0时,y=x<0,输出的值不可能为4,则输入的只可能是2,故选A.
7.运行下列程序,当输入x=-2时,输出结果是( )
INPUT “x=”;x
IF x>0 THEN
y=3*SQR(x)
ELSE
IF x=0 THEN
y=1
ELSE
y=-2*x^2+4*x
END IF
END IF
PRINT y
END
A.16 B.-16
C.2 D.8
考点 条件语句与条件结构
题点 分段函数的求值问题
答案 B
解析 该程序是求分段函数y=
在x=-2处的函数值,∴y=-16.
8.根据算法语句,当输入x的值为60时,输出y的值为( )
INPUT x
IF x<=50 THEN
y=0.5*x
ELSE
y=25+0.6*(x-50)
END IF
PEINT y
END
A.25 B.30
C.31 D.61
考点 条件语句与条件结构
题点 分段函数的求值问题
答案 C
解析 由题意得,y=
∴当x=60时,y=25+0.6×(60-50)=31.
∴输出y的值为31.
9.如图所示程序在开始运行后,通过键盘输入三个值3,24,7,则输出结果是( )
程序:
INPUT “a,b,c=”;a,b,c
IF b>a THEN
t=a
a=b
b=t
END IF
IF c>a THEN
t=a
a=c
c=t
END IF
IF c>b THEN
t=b
b=c
c=t
END IF
PRINT a,b,c
END
A.3,24,7 B.3,7,24
C.24,7,3 D.7,3,24
考点 条件语句与条件结构的应用
题点 条件语句的算法功能
答案 C
解析 当a=3,b=24,c=7时,此时b>a,首先是a,b交换数值即a=24,b=3,c=7,又此时c>b,执行的程序是b,c交换数值,即b=7,c=3,所以a=24,b=7,c=3.
10.阅读下面程序:(算术运算符“”和“MOD”分别用来取商和余数)
INPUT x
IF x>9 AND x<100 THEN
a=x10
b=x MOD 10
x=10*b+a
END IF
PRINT x
END
上述程序如果输入的x值是51,则运行结果是( )
A.51 B.15
C.105 D.501
考点 条件语句与条件结构
题点 分段函数的求值问题
答案 B
解析 ∵9<51<100,
∴a=5110=5,b=51 MOD 10=1,
x=10×1+5=15,
∴运行结果是15,故选B.
二、填空题
11.为了在运行下面的程序之后输出y=25,输入的x应该是________.
INPUT x
IF x<0 THEN
y=?x+1?*?x+1?
ELSE
y=?x-1?*?x-1?
END IF
PRINT y
END
考点 条件语句与条件结构
题点 分段函数求自变量问题
答案 -6或6
解析 该程序的功能是求函数y=
由或
得x=-6或x=6.
12.写出下面程序运行的结果:
INPUT x
IF x<=10 THEN
p=x*0.35
ELSE
p=10*0.35+(x-10)*0.7
END IF
PRINT p
END
若x=6,则p=________;若x=20,则p=________.
考点 条件语句与条件结构
题点 分段函数求值问题
答案 2.1 10.5
解析 此程序功能是求函数
p=
∴当x=6时,p=0.35×6=2.1,
当x=20时,p=3.5+0.7×(20-10)=10.5.
三、解答题
13.已知函数y=根据输入x的值,计算y的值,设计一个算法并写出相应的程序.
考点 条件语句与条件结构
题点 条件语句的应用
解 算法分析:
第一步,输入x的值.
第二步,判断x的范围,若x>2.5,则用y=x2-1求函数值.
若x≤2.5,则用y=x2+1求函数值.
第三步,输出y的值.
程序如下:
INPUT “x=”;x
IF x>2.5 THEN
y=x^2-1
ELSE
y=x^2+1
END IF
PRINT “y=”;y
END
四、探究与拓展
14.下面的程序是求一个函数的函数值的程序:
INPUT x
IF x<=0 THEN
y=-x
ELSE
IF x<=1 THEN
y=0
ELSE
y=x-1
END IF
END IF
PRINT y
END
若执行此程序的结果为3,则输入的x值为________.
考点 条件语句与算法结构
题点 条件语句的嵌套
答案 4或-3
解析 此程序是求函数y=的值.若输出的结果为3,则有可能x-1=3即x=4,或-x=3即x=-3.
15.如图是一个计算函数y=f(x)的值的程序,若输出的y值为4,则输入的x值是________.
INPUT x
IF x<0 THEN
y=?x+2?^2
ELSE
IF x=0 THEN
y=4
ELSE
y=?x-2?^2
END IF
END IF
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.
1.2.3 循环语句
学习目标 1.了解循环语句,并掌握其结构.2.会应用条件语句和循环语句编写程序.3.经历对现实生活情境的探究,体会应用计算机解决数学问题的方便简捷.
知识点一 循环语句
思考 循环语句与条件语句有何关系?
答案 循环语句中一定有条件语句,但条件语句可以脱离循环语句单独存在.
梳理 循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型和当型两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
知识点二 两种循环语句
两种循环语句的对比
名称
直到型
当型
格式
DO
循环体
LOOP UNTIL 条件
WHILE 条件
循环体
WEND
对应程序框图
过程
先执行一次DO和UNTIL之间的循环体,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体,然后再检查上述条件,如果仍不符合,再次执行循环体,直到条件符合时为止.这时不再执行循环体,跳出循环体,执行UNTIL语句后面的语句
先判断条件的真假,如果条件符合,则执行WHILE和WEND之间的循环体,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句
1.算法中的循环结构由WHILE语句来实现.( × )
2.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句.( √ )
3.循环语句在循环的过程中需要有“结束”的语句.( √ )
类型一 UNTIL(直到型)循环语句
例1 画出计算12+32+52+…+9992的程序框图,并写出程序.
考点 循环语句与循环结构的应用
题点 UNTIL语句的应用
解 由题意知各项指数相同,底数相差2,可以借助于循环语句设计算法.
①程序框图:
②程序为:
S=0
i=1
DO
S=S+i^2
i=i+2
LOOP UNTIL i>999
PRINT S
END
反思与感悟 (1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.
(2)循环次数由判断条件控制,控制条件的设置要综合考虑初始化值和LOOP UNTIL后的判断条件,若初始值为1,则循环体中变量累加,若初始值为循环的次数,则循环体中变量递减.
跟踪训练1 如果下面的程序运行后输出的结果是132,那么在程序中LOOP UNTIL后面的“条件”应为( )
i=12
s=1
DO
s=s*i
i=i-1
LOOP UNTIL “条件”PRINT s
END
A.i>11 B.i>=11
C.i<=11 D.i<11
考点 循环语句与循环结构
题点 程序的完善与补充
答案 D
解析 计数变量i的初始值为12,累积变量s的初始值为1,第1次执行循环后得s=12,i=11,因为12≠132,故第2次执行循环,得s=12×11=132,i=10,满足s=132,故退出循环.结合选项,可知“条件”应为i<11,故选D.
类型二 WHILE(当型)循环语句
例2 下面的程序运行后的输出结果为( )
i=1
WHILE i<8
i=i+2
s=2*i+3
WEND
PRINT s
END
A.17 B.19
C.21 D.23
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 C
解析 计数变量i的初始值为1,满足i<8,则第1次执行循环体,
得i=1+2=3,s=2×3+3=9;i=3仍然满足i<8,
则第2次执行循环体,
得i=3+2=5,s=2×5+3=13;
i=5仍然满足i<8,则第3次执行循环体,
得i=5+2=7,s=2×7+3=17;
i=7仍然满足i<8,则第4次执行循环体,
得i=7+2=9,s=2×9+3=21;
i=9不满足i<8,则循环结束,输出21,故选C.
反思与感悟 (1)当型循环语句以WHILE开头,以WEND作为结束标志.WEND是WHILE END的缩写,表示WHILE循环到此结束.
(2)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.
(3)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行WEND后面的语句.
跟踪训练2 编写程序求2×4×6×…×100的值.
考点 循环语句与循环结构的应用
题点 WHILE语句的应用
解 程序:
i=2
m=1
WHILE i<=100
m=m*i
i=i+2
WEND
PRINT m
END
类型三 循环语句的综合应用
例3 给出以下10个数:4,10,70,33,95,74,29,17,60,30.要求将大于40的数找出来,画出求解该问题的算法的程序框图,并写出程序.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序框图与程序如下:
i=1
DO
INPUT xi
IF xi>40 THEN
PRINT xi
END IF
i=i+1
LOOP UNTIL i>10
END
反思与感悟 当对一个复杂算法进行编程时,会出现循环语句中还包含条件语句的情况,应熟练掌握循环语句的嵌套.
跟踪训练3 某高中男子体育小组的100米赛跑的成绩(单位:s)如下:
12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7.
从这些成绩中搜索出小于12.1 s的成绩,编写程序,画出程序框图.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序:
i=1
DO
INPUT Gi
IF Gi<12.1 THEN
PRINT Gi
END IF
i=i+1
LOOP UNTIL i>10
END
程序框图如图:
1.下列问题可以设计成循环语句计算的有( )
①求1+3+32+…+39的和;
②比较a,b两个数的大小;
③对于分段函数,要求输入自变量,输出函数值;
④求平方值小于100的最大整数.
A.0个 B.1个 C.2个 D.3个
考点 循环语句与循环结构
题点 循环语句与循环结构的判断
答案 C
解析 ①④用到循环语句;②③用不到.故选C.
2.下面程序执行后输出的结果是( )
n=5
S=0
WHILE S<15
S=S+n
n=n-1
WEND
PRINT n
END
A.-1 B.0
C.1 D.2
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 B
解析 当S=5+4+3+2=14时,
n=5-1-1-1-1=1,
此时S<15,执行循环体,
则S=5+4+3+2+1=15,n=1-1=0,
此时S=15,循环结束,输出0.
3.已知如图所示语句,
i=1
DO
i=i+1
LOOP UNTIL i*i>=100
i=i-1
PRINT i
END
最后输出的结果是( )
A.i-1 B.100
C.10 D.9
考点 循环语句与循环结构的应用
题点 UNTIL语句的应用
答案 D
解析 由循环语句及赋值语句可知,当i*i≥100时跳出循环体,此时i=10,故最后输出结果为9.
4.下面的程序运行后第3次输出的数是 .
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOP UNTIL i>5
END
考点 循环语句与循环结构的应用
题点 UNTIL语句的应用
答案 2
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x=1+=,
第三次输出的数是x=1++=2.
5.设计一个程序,输出100~200之间被7除余3的数.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序如下:
i=100
WHILE i<=200
n=i MOD 7
IF n=3 THEN
PRINT i
END IF
i=i+1
WEND
END
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死”循环.
(3)在循环中要改变循环条件中涉及到的变量.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
一、选择题
1.下面的程序,其循环体执行的次数是( )
S=0
i=1
DO
S=S+i
i=i+2
LOOP UNTIL i>100
PRINT S
END
A.50 B.49
C.100 D.99
考点 循环语句与循环结构的应用
题点 循环语句的功能
答案 A
解析 程序实质就是求1~100之间的奇数之和,即S=1+3+5+…+99,共50个奇数,因此循环体执行50次.
2.有以下程序段,其中描述正确的是( )
k=8
WHILE k=0
k=k+1
WEND
A.循环体语句执行10次
B.循环体是无限循环的
C.循环体语句一次也不执行
D.循环体语句只执行一次
考点 循环语句与循环结构
题点 循环语句与循环结构的判断
答案 C
解析 对于WHILE语句,条件为真则执行循环体,而本题k=8,不满足条件k=0,所以循环体语句一次也不执行.故选C.
3.当x=2时,下面程序运行后输出的结果是( )
i=1
s=0
DO
s=s*x+1
i=i+1
LOOP UNTIL i>4
PRINT s
END
A.3 B.7
C.15 D.17
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 C
解析 0×2+1=1,1×2+1=3,3×2+1=7,7×2+1=15此时,i=5>4,跳出循环,故输出s的值为15.
4.阅读下列算法语句,若输入的n为10,则输出的变量S和T的值分别为( )
INPUT “n=”;n
S=0
T=0
DO
S=S+n
n=n-1
T=T+n
n=n-1
LOOP UNTIL n<2
PRINT S,T
END
A.30,25 B.30,30
C.25,25 D.25,30
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 A
解析 当n=10时,S=10+8+6+4+2=30,T=9+7+5+3+1=25,故选A.
5.下面的程序:
a=1
WHILE a<100
a=a+1
WEND
PRINT a
END
执行完毕后a的值为( )
A.99 B.100
C.101 D.102
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 B
解析 a=99+1=100.
6.下面是一个求20个数的平均数的程序,在横线上应填入的语句为( )
S=0
i=1
WHILE
INPUT x
S=S+x
i=i+1
WEND
a=S/20
PRINT a
END
A.i>20 B.i<20
C.i>=20 D.i<=20
考点 循环语句与循环结构
题点 程序的完善与补充
答案 D
解析 根据题意得循环体需执行20次,从而横线上应填入的语句为“i<=20”.故选D.
7.执行下面的程序,输出的结果为( )
i=1
S=0
WHILE i<=4
S=S*2+1
i=i+1
WEND
PRINT S
END
A.15 B.10
C.7 D.1
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
答案 A
解析 当i=1时,S=0×2+1=1;当i=2时,S=1×2+1=3;当i=3时,S=3×2+1=7;当i=4时,S=7×2+1=15,当i=5时,退出循环.输出S的值为15,故选A.
8.下面是求1~1 000内所有偶数的和的程序,把程序补充完整,则( )
i=2
S=0
WHILE i<=1 000
WEND
PRINT S
END
A.①处为S=S+i,②处为i=i+1
B.①处为S=S+i,②处为i=i+2
C.①处为i=i+1,②处为S=S+i
D.①处为i=i+2,②处为S=S+i
考点 循环语句与循环结构
题点 程序的完善与补充
答案 B
解析 程序求的是1~1 000内所有偶数的和,故i步长为2,应有i=i+2,排除A,C;i初值为2,S应加的第一个偶数为2,而不是4,故语句S=S+i应在i=i+2的前面,排除D.
9.下列程序运行后输出的结果为( )
i=1
S=0
DO
i=i+2
S=3+2*i
i=i+1
LOOP UNTIL i>=8
PRINT S
END
A.17 B.19
C.21 D.23
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 C
解析 第一次循环,i=1+2=3,S=3+2×3=9,i=4;
第二次循环,i=6,S=3+2×6=15,i=7;
第三次循环,i=9,S=3+2×9=21,i=10,
∴输出S=21.
10.阅读下面的程序
i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END
该程序是计算下列和式中的( )
A. B.1+2+…+101
C.1+2+3+…+99 D.1+2+3+…+100
考点 循环语句与循环结构的应用
题点 循环语句的功能
答案 D
二、填空题
11.执行下面的程序,则输出的结果为 .
I=1
WHILE I<7
S=2*I+1
I=I+2
WEND
PRINT S
END
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 11
解析 由题意可得I=1,满足条件I<7,S=3;I=3,满足条件I<7,S=7;I=5,满足条件I<7,S=11;I=7,不满足条件I<7,退出循环,输出S的值为11.
12.下面程序执行后,输出的结果是 .
i=11
S=1
DO
S=S*i
i=i-1
LOOP UNTIL i<9
PRINT S
END
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 990
解析 分析程序知S=1×11×10×9=990.
三、解答题
13.编写程序,求出24的所有正因数.
考点 算法语句的综合应用
题点 条件语句与循环语句的综合应用
解 程序框图如图所示(MOD是用来取余数).
程序如下:
i=1
DO
r=24 MOD i
IF r=0 THEN
PRINT i
END IF
i=i+1
LOOP UNTIL i>24
END
四、探究与拓展
14.下面程序运行的结果是 .
x=100
i=1
DO
x=x+10
i=i+1
LOOP UNTIL x=200
PRINT x,i
END
考点 循环语句与循环结构
题点 UNTIL语句的输出结果
答案 200,11
解析 每次执行循环体后x与i的值对应如下.
x
110
120
130
140
150
160
170
180
190
200
i
2
3
4
5
6
7
8
9
10
11
15.读程序,回答下列问题:
INPUT n
i=1
S=0
WHILE i<=n
S=S+1/?i*?i+1??
i=i+1
WEND
PRINT S
END
(1)若输入n=3,则输出的结果为 ;
(2)此程序对应计算的式子是 .
考点 循环语句与循环结构
题点 WHILE语句的输出结果
答案 (1) (2)+++…+
解析 (1)输入n=3,当i=1时,S=0+=;
当i=2时,S=+=;
当i=3时,S=+=,
结束循环,此时输出S的值为.
(2)此程序是用于计算+++…+的值.