資源簡介 第4單元 計(jì)算與問題解決一、選擇題1.觀察流程圖,下列關(guān)于算法特征表述錯(cuò)誤的是( )A.算法可以沒有數(shù)據(jù)輸入B.算法必須至少有一個(gè)輸出C.該流程圖符合算法的有窮性特征D.該流程圖中s=s+1體現(xiàn)了算法的確定性2.下面選項(xiàng)中,流程圖符號(hào)意思表達(dá)錯(cuò)誤的是( )A.B.C.D.3.算法是指在有限的步驟內(nèi)解決某一問題的確切過程。以下關(guān)于算法的描述中,錯(cuò)的是( )A.算法必須有輸入,也必須有輸出,而且可以有多個(gè)輸入輸出B.任何復(fù)雜的算法最終都可以用順序、分支、循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)C.《九章算術(shù)》中用“更相減損術(shù)”求最大公約數(shù)的記載屬于算法的自然語言描述D.同一問題選用不同的算法執(zhí)行效率可能會(huì)有很大差別4.下列關(guān)于算法描述,錯(cuò)誤的是( )。A.算法必須在有限的步驟內(nèi)執(zhí)行完畢 B.算法可以被描述但無法實(shí)現(xiàn)C.算法可以沒有輸入但必須有輸出 D.算法是解決問題所需步驟的序列5.下面關(guān)于算法的描述,正確的是 ( )A.一般的算法只能用一種方式來描述B.一個(gè)算法必須保證它的執(zhí)行步驟是有限的C.算法的流程圖中可以沒有輸出,但只能有一個(gè)輸入D.可行性不屬于算法的基本特征6.某算法的流程圖如圖所示。執(zhí)行該部分流程時(shí),依次輸入5、2、1、-35、20、0,則下列說法不正確的是( )A.a(chǎn) <> 0執(zhí)行了5次 B.s = s * x + a語句執(zhí)行了4次C.輸出s的值是20 D.流程執(zhí)行結(jié)束時(shí)x的值為57.某算法的部分流程圖如圖所示,執(zhí)行這部分流程,下列說法正確的是 ( )A.其中語句 i<=5 共執(zhí)行了 6 次B.程序結(jié)束后s 值可能為 3C.流程執(zhí)行結(jié)束后k 值一定為 1D.流程執(zhí)行過程中共產(chǎn)生 5 個(gè) t 值,t 值取值為 1 或 28.下列選項(xiàng)中,關(guān)于算法的描述正確的是( )A.算法就是一種高級(jí)程序設(shè)計(jì)語言 B.算法必須在有限步驟內(nèi)實(shí)現(xiàn)C.算法可以有零個(gè)或多個(gè)輸入,但只能有一個(gè)輸出 D.算法只能用自然語言描述二、簡答題9.如圖所示的流程圖,請(qǐng)根據(jù)要求回答以下問題(1)常見的算法描述主要有三種,本算法描述是什么?(2)本算法的程序結(jié)構(gòu)是什么?(3)本算法程序的輸出結(jié)果是多少?(4)用計(jì)算機(jī)程序解決問題的步驟是:(請(qǐng)空白處補(bǔ)充完整)分析問題→設(shè)計(jì)算法→ →調(diào)試運(yùn)行→檢測結(jié)果。(5)上述步驟哪-步驟是核心?10.思考高樓的自動(dòng)電梯在運(yùn)行時(shí)需要考慮哪些方面(例如方便乘客,節(jié)約能源等),請(qǐng)為自動(dòng)電梯設(shè)計(jì)一個(gè)適宜的算法。三、操作題11.用 VB 編寫的英文單詞字頻統(tǒng)計(jì)程序如圖所示,在文本框 Text1 中輸入文章,單擊“統(tǒng)計(jì)” 按鈕 Command1, 在列表框 List1 輸出單詞與頻次,在標(biāo)簽 Label2 中輸出頻次最高的單詞, 如頻次最高的單詞有多個(gè),則輸出時(shí)用逗號(hào)分隔。算法如下:(1)將文本框 Text1 中的文章保存到字符串變量 s 中。(2)從左往右掃描字符串 s,用字符串 word 存儲(chǔ)文章中依次出現(xiàn)的單詞,將新出現(xiàn)的單詞自動(dòng) 加入單詞隊(duì)列 dic(i)中,單詞出現(xiàn)的頻次記錄到對(duì)應(yīng)的 num(i)中。如下方法掃描:①從左往右掃描,當(dāng)掃描到第 i 個(gè)字符時(shí),如果是字母,繼續(xù)掃描,否則,跳轉(zhuǎn)到②,直 至掃描結(jié)束;②將 b 到 i-1 組成一個(gè)單詞 word,查詢單詞字典 dic 判斷是否存在,如果不存在,將新 單詞插入單詞字字典尾部 dic(k),并且記錄單詞頻次 num(k)為 1,如果 dic 字典中存在單詞 word,那么該單詞對(duì)應(yīng)頻次增加 1,再跳轉(zhuǎn)到①。(2)在列表框 List1 中依次輸出單詞與頻次,在標(biāo)簽 Label2 中輸出頻次最高的單詞。 實(shí)現(xiàn)上述功能的 VB 程序如下,請(qǐng)?jiān)趧澗€處填入合適的代碼。Private Sub Command1_Click()Dim dic(1 To 10000) As String '存儲(chǔ)自建單詞字典Dim num(1 To 10000) As Integer '存儲(chǔ)單詞出現(xiàn)的頻率Dim word As String, c As String, s As String, slen As IntegerDim i As Integer, j As Integer, di As Integer, k As IntegerDim nummax As Integer '記錄最高的單詞頻率Dim result As String '存儲(chǔ)出現(xiàn)頻率最高的單詞串s = Text1.Text: slen = Len(s)j = 0 '存儲(chǔ)每個(gè)單詞的長度k = 1 'k-1 為當(dāng)前單詞字典長度nummax = 0For i = 1 To 10000 '初始化單詞字典頻次num(i) = 0Next i i = 1Do While i <= slen_________If c >= "a" And c <= "z" Or c >= "A" And c <= "Z" Then j = j + 1ElseIf j <> 0 Thenword = LCase(Mid(s, i - j, j)) 'LCase()函數(shù)功能:單詞統(tǒng)一為小寫di = 1Do While word <> dic(di) And di < k di = di + 1LoopIf di = k Then '單詞字典插入新單詞dic(k) = word num(k) = 1__________ Else__________ End If'單詞在單詞字典中已存在,對(duì)應(yīng)頻次加 1If num(di) > nummax Then nummax = num(di)j = 0End IfEnd Ifi = i + 1Loopresult = ""For j = 1 To k - 1List1.AddItem dic(j) + "" + Str(num(j))If __________ThenIf result = "" Thenresult = result + dic(j) Elseresult = result + "," + dic(j) '如出現(xiàn)頻率最高的單詞有多個(gè),則用逗號(hào)分隔 End IfEnd IfNext jLabel2.Caption = "出現(xiàn)頻率最高的單詞是:" + resultEnd Sub(2)根據(jù)本題算法如圖所示,若在 Text1 中將文章最后一行“so you must know how to use it.” 改為“so you must know how to use it3.”,單詞統(tǒng)計(jì)結(jié)果_____(選填:會(huì)/不會(huì))產(chǎn)生變化。四、判斷題12.算法就是用計(jì)算機(jī)求解某一問題的方法,是能被機(jī)械地執(zhí)行的動(dòng)作或指令的無窮集合。(_______)13.遞歸的邊界條件要素,是為了保證遞歸能在有限次的計(jì)算后得出結(jié)果,而不會(huì)產(chǎn)生無限循環(huán)的情況。 (______)14.迭代算法與遞歸算法都需要重復(fù)執(zhí)行某些代碼,兩者基本相同。 (______)15.一個(gè)算法可以用多種程序設(shè)計(jì)語言來實(shí)現(xiàn)。(___)16.算法有至少有一個(gè)輸入,不一定有輸出。 (____)17.實(shí)時(shí)獲得鼠標(biāo)的狀態(tài)并對(duì)鼠標(biāo)單擊做出正確的響應(yīng),只有不斷地進(jìn)行監(jiān)聽、更新游戲狀態(tài)、重繪屏幕三個(gè)步驟的操作。 (____)五、填空題18.寫出算法執(zhí)行結(jié)果19.流程圖是用輾轉(zhuǎn)相除的方法求輸入的兩個(gè)自然數(shù)的最大公約數(shù)算法。例如輸入6、4,用6/4余2,4/2余0,則6和4的最大公約數(shù)是2。流程圖中劃線處部分應(yīng)填__________。20.在數(shù)學(xué)與計(jì)算機(jī)領(lǐng)域中,遞歸函數(shù)是指用________定義該函數(shù)的方法。21.遞增數(shù)列用二分法查找時(shí),先以________位置的元素作為比較對(duì)象,如果要找的元素值小于該中點(diǎn)元素,則將待查序列________為左半部分,否則為右半部分。每一次比較后都可以將查找區(qū)間縮小一半。22.如題圖所示的流程圖,請(qǐng)根據(jù)要求回答以下問題(1)本算法描述的程序結(jié)構(gòu)是什么?(2)x≥0的VB表達(dá)式其正確寫法應(yīng)該是什么?(3)根據(jù)圖示本算法程序的輸出結(jié)果是多少?(4)3x-2→y在VB中稱為_______________語句。(5)用計(jì)算機(jī)程序解決問題的五個(gè)步驟中,哪一步是核心?23.素?cái)?shù)的定義是:大于1的自然數(shù)中,除了能被1和它本身整除以下,沒有別的因子的數(shù)。以下算法用于判斷一個(gè)數(shù)是否為素?cái)?shù),根據(jù)算法描述,回答問題。①輸入一個(gè)數(shù)n(n>2)②i=2③n能被i整除嗎?若能,輸出“不是素?cái)?shù)”,程序結(jié)束;若不能,i=i+1;④判斷i>嗎?若是,輸出 a ;若不是,轉(zhuǎn)為執(zhí)行步驟③。(1)“n能被i整除”用VB表達(dá)式表示為_______;(2)a處應(yīng)填入_______。試卷第1頁,共3頁試卷第1頁,共3頁參考答案1.C2.D3.A4.B5.B6.C7.B8.B9.(1)流程圖(2)循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu)(選擇結(jié)構(gòu))(3)72(4)編寫程序(5)設(shè)計(jì)算法10.自動(dòng)電梯能實(shí)現(xiàn)自動(dòng)升降,主要是它安裝了微型電腦控制器。微型電腦控制器主要任務(wù)如下:A.要讓乘客方便,盡可能減少等待。B.要節(jié)約能源,盡可能減少空開里程和往返次數(shù)。我們可以從上述兩個(gè)方向思考,設(shè)計(jì)適宜的算法。一個(gè)參考算法如下:① 乘客進(jìn)入電梯房,按目標(biāo)樓層鍵并關(guān)門啟動(dòng)運(yùn)行;② 控制器根據(jù)事先存儲(chǔ)在電腦中的指標(biāo)判斷人員是否超載?若超載發(fā)出提示信息,下去若干人,返回第①步;若未超載,執(zhí)行下一步;③關(guān)閉電梯門,根據(jù)目標(biāo)樓層鍵判斷上升或下降;④ 隨時(shí)判斷是否有人按下同方向的請(qǐng)求鍵。若是,則運(yùn)行到該層停下,開門上下人,并按鍵啟動(dòng);若沒有新的請(qǐng)求,則到達(dá)既定目標(biāo)層后,停止;⑤接受新的請(qǐng)求,轉(zhuǎn)而執(zhí)行①;否則,停止。11.c= Mid(s, i, 1) k=k+1 num(di)=num(di)+1 num(j)==nummax 不會(huì)12.錯(cuò)13.對(duì)14.錯(cuò)15.√16.錯(cuò)17.對(duì)18.5 319.r=0 20.函數(shù)自身21.中點(diǎn) 縮小22.(1)選擇結(jié)構(gòu)(2)x>=0(3)-5(4)賦值(5)設(shè)計(jì)算法23.n mod i=0 是素?cái)?shù)答案第1頁,共2頁 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫