题型:填空题 题类:模拟题 难易度:普通
浙江省杭州市2016年信息技术高考模拟卷八
小明编写了一个VB程序实现上述功能,在名称为o_c_txt的文本框中输入原始颜色如#000000,点击命令按钮fx_cmd后,在名称为f_c_lab的标签中输出反相后的颜色如#FFFFFF。运行效果如图所示。
实现上述功能的算法如下:
数组dzb_h的16个元素分别存放16进制数的16个基本数码。
依次取出原始颜色代码中每一位对应的16进制数码,例如原始颜色代码为#123456,第1次取出1,第2次取出2……
在数组dzb_h各元素中找到对应16进制数码的元素
运用规律:0+F=1+E…=7+8取得反相色并累加,例如:数组dzb_h第1个元素值的反相色的值是数组dzb_h第16个元素值。
输出得到的反相色。
实现上述功能的VB程序代码段如下,请完善相关程序代码。
Private Sub fx_cmd_Click()
Dim dzb_h(1 To 16) As String
Dim o_c As String, f_c As String, i As Integer, xbxh As Integer, c As String
dzb_h(1) = "0": dzb_h(2) = "1": dzb_h(3) = "2": dzb_h(4) = "3"
dzb_h(5) = "4": dzb_h(6) = "5": dzb_h(7) = "6": dzb_h(8) = "7"
dzb_h(9) = "8": dzb_h(10) = "9": dzb_h(11) = "A": dzb_h(12) = "B"
dzb_h(13) = "C": dzb_h(14) = "D": dzb_h(15) = "E": dzb_h(16) = "F"
o_c = o_c_txt.Text '存储原始色
i = 2
f_c = "#" '存储反相色
Do While i <= Len(o_c)
c = Mid(o_c, i, 1)
If Asc(c) > 96 Then c = Chr(Asc(c) - 32) '小写字母变大写字母
xbxh = 1
Do While xbxh < 17
If Then '在数组中找到对应16进制数码的元素
f_c = '累加反相色对应的16进制代码
Exit Do
End If
xbxh = xbxh + 1
Loop
i = i + 1
Loop
f_c_lab.Caption = f_c
End Sub
a(1) |
a(2) |
a(3) |
…… |
a(n —2) |
a(n—1) |
a(n) |
3 |
25 |
38 |
…… |
55 |
31 |
12 |
依据对分查找思想,设计一个在数组a中查找数据key的程序。实现该功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Const n = 6
Dim a(1 To n)As Integer,flag As Boolean
Dim i As Integer,j As Integer,m As Integer,key As Integer
'读取一组正整数,按上述规则存入数组a中,代码略。
key = VaKText1. Text)
i = 1
j = (n + 1) \ 2
flag = False
Do While And Not flag ‘①
m = (i + j) \ 2
If key = a(m) Then
flag = True
ElseIf key< a(m) Then
j = m - 1
Else
i = m + 1
End If
Loop
If Not flag And j > 0 Then
m = ‘②
If key = a(m) Then flag = True
End If
If flag Then
Text2. Text = Str(m)
Else
Text2. Text = "找不到"
End If
End Sub
①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#}
试题篮