题库 高中信息

题干

某数据压缩方法描述如下:
1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示:
2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,均为0;
3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个数为该数本身。
原始数据:25  0  78  78  78  78  78  78
压缩数据:25  0 0 0  6  78
程序运行界面如下图所示:

根据上述算法,小明编写如下VB程序。
(1)若文本框Text1中输入数据为“0,25,0,78,78,0,0”(不含引号),点击“压缩”命令按钮,在文本框Text2输出数据里有 个0。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Dim a(1 To 100) As Integer, b(1 To 100) As Integer, c(1 To 100) As Integer
Dim n As Integer, num As Integer
Private Sub Init1()
Dim s1 As String, c1 As String
Dim i As Integer, t As Integer, len1 As Integer
n = 0: t = 0: s1 = Text1.Text
len1 = Len(s1)
For i = 1 To len1
ch = Mid(s1, i, 1)
If ch <> "," Then
   
Else
n = n + 1: a(n) = t: t = 0
End If
Next i
n = n + 1: a(n) = t
End Sub
Private Sub Command1_Click()
Call Init1
Dim pa As Integer, pb As Integer
Dim firstdata As Integer, count As Integer, i As Integer
pb = 1
firstdata = a(1)
n = n + 1
a(n) = a(n - 1) + 1
count = 1
For i = 2 To n
If a(i) = firstdata Then
    count = count + 1
Else
If count = 1 Then
If firstdata > 0 Then
b(pb) = firstdata: pb = pb + 1
Else
b(pb) = 0: b(pb + 1) = 0: pb = pb + 2
End If
Else
b(pb) = 0
b(pb + 1) = count
   
pb = pb + 3
End If
count = 1
firstdata = a(i)
End If
Next i
Text2.Text = Str(b(1))
For i =
Text2.Text = Text2.Text + "," + Str(b(i))
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-15 10:47:06

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

同类题1

用 VB 编写“检查句子格式”的程序,实现如下功能:在文本框 Text1 中输入要检查的英文句子,单击“检查”按钮 Command1。判断句子“”和“?”后的字母是否是大写,如果是小写字母,那么将其转换为大写字母,并在文本框 Text2 中输出。程序运行界面如下图所示。 
(1)要使程序运行时,文本框 Text1 的 Height 属性值为 900,可在 Form_Load 事件处理过程中添加语句________(单选,填字母:
A.Height=900 /B.Textl. Height = 900 /C.Height. Textl=900)。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub
Command1_Click()
Dim s As String, ch As String, flag As Boolean Dim ch2 As String, res As String, i As Integer s = Text1.Text: res = ""
______________ 
Do While i <= Len(s)
flag = False
ch = Mid(s, i, 1)
If i = 1 And ch >= "a" And ch2 <= "z" Then
ch = Chr(Asc(ch) - 32)    '小写字母转换为大写字母
End If
If ch = "." Or ch = "?" Then flag = True
ch2 = Mid(s, i + 1, 1)
If flag And ch2 >= "a" And ch2 <= "z" Then
ch2 = Chr(Asc(ch2) - 32) '小写字母转换为大写字母
res =_________________   
i = i + 2
Else
i = i + 1
res = res + ch
End If Loop
Text2.Text = res End Sub
(3)若在文本框 Text1 中输入句子:“you are best.”,第 1 个单词前有空格,则经过上述程序处理后,输出结果首字母“y”是否会变为大写“Y”?_____________(选填:是/ 否)。

同类题3

小李与小王合作编写一个成绩统计的VB程序:小王编写一个过程,该过程从数据库读取某一指定科目的相关数据,存储在数组a中;小李编写一个过程,该过程依据数组a中的相关数据统计各班平均分。小李与小王约定的数组a各元素含义如图所示。

程序功能如下:在文本框text1中输入科目名称,单击“读取数据库”按钮command1,程序从数据库读取数据;单击“开始统计”按钮command2,程序进行统计处理,结果输出在列表框list1中。程序运行界面如下图所示。

数组元素

数组元素的含义

a(1)

存储班级数n

a(2)

从a(2)到a(n+1) 依次存储第1、2、…第n个班级人数

 

a(n+1)

a(n+2)

从a(n+2) 依次存储第1班每个学生的单科成绩、第2班每个学生的单科成绩、…第n班每个学生的单科成绩

 

实现上述功能的VB程序如下,请回答下列问题:
(1)根据程序运行界面中的数据及数组a各元素的含义,数组元素a(5)的值为________(填写数值)。
(2)分析程序,可知数据库的文件名为___________________
(3)请在划线处填入合适的代码。
Dim a(1 to 600) as integer    ‘数组大小满足处理要求
Private  sub  command1_click()
‘本过程由小王完成,从数据库读取指定科目的各相关数据,存储在数组a中

Dim conn As New ADODB.Conncction

Dim rs As New ADODB.Recordset

Conn ConncctionString=”provider=Microsoft.AC

A.OLEDB.12.0;data source=”+”Score.accdb”

Conn.Open

Set rs.ActiveConnection=conn

‘本过程的其他语句略

End sub
Private  sub  command2_click()
‘依据数组a中的相关数据统计各班级平均分

Dim i As Integer, j As Integer, n As Integer

Dim p As Integer, sum As Integer, aver As Single

______________________

p = n + 2

For i = 1 To n

sum = 0

For j = 1 To a(i + 1)

  ____________________
p = p + 1

Next j

aver = sum / a(i + 1)

list1.additemstr(i)+"   "+str(a(i+1))+"   "+str(aver)

Next i

End sub