資源簡(jiǎn)介 第三章 算法基礎(chǔ) 練習(xí)一、選擇題1.下列問題不能用算法描述的是( )A.美術(shù)課上回答“什么是美” B.根據(jù)烤面包步驟完成面包制作C.利用“輾轉(zhuǎn)相除法”求123和711的最大公約數(shù) D.導(dǎo)航軟件使用路徑規(guī)劃確定起點(diǎn)到終點(diǎn)的最佳路線2.有如下Python程序段:import randomdef find(x,y):m=(x+y+1)//2if a[m]==key:return mif a[m]>key:y=m-1else:x=m+1return find(x,y)a=[2,4,6,8,10,12,14,16]key=random.choice(a)i=0;j=len(a)-1xb=find(i,j)print(xb,key)上述程序執(zhí)行結(jié)束后,函數(shù)find被調(diào)用的最多次數(shù)是( )A.3 B.4 C.5 D.63.某算法的部分流程圖如圖所示。執(zhí)行這部分流程,若輸入n的值為10,則輸出k的值是( )A.4 B.5 C.6 D.74.計(jì)算機(jī)負(fù)責(zé)解釋程序指令并進(jìn)行數(shù)據(jù)運(yùn)算處理的是( )A.控制器 B.運(yùn)算器 C.中央處理器 D.存儲(chǔ)器5.小申決定用高級(jí)語言進(jìn)行編程,下列選項(xiàng)都是屬于高級(jí)語言的是( )A.匯編語言、機(jī)器語言 B.匯編語言、Basic語言C.C++語言、Python語言 D.機(jī)器語言、Python語言6.為了提高計(jì)算機(jī)軟件開發(fā)效率,人們通常采用什么計(jì)算機(jī)語言編寫程序( )A.匯編語言 B.機(jī)器語言 C.高級(jí)語言 D.指令系統(tǒng)7.求表達(dá)式 1+3+5+7+…+ (2*n-1) 算法的部分流程圖如圖所示,圖中空白矩形框內(nèi)應(yīng)填入的內(nèi)容是 ( )A.s←i+(i+2) B.s←s+i C.s←s+(2*n- 1) D.s←s+(2*i- 1)8.有關(guān)機(jī)器語言的描述,下列說法正確的有哪幾項(xiàng)。( )A.由0,1代碼組成 B.計(jì)算機(jī)能直接識(shí)別和執(zhí)行C.屬于高級(jí)語言 D.與其他語言比運(yùn)算效率高9.高級(jí)語言的翻譯程序是下列哪兩種類型。( )A.編譯程序和解釋程序 B.編輯程序和解釋程序 C.編譯程序和編輯程序 D.編譯程序和注釋程序10.下列哪個(gè)選項(xiàng)不屬于計(jì)算機(jī)程序設(shè)計(jì)高級(jí)語言。( )A.Python B.C C.VB D.匯編語言11.計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展所經(jīng)歷的主要階段依次為下列哪個(gè)選項(xiàng)。( )A.機(jī)器語言、匯編語言和高級(jí)語言 B.匯編語言、機(jī)器語言和高級(jí)語言C.高級(jí)語言、匯編語言和機(jī)器語言 D.機(jī)器語言、高級(jí)語言和匯編語言12.如圖所示,當(dāng)學(xué)生申請(qǐng)注冊(cè)新社團(tuán)時(shí),系統(tǒng)需要查詢數(shù)據(jù)庫,驗(yàn)證是否存在相同的社團(tuán)名。如果存在相同社團(tuán)名,則提示“社團(tuán)名已存在”,反之則注冊(cè)成功。根據(jù)上述需求,以下流程圖中①②應(yīng)填寫的內(nèi)容是( )A.①Y;②N B.①Y;②Y C.①N;②N D.①N;②Y13.某算法的部分流程圖如圖所示,已知a=[1,0,2,-1,3],執(zhí)行這部分程序,則輸出的s值為( )A.27 B.108 C.147 D.43614.某算法的部分流程圖如圖所示。執(zhí)行這部分流程,若輸入a的值為13,則輸出c的值是( ) A.1 B.2 C.3 D.415.某算法的部分流程圖如圖所示,執(zhí)行流程圖后,若輸入y的值依次為5,1,3,4,6,0,則輸出c的值是( )A.3 B.4 C.5 D.616.閱讀如描述的算法,當(dāng)輸入x的值為0時(shí),輸出結(jié)果為( )A.1,0,0 B.0,0,0 C.1,1,1 D.0,0,117.下列算法描述了用戶登錄個(gè)人電子郵箱的過程,使用的算法描述工具是( )A.偽代碼 B.流程圖 C.自然語言 D.思維導(dǎo)圖18.根據(jù)解決某一問題或完成某一任務(wù)的具體步驟,將一條條指令進(jìn)行有序排列,這一指令序列稱為( )A.操作碼 B.操作數(shù) C.軟件 D.程序19.某景區(qū)根據(jù)游客年齡出售門票,年齡小于18歲的收取50元,大于等于18歲且小于65歲的收取100元,65歲及以上免費(fèi)。門票價(jià)格的計(jì)算流程圖如圖所示,圖中①處的正確選項(xiàng)是( ) A.a(chǎn)ge<65 B.a(chǎn)ge<=65 C.a(chǎn)ge>65 D.a(chǎn)ge>=6520.在程序設(shè)計(jì)中使用枚舉算法查找1000以內(nèi)的所有素?cái)?shù)時(shí),通常采用的算法結(jié)構(gòu)是( )A.遞歸結(jié)構(gòu) B.選擇結(jié)構(gòu) C.順序結(jié)構(gòu) D.循環(huán)結(jié)構(gòu)二、填空題21.程序設(shè)計(jì)語言包括機(jī)器語言、匯編語言和 。22.程序分析題(2小題本小題7分,滿分15分)閱讀下列流程圖,寫出結(jié)果當(dāng)輸入x=1時(shí),輸出n的值是23.計(jì)算機(jī)中,一個(gè)字節(jié)由 位二進(jìn)制位組成。24.以下是求解2個(gè)正整數(shù)a,b的最小公倍數(shù)的算法自然語言描述,請(qǐng)?jiān)诶ㄌ?hào)內(nèi)填寫正確的數(shù)字。第1步:輸入正整數(shù)a和b;第2步:如果a第3步:n=1;第4步:a=a*n;第5步:如果a不能整除b,則n=n+1,跳到第( )步;第6步:輸出結(jié)果a。25.( )是對(duì)解題過程的精確描述,且需要使用自然語言或者流程圖或者偽代碼將其表示出來。三、判斷題26.C語言是面向?qū)ο蟮母呒?jí)語言,廣泛應(yīng)用于底層開發(fā)。( )27.小程在編寫程序解決“雞兔同籠”問題后,總結(jié)出計(jì)算機(jī)解決問題的過程分為分析問題-設(shè)計(jì)算法-編寫程序-調(diào)試運(yùn)行程序等步驟。 ( )28.算法有至少有一個(gè)輸入,不一定有輸出。 ( )29.需求分析之后、程序設(shè)計(jì)之前,需要對(duì)系統(tǒng)進(jìn)行總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。總體設(shè)計(jì)就是在需求分析的基礎(chǔ)上對(duì)模型細(xì)化、分解任務(wù),明確程序由哪些模塊組成。 ( )30.用自然語言來描述算法,比用流程圖來描述算法更清晰、簡(jiǎn)潔。( )四、操作題31.某算法的描述如下圖所示:回答以下問題:(1)該算法采用的控制結(jié)構(gòu)不包含的是 (單選,填字母)A.順序結(jié)構(gòu) B.選擇結(jié)構(gòu) C.循環(huán)結(jié)構(gòu) D.樹型結(jié)構(gòu)(2)描述該算法的方式是(3)輸入a,b的值分別為57,18,輸出的值是(4)圖形框可以根據(jù)運(yùn)算結(jié)果選擇不同的處理,這時(shí)就需要應(yīng)用算法的 要素來執(zhí)行不同的操作A.?dāng)?shù)據(jù) B.運(yùn)算 C.控制轉(zhuǎn)移(5)該算法實(shí)現(xiàn)的功能是32.某算法的部分流程圖如圖所示,請(qǐng)回答以下問題:(1)該流程圖中,包含了 個(gè)處理框。(2)由流程圖分析,此算法的控制結(jié)構(gòu)屬于(選填字母:A.分支結(jié)構(gòu) B.循環(huán)結(jié)構(gòu))(3)若輸入7869,步驟 t←t*3 執(zhí)行了 次,輸出的s值為33.張明要完成一個(gè)x周存錢計(jì)劃,第1周存入1元,第2周存入2元……第i周存入i元,以此類推。他準(zhǔn)備編寫一個(gè)程序來計(jì)算x周后總共存了多少錢。解決該問題的算法如下:第一步:定義3個(gè)整型變量,x表示總的周數(shù),sum表示存入的總金額,i表示第幾周;第二步:輸入x的值;第三步:給sum和i賦初值,sum=0,i=1;第四步:若i的值小于等于x,則執(zhí)行第五步,否則執(zhí)行第六步;第五步:將第i周要存入的金額累加到sum中,同時(shí)將i的值加1,重復(fù)執(zhí)行第四步;第六步:輸出sum的值。(1)請(qǐng)幫助張明將流程圖中的①,②補(bǔ)全。①②(2)輸入的x的值為10,請(qǐng)問輸出結(jié)果為多少?34.交通信號(hào)燈是國際通用的道路交通信號(hào)設(shè)施。我們可以用計(jì)算機(jī)程序模擬控制紅綠燈的變化過程。現(xiàn)在需要在交通信號(hào)燈下方增加一個(gè)15s的“倒計(jì)時(shí)器”,提示過往的行人和車輛。請(qǐng)分析問題,思考如何描述“倒計(jì)時(shí)15s”的算法。(1)常用描述算法的方法有 、流程圖和偽代碼等。(2)以下分別使用流程圖、偽代碼描述該算法,請(qǐng)將其補(bǔ)充完整。用流程圖描述該算法如下:用偽代碼描述該算法如下:t←15 ③t≥1 output t sleep 1s clear t←t-1 end while①處應(yīng)該填寫 ;②處應(yīng)該填寫 ;③處應(yīng)該填寫 。35.信息的加密一直是一種保障信息安全的手段,其中最簡(jiǎn)單的一種加密方法就是采用密鑰加密。 如下是對(duì)小寫字母利用密鑰加密的基本算法:①輸入密鑰 a(0(1)如果密鑰為3,那么采用該算法對(duì)字符串‘a(chǎn)xz’加密后的密文應(yīng)該是 ;同樣,采用該算法獲得密文為‘happy’,密鑰為5,則加密前的原文是 。(2)如果要將此算法改為對(duì)應(yīng)的解密算法,僅需改動(dòng)第 步(僅1個(gè)步驟,不考慮原算法其它步驟中“加密”字樣的修改),改為: 。五、簡(jiǎn)答題36.簡(jiǎn)述C 語言的特點(diǎn)37.簡(jiǎn)單的敘述計(jì)算機(jī)解決問題的過程?參考答案1.A2.B3.C4.A5.C6.C7.B8.ABD9.A10.D11.A12.A13.B14.C15.A16.D17.C18.D19.D20.D21.高級(jí)語言22.323.824.425.算法26.錯(cuò)誤27.對(duì)28.錯(cuò)29.對(duì)30.錯(cuò)31.D 流程圖 3 C 求兩個(gè)正整數(shù)的最大公約數(shù)或其他適合答案32.4 B 2 6433.False i=i+1 或 i+=1 5534.自然語言 t≥1? 結(jié)束 while35.dac cvkkt ④ 按字母表順序用字母c前面第a個(gè)字母代替字母c;如果字母c前面第a個(gè)字母超出了“a”,則返回“z”后再按次序前移36.(1)語言簡(jiǎn)潔、緊湊,使用方便、靈活(2)運(yùn)算符豐富(3)數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)(4)具有結(jié)構(gòu)化的控制語句(5)語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大(6)C語言能進(jìn)行位操作,能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對(duì)硬件進(jìn)行操作(7)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高(8)程序可移植形好(跟匯編語言比)37.計(jì)算機(jī)通過編寫程序解決問題。過程主要是分析問題、設(shè)計(jì)算法、編寫程序、調(diào)試運(yùn)行程序等若干個(gè)步驟。分析問題:在利用計(jì)算機(jī)解決問題之前,我們首先要分析問題的需求情況、已知條件和需要解決的問題。設(shè)計(jì)算法:?jiǎn)栴}分析清楚后,需要給出解決問題的詳細(xì)方法和步驟,這一過程稱為設(shè)計(jì)算法。編寫程序:有了清晰可操作的算法描述,就可以選擇一種計(jì)算機(jī)語言工具來編寫程序,實(shí)現(xiàn)算法。調(diào)試運(yùn)行程序:程序編寫完成以后,再通過鍵盤把程序輸入計(jì)算機(jī)中運(yùn)行,檢查程序能否按預(yù)想的效果執(zhí)行,這一過程稱為程序的調(diào)試運(yùn)行。 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫