第一章 专题突破二.docx

上传人:b****6 文档编号:7061810 上传时间:2023-01-16 格式:DOCX 页数:18 大小:62KB
下载 相关 举报
第一章 专题突破二.docx_第1页
第1页 / 共18页
第一章 专题突破二.docx_第2页
第2页 / 共18页
第一章 专题突破二.docx_第3页
第3页 / 共18页
第一章 专题突破二.docx_第4页
第4页 / 共18页
第一章 专题突破二.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

第一章 专题突破二.docx

《第一章 专题突破二.docx》由会员分享,可在线阅读,更多相关《第一章 专题突破二.docx(18页珍藏版)》请在冰豆网上搜索。

第一章 专题突破二.docx

第一章专题突破二

专题突破二 算法语句的应用

一、基本的条件语句

例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模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1