資源簡介 第三單元 認識數據 單元測試一、選擇題1.下列關于信息的編碼,說法不正確的是( )A.8位二進制數能表示的最大的十進制數是255B.n進制數120是n進制數12的n倍C.十進制數x剛好能整除8,則轉換為二進制數后三位都為0D.十六進制數E0H中的“E”對應的權值是1622.王老師組織學生們玩“誰是007”游戲,需將56位學生的序號編碼成二進制數字表示,老師最少需要用多少位二進制數來編碼(注:3位二進制數能表示的最大十進制數是7,即111B=1*2 +1*2 +1*2 =7D)( )A.3位 B.4位 C.5位 D.6位3.以下關于數據編碼的說法,正確的是( )A.1個漢字字符在計算機中存儲需要1個字節B.不同聲音信號經編碼后生成的文件類型一定不同C.位圖圖像編碼時位深度大小與圖像質量無關D.1個ASCII碼字符在計算機中以8位二進制存儲4.對產品編號可以有效的對產品進行動態管理與追蹤,某批產品的數量不超過50000件,若用數字‘0’-‘9’及字母‘A’-‘F’對每個產品編號,最少需要的編碼位數是( )A.2 B.3 C.4 D.55.某人制作了一個二維碼名片,如圖1所示。為了讓名片更有個性,他又在二維碼名片中加一個分辨率為50×50像素的LOGO,并按原文件格式保存為圖2,其文件信息如圖3所示,則圖2文件數據量的計算公式為( )圖1 圖2 圖3A.(260×260-50×50)×24/8 字節B.260×260×24 字節C.(260×260-50×50)×24/8 字節D.260×260×24/8字節6.高一年級有7個班級,每班最多42名學生。若要用二進制分別為班級號和學號進行編碼,則至少需要的二進制位數是( )A.班級號2位,學號5位 B.班級號2位,學號6位C.班級號3位,學號5位 D.班級號3位,學號6位7.使用二進制數來表示依次排列的 6 盞燈的“亮”“暗”狀態,0 表示“亮”,1 表示“暗”,左為高位。若自左向右依次為“亮、暗、亮、暗、暗、亮”,那么表示此狀態的二進制數是( )A.101001 B.010110 C.41 D.228.用UltraEdit觀察“杭州第19屆亞運會”的字符內碼,如圖所示。下列說法正確的是( )A.圖中共有8個ASCII碼字符B.字符“y”的二進制內碼為01011001C.字符“9”對應的內碼是39H,字符“10”對應的內碼是40HD.字符“!”是漢字字符,在計算機內部占2個字節的存儲空間9.下列有關信息編碼的說法,正確的是( )A.數據的壓縮是信息的編碼過程B.某編碼方案用10位二進制數對字符進行編碼,最多可表示1000個字符C.ASCII碼共有128個,最大的ASCII碼值是128D.已知字符“9”的ASCII碼值為39H,則字符“10”的ASCII碼值是3AH10.英文大寫字母A的ASCII碼值(十進制數)是65,那么B是( )A.65 B.66 C.97 D.9811.通過輸入設備采集的數據信息,會被編碼為( )A.二進制代碼 B.八進制代碼 C.十進制代碼 D.十六進制代碼12.在計算機的各種進制數中,以下數值最小的是( )A.95H B.1111110B C.208H D.145D13.用UltraEdit軟件觀察“I love HangZhou”這幾個字的內碼,如下圖所示:則“AC”這幾個字符的內碼用十六進制表示是( )A.61 43 B.41 43 C.59 43 D.40 4314.二進制數111010轉換成十六進制數是( )A.3B B.7B C.3A D.61015.在數據加密處理過程中,需要保密的信息稱為“明文”,經加密處理后的信息稱為“密文”。現將0-9這10個數字按圖示排成一圈,并設置一種信息加密規則——密鑰為“n@2”,“n@2”表示把明文n換成圖中從它開始逆時針跳過2個數字后的那個數字,例如明文是5時,它對應的密文是0。若收到的密文是3682,那么通過解密,它對應的明文是()A.8945B.0247C.8925D.9138二、填空題16.某塊主板上有5個開關,每個開關有“打開”和“關閉”兩種狀態,該電路板最多可以表示( )狀態。17.存儲2個國標漢字內碼通常需要( )字節。18.凱撒加密是一種較簡單且廣為人知的加密方法,其明文中的所有字母依照字母表按固定數目向后或前偏移成密文。如將字母A后移3位置換成D,字母B后移3位置換成E。據此規則,詞語HOT加密后為 。19.已知字符53的ASCII值是110101,求字符55的ASCII值是 ,字符55的十六進制數 。20.十進制數(-125)10對應的二進制數是 。 其對應的反碼是 ,對應的補碼是 。三、判斷題21.若二進制數1100去掉末位數0,則新數110是原數1100的1/2。( )22.ASCII編碼用1字節表示英文字母、數字和常見字符。( )23.二進制轉換成十進制數,常用的方法是除2反向取余法。( )24.如果把汽車牌照編號由5位純數字編排,改為第1位可由數字或英文大寫字組成,后4位還由純數字組成,則理論上能增加26萬個號牌。( )25.一個漢字需要一個字節的存儲空間。( )四、操作題26.某數據加密方法描述如下:(1)以字節為單位進行加密處理;(2)將1個字節的8位二進制數分割成前4位與后4位兩個二進制數;(3)分別將上述兩個4位二進制數轉換為十進制數;轉換前的字符M字符M的ASCII十進制值對應的二進制數分割、轉換后的十進制數對應的加密字符(4)將每個十進制數轉換為1個加密字符,對應的“密碼表”如下:值(十進制) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15加密字符 I l i k e C H N P o s t c a r d小明按照上述方法,設計了一個字符串(僅包含若干個ASCII字符)加密辦法,功能是將這個字符串的每個字符的ASCII碼值作為1個字節轉換為兩個加密字符,連接這些加密字符,最后得到加密結果。下表顯示了字符串中一個字符的加密過程:下圖左框中“This is an example!”是一個字符串,它由19個字符(包括大小寫字母、空格和標點符號)組成,按照上述方法,每個字符加密后得到兩個加密字符,最后加密結果為38個字符,如圖中右框所示。請回答下列問題:(1)觀察可知“e”加密后的結果為 (單選,填字母:A.HC / B.Ci / C.Ce)。(2)已知ASCII表中,大寫字母比對應的小寫字母的十進制ASCII值要小32D,根據以上加密規則,完成字符“M”的加密過程,請將答案填寫在下表空白處 。(3)若將“密碼表”中值為“0”對應的加密字符“I”改成“i”,加密后的密文可能無法解密,原因是 。27.以下是凱撒密碼的改進版,請將①②③橫線處內容補充完整。import os #開始def NewCaesar(m,n,t): z='';i=0 while i< : tmp= if tmp in m: if ord(t[i])<=90: z+=n[m.find(tmp)] else: z+=n[m.find(tmp)].lower() else: z+=t[i] i+=1 return zm='ABCDEFGHIJKLMNOPQRSTUVWXYZ'n='QWERTYUIOPASDFGHJKLZXCVBNM'a=input('請輸入<明文>a=')b=NewCaesar(m,n,a)print('對應的密文為:',b)c=NewCaesar(n,m,b)print('解密后明文為:',c)if : print('加密解密成功!')else: print('加密解密失敗!')input("運行完畢,請按回車鍵退出...")os._exit(0)#結束28.下面是隨機點名器的代碼設計,大致可分為四個模塊。一是導入相應模塊,二是窗體界面元素的產生及布局和有關屬性設置,三是打開“點名冊.txt”,讀取并保存姓名數據,四是設計兩個按鈕的單擊事件代碼。以下是部分代碼,認真閱讀,補充完成下列程序。from #導入tkinter模塊import tkinter.messagebox #導入彈窗庫模塊import random #導入隨機數模塊import datetime #導入日期時間模塊root = Tk() #創建主窗口root.title("隨機點名器") #設置窗口標題root.geometry('808x280+300+200') #設置窗口大小及位置root.resizable(0,0) #禁止調整窗口大小var=StringVar() #定義StringVar()類型var1=StringVar()c= ("點名冊.txt",'r') #以只讀模式打開文件a=c.readlines() #讀取文件全部內容c. #關閉文件b=[] #b作為列表a的備份五、簡答題29.某公司想為每個員工分配一個唯一的二進制位ID,以便計算機管理。如果有500名員工,則最少需要多少位來表示?如果又增加了200名員工,則是否需要調整位數?如果需要調整應該調整到多少位合適?30.閱讀材料,完成下列問題。下圖是漢字“大”二進制編碼,如果黑色的區塊用1來表示,白色的區塊用0來表示。(1)將點陣圖第4列的編碼用16進制數表示(從下向上排列)(2)編碼“01111100” 是第幾行的編碼?(3)存儲當前點陣字至少需要多少字節?參考答案1.D2.D3.D4.C5.D6.D7.B8.A9.A10.B11.A12.B13.B14.C15.C16.3217.418.KRW19.110111 3720.11111101 10000010 1000001121.正確22.正確23.錯誤24.正確25.錯誤26.A 加密字符i對應兩個值0,227.①len(t) ②t[i].upper() ③a==c28.①tkinter import * ②open ③close29.29 28 27 26 25 24 23 22 21 20512 256 128 64 32 16 8 4 2 11 1 1 1 1 1 1 1 1根據上表可以29=512>500,所以要產生500名員工的二進制ID號,需要9位二進制才能滿足條件。由于500+200=700,210=1024>700,所以在原來的基礎上必須增加1位,需要10位二進制數才能滿足ID的數量。30.(1)1E (2)第5行 (3)8 B 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫