while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練_第1頁(yè)
while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練_第2頁(yè)
while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練_第3頁(yè)
while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練_第4頁(yè)
while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

4.4.2while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練

習(xí)

學(xué)校:姓名:班級(jí):考號(hào):

一、選擇題

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

數(shù)組元素a(1)到a(8)的數(shù)據(jù)依次是"14,15,15,17,28,30,37,40”,該程

序執(zhí)行完畢后,下列各變量的值不正確的是()

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

【答案】B

【解析】

【分析】

【詳解】

本題考查VB二分查找算法相關(guān)知識(shí)點(diǎn)

第一輪循環(huán)k=l,m=4,key=15<a(4)=17,j=4-1=3

第二輪循環(huán)k=2,m=2,key=15=a(2)=15i=3

第三輪循環(huán)k=3,m=3,key=15=af^=15i=4

退出循環(huán)。程序執(zhí)行完畢時(shí),i=4,m=3,j=3,k=3

故本題選B選項(xiàng)

2.有以下程序段:

i=1;

s=0;

whilei<7:

s=s+i;

i=i+]?

ifi=5:

break;

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

程序運(yùn)行后輸出的結(jié)果為:()

A.10B.15C.21D.死循環(huán)

【答案】A

【解析】

【分析】

【詳解】

本題主要考查程序的分析。程序中當(dāng)i==5時(shí),執(zhí)行break跳出循環(huán),因此本程序執(zhí)行結(jié)

果為1+2+3+4=10,A選項(xiàng)正確;其余選項(xiàng)均不符合題意。

3.有如下VisualBasic程序段:

PrivateSubCommandl_Click()

試卷第2頁(yè),總18頁(yè)

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

該程序段運(yùn)行后后,在文本框Textl中輸入25,則文本框Text2顯示的內(nèi)容是()

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

【答案】C

【解析】

【詳解】

本題考查VB程序段。根據(jù)dowhile循環(huán)結(jié)構(gòu),以及r=(x+l)Mod2,s=Str(r)+s,x=x\2

三條語(yǔ)句可知,該循環(huán)的作用將十進(jìn)制轉(zhuǎn)換為二進(jìn)制后的0轉(zhuǎn)換為1,1轉(zhuǎn)換為0。25

二進(jìn)制是11001,故轉(zhuǎn)換后為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

執(zhí)行該程序段后,文本框Textl中顯示的內(nèi)容為()

A.JFaeB.JFeaC.eaJFD.EAij

【答案】A

【解析】

【詳解】

本題主要考查VB程序的執(zhí)行。while循環(huán)中,r=xmod10=4095mod10=5,5Mod2=1,

ret=F,x=x\10=409;第二遍循環(huán),r=xmod10=409mod10=9,9Mod2=1,ret=JF,

x=x\10=40;第三遍循環(huán),r=xmod10=40mod10=0,0mod2=0,ret=JFa,x=x\10=4;

第四遍循環(huán),r=xmod10=4mod10=4,4Mod2=0,ret=JFae,故執(zhí)行該程序段后,文

本框Text1中顯示的內(nèi)容為JFae,故本題選A選項(xiàng)。

5.()是程序的基本控制結(jié)構(gòu)。

A.順序結(jié)構(gòu)B.組合結(jié)構(gòu)C.循環(huán)結(jié)構(gòu)D.選擇結(jié)構(gòu)

【答案】ACD

【解析】

【詳解】

本題主要考查程序的基本控制結(jié)構(gòu)。程序的基本控制結(jié)構(gòu)有順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選

擇結(jié)構(gòu),故本題選ACD選項(xiàng)。

試卷第4頁(yè),總18頁(yè)

6.下列有while循環(huán)結(jié)構(gòu)的說(shuō)法不正確的是()

A.While循環(huán)格式一般為:While(表達(dá)式):語(yǔ)句或者語(yǔ)句組

B.執(zhí)行過(guò)程中表達(dá)式一般是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式;

C.表達(dá)式為真執(zhí)行循環(huán)體;為假退出循環(huán)。

D.表達(dá)式為假執(zhí)行循環(huán)體;為真退出循環(huán)。

【答案】D

【解析】

【分析】

【詳解】

本題考查while循環(huán)結(jié)構(gòu)

While循環(huán)格式一般為:While(表達(dá)式):語(yǔ)句或者語(yǔ)句組;執(zhí)行過(guò)程中表達(dá)式一般是

一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式;表達(dá)式為真執(zhí)行循環(huán)體;為假退出循環(huán)。故本題選D選

項(xiàng)

7.有關(guān)循環(huán)結(jié)構(gòu)的說(shuō)法不正確的是()。

A.循環(huán)結(jié)構(gòu)是算法的基本結(jié)構(gòu)之一

B.有的的程序設(shè)計(jì)中沒(méi)有循環(huán)結(jié)構(gòu)

C.循環(huán)結(jié)構(gòu)在程序設(shè)計(jì)有可能會(huì)有嵌套出現(xiàn)

D.在PYTHON程序設(shè)計(jì)語(yǔ)言中循環(huán)結(jié)構(gòu)一般使用IF語(yǔ)句實(shí)現(xiàn)。

【答案】D

【解析】

【分析】

【詳解】

本題考查循環(huán)結(jié)構(gòu)的相關(guān)知識(shí)點(diǎn)

在PYTHON程序設(shè)計(jì)語(yǔ)言中循環(huán)結(jié)構(gòu)一般使用for或while語(yǔ)句實(shí)現(xiàn)。故本題選D選

項(xiàng)

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頁(yè),總18頁(yè)

ENDIf

Loop

執(zhí)行該程序段后,變量c可能的值是()

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

【答案】C

【解析】

【分析】

【詳解】

本題考查VB程序段。由@6=武>1)+1叫1<1](1*2)+1可知。后一項(xiàng)為前一項(xiàng)加上1或

者2。a(l)=10,則a(2)=U,或a(2)=12。若a(2)=ll,key=ll,下方對(duì)分查找執(zhí)行3次可

以找到,c=3。若a(2)=12,則key=ll數(shù)組中不存在,無(wú)法找到,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

執(zhí)行該程序后,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

【解析】

【分析】

【詳解】

本題考查的是程序閱讀能力。根據(jù)隨機(jī)函數(shù)值的范圍,可知數(shù)組a(i)初始值的范圍為

【1,10]之間的整數(shù)。a(i)Mod2=iMod2如果成立,則需要偶數(shù)位置偶數(shù)值或奇

數(shù)位置奇數(shù)值。第一個(gè)If中的i=i-l,不滿足條件要重新產(chǎn)生值,所以結(jié)果是奇數(shù)位

置偶數(shù)值,偶數(shù)位置奇數(shù)值。第二個(gè)if語(yǔ)句執(zhí)行條件是該位置為偶數(shù)時(shí),其值是前1項(xiàng)

和當(dāng)前值求和,再替換當(dāng)前值。A選項(xiàng)中的最后17應(yīng)是通過(guò):6+a(6)得到,但a(6)

值不超過(guò)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

執(zhí)行該程序后,輸出s的值為64,則(1)處應(yīng)填入()

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

D.iMod2=0

試卷第8頁(yè),總18頁(yè)

【答案】D

【解析】

【分析】

【詳解】

本題考查了學(xué)生程序閱讀能力。由s=s*2=l*2*2*2*2*2*2=64可知,選擇語(yǔ)句共執(zhí)行了6

次。i從0到10,i\4=2只有一個(gè)滿足,故選項(xiàng)A錯(cuò)誤;SqEiD=IntC]SqrM2只有4、

9兩個(gè)滿足,故選項(xiàng)B錯(cuò)誤;iMod2=1,只有1、3、5、7、9滿足,故選項(xiàng)C錯(cuò)誤;i

Mod2=0,只有0、2、4、6、8、10滿足,共6次,故選項(xiàng)D正確。

11.某對(duì)分查找算法的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)

數(shù)組元素d(l)到d(8)的值依次為87,75,50,44,36,24,15,8,輸入某個(gè)key值,

運(yùn)行該程序段后,變量s結(jié)果為2,則輸入key的值是()

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

【答案】B

【解析】

【分析】

【詳解】

本題考查對(duì)分查找。分析代碼,變量s=2,如果是執(zhí)行分支s=n得2,需滿足i>j,并且

n=2,變量n是查找次數(shù),即沒(méi)找到key(i刁說(shuō)明未找到)而且只找2次,這是不可能的,

因此推出s=2,應(yīng)該是執(zhí)行了分支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的時(shí)候,找到了key,此時(shí)滿足m-n=2,即key=a(5)=36,所以答案選擇B。)第四

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

二、判斷題

12.在循環(huán)中continue語(yǔ)句的作用是跳出循環(huán)的執(zhí)行。()

【答案】錯(cuò)

【解析】

【詳解】

本題主要考查continue語(yǔ)句的作用。break是跳出循環(huán)的執(zhí)行,continue是用于終止本次

循環(huán),故表述錯(cuò)誤。

三、簡(jiǎn)答題

13.列舉Python程序設(shè)計(jì)語(yǔ)言中,fbr循環(huán)和while循環(huán)的基本的格式。

【答案】for循環(huán)結(jié)構(gòu)的基本格式:

for循環(huán)變量in列表:

語(yǔ)句或語(yǔ)句組

While循環(huán)格式:

While(表達(dá)式):

語(yǔ)句或者語(yǔ)句組

【解析】

試卷第10頁(yè),總18頁(yè)

【分析】

【詳解】

本題考查循環(huán)結(jié)構(gòu)的基本格式

四、操作題

14.某種編碼以4位二進(jìn)制碼為一組,每組前兩位表示方向,后兩位表示距離。編寫

一個(gè)程序,將編碼翻譯成方向和距離,距離值為每組編碼后兩位二進(jìn)制碼轉(zhuǎn)換為十進(jìn)

制數(shù)的值。具體功能如下:在文本框Textl中輸入連續(xù)多組編碼,單擊“翻譯”按鈕

Commandl,結(jié)果顯示在列表框Listl中。程序運(yùn)行界面如圖所示。

?編碼翻譯□X

00000101

方向距離

南11翻降

(1)要使程序運(yùn)行時(shí),文本框Textl的Width屬性值為2020,可在Form_Load事件

過(guò)程中添加語(yǔ)句(單選,填字母:ADWidth=2020/BOTextl.Width=2020/

CDWidth.Textl=2020)o

(2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。

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=?計(jì)算距離值

List1.Additemd+""+Str(v)

i=_____________________

Loop

EndSub

(3)若文本框Textl中輸入的內(nèi)容為“1010”,單擊“翻譯”按鈕,列表框Listl中

顯示的內(nèi)容是。

【答案】B①Textl.Text或Text②bl*2+b2或其他等價(jià)答案③i+

4或其他等價(jià)答案西2

【解析】

試卷第12頁(yè),總18頁(yè)

【詳解】

本題考查VB相關(guān)知識(shí)。(1)文本框Textl的Width屬性值為2020,可在Formjoad事

件過(guò)程中添加語(yǔ)句Textl.Width=2020,選B。(2)第一空,變量s從Textl得到。(3)

第二空,計(jì)算距離值,故填入bl*2+b2。(4)第三空,題干指出每組前兩位表示方向,

后兩位表示距離,故1,+4。(5)若文本框Textl中輸入的內(nèi)容為1010,前兩位10代

表西,后兩位是數(shù)字2,故列表框Listl中顯示的內(nèi)容是西2。

15.小奕同學(xué)基于排序算法設(shè)計(jì)了一個(gè)數(shù)字矩陣排序的程序。程序界面如下圖所示,

在文本框中輸入矩陣大小,點(diǎn)擊“生成”按鈕Command),在左側(cè)列表框Listl中輸

出一個(gè)長(zhǎng)寬均為指定大小的隨機(jī)整數(shù)矩陣,隨機(jī)整數(shù)范圍為[1,99]。點(diǎn)擊“排序”

按鈕Command2,結(jié)果輸出在右側(cè)列表框List2中,奇數(shù)行從左到右依次遞增,偶數(shù)

行從右至左依次遞增,且保持輸出矩陣的長(zhǎng)寬不變。

&數(shù)字矩陣排序

排序前排序后輸入小于10的矩陣大小

50628680676689195

8995660346050463420I

2081985986262676972生成

72759096698685818075

461986268990959698

排序

(1)實(shí)現(xiàn)上述功能的VB程序如下,顯示數(shù)據(jù)用的Additem是一種(單選,填

字母:A口屬性名/B口事件名/C□方法名/DZJ過(guò)程名)。

(2)請(qǐng)?jiān)趧澗€處填入合適的代碼。

(3)程序中加框處

代碼有錯(cuò),請(qǐng)改正。

Dima(lTo100)As

Integer

DimnAsInteger

Functiondq(sAsString,LAsInteger)AsString'自定義對(duì)齊函數(shù)'在輸入的字符串s

前加若干空格,輸出長(zhǎng)度為L(zhǎng)的字符串,代碼略

EndFunction

PrivateSubCommandl_Click(),生成數(shù)字矩陣'隨機(jī)生成nA2個(gè)數(shù)字,存儲(chǔ)在數(shù)組a

中,代碼略

'以一行n個(gè),共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頁(yè),總18頁(yè)

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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論