题库 高中信息

题干

小张编写了一个查询汉字区位码的程序,程序具体功能:在文本框Text1中输入一个汉字的内码(处理码),单击“查询”按钮Command1后,在Text2中输出汉字的区码和位码。例如:汉字“啊”的内码和区位码的关系如下:
“啊”的区位码
区码
位码
十进制
16
01
十六进制
10
01
 
区位码分别转成十六进制后,将区码和位码分别加上十六进制数A0即得到内码。

“啊”的内码的十六进制形式即为B0A1H
程序运行界面如图所示:

Private Sub Command1_Click()
Dim i As Integer, q As Integer, w As Integer, s As String, s1 As String, c As String
s = Text1.Text
For i = 1 To 4    '如果输入的处理码包含小写字母,则转成大写字母
c = Mid(s, i, 1)
If  _____ Then
s = Mid(s, 1, i - 1) + Chr(Asc(c) - 32) + Mid(s, i + 1, Len(s) - i)
End If
Next i
For  i = 1 To 4   '两个字节分别减去 A0H
c = Mid(s, i, 1)
If i Mod 2 = 1 Then
s1 = s1 & CStr((Asc(c) - Asc("A")))    'CStr( ):将括号内表达式的值转换为字符串型
Else
_____
End If
Next i
For i = 1 To 2    '将十六进制转换成十进制
q = q * 16 + Val(Mid(s1, i, 1))
_____
Next i
Text2.Text = "区号:" + Str(q) + "   位号:" + Str(w)
End Sub
(1)请在划线处填入合适的代码。
(2)如果输入的内码为 D1A7,则 Text2 中输出的内容是:_______________
上一题 下一题 0.99难度 填空题 更新时间:2019-07-10 02:39:25

答案(点此获取答案解析)

同类题4

给定一个数组a,有n个元素(1≤n≤100),有以下两种操作:
操作1:在文本框中分别输入L、R、T(1≤L≤R≤n),对数组下标为L到R之内(包含L和R)的每个元素增加T(1≤T≤100)
操作2:在文本框中输入K(1≤K≤n),在标签中输出a(K)的值。
为了提高算法的效率,小明设计了如下算法,以n=10为例,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
l0
元素的值
7
l2
3
6
7
1l
8
24
9
5
 
①将n个元素依次分成段(表示对石向下取整,每段的元素个数为,若最后有不足个元素,则自成一段。给每段设置一个标记,初始值都为0,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
10
元素的值
7
12
3
6
7
1l
8
24
9
5
段编号
第l段
第2段
第3段
第4段
段标记值
0
0
0
0
 
②对于操作1,输入的L、R属于同一段,则直接对a(L to R)的每个元素加上T。如输入4,6,3,则第2段中的每个数加上3,操作后如下表所示。
数组下标
1
2
3
4
5
6
7
8
9
10
元素的值
7
l2
3
9
10
14
8
24
9
5
段编号
第1段
第2段
第3段
第4段
段标记值
0
0
0
0
 
③对于操作1,若输入的L,R不属于同一段,则对元素a(L)所在段中从a(L)开始到该段最后一个元素为止的每个元素加上T,并对元素a(R)所在段中从该段第一个元素开始到a(R)为止的每个元素加上T,对a(L)元素所在段的下一段开始到a(R)元素所在段的前一段为止的每个段标记值增加T,这些段中的元素保持不变。如在上表的其础上再输入1,8,2,则第1段的3个数和第3段中的前2个数都加上2,第2段的段标记位增加2,如下表所示。
数组下标
l
2
3
4
5
6
7
8
9
l0
元素的值
9
14
5
9
l0
l‘l
10
26
9
5
段编号
第1段
第2段
第3段
第4段
段标记位
0
2
0
0
 
④对于操作2,若输入K的值为5,则输出a(5)的值,a(5)的值为该数组元素的值+段标记值,即a(5)=12。程序运行界面如下。请回答下列问题:
(1)若数组元素为“3,2,6,8,7,9,3,4,7,9,6”,依次进行以下3次操作后第3段的标记值为__________

操作1:依次输入1,11,1
操作1:依次输入7,9,2
操作2:输入8
(2)请在划线处填入合适的代码。
Const n = 10
Dim a(1 To n) As Integer
Dim f(1 T on) As Integer 'f数组元素依次表示每段的标记值
Dim bk As Integer     'bk表示每段的元素个数
Function BL(x As Integer) As Integer 'BL函数返回数组元素a(x)的段编号
BL=________________
End Function
Private Sub Form_Load()
’读取数据,并存储到数组a中,代码略
bk=Int(Sgr(n))
End Sub
Private Sub Command1_Click()
Dim L As Integer,R As Integer,T As Integer,i As Integer
L=Val(Text1.Text):R=Val(Text2.Text):T=Val(Text3.Text)
If BL(L)=BL(R) Then

For i=L To R

a(i)=a(i)+T
Next i

EIse

For i=______________
a(i)= a(i)+T
Next i
For i=BL(L)+1 To BL(R)-1
f(i)= f(i)+T
Next i
For i=(BL(R)-1)* bk+1 To R
a(i)= a(i) +T
Next i

End If

End Sub
Private Sub Command2_Click()
Dim K As Integer
K=Val(Text4.Text)
Labe.15.Caption="经过一系列操作后.a("+Str(K)+ ")的值为:"+___________
End Sub