資源簡介 作業練習課程基本信息學科 信息技術 年級 高二 學期 春季課題 數組及其應用教科書 書 名:數據與數據結構 出版社:浙江教育出版社學生信息姓名 學校 班級 學號作業練習下列關于數組的描述中,不正確的是 A.數組元素的數據類型均相同 B.僅通過數組名就能訪問數組中的某個元素 C.數組一旦創建好以后,其存儲空間將固定不變 D.在數組中進行刪除元素操作后,其占用的空間不會發生改變 2. 有二維數組a=[[1,2,3],[4,5,6],[7,8,9]],則數組元素a[1][2]的值為 A.1 B.2 C.6 D.7 3. 有一維數組a=list[“computer”],則數組元素a[-3]的值為 A.“m” B.“p” C.“u” D.“t” 4. 列表a的值[0,1,2,3,5],下列表達式的值等于a[1]的是 A.a[2]*a[3]//3 B.a[2]-len(a) C.a[-1]-a[4] D.a[3]%2 5. 有如下Python程序段: a=[3,6,12,5,9,20,17,8] p=0 for i in range (1,len(a)): if a[i]>a[p]: p=i a.pop(p) 則執行程序段后,數組a中的元素為 A.3,6,12,5,9,20,17,8 B.3,6,12,5,9,17,8 C.3,6,12,5,9,20,17 D.6,12,5,9,20,17,8 6. 有如下程序段: s=1 a=[[1,2,3],[4,5,6],[7,8,9]] for i in range(3): for j in range(3): if i==j: s*=a[i][j] 則執行程序段后,變量s的值為 A.28 B.6 C.45 D.15 有兩個非遞減順序存儲的數組s1和s2,其元素個數分別是m和n個,請完善以下程序,最終實現s1和s2合并成一個非遞減順序存儲的數組。 s1=[1,3,4,4,5,5] s2=[2,5,6,6,7,7,8,9] m=len(s1) n=len(s2) k = ① ________________________ s=[0]*k while ②________________________: if s1[m-1] >= s2[n-1]: s[k-1] = s1[m-1] m -= 1 else: s[k-1] = s2[n-1] n-= 1 ③ ________________________ if m>0: s[:k-1]=s1[:m-1] else: s[:k-1]=s1[:n-1] print(s) 【參考答案】 B 【解析】如要訪問數組中的某個元素,需通過下標指定,因此答案為B。 C 【解析】數組下標由0開始,因此a[1][2]代表第2行第3列,值為6,因此答案為C。 D 【解析】下標的表示有兩個方向,正向從0開始,負數從-1開始。因此a[-3]代表從右往左數第3個,即“t”,因此答案為D。 D 【解析】a[1]的值為1,選項A.a[2]*a[3]//3 =2*3//3=6; 選項B.a[2]-len(a)=2-5=-3; 選項C.a[-1]-a[4] =5-5=0; 選項D.a[3]%2=3%2=1,因此答案為D。 B 【解析】根據“if a[i]>a[p]:p=i”語句可知,此段程序是在數組a中找到最大值,并將其下標賦給p;而a.pop(p)的作用是去掉指定位置p上的元素,數組a最終的元素為“3,6,12,5,9,17,8”,因此答案為B。 C 【解析】根據程序可知,當i與j相等時,即矩陣中的對角線,即a[0][0],a[1][1],a[2][2]進行相乘,最終計算結果為s=1*1*5*9=45,因此答案為C。 ① m + n ②m > 0 and n >0 ③k -= 1 【解析】此程序的作用是合并兩個非遞減序列,從后往前依次比較s1和s2中的元素大小。 第①空是計算k,由下面的程序可以知道,k代表合并后的總元素個數,因此答案是m + n; 第②空是設定能夠繼續比較元素大小的條件。只有當兩個數組下標沒有超出范圍時,才能進行比較,因此答案是m > 0 and n >0,或等價寫法。 第③空是新數組s的下標從后向前遞減,由k控制,因此答案是k -= 1。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫