資源簡介
2023-2024學年浙江省寧波市余姚重點中學高二(上)月考信息技術試卷
一、選擇題:本大題共12小題,共24分。
1.下列關于數據、信息與知識的說法,正確的是( ?。?br/>A. 數據是對信息加工后獲取到的 B. 知識表現為一種卓越的判斷力
C. 傳感器的普及加速了數據的傳輸與處理 D. 信息是用來消除隨機不確定性的東西
2.下列關于人工智能的說法,不正確的是( ?。?br/>A. ChatGPT是使用海量數據訓練出來的實現“人機對話”系統,這屬于符號主義人工智能
B. 在購物時智能客服和人工客服一起合作來回答顧客的問題,這是混合增強智能的一種應用
C. 家用掃地機器人可以自動完成清掃工作,說明人工智能可以改善人類的生活
D. 人工智能技術的發展提高社會生產力、促進經濟發展,但不能解決所有問題
3.杭州亞運會吉祥物組合“江南憶”如圖所示,這是一副未經壓縮的1100*1024 像素的 BMP 圖像文件,其存儲容量約為1.07MB 則該圖像每個像素色彩編碼的位數為( )
A. 24
B. 16
C. 8
D. 4
4.下列關于數據與大數據的說法,不正確的是( ?。?br/>A. 大數據中各種結構化、半結構化和非結構化的數據共存
B. 大數據不必追求數據的精確性,不必保證每個數據都準確無誤
C. 大數據不一定強調事物的因果關系,而是更注重他們的相關性
D. 數據量大的一定是大數據,因為大數據的數據體量大
5.定義如下函數:
執行語句f(6),則f(3)被調用的次數為( ?。?br/>A. 1次 B. 2次 C. 3次 D. 4次
6.有如下Python程序段:
執行該程序段后,數組f中值為True的元素個數是( )
A. 1 B. 2 C. 3 D. 4
7.數組a已有9個數據,分別存儲于a[0]~a[8],需在第j個位置(1≤j≤9)插入數據k。利用Python語言編寫代碼,模擬數據插入過程,可選代碼如下:
①a[i]=k
②a[i-1]=k
③a[i+1]=a[i]
④a[i]=a[i-1]
⑤for i in range(j,9)
⑥for i in range(8,j-2,-1)
劃線處所需代碼依次為( )
A. ⑥③① B. ⑤③② C. ⑥④① D. ⑤③①
8.下列有關迭代算法和遞歸算法的描述,不正確的是( ?。?br/>A. 在使用遞歸算法時,必須有一個明確的遞歸結束條件,稱為遞歸出口
B. 一般來說,迭代算法效率較低,而遞歸算法效率較高
C. 遞歸中一定有迭代,但迭代中不一定有遞歸
D. 通常情況下,迭代算法和遞歸算法可以相互轉換
9.有如下程序段:
執行語句k=cal(5),k的值為( ?。?br/>A. 6 B. 7 C. 10 D. 11
10.若某算法的總執行次數T(N)=T(N/2)+1(N為大于2的正整數),令T(1)=1。則該算法的時間復雜度為( ?。?br/>A. O(N) B. O(log2N) C. O(Nlog2N) D. O(N2)
11.有如下程序段,則該程序段的時間復雜度為( ?。?br/>A. O(log2N) B. O(N) C. O(Nlog2N) D. O(N2)
12.有如下Python程序:
若輸入的s值為”8561324”,則執行該程序,輸出s的值不可能為( )
A. 51324 B. 124 C. 132 D. 1324
二、非選擇題:本大題共3小題,共26分。
13.有n(n>=3)級臺階,從底端向上爬到頂端,每次只能爬2級或者3級臺階,求從底端爬到頂端的方案數。
(1) 當n=5時,方案數為 ______ 。
(2) 用迭代法計算爬n級臺階的方案數,python程序如下:
則劃線處的代碼為 ______ 。該段代碼使用了 ______ (填:遞歸或迭代)算法。
14.分組冒泡排序。分別對數組a的奇數和偶數位置的元素進行冒泡排序,即采用“跳躍式冒泡”的方法,每次跳躍的步長為2,將數組分成2個子序列,分別對這2個子序列進行排序。例如,對數組a=[6,3,5,4,1,2,8,7]進行分組跳躍式升序冒泡排序,排序后的數組a=[1,2,5,3,6,4,8,7]。
(1) 對數組a=[4,5,2,9,6,7,10,3,8,1]進行分組跳躍式升序冒泡排序,則排序后的數組a= ______ 。
(2) 實現上述功能的Python程序如下,請在劃線處填入合適的代碼。
(3) 將分組跳躍式冒泡排序推廣到每次跳躍的步長為m的情形,例如對數組a=[6,3,5,4,1,2,8,7]進行分組跳躍式升序冒泡排序,當m=3時,排序后的數組a=[4,1,2,6,3,5,6,7]。
相關代碼如下,請在劃線處填入合適的代碼。
15.大部分社交軟件都有好友推薦的功能,當用戶A和用戶B的共同好友數量超過閥值p時,由系統向用戶A推薦用戶B。其中共同好友判定方法為:用戶A和用戶B不是好友,用戶C分別是用戶A和用戶B的好友,則共同好友數量加1。編寫Python程序,實現好友推薦功能。運行程序,首先從文件中讀取用戶id及好友列表后,處理后顯示用戶之間的關系;再輸入推薦目標用戶id和閾值p;最后顯示向目標用戶推薦的好友列表。
(1) 根據如圖所示數據,若輸入推薦目標用戶id為“1”,輸入閾值為“4”,則推薦好友為: ______ 。
(2) 主程序,讀取“數據.txt“文件,進行處理后顯示用戶關系二維表,再輸入推薦目標用戶id和閾值p,顯示向目標用戶推薦的好友列表,請在劃線處填入合適的代碼。
(3) 編寫整理數據函數zhengli,根據好友列表,生產關系二維表,請在劃線處填入合適的代碼。
(4) 編寫函數fenxi,根據輸入推薦目標用戶id和閾值p,顯示向目標用戶推薦的好友列表,請在劃線處填入合適的代碼。
答案和解析
1.【答案】D
【解析】解:信息,泛指人類社會傳播的一切內容,信息是加工了的數據;知識是人們運用大腦對所獲取或積累的信息進行的提煉、研究和分析的結果,能夠精確的反應事物的本質;智慧是為了達到預定目標而運用知識解決問題的創新思維能力;傳感器的普及加速了數據的采集;信息是用來消除隨機不確定性的東西,選項D符合題意。
故選:D。
本題考查數據、信息、知識、智慧的概念。數據經過加工,可表達某種意義,則轉變為信息;信息經過加工,可用于指導實踐,則轉變為知識;智慧是人類基于已有的知識,針對物質世界運動過程中產生的問題根據獲得的信息進行分析,對比,演繹找出解決方案的能力。
熟練掌握數據、信息與知識之間的關系。
2.【答案】A
【解析】解:ChatGPT可以被歸類為連接主義學派的代表。連接主義學派強調模擬人腦神經元之間的連接與通信,構建大規模的人工神經網絡。ChatGPT基于Transformer架構,通過自注意力機制在大規模語料庫上進行訓練,使其能夠理解和生成自然語言。連接主義學派的突出特點是其在處理自然語言理解和生成任務中表現出色,所以選項A說法錯誤。
故選:A。
本題考查的是人工智能的相關知識。人工智能主要分三大學派,分別是符號主義學派、連接主義學派和行為主義學派?!狈栔髁x是一種基于邏輯推理的智能模擬方法,又稱為邏輯主義、心理學派或計算機學派,聯結主義學派把人的智能歸結為人腦的高層活動,強調智能的產生是由大量簡單的單元通過復雜的相互聯結和并行運行的結果。行為主義,是一種基于“感知——行動”的行為智能模擬方法。
熟練掌握人工智能的分類及各自的應用。
3.【答案】C
【解析】解:根據圖像文件的容量公式得:1100*1024*顏色位數/8/1024/1024=1.07MB,求得顏色位數是8。
故選:C。
本題主要考查圖像文件容量計算。未經壓縮圖像文件容量=像素*顏色位數/8。
熟練掌握圖像文件的容量公式及單位換算。
4.【答案】D
【解析】解:數據量的大小只是大數據的一個方面,而不是其唯一特點。大數據強調的是數據的多樣性,包括結構化、半結構化和非結構化數據,以及數據的高速生成和處理等特征。數據量大不一定意味著數據就是大數據。D選項錯誤。
故選:D。
本題考查大數據。
數學大數據的特征
5.【答案】D
【解析】解:分析程序,在f(6)中for循環中會執行f(5)、f(4)、f(3);而在f(5)中for循環中又會執行f(4)、f(3)、f(2);而在f(4)中for循環中又會執行f(3)、f(2)、f(1),因為有兩個f(4),因此f(3)被調用的次數為1+1+2=4次。
故選:D。
本題主要考查Python程序調試。
熟練掌握遞歸循環的基本用法。
6.【答案】B
【解析】解:閱讀程序,在外部的 while 循環中,i 從 0 開始遞增,f[i]表示第 i 次循環中是否發生了交換。只要 i 小于 4 并且 f[i]為 False,就會繼續循環。內部的 for 循環執行了冒泡排序的比較和交換操作,然后根據是否有交換操作來更新 f[i]的值。執行程序后,對數組 a 進行排序。程序中的外部循環 i 執行了 2 次,因為在第二次循環中不再有交換操作,所以 f[0]和 f[1]都為 True。這表示在第一個和第二次循環中都發生了交換。因此,數組 f 中值為 True 的元素個數為 2,所以答案是 2。
故選:B。
本題考查Python程序。這個程序段對數組 a 執行了一種冒泡排序的變種。它使用了一個布爾數組 f 來表示每次內循環是否有交換操作,如果沒有則為 False,有則置為 True。
熟練掌握嵌套循環語句的基本結構及結果的求解。
7.【答案】A
【解析】解:算法的思想是:通過循環先將索引j-2~8的元素依次后移一位,再將k放到a[i]以實現k的插入。代碼依次是for i in range(8,j-2,-1)、a[i+1]=a[i]、a[i]=k,選項A符合題意。
故選:A。
本題主要考查Python程序執行與調試。程序實現的是列表中元素的插入過程。
熟練掌握python列表的基本操作方法和過程。
8.【答案】B
【解析】解:迭代算法通常效率較高,而遞歸算法可能效率較低。這是因為遞歸算法在遞歸調用時需要保存上下文,包括局部變量和返回地址,而這可能導致開銷較大。此外,遞歸算法在遞歸深度較深時可能引起棧溢出,因此需要小心處理遞歸深度。所以選項B符合題意。
故選:B。
本題考查迭代和遞歸算法。遞歸算法是一種直接或者間接調用自身函數或者方法的算法。遞歸算法的實質是把問題分解成規模縮小的同類問題的子問題,然后遞歸調用方法來表示問題的解。迭代法也被稱為輾轉法,是一種不斷用變量的舊值遞推新值的過程,在解決問題時總是重復利用一種方法。
熟練掌握常用算法的概念及特征。
9.【答案】B
【解析】解:當n=5時,執行1+cal(4);當n=4時,執行2*cal(3)即為1+2*cal(3);當n=3時,1+2*(1+cal(2));當n=2時,1+2*(1+2*cal(1))=1+2*3=7,所以選項B符合題意。
故選:B。
本題考查的是遞歸函數的相關知識。在函數內部,可以調用其他函數。如果一個函數在內部調用自身本身,這個函數就是遞歸函數。
熟練掌握遞歸函數的定義及運算過程。
10.【答案】B
【解析】解:閱讀題干給定遞推關系式 T(N)=T(N/2)+1,其中 N 大于 2,并且初始條件 T(1)=1??梢允褂眠f歸樹或者遞歸展開法來解決這個問題。在這種情況下,遞歸算法的執行次數是對輸入大小 N 的對數。這是因為在每一次遞歸調用中,問題的大小都會減少一半(N/2),同時伴隨著一個常數操作(+1)。所以,遞歸樹的深度是 log2(N),這表示算法的時間復雜度是 O(log2(N))。
故選:B。
本題考查時間復雜度。這是一個遞歸算法的時間復雜度問題。遞歸算法是一種直接或者間接調用自身函數或者方法的算法。遞歸算法的實質是把問題分解成規模縮小的同類問題的子問題,然后遞歸調用方法來表示問題的解。
熟練掌握各算法的時間復雜度的計算方法。
11.【答案】D
【解析】解:這個程序段計算并填充了一個二維數組 a,其中 a[i][j]的值等于 a[i-1][j-1]+a[i-1][j],在給定一個整數 n 的情況下。首先,程序創建了一個大小為 (n+1)x (n+1)的二維數組 a,并初始化了一些元素。然后,它使用兩個嵌套的循環來填充數組。外層循環迭代 i 從 1 到 n,而內層循環迭代 j 從 1 到 i。分析時間復雜度:外層循環的迭代次數是 n,內層循環的迭代次數隨 i 增加而不斷變化。內層循環的迭代次數最多達到 n,當 i 等于 n 時。因此,總的迭代次數可以表示為 1+2+3+...+n,這是一個等差數列求和。等差數列求和公式為 n(n+1)/2,因此總的迭代次數為 O(n(n+1)/2),也可以表示為 O(n^2)。
故選:D。
本題考查時間復雜度。時間復雜度是指:當問題的規模以某種單位由1增加到n時,依據求解該問題的算法所編制的程序運行時所消耗的時間也以某種單位由1增加到Ctf(n),Ct為常數,f(n)是問題規模的函數。
熟練掌握時間復雜度的計算方法。
12.【答案】C
【解析】解:import random
s=input( ?。?鍵盤輸入s
k=random.randint(1,len(s)-1)#k為[1,len(s)-1]閉區間中的隨機一個整數
i=0#i為0
while k>0 and i<len(s)-1:#當條件 k>0 和i<len(s)-1同時滿足時執行以下循環
if s[i]>s[i+1]:#如果條件s[i]>s[i+1]滿足時執行k=k-1,s=s[:i]+s[i+1:]
if i>0:#如果條件s[i]>s[i+1]滿足并且i>0時i=i-1 i-=1
else:#如果條件s[i]>s[i+1]不能滿足時,執行i=i+1 i+=1
if k>0:#如果條件k>0滿足時執行s=s[:len(s)-k]#可增加此語句輸出s
故選:C。
在Python中,randint( ?。┖瘮凳莚andom模塊下的一個函數。其基本語法如下:random.randint(a,b)其中,a和b是兩個整數,表示一個閉區間[a,b]。函數的作用是生成一個位于這個閉區間內的隨機整數,返回值為生成的隨機整數。randint( ?。┖瘮档姆祷刂凳且粋€整數,該整數位于閉區間[a,b]之間,包括a和b。while循環是條件循環,只有當循環條件成立時,才執行循環體。while 關系表達式:語句或語句組。當程序中需要根據不同的條件判斷來決定程序執行的走向時,可以使用if分支語句實現。其基本格式如下:if 條件:語句或語句組Aelse:語句或語句組B=為賦值符號,將右邊賦值給左邊變量。i+=1 相當于i=i+1,i-=1相當于 i=i-1。
本題考查python中while循環、條件語句、隨機函數和程序的執行。
13.【答案】【小題1】2
【小題2】f3=f0+f1,迭代
【解析】(1)當 n=5 時,爬樓梯的方案數是 2,因為可以選擇以下兩種方式爬到頂端:先爬 2 級,然后再爬 3 級,總共 2 步。直接爬 3 級,然后再爬 2 級,總共 2 步。故答案為:2。
(2)這段代碼的目的是計算爬 n 級臺階的方案數,其中 f0 表示爬到第 n-3 級的方案數,f1 表示爬到第 n-2 級的方案數,而 f3 表示爬到第 n 級的方案數。由于每次只能爬 2 級或 3 級,所以爬到第 n 級的方案數等于爬到第 n-2 級和第 n-3 級的方案數之和。故答案為:f3=f0+f1。這段代碼使用了迭代算法,它使用循環來計算爬 n 級臺階的方案數。故答案為:迭代。
本題考查Python程序。迭代法 迭代法也被稱為輾轉法,是一種不斷用變量的舊值遞推新值的過程,在解決問題時總是重復利用一種方法。
這類題目難度較大,首先需要讀懂題干所給提示信息的意思,然后根據所給程序段中上下文的意思來填寫關鍵變量的表達式或者是變量的取值范圍等等關鍵語句。
14.【答案】【小題1】2
【小題2】
【小題3】
【解析】解:(1)由題可知分組跳躍式升序冒泡排序,初始化步長為2,設置兩個子序列:奇數位置的元素和偶數位置的元素。對奇數位置上和偶數位置上的元素分別進行冒泡排序,每次比較相鄰的兩個元素,如果前一個元素比后一個元素大,則交換它們的位置,每次比較時跳躍2個位置,直到數組完全有序為止。對數組 a=[4,5,2,9,6,7,10,3,8,1]第一輪排序變為[2,5,4,7,6,3,8,1,10,9],第二輪排序變為[2,3,4,1,6,5,8,7,10,9],第三輪排序變為[2,1,4,3,6,5,8,7,10,9],則排序后的數組a=[2,1,4,3,6,5,8,7,10,9]。
(2)range( ?。┖瘮档恼Z法規則 range(start,stop,[step]),n是數組中元素的個數,外層循環控制比較多少輪,跳躍步長為2,則 for i in range(0,n,2);內層循環用于比較元素大?。ㄆ鏀滴恢煤团紨滴恢梅珠_比較),從最后一個元素(對應位置為n-1)與前面開始比較,如果當前元素比它前面的元素小,則進行交換,將較小的數向左移動,則for j in range(n-1,i+1,-1);
(3)由題知步長為m,則for i in range(0,n,m),for j in range(n-1,i+m-1,-1)。
本題考查的是Python綜合應用。
這類題目難度較大,首先需要讀懂題干所給提示信息的意思,然后根據所給程序段中上下文的意思來填寫關鍵變量的表達式或者是變量的取值范圍等等關鍵語句。
15.【答案】【小題1】8
【小題2】
【小題3】
【小題4】
【解析】解:(1)根據如圖所示數據,若輸入推薦目標用戶id為“1”,輸入閾值為“4”,則推薦好友為1,2,5,6,7,8,9,10共有8位好友;(2)該處填寫的是調用函數進行好友推薦,結合下面的語句可知變量為tj,所以輸入tj=fenxi(id,p);(3)該處填寫的是對角位置同樣設置為1,所以表達式為r[int(j)-1][i]=1或 r[int(j)-1][i]=r[i][int(j)-1];(4)變量c表示好友的數量,如果滿足“用戶A和用戶B不是好友,用戶C分別是用戶A和用戶B的好友,則共同好友數量加1”,所以表達式是zj[id-1][j]==1 andzj[i][j]==1 and zj[id-1][i]==0;如果滿足c>p,那么執行res.append(i+1),所以填寫為c>p。
故答案為:(1)8
(2)tj=fenxi(id,p)
(3)r[int(j)-1][i]=1或 r[int(j)-1][i]=r[i][int(j)-1]
(4)zj[id-1][j]==1 andzj[i][j]==1 and zj[id-1][i]==0;c>p
本題考查的是python程序的調試與運行。程序實現的是從文件中讀取用戶id及好友列表后,處理后顯示用戶之間的關系;再輸入推薦目標用戶id和閾值p;最后顯示向目標用戶推薦的好友列表,詳細解析如下。
這類題目難度較大,首先需要讀懂題干所給提示信息的意思,然后根據所給程序段中上下文的意思來填寫關鍵變量的表達式或者是變量的取值范圍等等關鍵語句。
第1頁,共1頁
展開更多......
收起↑
資源預覽




