中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

第二單元 編程計算 單元測試(含答案)2022-2023學年教科版(2019)高中信息技術1

資源下載
  1. 二一教育資源

第二單元 編程計算 單元測試(含答案)2022-2023學年教科版(2019)高中信息技術1

資源簡介

第二單元 編程計算 單元測試
一、選擇題
1.有如下Python程序段:
s="VictoryOnTheWay"#'A'的ASCII值為65,"a"的ASCII碼值為97
mx=""
pre=0
for i in range(1,len(s)):
if ord(s[i]) < 97:
if mx mx=s[pre:i]
pre=i
print(mx)
A.Victory B.On C.The D.Way
2.“洗衣機的洗衣流程”情境問題,洗衣機模擬人洗衣的過程,自動執行洗衣程序,節省了大量的人力,這主要歸功于由算法控制的機器設備。某兒童牌洗衣機在最后一道漂洗過程中可將水加熱至95℃,能夠殺滅金黃色葡萄球菌、大腸埃希氏菌等多種附著在衣物上的細菌,除菌率可達99%以上。下列程序中橫線處應該填寫( )
n = int(input("請輸入洗滌的次數:"))
for i in range(n):
print("第",i,"次洗滌:")
if :
print("加熱至95℃")
else:
print("正常水溫")
A.i < n B.i == n C.i == n+1 D.i == n-1
3.某Python程序如下:
list1=[3,4,8,6,9]
c=0
i=0
while i if list1[i]%3==0:
c+=list1[i]
else:
c-=list1[i]
i+=1
print(c)
程序運行后,輸出的結果是( )
A.5 B.6 C.7 D.9
4.已知 18.5<=BMI<=24.9 為正常標準,某同學的BMI值存儲在變量BMI中,編寫程序判斷該同學的身體狀況信息,并保存到變量 result 中,則下列程序段無法實現該功能的是( )
A. B. C. D.
5.下列程序段執行后,結果與其他三項不同的是( )
A. B. C. D.
6.已知斐波那契數列前7項值為 1,1,2,3,5,8,13…,計算該數列第n項的Python程序如下:
a=b=1
n=int(input(“請輸入項數:”))
for i in range(n-2):
print("第n項為:",b)
加框處可選的語句有:①a=b-a ②b=a ③b=a+b ④a=b
下列選擇的語句正確的是( )
A.③① B.②④ C.④② D.①③
7.求列表第 3 項至第 7 項元素的和,劃線處正確的Python表達式是()
lis=[6,3,-2,5,19,21,-9,22,14,25]
he=[0]*10
he[0]=lis[0]
for i in range(1,len(lis)):
he[i]= he[i-1]+lis[i]
print( )
A.he[7]-he[3] B.he[6]-he[2] C.he[7]-he[2] D.he[6]-he[1]
8.象限是平面直角坐標系(笛卡爾坐標系)中橫軸和縱軸所劃分的四個區域,每一個區域叫做一個象限。象限以原點為中心,x,y軸為分界線,原點和坐標軸上的點不屬于任何象限。某同學根據輸入的坐標點(x,y)來判斷該坐標點的位置所在。以下實現該分類的Python程序段中不正確的是( )
A. B. C. D.
9.有如下Python程序段:
from random import randint
s=[″C++″,″Java″,″VB″,″Pascal″,″C″,″Python″]
for i in range(2):
k=randint(0,2)*2
s=s[:k]+s[k+1:]
print(s)
執行該程序段后,變量s的值不可能是( )
A.[″Java″,″VB″,″Pascal″,″C″] B.[″C++″,″Java″,″C″,″Python″]
C.[″C++″,″VB″,″Pascal″,″Python″] D.[″C++″,″Java″,″Pascal″,″Python″]
10.在Python當中運行以下程序時,按提示輸入密碼為“123456”,則得到的運行結果是( )
psw=input('請輸入您的密碼:')
if psw=='000000':
print('歡迎您')
A.請輸入您的密碼 B.000000
C.歡迎您 D.無結果顯示
11.執行以下代碼,并根據提示輸入5,則輸出的結果是( )
a=input("請輸入你的選擇1-3:")
if a=='1':
print("青年組")
elif a=='2':
print("少年組")
elif a=='3':
print("幼兒組")
else:
print("程序已退出")
A.青年組 B.少年組 C.幼兒組 D.程序已退出
12.在Python當中執行以下程序時,用戶輸入78,則得出的結果是( )
n=int(input("請輸入分數:"))
if n>=60:
print("合格")
else:
print("不合格")
A.78 B.60 C.合格 D.不合格
13.在Python當中,range(1,6)生成的整數列表是( )
A.[1,2,3,4,5,6] B.[1,2,3,4,5]
C.[2,3,4,5,6] D.[2,3,4,5]
14.在程序設計當中,面對大量重復的問題,宜使用( )來提高效率
A.順序結構 B.選擇結構 C.循環結構 D.重復結構
15.在使用if語句時需要注意,在if(條件表達式)后面要加英文符號( )
A.: B., C.. D.;
二、填空題
16.實現循環控制的三要素是 、 和 。
17.在 IDLE 編輯器中運行以下程序,依次輸出的數字是 。
for i in range(1,5):
print(i,end="," )
18.在 IDLE 編輯器中運行以下程序,屏幕打印 顆*。
for i in range(0,10,2):
print(" *" )
19.在循環結構中,break語句的作用是 。
20.當飛船速度“v>=7.91”時,輸出“飛船成功飛行!”,否則輸出“飛船不能升空!”。
v=input(“請輸入速度(千米/秒):”) 第1行
if v>=7.91: 第2行
print("飛船成功飛行!") 第3行
else 第4行
print("飛船不能升空!") 第5行
(1)第 行,改正后的語句 。
(2)第 行,改正后的語句 。
三、判斷題
21.循環語句可以嵌套使用。( )
22.如果循環以“while 1:”開頭,在不加干預的情況下,程序會一直運行下去。( )
23.for循環與while循環任何時候都不可以相互替換。( )
24.Python中這兩個程序段運行后,雖然變量a中的值是相同的都是12,但程序執行后在屏幕上輸出的內容是不完全相同的。( )
25.循環結構表示程序反復執行某個或某些操作,直到判斷條件為真時才可以終止循環。( )
四、操作題
26.小陳在學習歷史時,發現從公元1000年至今,有的日期特別“優美”,如1010年01年01日,2021年12月02日,小陳把它們稱為“對稱日”。為了尋找指定年份中的“對稱日”,小陳編寫了如下的Python程序,程序運行結果如下圖所示。
(1)主程序,加框處的代碼存在錯誤,請在下劃線處改正。
ks=int(input("請輸入開始年份:"))
js=int(input("請輸入結束年份:"))
for i in range(ks,js+1):
k1=str(i)
k1=k1+ #根據年份,生成8位對稱日期
if check(k1)==True:#驗證8位對稱日期是否存在邏輯錯誤
print(k1)
(2)check(x)函數功能:判斷8位日期x是否存在邏輯錯誤,若存在邏輯錯誤,返回False,否則返回False。請完成代碼填空。
def check(k):
y=int(k[0:4])
m=int(k[4:6])
d=int(k[6:8])
if month(m)==False:#調用month(m)函數,判斷月份是否存在邏輯錯誤
return False
if days(y,m,d)==False:#調用days(y,m,d)函數,判斷日期是否存在邏輯錯誤
return False
return
(3)leapyear(y)函數功能:判斷年份y是否為閏年,若為閏年,返回True,否則返回False。請完成代碼填空。
def leapyear(y):#判斷閏年
flag=
if y%4==0 and y%100!=0:
flag=True
elif y%400==0:
flag=True
return flag
(4)month(m)函數功能:用于判斷月份是否超出范圍1~12月,若沒有超出范圍,返回True,否則,返回False。請完成代碼填空。
def month(m):#判斷月份是否滿足要求
flag=True
if :
flag=False
return flag
(5)days(y,m,d)函數功能:根據年份y判斷是否閏年,結合月份確定該月份m的天數,若d超過該月天數,返回False,否則返回True。請完成代碼填空。
def days(y,m,d):#判斷天數是否滿足要求
lst=[31,28,31,30,31,30,31,31,30,31,30,31]
if leapyear(y) and m==2:
k=
else:
k=lst[m-1]
if d<1 or d>k:
return False
else:
return True
27.學校籌辦校慶,向校友提供“教室預約”服務。校友以班級為單位,在線提交預約申請。學校當前預備了m個教室,按“教室名”升序排序后編定“教室序號”。教室信息和預約申請內容如下圖所示(教室已按教室名升序排序,預約申請中“預約序號”為0的記錄表示:91屆1班的校友申請在8:00-9:30期間使用教室)。

圖1 圖2
學校按“預約序號”順序,逐條處理預約申請,處理時按“教室序號”順序,逐個教室檢查,安排使用第一個預約時間不沖突的教室。按此規則逐條處理上圖的10條申請,“立德樓101”教室將安排“預約序號”為0、2、3、8的申請。
編寫程序實現預約功能,按時間順序輸出各個教室接受的預約安排,如圖3所示。
圖3
部分代碼如下,請回答以下問題。
(1)上例中若新增一個使用時間為“8:00-9:00”的申請,應安排的“教室序號”為 。(填寫0-8的數字)
(2)定義check(k,i)函數,功能為判斷預約序號為k的申請,能否安排到序號為i的教室。
def check(k,i):
n= len(jslst[i][2])#列表jslst[i][2]存儲教室序號為i的教室已接受的預約序號
if n == 0:
return True
for p in jslst[i][2]:
if not(yylst[k][3] <= yylst[p][2] or ____):
return False
return True
劃線處應填寫代碼:
(3)定義work(k)函數,功能為依次枚舉每個教室,為“預約序號”為k的申請安排教室。
def work(k):
p= -1
for i in range(len(jslst)):
if____:
jslst[i][2].append(k)#將“預約序號”k存入“教室序號”為i的教室
p=i
break
return p
劃線處應填寫代碼:
(4)定義sort(a)函數,參數列表a中的存儲“預約序號”,將這些申請按題意排序。
def sort(a):
n = len(a)
for i in range(n-1):
for j in range(0,n-i-1):
if yylst[a[i]][2] > yylst[a[i+1]][2]:
a[i],a[i+1] = a[i+1],a[i]
若將劃線處的代碼修改為yylst[a[i]][3] > yylst[a[i+1]][3],排序結果會不會改變 。(填:會/不會)
(5)主程序。讀入預約申請信息存入列表yylst,存儲格式為[預約班名,開始時間,結束時間,教室序號],如[3,'00屆5班','10:30','11:30',1],“預約序號”為3的申請,安排在“教室序號”為1的教室,時間格式統一為5位字符組成"XX:XX"。
讀入升序排序的教室清單存入一維數組jslst,如[0,'立德樓101',[0,2,4]],表示“教室序號”為0的教室,接受“預約序號”為0,2,4的3個預約申請。
for i in range(len(yylst)): #按“預約序號”順序,逐條處理預約申請
t = work(i)
if________:
print("預約序號為",i,"的申請無法被安排")
else:
yylst[i][4] = t
for i in range(len(jslst)):#對各個教室接受的預約安排進行排序
sort(jslst[i][2])
#輸出各個教室接受的預約安排,代碼略。
劃線處應填寫代碼:
五、簡答題
28.定義函數的基本格式是: 。
29.在“抗擊疫情,‘宅’出精彩”征文活動中,每位選手可以提交一篇作品。活動以互評的形式展開:每位選手對m篇作品進行打分(本人作品回避),方法如下:
① 用1-n數字代表n個作品,打亂順序后分配給n個選手。分配方案保存在數組a中,如圖a存儲了兩組分配方案(n=5)。在第一個分配方案中把4號作品分配給1號參賽者,1號作品分配給2號參賽者(選手編號與序號錯開)……。
4 1 5 2 3 a(1)~a(n)中存儲第一個分配方案
2 3 4 5 1 a(n+1)~a(2*n)中存儲第二個分配方案
↑第i列中的作品拿給i號參賽者打分
圖a
②分配方案的形成方法: 將1~n之間的隨機數字依次放到第1個位置、第2個位置……,隨機數不能與位置號相同,并且要防止分配沖突,如前三個分配序號是“2 3 4”,那么在第4位上只能放“5”(如放“1”會導致第5個位置沒有符合要求的數字,因此位置n-1需要判斷數“n”是否已經分配,如果未分配,位置n-1放置數“n”),最終方案“2 3 4 5 1”。
③評m個作品需要m個分配方案。方案間要避免同一個人拿到重復的作品。如第16題圖a第3行上的數據“5 1 2 3 4”不符合要求,因為會使第2號選手重復拿到1號作品。
小明依據上述方法設計了VB程序,功能如下:在文本框Text1和Text2分別輸入參賽人數和每人打分的作品數量,單擊“分配”按鈕Command1,在列表框List1中輸出結果。程序運行效果如圖b所示。
請回答下列問題:
(1)n=5,m=3,a(1)~a(10)中的數據如圖a所示,a(11)~a(15)的數據可能是 (單選,填字母:A.5 4 3 1 2/B.5 4 1 3 2/C.3 4 5 1 2)
(2)請在劃線處填入合適的代碼。
Dim n As Integer '總人數/總作品數
Dim m As Integer '每人分配篇數
Dim a(1 To 500) As Integer '數組a大小滿足處理要求
Dim c(1 To 100) As Integer '數組c大小滿足處理要求
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
n = Val(Text1.Text): m = Val(Text2.Text)
Randomize
i = 1
Do While i <= m
For j = 1 To n
c(j) = 0 '本輪分配方案中還沒有數字j, c(j)=0,否則c(j)=1
Next j
For j = 1 To n
If j = n - 1 And c(n) = 0 Then

Else
k = r(n, j)
End If
a((i - 1) * n + j) = k '分配數字k到當前方案的第j個位置上
c(k) = 1
Next j
If ② Then i = i + 1
Loop
s = ""
For i = 1 To n
s = "參賽者" & i & ":"
For j = 1 To m
s = s + Str(a((j - 1) * n + i))+ ","
Next j
List1.AddItem s
s = ""
Next i
End Sub
Function r(x As Integer, y As Integer) As Integer
'生成一個取值在[1,x]之間,可以放在y位置上的隨機數,滿足條件r<>y andc(r)=0
End Function
Function check(c As Integer) As Boolean
'本輪方案和前面幾次的分配方案比較,如果有人分到了重復作品,返回FALSE
Dim p As Integer,f As Boolean
f = True
p = 1
For i = 1 To c * n
If ③ Then
f = False: Exit For
End If
p = p mod n +1
Next i
check = f
End Function
參考答案
1.A
2.D
3.B
4.B
5.C
6.A
7.D
8.B
9.C
10.D
11.D
12.C
13.B
14.C
15.A
16.初值 終值 循環體
17.1,2,3,4
18.5
19.結束當前循環/終止當前循環
20.1 v = float(input("請輸入速度(千米/秒):")) 4
else:
21.正確
22.正確
23.錯誤
24.正確
25.錯誤
26.k1[::-1] True False m==0 or m>12 lst[m-1]+1或29
27.2 yylst[k][2] >= yylst[p][3] check(k,i) 或 check(k,i)==True 不會 t==-1
28.def 函數名(參數):
#函數說明
語句或語句組
return 返回值
29.(1)B
(2)①k= n ②check(i - 1) ③a(i) = a(c * n + p)

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 崇明县| 连城县| 堆龙德庆县| 潜山县| 邵阳市| 芮城县| 门头沟区| 广宁县| 贡嘎县| 弋阳县| 岳池县| 贡嘎县| 砀山县| 大安市| 南开区| 肥乡县| 江川县| 南阳市| 秦皇岛市| 洪雅县| 高平市| 耒阳市| 吴堡县| 惠安县| 毕节市| 白银市| 拉萨市| 德令哈市| 碌曲县| 英德市| 越西县| 夏津县| 闸北区| 闽侯县| 福州市| 文登市| 克拉玛依市| 白朗县| 建平县| 浦江县| 韶山市|