資源簡介 北侖區名校2022-2023學年高一下學期期中考試技術試卷(高一技術選考班使用)信息技術(共50分)選擇題(本大題共12小題,每小題2分,共24分。每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)下列關于數據、信息、知識與智慧的描述不正確的是( )A.在計算機科學中,數據是指所有能輸入到計算機并被計算機程序處理的符號總稱B.信息具有時效性,同一種信息不可以同時被不同的接收者獲取C.知識包括對事實、信息的描述以及在教育實踐中獲得的技能D.智慧主要表現為收集、加工、應用、傳播知識的能力以及對事物發展的前瞻性看法2.下列關于信息編碼的說法正確的是( )A.將模擬聲音數字化需要經過采樣、量化和編碼三個過程B.像素值為1024*768且未經壓縮的黑白圖像,圖像容量為192KBC.編碼128種不同的情況至少需要8位二進制數D.漢字字符的內碼在計算機內部以十六進制形式存在3.下列有關算法特征的描述,說法不正確的是( )A.算法中的每-個執行步驟必須是明確的B.一個算法中的每一步操作與要求都是可行的,但對完成的時間沒有要求C.一個算法可以有0個或多個輸入,但至少有1個輸出D.一個算法的處理步驟必須是有限的4.下面是一段關于計算s值的算法:①變量s的初值為0,t的初值為1,變量i的初值為1 (Y) (N)②若i不超過100則執行③,否則執行⑤③s←s+t×1/i,t←-t④將i的值增加2,返回②⑤輸出變量s的值則計算s值的表達式可表示為( )A.1-1/2+1/3-1/4+...+1/99-1/100 B.1-1/3+1/5-1/7+...+1/99C.1-1/3+1/5-1/7+...-1/99 D.-1+1/3-1/5+1/7+...-1/995.某算法部分流程圖如下圖所示,執行這部分流程圖,依次輸入8、5、15、13、17、16,下列說法錯誤的是( )A.最后輸出b的值為17B.條件"a>b ”共執行5次 C.代碼“b←a”共執行3次 D.條件“i≤4 ”共執行6次6.下列給變量名a的賦值語句中,賦值后變量a不是實型的是( )A.a=5.0//2 B.a=5//2 C.a=6/2 D.a=3%2.07.已知list1=[1,3],list2=[2,6],執行語句list1=list2+list1后,列表list1中的內容為( )A.[3,9] B.[1,2,3,6] C.[2,6,1,3] D.[1,3,2,6]8.已知d={"地點":["杭州","寧波","溫州"],"牌號":["A","B","C"],"序號":[1,2,3]},s="VALUE",下列表達式值與其他三項不相同的是( )A.ord(s[1])+3//10*10 B.len(d["地點"][0])**6+1C.74-d["序號"][2]**2 D.int(ord(d["牌號"][2])/10)*109.某學生參加“校園十佳歌手”評比活動,十位評委給出的平均分為ave,平均分不低于80分時為優秀,平均分低于80分但不低于60分時為良好,否則為差。下列語句能正確表示學生評比情況的是( )A.if ave<60: print("差") elif ave>=80: print("優秀") else: print("良好") B.if ave>=80: print("優秀") elif ave<80: print("良好") elif ave<60: print("差")C.if ave>=80: print("優秀") else: if ave<60: print("良好") else: print("差") D.if ave<80: print("良好") elif ave<60: print("差") else: print("優秀")10.有如下Python程序段:s="bike"t={4:"e",-3:"oo",2:"i"}for i in t:n=len(t[i])if i>0:s=s[:i-1]+s[i+n-1:]else:s=s[:abs(i)-1]+t[i]+s[abs(i)-1:]運行該程序段后,變量s的值是( )A."bike" B. "bok" C. "book" D. "booike"11.有如下Python程序段:s='nftisa';a=[2,3,1,4];ans=''for i in range(len(s)):t=i%4ans+=s[a[t]]print(ans)程序運行結束后,ans的值為( )A.itsfit B.tifsti C.nisisa D.tisias12.隨機生成一組由數字1-8組成的8位不重復的速記密碼,Python程序如下:import randoma=[0]*8for i in range(8):a[i]=i+1k=8;s=""for i in range(8):m=random.randint(0,k-1)s += str(a[m])a[m] = a[k-1]k = k-1print(s)方框中的代碼由以下三部分組成:①k-=1 ②a[m]=a[k-1] ③s+=str(a[m])代碼順序正確的選項是( )A.①②③ B.②③① C. ③①② D.③②①二、非選擇題(本大題共4小題,第13題8分,第14題6分,第15題6分,第16題6分,共26分)13.編寫程序,實現如下功能,輸入正整數n(n≤100),求出具有n個不同因子的最小正整數m(m≤50000)。例如:輸入n=4,因為6有4個不同的整數因子1、2、3、6,而且6是具有4個不同因子的最小整數,因此m=6。程序運行時,輸入一個正整數n,則輸出滿足條件的正整數m。程序運行界面及效果如下圖所示:實現上述功能的程序如下,請在劃線處填入合適的代碼。(請輸入n:10具有10個不同因子的最小正整數為:48)from math import sqrtdef sumx(k):s=0for i in range(1,int(sqrt)+1):if _____①__________:s+=2if k==i*i:______②__________return sn=int(input(“請輸入n:”))for m in range(1,50001):if ______③_________:print(“具有”,n,“個不同因子的最小整數為:”,m)________④______________14.尋找金蟬素數。素數是指大于1的自然數中,除了1和它本身以外不再有其他因數的自然數。金蟬素數是指由1、3、5、7、9這5個奇數排列組成不重復的五位素數,它的中間三位數和最中間的一位數也都是素數的自然數,如“13597”是素數,“359”和“5”也是素數,則“13597”是金蟬素數。小樂編寫了一個Python程序尋找金蟬素數,運行結果如第15題圖所示。金蟬素數有:[13597,53791,79531,91573,95713]共有5個下列選項中可以填人加框處的代碼是________(多選,填字母)A.2,n B.2,n+1 C.2,int(math.sqrt(n))+1 D.2,n/2+1 E.2,n//2+1Python程序代碼如下,請在劃線處填入合適的代碼。 import math def isprime(n):for i in range( ):if n%i==0:breakelse:return Truereturn Falsecicada=[]c=0for i in range(13579,99999,2):a=[0]*10temp=iwhile temp!=0:_____①________temp//=10if a[1]+a[3]+a[5]+a[7]+a[9]==5:x=i//100%10y=________②______if_________③________and isprime(y)and isprime(i):cicada.append(i)_________④_______print(“金蟬素數有:”,cicada)print(“共有:”,c,”個”)15.小明使用Python編寫了某答題卡中單項選擇題的判分程序,該單選題每題2分。掃描答題卡獲取選項填涂信息,輸入標準答案,程序自動判斷并輸出分數。具體方法為:一個選項是否被填涂,可以從判斷一個像素的顏色開始,像素的填涂情況是通過RGB的值來判斷 ,灰度值低于132的表示該點被填涂;一個信息點64%的像素被填涂,則認為該區域已填涂,返回值為“1”。區域未填涂時返回值為“0”;各選項的編碼為:A→“1000”,B→“0100”,C→“0010”,D→“0001”;輸入標準答案,程序進行對比并返回結果。答題卡相關信息如下:(1)某題的標準答案為“C”,該題填涂情況為“0100”,則分數為 分(2)實現上述功能的程序如下,請在劃線處填入合適的代碼。from PIL import Image#輸入起始點坐標(xs,ys),信息點寬度高度(fw, fh) ,間隔寬度高度(sw ,sh),代碼略num = 5 # 判分個數def bw_judge(R, G, B): # bw_judge用于判斷一個像素的填涂情況 代碼略def fill_judge(x, y): # fill_judge用于判斷信息點的填涂情況count = 0for i in range(x, x + fw + 1):for j in range(y, y + fh + 1):R, G, B = pixels[i, j]if bw_judge(R, G, B) = = True:count = count + 1return ①total_width = fw+ swtotal_height = fh + shimage = Image.open("t2.bmp")pixels = image.load()number = ""bz=[""]*numdf=0bzd=input('請輸入標準答案:')da={"A":"1000","B":"0100","C":"0010","D":"0001"}for i in range(len(bzd)):bz[i]= ②for row in range(num): #分數判定for col in range(4):③y = ys + total_height * rowif fill_judge(x, y) == True :number = number + '1'else:number = number + '0'if number = = bz[row]:df+=2number=""print("得分為:",df)16.拼接最大數字問題。有 n(n<100)個非負整數, 將其按照字符串拼接的方式拼接為 1 個整 數。 小趙設計了一個算法,使得拼接得到的整數最大。例:32,94,128,1286,6,71 可以拼接得到的最大整數為 94716321286128。 實現上述功能的 Python 代碼如下。 請回答下列問題:(1) 121,12,3 拼接得到的最大整數為___________________。(2) 請在劃線處填入合適的代碼: def bubble_sort(a):for i in range(len(a)-1):for j in range(len(a)-1,i,-1):if judge(a[j],a[j-1]):a[j],a[j-1]=a[j-1],a[j]def judge(x,y):if x+y < y+x :return Trueelse:return Falsen=int(input("n="))#產生 n 個0~1000 的隨機整數存入列表a 中,代碼略bubble_sort(a)ans=""for i in a:ans+= ①print("拼接得到的最大整數為:", ans)信息技術 答案1-5BABCC 6-10BCDAC 11-12BD①k%i==0(2分) ②s-=1(2分) ③ sumx(m)=n(2分) ④ break(2分)14(1)ACE(2分) (2)①a[temp%10]=1 (1分) ②i//10%1000 或者i%10000//10(1分)③ x!=1 and x!=9 或者 isprime(x) and x!=1 (1分) ④ c+=1(1分)15.(1) 0(1分)(2) ① count>=fw*fh*0.64(2分)② da[bzd[i]] (2分)③ x=xs+total_width*col(1分)16(1)312121(2分)(2) str(i) (2分)(3)str(x)+str(y)>str(y)+str(x)或者str(x)+str(y)>=str(y)+str(x)或者其他等價答案(2分) 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫