




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、4.4.2while循環(huán)的應(yīng)用-粵教版(2019)高中信息技術(shù)必修一練習(xí)學(xué)校:_姓名:_班級(jí):_考號(hào):_一、選擇題1某查找算法的部分VB程序代碼如下:i=1:j=8:k=0key=15Do While i<=j k=k+1 m=Int(i+j)/2) If key<a(m)Then j=m-1 Else i=m+1Loop數(shù)組元素a(1)到a(8)的數(shù)據(jù)依次是“14,15,15,17,28,30,37,40”,該程序執(zhí)行完畢后,下列各變量的值不正確的是( )Ai=4Bm=2Cj=3Dk=3【答案】B【解析】【分析】【詳解】本題考查VB二分查找算法相關(guān)知識(shí)點(diǎn)第一輪循環(huán) k=1,m=4
2、,key=15<a(4)=17,j=4-1=3第二輪循環(huán) k=2,m=2,key=15=a(2)=15 i=3第三輪循環(huán) k=3,m=3,key=15=a(3)=15 i=4退出循環(huán)。程序執(zhí)行完畢時(shí),i=4,m=3,j=3,k=3故本題選B選項(xiàng)2有以下程序段:i = 1;s = 0;while i < 7: s = s + i; i = i + 1; if i = 5: break; print("1-7的累加值為:",s);程序運(yùn)行后輸出的結(jié)果為:( )A10B15C21D死循環(huán)【答案】A【解析】【分析】【詳解】本題主要考查程序的分析。程序中當(dāng)i=5時(shí),執(zhí)行b
3、reak跳出循環(huán),因此本程序執(zhí)行結(jié)果為1+2+3+4=10,A選項(xiàng)正確;其余選項(xiàng)均不符合題意。3有如下Visual Basic程序段:Private Sub Command1_Click () Dim x As Integer,r As Integer, s As String x = Val(Text1. Text): s ="" Do While x<>0 r=(x+1) Mod 2 s=Str(r)+s x=x2 Loop Text2. Text = sEnd Sub該程序段運(yùn)行后后,在文本框Text1中輸入25,則文本框Text2顯示的內(nèi)容是( )A0
4、0 1 0 1B1 1 0 1 0C0 0 1 1 0D1 1 0 0 1【答案】C【解析】【詳解】本題考查VB程序段。根據(jù)do while循環(huán)結(jié)構(gòu),以及r=(x+1) Mod 2,s=Str(r)+s,x=x2三條語句可知,該循環(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 : s1 = "ABCDEFGHIJ" : s2 = "abcdefghij"ret="" Do While x > 0 r = x Mod 10 If
5、 r Mod 2 = 1 Then ret = Mid(s1, r + 1, 1) & ret Else ret = ret & Mid(s2, r + 1, 1) End If x = x 10Loop Text1.Text = ret 執(zhí)行該程序段后,文本框 Text1 中顯示的內(nèi)容為( )AJFaeBJFeaCeaJFDEAfj【答案】A【解析】【詳解】本題主要考查VB程序的執(zhí)行。while循環(huán)中,r=x mod 10=4095 mod 10=5,5 Mod 2 = 1,ret=F,x=x10=409;第二遍循環(huán),r=x mod 10=409 mod 10=9,9 Mod
6、 2 = 1,ret=JF,x=x10=40;第三遍循環(huán),r=x mod 10=40 mod 10=0,0 mod 2=0,ret=JFa,x=x10=4;第四遍循環(huán),r=x mod 10=4 mod 10=4,4 Mod 2 =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)。6下列有while循環(huán)結(jié)構(gòu)的說法不正確的是( )AWhile循環(huán)格式一
7、般為:While(表達(dá)式):語句或者語句組B執(zhí)行過程中表達(dá)式一般是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式;C表達(dá)式為真執(zhí)行循環(huán)體;為假退出循環(huán)。D表達(dá)式為假執(zhí)行循環(huán)體;為真退出循環(huán)?!敬鸢浮緿【解析】【分析】【詳解】本題考查while循環(huán)結(jié)構(gòu)While循環(huán)格式一般為:While(表達(dá)式):語句或者語句組;執(zhí)行過程中表達(dá)式一般是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式;表達(dá)式為真執(zhí)行循環(huán)體;為假退出循環(huán)。故本題選D選項(xiàng)7有關(guān)循環(huán)結(jié)構(gòu)的說法不正確的是( )。A循環(huán)結(jié)構(gòu)是算法的基本結(jié)構(gòu)之一B有的的程序設(shè)計(jì)中沒有循環(huán)結(jié)構(gòu)C循環(huán)結(jié)構(gòu)在程序設(shè)計(jì)有可能會(huì)有嵌套出現(xiàn)D在PYTHON 程序設(shè)計(jì)語言中循環(huán)結(jié)構(gòu)一般使用IF語句實(shí)現(xiàn)?!敬鸢浮?/p>
8、D【解析】【分析】【詳解】本題考查循環(huán)結(jié)構(gòu)的相關(guān)知識(shí)點(diǎn)在PYTHON 程序設(shè)計(jì)語言中循環(huán)結(jié)構(gòu)一般使用for或while語句實(shí)現(xiàn)。故本題選D選項(xiàng)8有如下 VB 程序段:Const n = 10Dim a(1 To n) As IntegerDim mid As Integer, L As Integer, R As Integer Randomizea(1) = 10For i = 2 To na(i) = a(i - 1) +Int(Rnd * 2) + 1 Next ic = 0: L = 1: R = n: flag = False: Key = 11 Do While L <= R
9、 And Not flagmid = Int(L + R) / 2 + 0.5) c = c + 1If a(mid) = Key Then flag = TrueElseIf a(mid) > Key Then R = mid - 1ElseL = mid + 1 END If Loop執(zhí)行該程序段后,變量 c 可能的值是( )A1 或 2B2 或 3C3 或 4D4 或 2【答案】C【解析】【分析】【詳解】本題考查VB程序段。由a(i) = a(i - 1) +Int(Rnd * 2) +1可知。后一項(xiàng)為前一項(xiàng)加上1或者2。a(1)=10,則a(2)=11,或a(2)=12。若a(2
10、)=11,key=11,下方對(duì)分查找執(zhí)行3次可以找到,c=3。若a(2)=12,則key=11數(shù)組中不存在,無法找到,c=4。故本題選C。9有如下VB程序段: .i = 1Do While i < = 6a(i) = Int(Rnd* 10) + 1If a(i)Mod 2 = I Mod 2 Theni=i-1Else If I Mod 2 = 0 Thena(i) =a(i 1) + a(i)End Ifi=i+1Loop執(zhí)行該程序后,a(1)-a(6) 各元素不可能的值是( )A6,13, 8,11, 6, 17B8,11,4,5,8,17C8,9,8,17,10,11D6,13,
11、6,9,4,9【答案】A【解析】【分析】【詳解】本題考查的是程序閱讀能力。根據(jù)隨機(jī)函數(shù)值的范圍,可知數(shù)組a(i)初始值的范圍為【1,10】之間的整數(shù)。a(i) Mod 2 = i Mod 2如果成立,則需要偶數(shù)位置偶數(shù)值或奇數(shù)位置奇數(shù)值。第一個(gè)If中的i = i - 1,不滿足條件要重新產(chǎn)生值,所以結(jié)果是奇數(shù)位置偶數(shù)值,偶數(shù)位置奇數(shù)值。第二個(gè)if語句執(zhí)行條件是該位置為偶數(shù)時(shí),其值是前一項(xiàng)和當(dāng)前值求和,再替換當(dāng)前值。A選項(xiàng)中的最后17應(yīng)是通過: 6+a (6)得到,但a (6)值不超過10,所以6 + a(6)一定小于17,故選A。10有如下VB程序段:Dim i As Integer, s A
12、s Integeri=0:s=1Do While i <= 10If (1) Then s=s*2End Ifi=i+lLoop執(zhí)行該程序后,輸出s的值為64,則(1)處應(yīng)填入( )Ai4 = 2BSqr(i) = Int (Sqr(i)Ci Mod 2 = 1Di Mod 2 = 0【答案】D【解析】【分析】【詳解】本題考查了學(xué)生程序閱讀能力。由s=s*2=1*2*2*2*2*2*2=64可知,選擇語句共執(zhí)行了6次。i從0到10,i4 = 2只有一個(gè)滿足,故選項(xiàng)A錯(cuò)誤;Sqr(i) = Int (Sqr(i)只有4、9兩個(gè)滿足,故選項(xiàng)B錯(cuò)誤;i Mod 2 = 1,只有1、3、5、7、
13、9滿足,故選項(xiàng)C錯(cuò)誤;i Mod 2 = 0,只有0、2、4、6、8、10滿足,共6次,故選項(xiàng)D正確。11某對(duì)分查找算法的 VB 程序段如下: n=0:i=1:j=8 key=Val(Text1.Text) Do While i <=j m=(i+j)2 n=n+1 If key=d(m) Then Exit Do If key > d(m) Then j=m-1 Else i=m+1Loop If i<=j Then s=Str(m-n) Else s=Str(n) 數(shù)組元素 d(1)到d(8)的值依次為87,75,50,44,36,24,15,8,輸入某個(gè)key值,運(yùn)行該
14、程序段后,變量s 結(jié)果為 2,則輸入key的值是( )A75B36C24D15【答案】B【解析】【分析】【詳解】本題考查對(duì)分查找。分析代碼,變量s=2,如果是執(zhí)行分支s=n 得2,需滿足i>j,并且n=2,變量n是查找次數(shù),即沒找到key (i>j說明未找到)而且只找2次,這是不可能的,因此推出 s=2,應(yīng)該是執(zhí)行了分支s=m-n得2。第一次m=4,n=1,不成立,第二次,m=2或m=6,n=2,不成立,第三次, m=1或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
15、=4,不成立。二、判斷題12在循環(huán)中continue語句的作用是跳出循環(huán)的執(zhí)行。(_)【答案】錯(cuò)【解析】【詳解】本題主要考查continue語句的作用。break是跳出循環(huán)的執(zhí)行,continue是用于終止本次循環(huán),故表述錯(cuò)誤。三、簡(jiǎn)答題13列舉Python程序設(shè)計(jì)語言中,for循環(huán)和while循環(huán)的基本的格式?!敬鸢浮縡or 循環(huán)結(jié)構(gòu)的基本格式:for 循環(huán)變量 in 列表:語句或語句組While循環(huán)格式:While(表達(dá)式):語句或者語句組【解析】【分析】【詳解】本題考查循環(huán)結(jié)構(gòu)的基本格式四、操作題14某種編碼以 4 位二進(jìn)制碼為一組,每組前兩位表示方向,后兩位表示距離。編寫一個(gè)程序,將
16、編碼翻譯成方向和距離,距離值為每組編碼后兩位二進(jìn)制碼轉(zhuǎn)換為十進(jìn)制數(shù)的值。具體功能如下: 在文本框 Text1 中輸入連續(xù)多組編碼,單擊“翻譯”按鈕 Commandl,結(jié)果顯示在列表框 List1 中。 程序運(yùn)行界面如圖所示。(1)要使程序運(yùn)行時(shí),文本框 Text1 的 Width 屬性值為 2020,可在 Form_Load 事件過程中添加語句_(單選,填字母:AWidth=2020 / BText1.Width = 2020 / CWidth. Text1=2020)。(2)實(shí)現(xiàn)上述功能的 VB 程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。Private Sub Command1_Click()Di
17、m s As String, c As String, d As StringDim n As Integer, b1 As Integer, b2 As Integer, v As Integer, i As Integer s = _n = Len(s) : i = 1Do While i <= nc = Mid(s, i, 2)If c = "00" Then d = "東"ElseIf c = "01" Then d = "南"ElseIf c = "10" Thend = &qu
18、ot;西"Elsed = "北"End Ifb1 = Val(Mid(s, i + 2, 1)b2 = Val(Mid(s, i + 3, 1)v = _'計(jì)算距離值List1.AddItem d + "" + Str(v)i = _LoopEnd Sub(3)若文本框 Text1 中輸入的內(nèi)容為“1010”,單擊“翻譯”按鈕,列表框 List1 中顯示的內(nèi)容 是_。【答案】B Text1.Text 或 Text b1 * 2 + b2 或 其他等價(jià)答案 i + 4 或 其他等價(jià)答案 西 2 【解析】【詳解】本題考查VB相關(guān)知識(shí)。(1)
19、文本框Text1的Width屬性值為2020,可在Form_Load事件過程中添加語句Text1.Width=2020,選B。(2)第一空,變量s從Text1得到。(3)第二空,計(jì)算距離值,故填入b1*2+b2。(4)第三空,題干指出每組前兩位表示方向,后兩位表示距離,故i=i+4。(5)若文本框Text1中輸入的內(nèi)容為1010,前兩位10代表西,后兩位是數(shù)字2,故列表框List1中顯示的內(nèi)容是西2。15小奕同學(xué)基于排序算法設(shè)計(jì)了一個(gè)數(shù)字矩陣排序的程序。程序界面如下圖所示,在文本框中輸入矩陣大小,點(diǎn)擊“生成”按鈕 Command1,在左側(cè)列表框 List1 中輸出一個(gè)長(zhǎng)寬均為指定大小的隨機(jī)整數(shù)
20、矩陣, 隨機(jī)整數(shù)范圍為1,99。點(diǎn)擊“排序”按鈕 Command2,結(jié)果輸出在右側(cè)列表框 List2 中,奇數(shù)行從左到右依次遞增,偶數(shù)行從右至左依次遞增,且保持輸出矩陣的長(zhǎng)寬不變。(1)實(shí)現(xiàn)上述功能的 VB 程序如下,顯示數(shù)據(jù)用的Additem 是一種 (單選,填字母:A屬性名/B事件名/C方法名/D過程名)。(2)請(qǐng)?jiān)趧澗€處填入合適的代碼。(3)程序中加框處代碼有錯(cuò),請(qǐng)改正。Dim a(1 To 100) As IntegerDim n As IntegerFunction dq(s As String, L As Integer) As String '自定義對(duì)齊函數(shù)'在輸
21、入的字符串 s 前加若干空格,輸出長(zhǎng)度為 L 的字符串,代碼略End FunctionPrivate Sub Command1_Click() '生成數(shù)字矩陣隨機(jī)生成 n2 個(gè)數(shù)字,存儲(chǔ)在數(shù)組 a 中,代碼略以一行 n 個(gè),共 n 行的格式顯示在 List1 中,代碼略End SubPrivate Sub Command2_Click() '數(shù)字矩陣排序Dim i As Integer, k As Integer, j As Integer, s As String Dim f As BooleanList2.Clear f= TrueFor i = 1 To n 2 Step n s = ""For j = i To k = n 2Do While If a(k) < a(k - 1) Thent = a(k): a(k) = a(k - 1): a(k - 1) = tEnd Ifk = k - 1LoopIf f = True Thens = s + " " + dq(Str(a(j), 2)Elses = " " + dq(Str(a(j), 2) + sEnd If Next j List2.AddItem s Next i End Sub【答案】(1)C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度公司與自然人教育培訓(xùn)合作協(xié)議
- 二零二五年度新能源項(xiàng)目股東股份交易保密協(xié)議
- 二零二五年度學(xué)校圖書資料室租賃合同協(xié)議
- 老齡化社會(huì)養(yǎng)老保障2025年度老人存款管理與社區(qū)互助協(xié)議
- 2025年度長(zhǎng)租公寓交房后物業(yè)費(fèi)及租住服務(wù)合同
- 二零二五年度研學(xué)旅行教育標(biāo)準(zhǔn)制定與實(shí)施合同
- 2025年度考研輔導(dǎo)機(jī)構(gòu)后勤保障合同模板
- 二零二五年度醫(yī)療保險(xiǎn)合作協(xié)議及費(fèi)用報(bào)銷指南
- 經(jīng)理任職發(fā)言稿
- 2025年湖北貨運(yùn)從業(yè)資格證科目一考試答案
- 安全生產(chǎn)承包的合同
- 2025年陜西延長(zhǎng)石油物流集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025屆高考作文素材積累專題(春晚、哪吒2、deepseek)課件
- 2025年部編版語文三年級(jí)下冊(cè)全冊(cè)單元測(cè)試題附答案(共8個(gè)單元)
- 兒童腺樣體肥大治療方案-深度研究
- 2025年懷化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)必考題
- 2025年第六屆(中小學(xué)組)國(guó)家版圖知識(shí)競(jìng)賽測(cè)試題庫(kù)及答案
- 2025年中國(guó)床墊機(jī)械行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- C小學(xué)一起諾如病毒胃腸炎疫情的調(diào)查與處置課件
- GB/T 26436-2025禽白血病診斷技術(shù)
- 體育場(chǎng)館工程施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論