第一章 专题突破二.docx
- 文档编号:7061810
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:18
- 大小:62KB
第一章 专题突破二.docx
《第一章 专题突破二.docx》由会员分享,可在线阅读,更多相关《第一章 专题突破二.docx(18页珍藏版)》请在冰豆网上搜索。
第一章专题突破二
专题突破二 算法语句的应用
一、基本的条件语句
例1 运行如图所示的程序,输出的y与输入的x满足的关系式为____________________.
INPUT x
IF x<1 OR x>8 THEN
y=2^x
ELSE
y=3*x+1
ENDIF
PRINT y
END
思维切入 本题中使用的是“IF-THEN-ELSE-ENDIF”语句.当条件成立时,执行语句“y=2^x”,不成立时,执行语句“y=3*x+1”,故y=
答案 y=
点评
(1)基本的条件语句有两种.当判断条件成立与否都需要执行某操作时,使用“IF-THEN-ELSE-ENDIF”语句;当条件判断后只需执行一种操作时,使用“IF-THEN-ENDIF”语句.
(2)求分段函数的值是条件语句的重要应用.
二、条件语句的复合
例2 已知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
ENDIF
ENDIF
END
点评 ①一般要求一个“IF”都要有一个“ENDIF”与其对应;②在用条件语句的嵌套书写程序时,要弄清哪个“IF”对应哪个“ENDIF”;③书写时,注意每一层要对齐.
三、循环语句求累加和或累乘积
例3 编写程序,计算2+23+25+…+299的值.
思维切入 这是一个累加问题,可以用WHILE语句,也可以用UNTIL语句来编写程序.
解 程序如图.
i=1
S=0
WHILE i<=50
S=S+2^(2*i-1)
i=i+1
WEND
PRINT S
END
点评 解决具体的构造循环语句的算法问题,要尽可能地少引入变量,因为较多的变量会使得程序设计比较麻烦.同一问题的程序并不唯一.本题也可用如下图所示的程序表示.注意两程序中循环体部分的区别.当然了,变量的初值不同,程序也会有所改变.
i=1
S=0
WHILE i<=99
S=S+2^i
i=i+2
WEND
PRINT S
END
四、条件语句与循环语句的嵌套
例4 分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被3整除的所有整数.
思维切入
解 利用WHILE语句编写程序如下:
i=1
WHILE i<=100
IF iMOD3=0 THEN
PRINT i
ENDIF
i=i+1
WEND
END
利用UNTIL语句编写程序如下:
i=1
DO
IF iMOD3=0 THEN
PRINT i
ENDIF
i=i+1
LOOP UNTIL i>100
END
点评 对于循环语句内嵌套条件语句的问题,先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不冲突,以免引起矛盾.
五、循环语句的嵌套问题
例5 设计一个程序,输出落在圆x2+y2=100内且在第一象限的所有整点的坐标.
思维切入 由题意知1≤x<10,1≤y<10且x,y∈Z.故设计算法时可先确定x,让y由1取到9逐一验证条件,然后改变x的值,直至验完.
解 程序如下:
r=10
x=1
WHILE x<r
y=1
WHILE y<r
IF x^2+y^2<r^2 THEN
PRINT x,y
ENDIF
y=y+1
WEND
x=x+1
WEND
END
点评 对于循环语句的嵌套问题,需要正确区分内循环变量和外循环变量.循环变量是循环语句的关键,循环变量的范围决定着循环的次数.解决二重循环问题时,首先固定外循环变量的值,由外向内推导,以此类推,可解决更复杂的循环语句的嵌套问题.
1.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的( )
S=1
i=3
DO
S=S*i
i=i+2
LOOPUNTIL i> ①
PRINT S
END
A.8B.11C.10D.12
答案 C
解析 由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于等于9,小于11即可,故选C.
2.阅读程序,当输入x的值为3时,输出y的值为________.(其中e为自然对数的底数)
INPUT x
IF x<=e THEN
y=0.5+0.5*(x-2)
ELSE
y=0.5*x
END IF
PRINT y
END
答案 1.5
解析 当输入x=3时,由于3>e,故执行y=0.5x,
即y=0.5×3=1.5.
3.阅读如图所示的程序,若输入x的值为5,则输出的结果是________.
INPUT x
IF x<3 THEN
y=2*x
ELSE
IF x>3 THEN
y=x*x-1
ELSE
y=2
END IF
END IF
PRINT y
END
答案 24
解析 当x=5时,y=52-1=24.
4.阅读下列算法语句:
i=1
S=0
DO
S=S+i
i=i+1
LOOPUNTILi>98
PRINT S
END
则S的表达式为________.
答案 S=1+2+3+…+98
解析 这是一个UNTIL语句,终止条件是i>98.循环体累加,即从1累加到98.
5.执行下面的程序,如果输入N=4,那么输出的S=________.
INPUT N
k=1
S=0
T=1
DO
T=
S=S+T
k=k+1
LOOPUNTILk>N
PRINT S
END
答案
解析 第一次循环,T=1,S=1,k=2;第二次循环,T=
,S=1+
,k=3;第三次循环,T=
,S=1+
+
,k=4;第四次循环,T=
,S=1+
+
+
,k=5,此时满足条件,输出S.
6.某学生在体育训练时弄伤了膝关节,医生给他开了一些消炎药,并叮嘱他每天早晚8时各服用一片药片.现知该药片每片220毫克,他的肾脏每12小时从体内滤出这种药的60%.设计一个程序,求他第n次服药后体内此药的残留量,并画出程序框图.
解 算法分析:
第一次服药后体内此药的残留量:
V1=220;
第二次服药后体内此药的残留量:
V2=V1×0.4+220;
第三次服药后体内此药的残留量:
V3=V2×0.4+220;…;
第n次服药后体内此药的残留量:
Vn=Vn-1×0.4+220.
故可用循环语句求解.
程序框图如图:
程序如图:
INPUT “n=”;n
V=0
i=1
DO
V=V*0.4+220
i=i+1
LOOPUNTIL i>n
PRINT “V=”;V
END
一、选择题
1.下列语句中正确的个数是( )
①输入语句INPUTx+2;
②赋值语句x=x-5;
③输出语句PRINTM=2.
A.0B.1C.2D.3
答案 B
解析 ①中输入语句只能给变量赋值,不能给表达式“x+2”赋值,所以①错误;②中“x=x-5”表示变量x减去5后再赋值给x,即执行“x=x-5”后,x比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误.
2.执行下列程序后,变量a,b的值分别为( )
a=15
b=20
a=a+b
b=a-b
a=a-b
PRINTa,b
END
A.20,15B.35,35
C.5,5D.-5,-5
答案 A
解析 a=15,b=20,把a+b的值赋给a,因此得出a=35,再把a-b的值赋给b,即b=35-20=15,再把a-b的值赋给a,此时a=35-15=20,因此最后输出的a,b的值分别为20,15.
3.若执行下列程序后输出的结果为3,则输入的x值可能为( )
INPUT “x=”;x
y=x*x+2*x
PRINTy
END
A.1B.-3C.-1D.1或-3
答案 D
解析 由题意得x2+2x=3,解方程得x=1或x=-3.
4.下列程序的功能是求函数y=|x-4|+1的值,则①处为( )
INPUT“x=”;x
IF x>=4 THEN
y=x-3;
ELSE
①
ENDIF
PRINT y
END
A.y=3-xB.y=x-5
C.y=5-xD.y=ABS(x-4)+1
答案 C
解析 ∵y=|x-4|+1=
∴①处应为“y=5-x”.
5.阅读下列程序:
INPUTx
IF x<0 THEN
y=7*x/2+3
ELSE
IF x>0 THEN
y=7*x/2-5
ELSE
y=0
END IF
END IF
PRINT y
END
若输入x=-2,则输出结果为( )
A.2B.-12C.10D.-4
答案 D
解析 输入x=-2,则x<0,执行“y=7*x/2+3”这一语句,即有y=-4.
6.运行下面的程序后,输出的结果为( )
i=1
WHILE i<8
i=i+2
S=2*i+3
i=i-1
WEND
PRINT S
END
A.17B.19C.21D.23
答案 C
解析 最后一次执行循环体时,S=2×9+3=21.
7.如果运行以下程序后输出的结果是720,那么在程序中UNTIL后面的“条件”是( )
i=10
S=1
DO
S=S*i
i=i-1
LOOPUNTIL“条件”
PRINTS
END
A.i>8B.i>=8C.i<=8D.i<8
答案 D
解析 该程序的功能是计算S=10×9×8×…×n的值,在UNTIL循环语句中满足条件则退出循环体,由于运行程序后输出的结果是720,故选D.
8.阅读下列程序:
INPUT“x=”;4
IFx>3THEN
y=x*x
ELSE
y=2*x
ENDIF
PRINTy
END
运行该程序后,变量y的值为( )
A.4B.16C.6D.8
答案 B
解析 因x=4满足“x>3”的条件,所以执行的是THEN后面的语句,得y=4×4=16.
9.运行下面程序的结果为( )
i=1
S=0
WHILE S<=20
S=S+i
i=i+1
WEND
PRINT i
END
A.7B.8C.5D.6
答案 A
解析 第一次循环,S=0+1=1,i=1+1=2;
第二次循环,S=1+2=3,i=2+1=3;
第三次循环,S=3+3=6,i=3+1=4;
第四次循环,S=6+4=10,i=4+1=5;
第五次循环,S=10+5=15,i=5+1=6;
第六次循环,S=15+6=21>20,i=6+1=7.
故输出i的值为7.
二、填空题
10.2014年11月,国家调控了物价后,某水果店三种水果的标价分别为香蕉:
2元/千克,苹果:
3元/千克,梨:
2.5元/千克.店主为了方便收款设计了一个程序,请将下面的程序补充完整.
INPUT
x=2*a
y=3*b
z=2.5*c
S=
PRINTS
END
答案 a,b,c x+y+z
11.已知下面的程序,写出相应的输出结果.
INPUT x
IF x<=10 THEN
p=x*0.35
ELSE
p=10*0.35+(x-10)*0.7
END IF
PRINT p
END
(1)若输入x=6,则p=________;
(2)若输入x=12,则p=________.
答案
(1)2.1
(2)4.9
解析
(1)当x=6时,x≤10,则p=6×0.35=2.1.
(2)当x=12时,x>10,则p=10×0.35+(12-10)×0.7=4.9.
12.运行下面的程序后第3个输出的数是________.
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
LOOPUNTILi>5
END
答案 2
解析 第一个输出的数是1,
第二个输出的数是x=1+
=
,
第三个输出的数是x=1+
+
=2.
三、解答题
13.阅读下面两个程序并回答问题.
INPUT x
INPUT y
x=2019
y=2020
x=y
PRINT x,y
END
(a)
INPUT x
INPUT y
x=2019
y=2020
y=x
PRINT x,y
END
(b)
(1)写出两个程序的运行结果;
(2)请简要说明上述两个程序的区别.
解
(1)程序(a)的运行结果是2020,2020;
程序(b)的运行结果是2019,2019.
(2)程序(a)中的“x=y”是将y的值2020赋给x,赋值后x的值变为2020,而y的值保持不变;
程序(b)中的“y=x”是将x的值2019赋给y,赋值后y的值变为2019,而x的值保持不变.
14.已知正四棱柱的底边长a和高h,试编写程序,计算该四棱柱的体积.
解
INPUT a
INPUT h
PRINT “四棱柱的体积为”;h*a^2
END
或
INPUT“四棱柱的底边长是”;a
INPUT“四棱柱的高是”;h
PRINT“四棱柱的体积为”;h*a^2
END
15.下面程序的功能是输出1~100内(包括100)的所有偶数.
i=1
DO
m=iMOD2
IF ① THEN
PRINT i
END IF
__②
LOOPUNTIL i>100
END
(1)试将上面的程序补充完整;
(2)请用WHILE型循环语句改写上面的程序.
解
(1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如图:
i=1
WHILE i<=100
m=iMOD2
IF m=0 THEN
PRINT i
END IF
i=i+1
WEND
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 专题突破二 专题 突破