收藏 分销(赏)

高考信息技术复习专题五-数制转换.pptx

上传人:a199****6536 文档编号:13123411 上传时间:2026-01-22 格式:PPTX 页数:58 大小:4.41MB 下载积分:14 金币
下载 相关 举报
高考信息技术复习专题五-数制转换.pptx_第1页
第1页 / 共58页
高考信息技术复习专题五-数制转换.pptx_第2页
第2页 / 共58页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019-9-25,#,#,专题五数制转换,1.,(20191,月浙江学考,),小红编写了一个将,5,位以内的十六进制正整数转化成十进制数的,VB,程序,功能如下:在文本框,Text1,中输入一个十六进制正整数,单击,“,转换,”,按钮,Command1,,在标签,Label3,中显示结果。程序运行界面如图所示。,(1),要使窗体,Form1,标题显示,“,数制转换,”,,则需该窗体的,_(,单选,填字母:,A.Font/,B.Caption,/C.BackColor),属性。,(2),要实现上述功能的,VB,程序如下,请在划线处填入合适的代码。,Private Sub Command1_Click(),Dim x As String,ch As String,Dim flag As Boolean,i As Integer,result As Long,x,_,_,i,1,result,0,flag,True,ch,Mid(x,1,1),Do While i,0 And ch,A And ch,a And ch,f Then,result,result*16,(Asc(ch),Asc(a),10),Else,flag,False,End If,i,i,1,ch,_,_,Loop,If,flag,True,Then,Label3.Caption,Str(result),Else,Label3.Caption,输,入错,误,End If,End Sub,(3),若在文本框,Text1,中输入,5,9,,单击,“,转换,”,按钮后,标签,Label3,中显示的内容是,_(,单选,填字母:,A.14/B.E/C.,输入错误,),。,解析,从语句,ch,Mid(x,1,1),来看,,x,是文本框,Text1,输入字符。,Ch,为每次取出字符,如果不是,0,9,或,A,F,或,a,f,的字符,则,flag,False,。,答案,(1)B,(2),Text1.Text,Mid(x,i,1),(3)C,2.,(20184,月浙江学考,),某种编码以,4,位二进制码为一组,每组前两位表示方向,后两位表示距离。编写一个程序,将编码翻译成方向和距离,距离值为每组编码后两位二进制码转换为十进制数的值。具体功能如下:在文本框,Text1,中输入连续多组编码,单击,“,翻译,”,按钮,Command1,,结果显示在列表框,List1,中。,程,序运行界面如下图所示。,(1),要使程序运行时,文本框,Text1,的,Width,属性值为,2018,,可在,Form_Load,事件过程中添加语句,_(,单选,填字母:,A.Width,2018,/B.Text1.Width,2018,/C.Width.Text1,2018),。,(2),实现上述功能的,VB,程序如下,请在划线处填入合适的代码。,Private Sub Command1_Click(),Dim s As String,c As String,d As String,Dim n As Integer,b1 As Integer,b2 As Integer,v As Integer,i As Integer,s,Text1.Text:n,Len(s):i,1,Do While i 0,a,n Mod 2,n,n2,t=_,_,s=Str(a)+,s,Loop,V=t,Mod 2,Text2.Text=s,Label3.Caption,=,校验位值,+_,_,End Sub,(,3),运行该程序,在文本框,Text1,中输入,22,,单击,“,计算,”,按钮,则显示的校验位值是,_,。,解析,(1),本小题考查对象的属性设置,文本框中的显示内容为文本框的,“,Text,”,属性。,(2),该算法通过,“,除二取余,”,将十进制的待校验数,n,转换为二进制数,s,,变量,t,将二进制数各数位上的,“,0,”,或,“,1,”,累加起来,(,统计二进制数据中,“,1,”,的个数,),,即,“,t,t,a,”,。,v,t mod 2,用于判断,t,的奇偶性,当,v,1,时,,t,为奇数,当,v,0,时,,t,为偶数,校验位值可以从,t,的奇偶性来判断,校验位值为,(1,v),或,(v,1),,通过,Label3,的,Caption,属性值输出,需转化为文本型,,处应为,str(1,v),或,str(Abs(v,1),。,(3),十进制数,22,转化为二进制数为,“,10110,”,,各数位上的,“,0,”,或,“,1,”,相加得,3,,为奇数,校验位值为,0,。,答案,(1)Text,(2),t,a,str(1,v),(3)0,4.,某数据加密方法描述如下:,1,),以字节为单位进行加密处理;,2,),将,1,个字节的,8,位二进制数分割成前,4,位与后,4,位两个二进制数;,3,),分别将上述两个,4,位二进制数转换为十进制数;,4,),将每个十进制数转换为,1,个加密字符,对应的,“,密码表,”,如下:,值,(,十进制,),0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,加密字符,I,I,i,k,e,C,H,N,p,o,s,t,c,a,r,d,小明按照上述方法,设计了一个字符串,(,仅包含,ASCII,字符,),加密的,VB,程序,功能如下:单击,“,加密,”,按钮,Command1,,程序依次将文本框,Text1,中每个字符的,ASCII,码值作为,1,个字节转换为两个加密字符,连接这些加密字符,最后在文本框,Text2,中输出加密结果。下表显示了字符串中一个字符的加密过程:,程序运行效果如图所示:,实现上述功能的,VB,程序如下:,(1),请在划线处填入合适代码。,Private Sub Command1_Click(),Dim n As Integer,,,s As String,,,i As Integer,,,ss As String,Dim a As Integer ,存储加密前字符的,ASCII,码,Dim b1 As Integer,,,b2 As Integer ,分别存储分割、转换后的两个十进制数,s,Text1.Text,_,_,For i,1 To n,a,Asc(Mid(s,,,i,,,1),b1,a16,b2,a Mod 16,ss,ss,Code2Char(b1),Code2Char(b2,),Next i,Text2.Text,ss,End Sub,十进制值转换为加密字符的函数,Function Code2Char(c As Integer)As String,Dim s As String,s,IlikeCHNpostcard,Code2Char,_,_,End Function,(2),若将,“,密码表,”,中值为,“0”,对应的加密字符,“I”,改为,“i”,,加密后的密文可能无法解密,原因是,_,。,解析,变量,i,表示字符在字符串中的位置,,n,表示字符串长度。在自定义函数中,函数名,Code2Char,将作为返回值,参数,c,表示某个数字,其值范围在,0,,,15,之间,当,c,0,时,对应密码表第,1,个字符,因此他在密码本中位置为,c,1,。加密字符,“,I,”,改为,“,i,”,,密码本中有两个,i,,解密成,0,或,2,两个数。,答案,(1),n,Len(s),或,n,Len(Text1.Text),Mid(s,,,c,1,,,1),(2),加密字符,i,对应两个值,0,,,2,在计算机中,存储信息的基本单位是字节,且所有的信息都是二进制数表示,但二进制比较冗长,把一个字节的,8,个位分成高,4,位和低,4,位两部分,每部分转换成,1,位十六进制数,即一个字节在计算机中用,8,个位存储,但在查看内码或其他操作时,可以用,2,个十六进制数表示。因此经常进行二进制、十进制和十六进制之间的转换。,考点,1,十进制数向其他进制数转换,1.,十进制数向二进制或十六进制转换时,用该数除以,2,或,16,,把商作为被除数,重复计算,值到得到的商为,0,为止,把每次的余数反向连接起来,组成新的进制数。,2.,十六进制数的基数为,0,9,及,A,F,,因此将每次除的余数,0,15,分别对应以上字符,可以有两种方法,一是在,1,个,“0123456789ABCDEF,”,字符串中用,Mid,函数取出相对应的字符,二是利用字符内码,转换成相应的字符,在转换之前要进行判断。,3.,数值小于,255,的正整数,n,,转换成十六进制,可以将,n16,和,n Mod 16,在上述的字符串中,取出两个数对应的字符即可。,【例,1,】,用,VB,编写正整数十进制转换为十六进制的程序,运行界面如图所示。程序功能如下:在文本框,Text1,中输入待转换的十进制值,单击,“,十进制转换十六进制,”,按钮,Command1,,在文本框,Text2,中输出转换结果。,请在程序的划线处填写合适的代码。,【方法一】,Private Sub Command1_Click(),Dim a As String,s As String,Dim r As Integer,x As Integer,x,Val(Text1.Text),s,s1,“0123456789ABCDEF,”,Do While _,_,r,x Mod 16,s2,Mid(s1,r,1,1),_,_,x,x,16,Loop,Text2.Text,s,End Sub,【方法二】,Private Sub Command1_Click(),Dim a As String,,,s As String,Dim r As Integer,,,x As Integer,x,Val(Text1.Text),s,Do While x 0,_,_,If,r 9 Then,_,_,Else,s2,Trim(Str(r)Trim,函数的功能是去除字符两端的空格,End,If,s,s2,s,x,x 16,LoopEnd Sub,解析,本题考核的知识点十进数向其他进制数的转换。关键是如何将数字转换成相对应的字符。方法一中采用在某个字符串取出相应位置的字符,方法二中采用内码的方法。,答案,【方法一】,x 0,或,x0,s,s2,s,【方法二】,r,x Mod 16,s2,Chr(r,55),【变式训练,1,】,小林为了将十进制数转化为,k,进制数,(k,介于,2,16,之间,),,设计如下界面程序:在文本框,Text1,中输入一个十进制数,在文本框,Text2,中输入整数,k(,范围在,2,到,16,之间,),,单击,“,运行,”,按钮,Command1,,程序将十进制转化为,k,进制的,并在标签,Label1,中输出结果。请回答下列问题:,(1),程序代码如下,请在划线处补充完整。,Private Sub Command1_Click(),d,Val(Text1.Text),k,Val(Text2.Text),s,Do,While d 0,r,d Mod k,If r,10 Then,s2,Mid(ABCDEF,,,_,_,,,1),Else,s2,Trim(Str(r),End If,s,s2,s,_,_,Loop,Label1.Caption,结,果,为,s,End Sub,(2),运行该程序,在文本框,Text1,中输入,“38”,,文本框,Text2,中输入,“2”,,单击,“,运行,”,按钮,则,Label1,显示的内容为是,_,。,解析,本题的关键是当余数如果超出,9,,即把,10,15,如何转换成,A,F,之间字符。,答案,(1),r,9,d,d,k,(2)100110,考点,2,其他进制数向十进制数转换,1.,如果是一位十六进制数字转十进制,分,0,9,和,A,F,两种情况,,0,9,的可以用,Val,函数进行转换,,A,F,字符可以用其内码减去,55,进行转换。,2.,按权展开相加法。从低位开始,把每一位上的数乘以该位数的权,把每次的乘积相加。如,(1011),2,12,0,12,1,02,2,12,3,,,38H,816,0,316,1,8,48,56D,。,相,应的代码是,For,i,Len(s)To 1 Step,1,t,Val(Mid(s,i,1)*2 (Len(s),i),n,n,t,Next,i,3.,计算左边第,1,位值,t,,从第,2,位开始,把该数表示成前面的数左移一位,(,在后面添加,1,个,0),。如将二进制数,1101B,和十六进制数,A1B2H,转换成十进制数的过程,其中,i,表示每次读取的位置,,ch,表示每次读出的数字。,二进制数向十进制转换,十六进制数向十进制转换,i,ch,t,i,ch,t,1,1,1B,1,A,AH,1,1,10B,1B,2,1,A0H,1H,0,0,11B,0B,3,B,A1H,BH,1,1,110B,1B,4,2,A1BH,2H,二进制数和十六进制数后面添加,1,个,0,,其值分别为原来的,2,和,16,倍。,相应的代码是,For i,1 To Len(s),ch,Mid(s,i,1),If ch,0,And ch,0,And x,1,(2)Mid(s,i,4),(3)Mid(s2,t,1,1),s3,【变式训练,3,】,在文本框,Text1,中输入一组,12,位以内的二进制数,将该二进制数转化为十六进制数后在,Label1,中输出。程序运行后如图所示。,(1),程序运行时,将宽度调整为,5000,,则需在,Form_Load(),过程中加入语句,_(,选填,填字母:,A.Text1.Caption,5000/B.Height,5000/C.Text1.Width,5000/D.Text1.Left,5000),。,(2),实现上述功能的,VB,程序如下,请在划线处填入合适代码。,Private Sub Command1_Click(),Dim a(1 To 12),As Integer,a,数组用以存储二进制数,Dim b(1 To 3),As Integer,b,数组用以存储十六进制数,Dim m,s,As String,Dim i,j,k As Integer,m,Text1.Text,For i,12 To 12,Len(m),1 Step,1,将每位二进制数保存到数组,a,中,_,_,Next i,For i,1 To 3,将每,4,位二进制数转化为十进制数后保存到数组,b,中,For j,4 To 1 Step,1,b(i),b(i),a(_,_)*2 (j,1),Next j,Next i,For i,1 To,3,If b(i)10 Then,m,Chr(b(i),48),Else,m,Chr(b(i),55),End If,s,s,m,Next i,Label1.Caption,转,换后的十六进制数为,:,s,End Sub,(3),若程序运行后,若在文本框中输入二进制数,1101101101,,则变量,s,的值为,_,。,解析,先把二进制数,m,每一位数字存储在数组,a,中,再从低位开始,每,4,位转换为一位十六进制数。,答案,(1)C,(2),a(i),Val(Mid(m,i,1),i*4,j,1,(3)“36D”,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 高考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服