資源簡介 余姚中學2023學年第一學期期中考試高二技術(選考)試卷信息技術部分答案一、選擇題(每題2分,共24分)1 2 3 4 5 6 7 8 9 10 11 12A D A B C C B B D B D B二、非選擇題(本大題共3小題,第13題6分,第14題8分,第15題12分,共26分)13. ① num1*10+int(s[i]) (2分)② s[j:] (2分)③ num1+num2*x (2分)14. (1) 刪除標題行 (2分)(2)① n=len(name_list) (2分)② 0 (1分)③ n-1 (1分)④ grade[bj-1]-=1 (2分)15. (1) 1 (2分)(2)① x -sqrt(d * d - y * y) (2分)② qj[k][0]>qj[j][0] or qj[k][0]==qj[j][0] and qj[k][1]>qj[j][1] (2分)③ cur(3) D (2分)(4) n-1 (2分)2023 學年余姚中學 期中考試高二技術選考試卷 第一學期第一部分:信息技術(共 50 分)一、選擇題(本大題共 12 小題, 每小題 2 分,共 24 分。在每小題給出的四個選項中, 只有一個符 合題目要求)1. 下列關于人工智能的說法,不正確的是A. 深度學習方法一般脫離數據進行學習B. 采用行為主義方法的智能體通過與環境的交互學習提升智能C. 符號主義人工智能的實現依賴對符號的推理和運算D. 人工智能促進社會發展的同時也會帶來一定的社會擔憂2. 下列有關大數據的說法,不正確的是A. 處理大數據時, 一般采用分治思想B. 社交網絡數據可采用圖計算進行處理C. 利用大數據,可以對天氣情況進行預測D. 隨著時間的流逝,流數據的價值一般會隨之提高3. 關于數據的說法,正確的是A. 數字和數值屬于數據B. 數值包含數字,數字就是數值C. 數字可以直接進行算術運算D. 在計算機領域參與運算的數據都是數字4. 數據類型可以分為A.基本數據類型和原子數據類型 B.基本數據類型和結構數據類型C.原子數據類型和編程數據類型 D.應用數據類型和結構數據類型5. 在二維數組 a 中, a[3][1]表示的是第幾行第幾列的數據A.第 1 行 3 列 B.第 3 行 1 列C.第 4 行 2 列 D.第 2 行 4 列6. 有如下Python程序段:1下列關于兩個程序段的說法,正確的是A. 程序1和程序2都使用了遞歸算法B. 若問題規模為n,程序1和程序2的時間復雜度不同C. 若程序1中問題規模為n,則n的值就是其循環執行的次數D. 若程序2中自定義函數內的代碼只保留①處語句,也能獲取到目標值7. 定義如下函數:def move(n,a,b,c):if n==1:print(a,”->”,c)returnmove(n- 1,a,c,b)move(1,a,b,c)move(n- 1,b,a,c)執行語句move(3,”A”,”B”,”C”),輸出的第一行內容是A .B->C B.A->C C.C->A D.A->B8. 有如下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)上述程序執行結束后,函數find被調用的最多次數是A.3 B.4 C.5 D.69. 數組 a 中 存 儲 著 全 校 學 生 的 學 號 和 BMI 信息,格式為 [[“0101”,19.2], [“0102”,18.5], [“0103”,20.1],…..]。其中每條數據的第一項為學號, 第二項為BMI值。數組a已經按學號升序2排序, 現要求按照BMI值進行降序排序, BMI相同的情況下仍然按照學號保持升序。則下列 程序段可以實現該功能的是10. 有如下Python程序:import randoma=[2,4,5,6,6,6,8,8,10,12]key=int(random.random()*5+5)i=0;j=9;s=0while i<=j:m=(i+j)//2if a[m]<=key:i=m+1else:j=m- 1s+=m程序運行后, s的值不可能是A.10 B.14 C.19 D.2211. 有如下Python程序段:import randoma=[0]*6i=0while i<6:a[i]=random.randint(1,5)*2if a[i]==i*2:a[i]=0i+=1elif a[i]%2==i%2:a[i]=a[i]- 1i+=13print(a)執行該程序后,輸出的結果可能是A.[11,0,3,0,0,0] B.[0,0,1,0,3,0]C.[1,0,5,0,4,0] D.[3,0,5,0,5,0]12. 有如下Python程序段:a=[[1,1],[2,2],[3,3],[4,- 1]]head=0cur=a[head][1]a[head][1]=- 1while cur!=- 1:p=a[cur][1]a[cur][1]=headhead,cur=cur,p則程序運行后, a的值為A. [[1,1],[2,2],[3,3],[4,- 1]] B. [[1,- 1],[2,0],[3,1],[4,2]]C. [[4,1],[3,2],[2,3],[1,- 1]] D. [[4,- 1],[3,0],[2,1],[1,2]]二、非選擇題(本大題共 3 小題, 其中第 13 題 6 分, 第 14 題 8 分, 第 15 題 12 分, 共 26 分。 )13. 如下自定義函數實現一個加減法算式的運算, 要求輸入一個只包含運算符“+”和運算符“- ” 的合法算式,輸出算式的運算結果。具體程序如下,請在劃線處填入合適的代碼。def fun(s):num1=i=0while iif s[i]>=“0 ” and s[i]<=“9”:num1= ①i+=1elif s[i]==“+ ” or s[i]<=“- ”:x=1if s[i]==“-”:x=- 1num2=0;j=i+1while jif s[j]>=“0 ” and s[j]<=“9”:num2=mum2*10+int(s[j])j+=1elif s[j]==“+ ”or s[j]==“-”:4(圖a)return fun(str(num1+x*num2)+ ② )if j==len(s):return ③14. 已知某年級有6個班級,所有學生名單存儲在文件“name.csv”中(如圖a所示),學校舉行 某趣味活動項目中,需要每個班級抽3名代表參加比賽, 請編寫一個隨機抽取程序,執行效果如圖b。請回答以下問題:(1) 加框處代碼的作用是(2) 實現上述功能的部分Python程序如下,請在劃線處填寫合適的代碼。import csvimport randomf=open(“name.csv” ,“r ”)flines=csv.reader(f)name_list=[]m=6 #班級總數total=18 #參賽總人數for line in lines:if line[0]== “班級”:continuename_list.append(line)①(圖b)flag=[False]*ngrade=[3]*mi=0while ip=random.randint( ② , ③ )bj=int(name_list[p][0])if flag[p]==False:if grade[bj- 1]>0:flag[p]=True④i+=1print(“抽取名單為: ”)print(“班級” ,“姓名”)for i in range(n):if flag[i]:print(name_list[i][0],name_list[i][1])f.close()15. 某國計劃在海岸線上安裝雷達探測海上的島嶼。假設海岸線是一條無限的直線, 一邊是陸地,5另一邊是海洋。為了找到覆蓋所有島嶼所需雷達裝置的最小數量, 編寫程序: 輸入島嶼數量 n、雷達裝置的覆蓋距離d以及每個島嶼的位置(由x,y坐標值表示),若雷達能覆蓋所有島嶼, 則輸出所需雷達的最小數量;否則,輸出“無法覆蓋”。第 15 題圖如第15題圖所示海洋中有3個島嶼, 位置分別為(1,2) 、(-3,1) 、(2,1),雷達的覆蓋距離為2,則 至少需要安裝2個雷達裝置,分別安裝在(-2,0),(1,0)位置上。(1)若上述雷達覆蓋距離修改為3,則至少需要安裝的雷達裝置數為 (2)實現上述功能的Python程序如下,請在劃線處填入合適的代碼。from math import sqrtn = int(input('請輸入島嶼的數量n:'))d = int(input('請輸入雷達的半徑d:'))# qj[i][0] 、qj[i][1]分別存儲可以覆蓋第i個島嶼的雷達,能安裝的最左邊和最右邊位置 qj = [[0, 0] for i in range(n)]flag = Truefor i in range(n):x = int(input('島嶼坐標x:'))y = int(input('島嶼坐標y:'))if y > d:flag = Falsebreakqj[i][0] = ①qj[i][1] = x + sqrt(d * d - y * y)if flag == False:print('無法覆蓋')else:# 按左端點升序排序,左端點相同時按右端點升序排序for i in range(n - 1):k = ifor j in range(i + 1, n):if ② :k = jifk != i:qj[k], qj[i] = qj[i], qj[k]6num = 1cur = qj[0][1]for i in range(1, n):if cur > qj[i][1]:cur = qj[i][1]elif ③ :num += 1cur = qj[i][1]print('安裝的雷達數為: ', num)(3)若將程序中加框處代碼修改為 (單選:填字母),不影響的正確性。A. i==n- 1 B. i==n C.id(4)根據代碼可知,對于n個島嶼,在進行排序時最多的交換次數為 。7 展開更多...... 收起↑ 資源列表 高二信息技術學考期中考試學選考答案11.23(final).docx 高二信息技術期中考試11.23(高二信息).docx 縮略圖、資源來源于二一教育資源庫