資源簡介 寧波市九校聯考高二技術參考答案第一部分:信息技術(50分)一、選擇題(每題2分,共24分)1 2 3 4 5 6 7 8 9 10 11 12B D C B C D D A B B D D二、非選擇題(第13題8分,第14題6分,第15題6分,第16題6分)13.(1)①user[userlist[i][0]] = userlist[i][1] (2分)②name=username (1分)③‘/xk’ 或 "/xk" (1分)④int(request.form.get("bj")) (1分)⑤conn.commit() (1分)(2)ABC (2分)(全部選對得2分,部分選對得1分,選錯或不選得0分)14.①data.drop('姓名',axis=1)或data.drop('姓名',1) (2分)或data.drop("姓名",axis=1)或data.drop("姓名",1)②sort_values (1分)③ascending=False (1分)④data.index[0:8] 或 data.index[:8] 或data.head(8).index (2分)或 data[0:8].index 或 data[:8].index15.①num = rs[i][1] (2分)②imax = imin (2分)③save_file(a[s:s+num]) (2分)16.①data[k-1][1] = -1 (2分)②head = data[head][1] 或head = data[p][1] (2分)③data[p][1] = data[q][1] (2分)絕密★考試結束前21二1.本試卷分兩部分,第一部分信息技術,第二部分通用技術。全卷共14頁,滿分100分,考試時間90分鐘。2.考生答題前,務必將自己的姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙上。3.選擇題的答案用2B鉛筆將答題紙上對應題目的答案選項涂黑,4.非選擇題的答案用黑色字跡的簽字筆或鋼筆寫在答題紙上相應區域內,作圖時可先使用 2B鉛筆,確定后用黑色字跡的簽字筆或鋼筆描黑,答案寫在非答題紙上無效。(共 50 分)(本大題共 12 小題, 每小題 2 分, 共 24 分,每小題列出的四個備選項中只有一個是符合題目要求的, 不選、錯選、多選均不得分)1.下列有關人工智能的說法不正確的是A.依賴于領域知識和數據的人工智能被稱為領域人工智能B.達芬奇外科手術機器人是跨領域人工智能的典型代表C.混合增強智能將人的作用或人的認知模型引入人工智能系統D.專家系統是符號主義的典型代表2.下列關于數制和編碼的說法正確的是A.若十六進制數末位為 0,則該數轉換為十進制數后,末位可能是奇數也可能是偶數B.一幅 1024*1024 的未經壓縮的 BMP 格式的黑白圖像的存儲容量約為 0.25MC.漢字在計算機內使用漢字國標碼來表示,不使用二進制編碼D.二維碼可以存儲包括網址、名片、文本、特定代碼在內的各種信息3.下列關于信息系統及其組成要素說法不正確的是A.信息系統由五個關鍵要素組成,分別是硬件、軟件、數據、通信網絡和用戶B.常見的操作系統有 windows、Linux、Unix、Mac OS 等C.主存儲器是計算機硬件的一個重要部件,常見的有硬盤和閃存盤D.聲卡、網卡、光盤驅動器既是輸入設備又是輸出設備4.下列關于數據結構的說法正確的是A.同一數據元素中各數據項的數據類型一定相同B.跳躍表是立足鏈表、借鑒二分查找的思想而形成的數據結構C.若入棧序列為 abcd,則出棧序列可能為 dbcaD.在瀏覽器中執行“后退”、“前進”操作的原理與隊列的特點相同5.有如下 python 程序段,運行該段代碼后, a[2]的值為a,b,c = [1],[2,3],[4,5]a.append(b)a = a+cA.3 B.[2,3] C.4 D.[4,5]寧波九校聯考 高二技術 試題 第 1 頁 共 8 頁6.有如下 python 加密程序段, 以下說法正確的是def encrypt(code,key):code_new=""for s in code:s1= ord('a')+((ord(s)-ord('a'))+key)%26code_new+=chr(s1)return code_newcode=input("code=")print(encrypt(code,2))A.該加密程序段所用的加密算法是換位密碼法B.若輸入字符串 code 為“App”,則輸出的結果為 crrC.若要對數字字符逐個右移進行加密,則只需將加框處語句修改為“(int(s)+key)%10”D.若原文全部由小寫字母組成,將加框處語句修改為“ord('a')+((ord(s)-ord('a'))-key)%26”可將加密的密文還原為明文7.小明將以下代碼成功燒錄到 micro:bit 板后,以下說法正確的是from microbit import *while True:if button_a.is_pressed():display.show (Image.HEART)elif button_b.is_pressed():display.show (Image.HEART_SMALL)else:display.show (Image.SAD)A.若不按下任何按鈕,則 LED 點陣屏不顯示任何圖案B.當同時按下按鈕 a 和按鈕b 時,大小愛心在 LED 點陣屏交替顯示C.當按下按鈕 a 再松開時,LED 點陣屏會先顯示愛心圖案,然后無圖案顯示D.當按下按鈕 a 再松開時,LED 點陣屏會先顯示愛心圖案,然后一直顯示哭臉8.有如下 python 程序段,若輸入的值為“17 8”,則輸出的結果為a,b = map(int,input().split( ))w = 0while b**w <= a:w += 1st = [0]*w ; top = -1while a>0:top = top+1st[top] = a%b ; a = a//bwhile top > -1:print(st[top],end="")top = top-1A.21 B.12 C.17 D.71寧波九校聯考 高二技術 試題 第 2 頁 共 8 頁9.已知一棵二叉樹的前序遍歷序列為:A-B-D-C-E,后序遍歷序列為:D-B-E-C-A,則該二叉樹是否能唯一確定?中序遍歷序列是?A.能唯一確定,中序遍歷序列為:B-D-A-E-CB.不能唯一確定, 中序遍歷序列可能為: B-D-A-E-CC.能唯一確定,中序遍歷序列為:D-C-B-A-ED.不能唯一確定, 中序遍歷序列可能為: D-C-B-A-E10.有如下 python 程序段,運行該段代碼后, 程序的輸出結果為s = "python"def f(t):if t == 0:return s[0]return s[t] + f(t - 1)print(f(len(s)-1))A.python B.nohtyp C.pytho D.nohty11.有如下 python 程序段,運行該程序段后, 列表a 中的值可能是import randoma = []for i in range(6):a.append(random.randint(1,5)*2+i%2)for i in range(1,5):j = i; k = a[j]while a[j-1]0:a[j] = a[j-1] ; j=j-1a[j] = kA.11,8,7,6,5,5 B.8,6,5,5,3,8 C.9,6,7,8,8,11 D.11,11,8,2,2,1112.某二分查找算法的 python 程序段如下, 運行該段代碼后, 輸出的結果不可能是import randoma = [10,20,30,40,50,60,70,80]key = random.choice(a); i,j = 0,len(a)-1 ; s = ""while i<=j:m = (i+j)//2if key == a[m]:s = s+"M"; breakelif key < a[m]:j = m-1; s = s+"L"else:i = m+1; s = s+"R"print(s)A.LLM B.LRM C.RRRM D.RRLM寧波九校聯考 高二技術 試題 第 3 頁 共 8 頁(本大題共 4 小題,其中第 13 小題 8 分, 第 14 小題 6 分,第 15 小題 6 分,第 16 小題 6 分,共 26 分。)13.新學年伊始,某校團委需組織高一高二年級學生進行社團選課活動。為了幫助學校團委更好地開展學生社團選課工作,小北同學設計了一個簡易的網上社團選課系統。該選課系統的部分界面、網頁模板文件、數據表文件等如第 13 題圖a、圖 b、圖 c、圖 d 所示。第 13題圖 a (選課界面) 第 13題圖 b (登陸成功后的歡迎模板)第 13題圖 c (登錄賬號密碼數據表 users) 第 13題圖 d (選課表字段結構)具體實現程序代碼如下:from flask import Flask, render_template, requestimport sqlite3app = Flask(__name__)#主頁面路由命令及對應的視圖函數, 代碼略@app.route("/login",methods=["POST"]) #登陸頁面路由命令def login():conn = sqlite3.connect("data/data.db")cur = conn.cursor()cur.execute("SELECT * FROM users") # 數據表 users 如第 13 題圖 c 所示infolist = cur.fetchall()user = {}userlist = []for line in infolist:userlist.append(line[1:3])for i in range(0,len(userlist)):①寧波九校聯考 高二技術 試題 第 4 頁 共 8 頁cur.close()conn.close()username = request.form.get("username")password = request.form.get("password")if username in user and user[username] == password:return render_template("welcome.html", ② ,Title="歡迎界面")#當輸入的用戶名密碼錯誤時,彈出賬號不存在或密碼錯誤頁面,代碼略@app.route( ③ , methods=["GET","POST"]) #選課頁面路由命令def xk():if request.method == "GET":return render_template("xk.html",text="請填報你喜歡的社團")else:xm = request.form.get("xm")bj = ④ #登錄頁面中輸入班級的文本框的名稱為“bj”kc = request.form.get("kc")conn = sqlite3.connect("data/data.db")cur = conn.cursor()cur.execute("create table if not exists 選課表(班級 integer, 姓名 text,課程名稱 text)")cur.execute("insert into 選 課 表 ( 班 級 , 姓 名 , 課 程 名 稱 )values(%d,'%s','%s')" %(bj,xm,kc ))⑤cur.close(); conn.close()return render_template("login.html", text="恭喜你, 選課成功!")if __name__ == "__main__":(1) 結合相關截圖,請在劃線處填入合適的代碼。(2)(多選)根據第 13 題圖a 所示, 程序中加框語句應修改為 ▲A.app.run(host="0.0.0.0",port=8080)B.app.run(host="192.168.10.106",port=8080)C.app.run("192.168.10.106", 8080)D.app.run(host="127.0.0.1",port=8080)(注: 全部選對得 2 分, 部分選對得 1 分,選錯或不選得 0 分)14.社團選課結束后, 高一高二年級學生的社團選報數據已導出存放在“社團選課.xlsx”文件(如第 14 題圖 a 所示)。小北同學結合所學知識, 編寫了一個統計各社團受歡迎程度的程序,以圖表(如第 14 題圖 b 所示) 的形式呈現最受歡迎的前八社團。部分程序代碼如下, 請在劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as plt寧波九校聯考 高二技術 試題 第 5 頁 共 8 頁plt.rcParams["font.sans-serif"] = ["SimHei"]data = pd.read_excel("社團選課.xlsx")data = data.groupby("課程名稱").count( ) #統計各社團的報名人數data = ① #刪除姓名列data = data.rename(columns = {"班級":"人數"})data = data. ② ("人數", ③ ) #根據選課人數降序排序plt.bar ( ④ , data.人數[0:8], label="社團報名人數")plt.title("最受歡迎的八大社團", fontsize=18) #設置圖表標題plt.legend()plt.show ()第 14題圖 a 第 14 題圖b15.根據網上選課系統的報名導出數據(存放在"社團選課.xlsx"文件中)(如第 14 題圖 a 所示),小北又設計了程序對該名單做了進一步處理, 生成了以班級名稱為名(如第 15 題圖a 所示) 和以社團名稱為名(如第 15 題圖 b 所示) 的電子表格文件, 以便分發給對應的社團指導老師和各班班主任。生成第 15 題圖 b 所示名單的 python 程序如下,該程序的功能: 先對導出數據按社團名稱進行分類,再對選報同一社團的學生按班級為關鍵字進行升序排序,最后生成相應的社團名單。請在劃線處填入合適的代碼。第 15題圖 a 第 15題圖 b 第 15題圖 cimport pandas as pddef read_file(filename):#讀入電子表格文件,并將表中的數據轉換成列表,代碼略def save_file(a): #保存名單至電子表格文件寧波九校聯考 高二技術 試題 第 9 頁 共 8 頁df = pd.DataFrame(a,columns=["班級","姓名","選報社團"])df.to_excel (a[0][2]+".xlsx",index=False)a = read_file("社團選課.xlsx")n = len(a)for i in range(1,n): #按社團名稱(參照字符的編碼大小) 進行升序排序for j in range(0,n-i):if a[j][2] > a[j+1][2]:a[j],a[j+1] = a[j+1],a[j]# 統計各社團人數, 存放在列表 rs 中, rs=[["SDV",32], ],代碼略s = 0for i in range(len(rs)):①left,right = s,s+num-1while left < right:imin = imax = leftfor k in range(left+1,right+1):if a[k][0] < a[imin][0]:imin = kelif a[k][0] > a[imax][0]:imax = kif imin != left:a[imin],a[left] = a[left],a[imin]if imax == left:②if imax != right:a[imax],a[right] = a[right],a[imax]left = left+1right = right-1③s = s+numsave_file(a[s:])16.根據前面幾題的分析發現, 部分社團的選報人數超過了 40 人,由于人數太多不便于開展活動,學校團委決定將人數超過 40 人的社團隨機分成兩個班。小北使用鏈式結構實現了該分班功能。現以對“MULA 商社”進行分班為例(“MULA 商社.xlsx”文件截圖如第 15 題圖c 所示),具體實現程序如下,請在劃線處填入合適的代碼。import pandas as pdimport randomdf = pd.read_excel("MULA 商社.xlsx")namelist = df.values.tolist() #將數據轉換成列表# 將數據轉換成列表后, namelist=[[101, "鄧**","MULA 商社"], ]寧波九校聯考 高二技術 試題 第 7 頁 共 8 頁k = 0data = [["" for i in range(2)] for j in range(len(namelist))]for item in namelist: #初始化鏈表結構data[k][0] = itemdata[k][1] = k+1k+=1①head = 0n = length = len(data) #每次抽取時剩余人數namelist1 = []namelist2 = []for i in range(n//2+1): #生成 MULA 商社 1 班名單t = random.randint(0,length-1)p = headq = data[p][1]if t == 0:namelist1.append(data[head][0])②else:while t != 1: #從頭節點開始查找第 t 個節點所在位置p = qq = data[p][1]t = t-1namelist1.append(data[q][0])③length = length-1#生成 MULA 商社 2 班名單及將生成的兩份名單保存成電子表格文件,代碼略寧波九校聯考 高二技術 試題 第 8 頁 共 8 頁 展開更多...... 收起↑ 資源列表 22.06寧波九校高二信息期末聯考試卷答案.docx 浙江省寧波九校聯考2021-2022學年下學期高二信息技術期末考試(pdf,含答案).pdf 縮略圖、資源來源于二一教育資源庫