while循环的应用-粤教版(2019)高中信息技术必修一练_第1页
while循环的应用-粤教版(2019)高中信息技术必修一练_第2页
while循环的应用-粤教版(2019)高中信息技术必修一练_第3页
while循环的应用-粤教版(2019)高中信息技术必修一练_第4页
while循环的应用-粤教版(2019)高中信息技术必修一练_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.4.2while循环的应用-粤教版(2019)高中信息技术必修一练

学校:姓名:班级:考号:

一、选择题

1.某查找算法的部分VB程序代码如下:

i=l:j=8:k=0

key=15

DoWhilei<=j

k=k+l

m=Int((i+j)/2)

Ifkey<a(m)Thenj=m-lElsei=m+1

Loop

数组元素a(1)到a(8)的数据依次是"14,15,15,17,28,30,37,40”,该程

序执行完毕后,下列各变量的值不正确的是()

A.i=4B.m=2C.j=3D.k=3

【答案】B

【解析】

【分析】

【详解】

本题考查VB二分查找算法相关知识点

第一轮循环k=l,m=4,key=15<a(4)=17,j=4-1=3

第二轮循环k=2,m=2,key=15=a(2)=15i=3

第三轮循环k=3,m=3,key=15=af^=15i=4

退出循环。程序执行完毕时,i=4,m=3,j=3,k=3

故本题选B选项

2.有以下程序段:

i=1;

s=0;

whilei<7:

s=s+i;

i=i+]•

ifi=5:

break;

print("l-7的累加值为:",s);

程序运行后输出的结果为:()

A.10B.15C.21D.死循环

【答案】A

【解析】

【分析】

【详解】

本题主要考查程序的分析。程序中当i==5时,执行break跳出循环,因此本程序执行结

果为1+2+3+4=10,A选项正确;其余选项均不符合题意。

3.有如下VisualBasic程序段:

PrivateSubCommandl_Click()

试卷第2页,总18页

DimxAsInteger,]AsInteger,sAsString

x=Val(Textl.Text):s=n"

DoWhilex<>0

r=(x+l)Mod2

s=Str(r)+s

x=x\2

Loop

Text2.Text=s

EndSub

该程序段运行后后,在文本框Textl中输入25,则文本框Text2显示的内容是()

A.00101B.11010C.00110D.11001

【答案】C

【解析】

【详解】

本题考查VB程序段。根据dowhile循环结构,以及r=(x+l)Mod2,s=Str(r)+s,x=x\2

三条语句可知,该循环的作用将十进制转换为二进制后的0转换为1,1转换为0。25

二进制是11001,故转换后为00110,本题选C。

4.有如下VB程序段:

x=4095:si="ABCDEFGHIJ":s2="abcdefghij"

ret=""

DoWhilex>0

r=xMod10

IfrMod2=1Then

ret=Mid(sl,r+1,1)&ret

Else

ret=ret&Mid(s2,r+1,1)

EndIf

x=x\10

Loop

Textl.Text=ret

执行该程序段后,文本框Textl中显示的内容为()

A.JFaeB.JFeaC.eaJFD.EAij

【答案】A

【解析】

【详解】

本题主要考查VB程序的执行。while循环中,r=xmod10=4095mod10=5,5Mod2=1,

ret=F,x=x\10=409;第二遍循环,r=xmod10=409mod10=9,9Mod2=1,ret=JF,

x=x\10=40;第三遍循环,r=xmod10=40mod10=0,0mod2=0,ret=JFa,x=x\10=4;

第四遍循环,r=xmod10=4mod10=4,4Mod2=0,ret=JFae,故执行该程序段后,文

本框Text1中显示的内容为JFae,故本题选A选项。

5.()是程序的基本控制结构。

A.顺序结构B.组合结构C.循环结构D.选择结构

【答案】ACD

【解析】

【详解】

本题主要考查程序的基本控制结构。程序的基本控制结构有顺序结构、循环结构、选

择结构,故本题选ACD选项。

试卷第4页,总18页

6.下列有while循环结构的说法不正确的是()

A.While循环格式一般为:While(表达式):语句或者语句组

B.执行过程中表达式一般是一个关系表达式或逻辑表达式;

C.表达式为真执行循环体;为假退出循环。

D.表达式为假执行循环体;为真退出循环。

【答案】D

【解析】

【分析】

【详解】

本题考查while循环结构

While循环格式一般为:While(表达式):语句或者语句组;执行过程中表达式一般是

一个关系表达式或逻辑表达式;表达式为真执行循环体;为假退出循环。故本题选D选

7.有关循环结构的说法不正确的是()。

A.循环结构是算法的基本结构之一

B.有的的程序设计中没有循环结构

C.循环结构在程序设计有可能会有嵌套出现

D.在PYTHON程序设计语言中循环结构一般使用IF语句实现。

【答案】D

【解析】

【分析】

【详解】

本题考查循环结构的相关知识点

在PYTHON程序设计语言中循环结构一般使用for或while语句实现。故本题选D选

8.有如下VB程序段:

Constn=10

Dima(lTon)AsInteger

DimmidAsInteger,LAsInteger,

RAsIntegerRandomize

a(l)=10

Fori=2Ton

a(i)=a(i-1)+Int(Rnd*2)+1

Nexti

c=0:L=1:R=n:flag=

False:Key=11

DoWhileL<=RAndNot

flag

mid=Int((L+R)/2+0.5)

c=c+1

Ifa(mid)=KeyThen

flag=True

Elselfa(mid)>KeyThen

R=mid-1

Else

L=mid+1

试卷第6页,总18页

ENDIf

Loop

执行该程序段后,变量c可能的值是()

A.1或2B.2或3C.3或4D.4或2

【答案】C

【解析】

【分析】

【详解】

本题考查VB程序段。由@6=武>1)+1叫1<1](1*2)+1可知。后一项为前一项加上1或

者2。a(l)=10,则a(2)=U,或a(2)=12。若a(2)=ll,key=ll,下方对分查找执行3次可

以找到,c=3。若a(2)=12,则key=ll数组中不存在,无法找到,c=4。故本题选C。

9.有如下VB程序段:.

i=1

DoWhilei<=6

a(i)=Int(Rnd*10)+1

Ifa(i)Mod2=IMod2Then

i=i-l

ElseIfIMod2=0Then

a(i)=a(i-1)+a(i)

EndIf

i=i+l

Loop

执行该程序后,a(l)-a(6)各元素不可能的值是()

A.6,13,8,11,6,17B.8,11,4,5,8,17

C.8,9,8,17,10,11D.6,13,6,9,4,9

【答案】A

【解析】

【分析】

【详解】

本题考查的是程序阅读能力。根据随机函数值的范围,可知数组a(i)初始值的范围为

【1,10]之间的整数。a(i)Mod2=iMod2如果成立,则需要偶数位置偶数值或奇

数位置奇数值。第一个If中的i=i-l,不满足条件要重新产生值,所以结果是奇数位

置偶数值,偶数位置奇数值。第二个if语句执行条件是该位置为偶数时,其值是前1项

和当前值求和,再替换当前值。A选项中的最后17应是通过:6+a(6)得到,但a(6)

值不超过10,所以6+a(6)一定小于17,故选A。

10.有如下VB程序段:

DimiAsInteger,sAsInteger

i=0:s=l

DoWhilei<=10

If(1)Then

s=s*2

EndIf

i=i+l

Loop

执行该程序后,输出s的值为64,则(1)处应填入()

A.i\4=2B.Sqr(i)=Int(Sqr(i))C.iMod2=1

D.iMod2=0

试卷第8页,总18页

【答案】D

【解析】

【分析】

【详解】

本题考查了学生程序阅读能力。由s=s*2=l*2*2*2*2*2*2=64可知,选择语句共执行了6

次。i从0到10,i\4=2只有一个满足,故选项A错误;SqEiD=IntC]SqrM2只有4、

9两个满足,故选项B错误;iMod2=1,只有1、3、5、7、9满足,故选项C错误;i

Mod2=0,只有0、2、4、6、8、10满足,共6次,故选项D正确。

11.某对分查找算法的VB程序段如下:

n=0:i=l:j=8key=Val(Textl.Text)

DoWhilei<=j

m=(i+j)\2

n=n+l

Ifkey=d(m)ThenExitDo

Ifkey>d(m)Thenj=m-lElsei=m+l

Loop

Ifi<=jThens=Str(m-n)Elses=Str(n)

数组元素d(l)到d(8)的值依次为87,75,50,44,36,24,15,8,输入某个key值,

运行该程序段后,变量s结果为2,则输入key的值是()

A.75B.36C.24D.15

【答案】B

【解析】

【分析】

【详解】

本题考查对分查找。分析代码,变量s=2,如果是执行分支s=n得2,需满足i>j,并且

n=2,变量n是查找次数,即没找到key(i刁说明未找到)而且只找2次,这是不可能的,

因此推出s=2,应该是执行了分支s=m-n得2。第一次m=4,n=l,不成立,第二次,

m=2或m=6,n=2,不成立,第三次,m=l或m=3或m=5或m=7,n=3。(因此在m=5,

n=3的时候,找到了key,此时满足m-n=2,即key=a(5)=36,所以答案选择B。)第四

次,m=8,n=4,不成立。

二、判断题

12.在循环中continue语句的作用是跳出循环的执行。()

【答案】错

【解析】

【详解】

本题主要考查continue语句的作用。break是跳出循环的执行,continue是用于终止本次

循环,故表述错误。

三、简答题

13.列举Python程序设计语言中,fbr循环和while循环的基本的格式。

【答案】for循环结构的基本格式:

for循环变量in列表:

语句或语句组

While循环格式:

While(表达式):

语句或者语句组

【解析】

试卷第10页,总18页

【分析】

【详解】

本题考查循环结构的基本格式

四、操作题

14.某种编码以4位二进制码为一组,每组前两位表示方向,后两位表示距离。编写

一个程序,将编码翻译成方向和距离,距离值为每组编码后两位二进制码转换为十进

制数的值。具体功能如下:在文本框Textl中输入连续多组编码,单击“翻译”按钮

Commandl,结果显示在列表框Listl中。程序运行界面如图所示。

・编码翻译□X

00000101

方向距离

南11翻降

(1)要使程序运行时,文本框Textl的Width属性值为2020,可在Form_Load事件

过程中添加语句(单选,填字母:ADWidth=2020/BOTextl.Width=2020/

CDWidth.Textl=2020)o

(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。

PrivateSubCommand1_Click()

DimsAsString,cAsString,dAsString

DimnAsInteger,blAsInteger,b2AsInteger,vAsInteger,iAsInteger

n=Len(s):i=1

DoWhilei<=n

c=Mid(s,i,2)

Ifc=HOOuThen

d=“东”

ElseIfc=n01"Then

d="南”

ElseIfc=n10"Then

d=哂”

Else

d="北”

EndIf

bl=Val(Mid(s,i+2,1))

b2=Val(Mid(s,i+3,1))

V=•计算距离值

List1.Additemd+""+Str(v)

i=_____________________

Loop

EndSub

(3)若文本框Textl中输入的内容为“1010”,单击“翻译”按钮,列表框Listl中

显示的内容是。

【答案】B①Textl.Text或Text②bl*2+b2或其他等价答案③i+

4或其他等价答案西2

【解析】

试卷第12页,总18页

【详解】

本题考查VB相关知识。(1)文本框Textl的Width属性值为2020,可在Formjoad事

件过程中添加语句Textl.Width=2020,选B。(2)第一空,变量s从Textl得到。(3)

第二空,计算距离值,故填入bl*2+b2。(4)第三空,题干指出每组前两位表示方向,

后两位表示距离,故1,+4。(5)若文本框Textl中输入的内容为1010,前两位10代

表西,后两位是数字2,故列表框Listl中显示的内容是西2。

15.小奕同学基于排序算法设计了一个数字矩阵排序的程序。程序界面如下图所示,

在文本框中输入矩阵大小,点击“生成”按钮Command),在左侧列表框Listl中输

出一个长宽均为指定大小的随机整数矩阵,随机整数范围为[1,99]。点击“排序”

按钮Command2,结果输出在右侧列表框List2中,奇数行从左到右依次递增,偶数

行从右至左依次递增,且保持输出矩阵的长宽不变。

&数字矩阵排序

排序前排序后输入小于10的矩阵大小

50628680676689195

8995660346050463420I

2081985986262676972生成

72759096698685818075

461986268990959698

排序

(1)实现上述功能的VB程序如下,显示数据用的Additem是一种(单选,填

字母:A口属性名/B口事件名/C□方法名/DZJ过程名)。

(2)请在划线处填入合适的代码。

(3)程序中加框处

代码有错,请改正。

Dima(lTo100)As

Integer

DimnAsInteger

Functiondq(sAsString,LAsInteger)AsString'自定义对齐函数'在输入的字符串s

前加若干空格,输出长度为L的字符串,代码略

EndFunction

PrivateSubCommandl_Click(),生成数字矩阵'随机生成nA2个数字,存储在数组a

中,代码略

'以一行n个,共n行的格式显示在Listl中,代码略

EndSub

PrivateSubCommand2_Click()嗷字矩阵排序

DimiAsInteger,kAsInteger,jAsInteger,s

AsStringDimfAsBoolean

List2.Clearf=True

F

o

1

T

o

n

A

2

S

te

P

n

s

试卷第14页,总18页

Forj=iTo|n|

k=n人2

DoWhile®

Ifa(k)<a(k-1)Then

t=a(k):a(k)=a(k-1):a(k-1)=t

EndIf

k=k-1

Loop

Iff=TrueThen

s=s+""+dq(Str(a(j)),2)

Else

s="H+dq(Str(a(j)),2)+s

E

n

d

I

f

N

t

L

t

2

A

d

d

I

t

e

m

s

_____

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论