资源简介 第三单元 认识数据 单元测试一、选择题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 展开更多...... 收起↑ 资源预览