資源簡介 第三單元 算法和程序設(shè)計 單元檢測一、選擇題1.已知正方形的邊長為a,其中有一個內(nèi)切圓,圓內(nèi)小正方形的邊長為a/2。下列流程圖執(zhí)行后的輸出結(jié)果為( )。A.圓外四角面積之和B.內(nèi)切圓面積C.小正方形面積D.陰影部分面積2.某算法部分流程圖如圖所示。執(zhí)行這部分流程,輸入x、y的值分別為60,27,則輸出m的值是( )A.3 B.87 C.120 D.5403.某算法的部分流程圖如下圖所示,執(zhí)行這部分流程,若輸入i的值為序列[2, 3, 4, 5]中的隨機數(shù),則下列說法正確的是( )A.變量c的最大值為11 B.“a>0 ”至少執(zhí)行5次C.程序結(jié)束時變量a一定等于0 D.只能使用while語句實現(xiàn)該循環(huán)結(jié)構(gòu)4.為了防止他人登錄自己的郵箱,每個郵箱都需要設(shè)置密碼。以下密碼最為安全的是( )A.ABCDEF B.a(chǎn)&b_12xyC.Anywhere D.200112015.有VB程序段如下:s1 = Text1.Texts2 = ""For i = 1 To Len(s1) c = Mid(s1, i, 1) If c >= "0" And c <= "9" Then c = Chr((Asc(c) - Asc("0") + 1) Mod 10 + Asc("0")) s2 = s2 + c ElseIf c >= "A" And c <= "Z" Then c = Chr(Asc(c) + 32) s2 = c + s2 End IfNext iText2.Text = s2執(zhí)行該程序段,在文本框Text1中輸入“GoLand,19”,則文本框Text2中顯示的內(nèi)容為( )A.lg20 B.lg210 C.210,dnalog D.210,goland6.要設(shè)置可靠的三葉草登錄密碼。以下最適合的選項是( )A.12345678 B.20191909 C.ASDFGH D.G1_ 19#Wxm7.算法的空間復(fù)雜度是指( )。A.算法程序的長度 B.算法程序中的指令條數(shù)C.算法程序所占的存儲空間 D.算法執(zhí)行過程中所需要的存儲空間8.下圖是把華氏溫度轉(zhuǎn)換為攝氏溫度的算法,這種描述算法的方式是( )A.自然語言 B.流程圖C.偽代碼 D.高級語言9.關(guān)于三種基本結(jié)構(gòu)的流程圖,下列選擇正確的是()A.一是順序結(jié)構(gòu)、二是分支結(jié)構(gòu)、三是循環(huán)結(jié)構(gòu)B.一是順序結(jié)構(gòu)、二是循環(huán)結(jié)構(gòu)、三是分支結(jié)構(gòu)C.一是分支結(jié)構(gòu)、二是順序結(jié)構(gòu)、三是循環(huán)結(jié)構(gòu)D.一是循環(huán)結(jié)構(gòu)、二是分支結(jié)構(gòu)、三是順序結(jié)構(gòu)10.以下三斜求積術(shù)中正確順序是( )①用公式計算面積 ②輸出三角形面積s③計算 ④輸入邊長a、b、cA.④③①② B.①③②④ C.④①③② D.①②③④11.下列流程圖中不包含循環(huán)結(jié)構(gòu)的是( )。A. B.C. D.12.下列關(guān)于算法特征的敘述,正確的是( )A.算法所包含的步驟可以是無窮的 B.算法每一步驟必須確切地定義C.一個算法可以沒有輸出 D.算法只能用Visual Basic來實現(xiàn)13.以下流程圖描述的算法執(zhí)行結(jié)果是( )A.50B.FalseC.TrueD.30<5014.有27個砝碼,外觀一模一樣,其中有一個異常砝碼重0.95g,其他砝碼重1g。有一個只能分清輕重的天平,請問最少需要使用( )次天平能找出那個重0.95g的砝碼。A.2 B.3 C.4 D.515.如下左圖和右圖所示,是求絕對值的算法,其描述方式分別是A.自然語言、流程圖 B.偽代碼、流程圖C.自然語言、偽代碼 D.流程圖、自然語言二、填空題16.完善程序。求出100以內(nèi)滿足afor a in range(1,101) for b in range :for c in range(1,101): if : print(a," ",b,"",c)17.閱讀下列程序,寫出運行結(jié)果a,b = 1,1 n = int(input("請輸入一個大于等于3的正整數(shù)n:")) for i in range(n-2): c = a + b a = b b = c print(c) 程序運行后,輸入:6運行輸出結(jié)果是:18.以下流程圖中,輸出結(jié)果 。19.下圖所示的算法流程圖:執(zhí)行情況如下:當(dāng)輸入a、b的值分別為3、8時,輸出結(jié)果為5當(dāng)輸入a、b的值分別為11、7時,輸出結(jié)果為4問題一:下列流程圖填入虛線框中,符合條件的是 。A B C問題二:依據(jù)問題一所選流程圖,當(dāng)輸入a、b的值分別為9、6時,輸出結(jié)果為 。20.算法的常用表示方法有3種: 、 、 。三、判斷題21.衡量算法的優(yōu)劣往往從時間復(fù)雜度和空間復(fù)雜度兩個維度考慮。( )22.程序?qū)嶋H上是一組機器操作的指令或語句的序列,程序有三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。( )23.調(diào)用函數(shù)的方式十分靈活,可以單獨調(diào)用也可以讓其返回值參與表達式運算。( )24.任何一個算法必須包含順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。( )25.千言萬語不如一張圖。以特定的圖形符號加上說明,表示算法(有限的步驟去解決問題)的圖,稱為流程圖或框圖。 (判斷對錯)四、操作題26.如果一個正整數(shù)從左到右讀與從右到左讀是一樣的,就稱它為回文式數(shù)(簡稱回數(shù)),如圖321?!盎財?shù)猜想”的主要思想是,對任意正整數(shù),若它不是回數(shù),則按下列算法即可獲得一個回數(shù):(1)把該整數(shù)的數(shù)字順序顛倒,求得該數(shù)的逆序數(shù);(2)將該整數(shù)和其對應(yīng)的逆序數(shù)相加;(3)若相加結(jié)果不是回數(shù),則將結(jié)果作為新的整數(shù),返回步驟(1)。小林按照上述算法,設(shè)計了驗證回數(shù)猜想的VB程序(猜想次數(shù)不超過10次),程序功能如下:在文本框Text1中輸入一個正整數(shù),單擊“驗證”按鈕(Command1),獲取文本框Text1中的數(shù),當(dāng)該數(shù)不是回數(shù)時,采用回數(shù)猜想的方法進行驗證,并在列表框List1中輸出每次驗證的過程,若驗證成功或驗證次數(shù)超過10次,則停止驗證,最后在列表框List1中輸出驗證結(jié)果。程序運行效果如圖所示。實現(xiàn)上述功能的VB程序如下:Private Sub Command1_Click() Dim t As String, a As Long, b As Long Dim count As Integer ' count用于存儲回數(shù)猜想的驗證次數(shù) t = Text1.Text count = 1 Do While Check(t) = False And count <= 10 a = Val(t) ① c = a + b List1.AddItem Str(a) & " +" & Str(b) & " =" & Str(c) count = count + 1 t = c Loop If Check(t) Then List1.AddItem "驗證成功!" Else List1.AddItem "10次內(nèi)未驗證成功!" End IfEnd Sub' 自定義函數(shù)TurnFunction Turn(x As String) As Long Dim s As String, i As Integer s = "" For i = Len(x) To 1 Step -1 s = s & Mid(x, i, 1) Next i Turn = ②End Function' 自定義函數(shù)Check,檢查x是否為回文數(shù)Function Check(x As String) As Boolean Dim i As Integer Check = True For i = 1 To Len(x) \ 2 Step 1 If Mid(x, i, 1) <> ③ Then Check = False mid(x,len(x)+1-i,1) Next iEnd Function(1)程序代碼中,自定義函數(shù)Turn(x)的功能是(2)請在劃線處填入合適代碼。27.收集2020年度中國主要城市交通運行數(shù)據(jù),并記錄在Excel表格中,部分界面如圖1所示圖1請回答下列問題:(1)如圖1所示的數(shù)據(jù),其結(jié)構(gòu)嚴格遵循一定的數(shù)據(jù)格式與長度規(guī)范,該數(shù)據(jù)的結(jié)構(gòu)類型屬于 (單選,填字母:A.結(jié)構(gòu)化數(shù)據(jù)B.半結(jié)構(gòu)化數(shù)據(jù)C.非結(jié)構(gòu)化數(shù)據(jù))(2)為統(tǒng)計各省份的交通數(shù)據(jù)情況,選中J3單元格輸入公式,然后利用自動填充完成J3:K33的數(shù)據(jù)計算,請修改J3單元格中的計算公式 。(提示:AVERAGEIF函數(shù)用于對一定區(qū)域中滿足指定條件的單元格求平均值。如:=AVERAGEIF(B3:B52, 13,E3:E52)表示計算B3:B52區(qū)域中廣東“交通健康指數(shù)”的平均分)(3)將I列、J列計算好的數(shù)據(jù)復(fù)制并粘貼到新的Excel表格cs.xls中,再利用python 程序的matplotlib模塊,建立如圖2所示的圖表,請在劃線①和②處填入合適的代碼。① ② 圖2import pandas as pdimport matplotlib. pyplot as pltcs=pd. read_excel ("cs. xls")cs. plot. ① (x='省份',y='交通健康指數(shù)', color='red')② #將縱坐標(biāo)的范圍更改為[0.3, 0.8]plt. show()28.歸并排序是建立在歸并操作上的一種有效、穩(wěn)定的排序算法。其思想是將已有序的子序列合并,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為二路歸并。小明通過代碼模擬了二路歸并的算法,代碼如下:import randoma=[]b=[]for i in range(1000): a.append(random.randint(1,1000))for i in range(1000): b.append(random. randint(1,1000))a.sort()b.sort()#隨機產(chǎn)生兩個升序排序的整數(shù)數(shù)組a和數(shù)組b,分別包含1000個元素c=[0]*2000i=j=k=0while ①: if ②: c[k]=a[i] i+=1 else: ③ j+=1 k+=1while i c[k]=a[i] i+=1 k+=1while j c[k]=b[j] j+=1 k+=1for i in range(k): print(c[i],end=' ')29.輸入一段長度為n的英文字母,對其進行某種加密方法,描述如下:(1)將原文轉(zhuǎn)換為若干行m列(m為奇數(shù))的矩陣,最后一行若不足m個數(shù)據(jù)則以“#”填充。(2)將矩陣中的數(shù)據(jù),從末行末列數(shù)據(jù)開始以回路的方式提取字符。按順序生成加密字符。例如對字符“helloworld”,m=3的加密過程如下圖,其加密結(jié)果為“#lwleor#dolh”程序窗口界面如圖:請回答下列問題:(1)字符串“helloworld""”經(jīng)過加密后密文為“dollrleowh,則加密矩陣列數(shù)m為 。(2)上述加密算法對應(yīng)解密的VB程序代碼如下,請在劃線處填入合適的代碼。Private Sub commandl_click() Dim a As String, n As Integer, yw As String Dim i As Integer, j As Integer Dim index As Integer, k As Integer, x As Integer s= Text1.ext'文本框text中為待解密的字符串 m =Val(Text2.Text) n = Len(s) yw=″″ k=0 x=n/m For i= 1 To index=n-i+1 yw = yw+ Mid(s, index, 1) Forj=2 To m If Then index = index-2*(x-i)-1Else index = index-2*(i-1)-1 End If If Mid(s, index, 1) = "#" Then yw = yw+ Mid(s,index, 1) Next jNext iLabel1. Caption = Mid(yw, 1, Len(yw) - k)End Sub30.調(diào)試程序。請閱讀以下程序并寫出運行結(jié)果。#ex16.pyi=0sum=0while i<10: if i%3==0: sum+=i print(i) i=i+1print('sum',sum)五、簡答題31.思考高樓的自動電梯在運行時需要考慮哪些方面(例如方便乘客,節(jié)約能源等),請為自動電梯設(shè)計一個適宜的算法。32.?dāng)?shù)據(jù)應(yīng)用既為我們帶來便利,同時也存在許多安全隱患,如未經(jīng)許可數(shù)據(jù)被復(fù)制、篡改、暴露或破壞等,因此平時使用過程中采取相應(yīng)的策略,進行數(shù)據(jù)保護,如設(shè)置安全密碼和驗證碼等方法來對數(shù)據(jù)進行加密。結(jié)合學(xué)過的知識,請說明如何設(shè)置安全密碼。33.用計算機解決實際問題的過程中,需要進行算法設(shè)計,請問什么是算法?參考答案:1.D2.D3.B4.B5.A6.D7.D8.B9.A10.A11.D12.B13.C14.B15.A16.(1,101) a*a==b*b+c*c17.818.10719.C 320.流程圖 自然語言 偽代碼21.正確22.正確23.正確24.錯誤25.正確26.(1)求x的逆序數(shù)(2)①b=turn(t) ②Val(s) ③ mid(x,len(x)+1-i,1)27.A=AVERAGEIF($B$3:$B$52,$ I3,E$3:E$52) bar plt.ylim(0.3, 0.8)28.i29.5 x j mod 2=0 k=k+130.031.自動電梯能實現(xiàn)自動升降,主要是它安裝了微型電腦控制器。微型電腦控制器主要任務(wù)如下:A.要讓乘客方便,盡可能減少等待。B.要節(jié)約能源,盡可能減少空開里程和往返次數(shù)。我們可以從上述兩個方向思考,設(shè)計適宜的算法。一個參考算法如下:① 乘客進入電梯房,按目標(biāo)樓層鍵并關(guān)門啟動運行;② 控制器根據(jù)事先存儲在電腦中的指標(biāo)判斷人員是否超載?若超載發(fā)出提示信息,下去若干人,返回第①步;若未超載,執(zhí)行下一步;③關(guān)閉電梯門,根據(jù)目標(biāo)樓層鍵判斷上升或下降;④ 隨時判斷是否有人按下同方向的請求鍵。若是,則運行到該層停下,開門上下人,并按鍵啟動;若沒有新的請求,則到達既定目標(biāo)層后,停止;⑤接受新的請求,轉(zhuǎn)而執(zhí)行①;否則,停止。32.一、設(shè)置密碼長度不能太少二、密碼同時包含字母大小寫、數(shù)字及特殊字符33.算法是指在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執(zhí)行的動作或指令的有窮集合。 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫