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

第三章 算法的程序?qū)崿F(xiàn) 章節(jié)測試(含答案) 2023—2024學(xué)年浙教版(2019)高中信息技術(shù)必修1

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

第三章 算法的程序?qū)崿F(xiàn) 章節(jié)測試(含答案) 2023—2024學(xué)年浙教版(2019)高中信息技術(shù)必修1

資源簡介

第三章 算法的程序?qū)崿F(xiàn) 章節(jié)測試
一、選擇題
1.王偉東同學(xué)準(zhǔn)備用下列的變量名來進(jìn)行編程,在程序運(yùn)行中不會報錯的是( )
A.we_1 B.3we C.he&w D.input
2.利用計算機(jī)編程解決問題的過程中,需要使用一種程序設(shè)計語言來實現(xiàn)算法,這個過程叫做( )。
A.分析問題 B.設(shè)計算法 C.編寫程序 D.調(diào)試程序
3.下面Python函數(shù)的作用,選項錯誤的是( )
A.增加代碼的維護(hù)難度 B.實現(xiàn)代碼的復(fù)用
C.增強(qiáng)代碼的可讀性 D.使代碼的邏輯結(jié)構(gòu)更清晰
4.已知字典dict1={1001:”mali”, 1002:”lucy”, 1003:”jack”, 1004:”jhon” },要得到字典中的“jack”,下列方法可行的是( )
A.dict1[2] B.dict1{1003}
C.dict1[1003] D.dict1[“jack”]
5.某公司在第一年初購買了一臺價值為120萬元的設(shè)備,該設(shè)備的價值在使用過程中逐年減少。已知從第2年到第6年,每年初的價值比上年初減少10萬元;從第7年開始,每年初的價值為上年初的75%。編寫Python程序計算第10年初設(shè)備的價值,程序第5行下劃線處應(yīng)填入( )
1 #計算設(shè)備現(xiàn)有價值
2 value=120
3 for i in range(2,11):
4 if i<=6:
5 __________
6 else:
7 value=value*0.75
8 print(“該設(shè)備第10年初的價值為:”,value,“萬元”)
A.value=120-10 B.value=value-10 C.value=120-i D.value=value-i
6.用高級語言編寫的程序( )。
A.占用內(nèi)存空間非常少
B.很復(fù)雜且難以理解
C.必須由翻譯程序?qū)⑵渚幾g成機(jī)器語言,才能在計算機(jī)上執(zhí)行
D.只能在某種計算機(jī)上運(yùn)行
7.小張收集了近階段要學(xué)習(xí)的英文單詞,存儲為“data.txt”文件,格式如圖所示。
處理“data.txt”文件中英文單詞的 Python 程序段如下:
file=“data.txt”
n=0
for word in open(file): #打開文件準(zhǔn)備讀
if word[0:1]=='c': #word每次讀到第一行信息,word[0:1]則是當(dāng)前行字符的第1個字符
n=n+1
print(n)
運(yùn)行該程序段后,輸出的值為( )
A.1 B.2 C.3 D.5
8.input()函數(shù)的返回結(jié)果都是( ),有時需要將其轉(zhuǎn)化為相應(yīng)的類型再處理。
A.?dāng)?shù)值 B.字符串 C.列表 D.元組
9.在Python中,表達(dá)式18//3**2+15%4的結(jié)果是( )
A.39 B.15 C.5 D.3
10.下列不屬于 Python 的數(shù)據(jù)類型關(guān)鍵字的是( )
A.int B.double C.float D.str
11.有如下Python程序段:
from random import randint
n=8
a=[0]*n
k=randint(1,3)
for i in range(n):
a[i]=randint(0,50)
for i in range(0,n//k+1):
j=0
while j+k< n:
if a[j]>a[j+k]:
t=a[j];a[j]=a[j+k];a[j+k]=t
j+=1
print(a)
執(zhí)行該程序段后,輸出的結(jié)果不可能是( )
A.[3,14,17,25,28,31,32,37] B.[31,6,29,12,18,31,17,34]
C.[1,4,20,5,48,23,49,46] D.[3,6,30,14,38,32,41,45]
12.小曲使用Python編寫了下面一個函數(shù),如果執(zhí)行fact(5)語句的值為( )
1 def fact(n)
2 i=1
3 f=1
4 while i<=n:
5 f=f*i
6 i=i+1
7 return f
A.1 B.120 C.24 D.720
13.小明用某種語言編寫了段源代碼如下圖所示,實現(xiàn)了“任意輸入一個整數(shù),輸出其絕對值”的功能。如下說法正確的是( )
A.這是機(jī)器語言編寫的指令序列,計算機(jī)可以直接指行
B.這是匯編語言編寫的指令序列,計算機(jī)可以直接指行
C.這是高級語言編寫的指令序列,計算機(jī)可以直接指行
D.這是高級語言編寫的指令序列,需轉(zhuǎn)換成機(jī)器語言才能執(zhí)行
14.python單行注釋和多行注釋分別是什么?( )
A.""" """和''' ''' B.#和""" """ C.//和''' ''' D.#和//
15.在學(xué)習(xí)PythonTurtle,小曲編寫繪制圖形的代碼如下所示,此代碼繪制的圖形是( )
1 import turtle as t
2 t.speed(0)
3 for x in range(100):
4 t.circle(x)
5 t.left(92)
6 t.done()
A. B. C. D.
二、填空題
16.計算機(jī)編程解決問題的過程分為4步,分別是 、 、 、 ,其中 是信息編程加工的核心步驟。
17.Python表達(dá)式50-9*3%4的運(yùn)算結(jié)果是 。
18.閱讀以下程序,寫出程序運(yùn)行結(jié)果。
def jc(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=jc(4) #調(diào)用jc函數(shù)
print(total)
程序運(yùn)行后,其輸出結(jié)果為
19.要達(dá)到在窗口顯示不同位置的福字,需要完成兩個步驟:(1)在新的位置上 ;(2)把原來的圖像 。要“擦掉”某個圖像,可以選擇 它,通常采用 或者用 來覆蓋的方式。
20.Python語言,在循環(huán)體中可以使用break語句和continue 語句控制程序的流程。 語句用于終止某個循環(huán),使程序跳到循環(huán)體以外的第一個可執(zhí)行語句。
三、判斷題
21.能夠產(chǎn)生隨機(jī)數(shù)的Python擴(kuò)展模塊是pandas。( )
22.def塊中的代碼不是主程序的一部分,會跳過該段代碼.( )
23.注釋語句是對程序代碼的解釋和說明,在運(yùn)行程序時不會被執(zhí)行。( )
24.下列程序段中,賦值語句s=s+i被重復(fù)執(zhí)行了4次。
s=0
For i in range(3,10,2):
s=s+i ( )
25.Python是解釋型語言,翻譯一行就執(zhí)行一行。( )
四、操作題
26.Base64 編碼是計算機(jī)常見的一種編碼方式,規(guī)則是把 3 個字節(jié)(24 位)的數(shù)據(jù)按 6 位一組分成 4 組(24÷6=4),然后將每組數(shù)據(jù)分別轉(zhuǎn)換為十進(jìn)制,根據(jù)圖1將這些十進(jìn)制數(shù)所對應(yīng)的字符連接,即為 Base64 編碼。
圖1-Base64 編碼表
以編碼字符“Web”為例,如圖2所示,字符“Web”對應(yīng)的 ASCII 編碼分別是 87,101,98,分別轉(zhuǎn)換為 8 位二進(jìn)制數(shù),按 6 位二進(jìn)制數(shù)分組后再轉(zhuǎn)換成十進(jìn)制,查找它們對應(yīng)的字符,得到“Web”的 Base64 編碼為“V2Vi”。
圖2
編寫一個 Python 程序,實現(xiàn)上述功能。程序運(yùn)行時,輸入若干個字符(ASCII碼,個數(shù)必須是3的倍數(shù)),輸出Base64 編碼。
請回答以下問題:
(1)編碼字符“Wea”的 Base64 編碼為:
(2)實現(xiàn)上述功能的 Python 代碼如下,請在劃線處填入合適的代碼
s1 = input("請輸入編碼字符: ")
tmp = 0
s = ""
ans = ""
Base64 = "ABCDEFGHIJKLMNOPQRSTUVWSXYabcdefghijklmnopqrstuvwxyz012345678+/"
for x in s1:
n =
t = ""
for i in range(8): # 將十進(jìn)制數(shù) n 轉(zhuǎn)換為 8 位二進(jìn)制
r = n % 2
t =
n = n // 2
s = s + t
for i in range(len(s)): # 6位二進(jìn)制一組轉(zhuǎn)換成十進(jìn)制,查找Base64對應(yīng)字符
tmp =
if i % 6 == 5:
ans = ans + Base64[tmp]
tmp = 0
print("Base64 編碼:", ans)
27.為了督促學(xué)生寒假堅持體育鍛煉,老師采用線上打卡的方式收集學(xué)生鍛煉情況,數(shù)據(jù)如圖a所示。
為統(tǒng)計冬鍛完成情況,編寫Python程序。請回答下列問題:
(1)定義outdata函數(shù),其中參數(shù)dftmp是DataFrame數(shù)據(jù)類型,數(shù)據(jù)由圖a所示的Excel表導(dǎo)入。函數(shù)功能是:統(tǒng)計每天每個學(xué)生的鍛煉項目個數(shù),返回含有“學(xué)籍號”、“姓名”和“項目個數(shù)”信息的二維列表。函數(shù)代碼如下,劃線處應(yīng)填入的代碼為 。
A.dftmp.at[i,j]==″√″ B.dftmp[i][j]=″√″ C. dftmp.at[j,i]==″√″ D.dftmp[j][i]=″√″
def outdata(dftmp):
a=[]
for i in dftmp.index: #dftmp的行索引
itemn=0
for j in dftmp.columns[4:]: #dftmp中從“跑步”開始的列標(biāo)題
if______:
itemn+=1
a.append([str(df[″學(xué)籍號″][i]),df[″姓名″][i],itemn])
return a
(2)冬鍛打卡成功的標(biāo)準(zhǔn)為累計運(yùn)動15天,每天鍛煉項目達(dá)到3項及以上。統(tǒng)計輸出寒假體育鍛煉達(dá)標(biāo)的學(xué)生名單,并制作四個項目的運(yùn)動次數(shù)對比圖,部分界面如圖b和圖c所示。部分Python程序如下,請在劃線處填寫合適的代碼或改正加框處代碼。
import pandas as pd
import matplotlib. pyplot as plt
df=pd.read_excel(″sport.xls″)
1st=outdata(df)
print(″冬鍛打卡成功名單:″)
i=0:flag=[False]*len(1st)
while iif #
xjh=1st[i][0]
flag[i]=True
for j in range(i+1,len(1st)):
if 1st[j][0]==xjh and lst[j][2]>=3:
flag[j]=True
days+=1
if days>=15:
print(1st[i][0]+″/″+1st[i][1]+″/″+str(days)+″天″)
ydl=df.count() #統(tǒng)計各列非空單元格數(shù)量,結(jié)果為Series
iten=[″跑步″,″跳繩″,″俯臥撐″,″仰臥起坐″]
nums=
plt.bar(item,nums,label=″運(yùn)動次數(shù)″)
#設(shè)置繪圖參數(shù),代碼略
28.閱讀程序。閱讀求水仙花數(shù)的代碼并回答問題。
“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因為153=13+53+33,請計算并輸出所有三位數(shù)的水仙花數(shù)。
for n in range(100,1000):
i=n//100
j=n//10%10
k=n%10
if n==i*i*i+j*j*j+k*k*k:
print(n)
(1)//的符號作用是 。
(2)%的符號作用是 。
(3)==的符號作用是 。
(4)在代碼中,變量i表示的是三位數(shù)中的 位。
(5)在代碼中,變量j 表示的是三位數(shù)中的 位。
(6)在代碼中,變量k表示的是三位數(shù)中的 位。
(7)在range(100,1000)這個區(qū)域內(nèi),變量n無法取到的數(shù)值是 。
29.回文素數(shù)是一個既是素數(shù)又是回文數(shù)的整數(shù)。如果一個整數(shù)只能被1和本身整除,這個數(shù)就是素數(shù)。如果一個數(shù)從左向右和從右向左讀是一樣的,這個數(shù)就是回文數(shù)。
(1)實現(xiàn)判斷回文素數(shù)的Python程序如下,請在劃線處填入合適的代碼。
def ss(i):  #判斷素數(shù)
for j in range(2,i):
if ?、佟 ?
return False
return True
def hw(i):  #判斷回文數(shù)
x=i
k=0
while x!=0:
k=k*10+x%10

if k==i:
return True
else:
return False
n=int(input("請輸入待檢測數(shù)據(jù)范圍:"))
for i in range(2,n+1):
if ?、邸 ?
print(i)
程序劃線①處應(yīng)填入的代碼為 ;
程序劃線②處應(yīng)填入的代碼為 ;
程序劃線③處應(yīng)填入的代碼為 。
(2)本程序通過判斷并輸出回文素數(shù),這種算法屬于 (選填:“解析算法”或“枚舉算法”)。
30.輸入一段長度為n的英文字母,對其進(jìn)行某種加密方法,描述如下:
(1)將原文轉(zhuǎn)換為若干行m列(m為奇數(shù))的矩陣,最后一行若不足m個數(shù)據(jù)則以“#”填充。
(2)將矩陣中的數(shù)據(jù),從末行末列數(shù)據(jù)開始以回路的方式提取字符。按順序生成加密字符。例如對字符“helloworld”,m=3的加密過程如下圖,其加密結(jié)果為“#lwleor#dolh”
程序窗口界面如圖:
請回答下列問題:
(1)字符串“helloworld""”經(jīng)過加密后密文為“dollrleowh,則加密矩陣列數(shù)m為 。
(2)上述加密算法對應(yīng)解密的VB程序代碼如下,請在劃線處填入合適的代碼。
Private Sub commandl_click()
Dim a As String, n As Integer, yw As String
Dim i As Integer, j As Integer
Dim index As Integer, k As Integer, x As Integer
s= Text1.ext'文本框text中為待解密的字符串
m =Val(Text2.Text)
n = Len(s)
yw=″″
k=0
x=n/m
For i= 1 To
index=n-i+1
yw = yw+ Mid(s, index, 1)
Forj=2 To m
If Then
index = index-2*(x-i)-1
Else
index = index-2*(i-1)-1
End If
If Mid(s, index, 1) = "#" Then
yw = yw+ Mid(s,index, 1)
Next j
Next i
Label1. Caption = Mid(yw, 1, Len(yw) - k)
End Sub
五、簡答題
31.實現(xiàn)一個簡單的出租車計費系統(tǒng),當(dāng)輸入行程的總里程時,輸出乘客應(yīng)付的車費(車費保留一位小數(shù))。計費標(biāo)準(zhǔn)具體為起步價10元/3千米,超過3千米以后,每千米費用為1.2元,超過10千米以后,每千米的費用為1.5元。
32.編寫一個程序,從鍵盤上輸入3個數(shù),計算這三個數(shù)的和,并輸出結(jié)果。
33.從鍵盤上輸入一個字符,當(dāng)輸入的是英文字母時,輸出“輸入的是英文字母”;當(dāng)輸入的是數(shù)字時,輸出“輸入的數(shù)字”;當(dāng)輸入的是其他字符時,輸出“輸入的是其他字符”。
34.編寫一個程序,它將找到所有這些數(shù)字,可被7整除,但不是5的倍數(shù),2000年至3200年(包括在內(nèi))。得到的數(shù)字應(yīng)按逗號分隔的順序打印在一行上。
提示:考慮使用range(#begin,#end)
35.利用python程序設(shè)計語言,編寫一個輸出1-10以內(nèi)的偶數(shù)(包含10)的代碼。
參考答案
1.A
2.C
3.A
4.C
5.B
6.C
7.B
8.B
9.C
10.B
11.B
12.B
13.D
14.B
15.A
16.分析問題 設(shè)計算法 編寫代碼 調(diào)試運(yùn)行 算法設(shè)計
17.47
18.24
19.畫出圖像 擦掉 “覆蓋” 重繪背景 其他對象
20.break
21.錯誤
22.對
23.正確
24.正確
25.正確
26.V2Vh ord(x) str(r) + t tmp * 2 + int(s[i])或tmp=tmp*2+ord(s[i])-ord('0')
27.AD not flag[i] and lst[i][2]>=3 days=1 i+=1 yd1[4:]或ydl.values[4:]
28.整除 取余 判斷是否相等 百 十 個 1000
29.i%j==0 x=x//10 ss(i) and hw(i)或ss(i)=True and hw(i)=True 枚舉算法
30.5 x j mod 2=0 k=k+1
31.km=float(input("請輸入千米數(shù):"))
if km<=0:
print("千米數(shù)輸入錯誤,重新輸入")
elif km<=3:
print("您需要支付10元車費")
elif km<=10:
cost=10+(km-3)*1.2
print("您需要支付{:.1f}元車費".format(cost))
else:
cost=18.4+(km-10)*1.5
print("您需要支付{:.1f}元車費".format(cost))
32.a(chǎn) = input ( )
b= input( )
c = input( )
d=int(a)+int(b)+int(c)
print (d)
33.ch=input("請輸入一個字符:")
if ch.isdigit()==True:
print("輸入的是數(shù)字")
elif ch.isalpha()==True:
print("輸入的是英文字母")
else:
print("輸入的是其他字符")
34.
l=[]
for i in range(2000,3201):
if (i%7==0)and (i%5!=0):
l.append(str(i))
print (','.join(1))
35.代碼1:
for value in range(2,11,2):
print(value)
代碼2:
i=2
while i<11:
print(i)
i=i+2

展開更多......

收起↑

資源預(yù)覽

<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. 主站蜘蛛池模板: 威远县| 万宁市| 泗阳县| 遵化市| 长子县| 奈曼旗| 姜堰市| 花垣县| 泗洪县| 台北市| 和硕县| 二手房| 称多县| 定襄县| 吴忠市| 望奎县| 佛学| 抚州市| 开鲁县| 信阳市| 论坛| 如东县| 宜宾市| 富平县| 拉孜县| 马龙县| 平陆县| 玉田县| 迁西县| 白河县| 比如县| 玉山县| 浦城县| 城步| 阆中市| 浮山县| 余姚市| 永定县| 罗山县| 昌都县| 太白县|