- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- + 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
编写“断句生成器”程序,实现如下功能:在文本框Text1中输入未断句的文言文内容,在文本框Text2中输入多个正整数(以“,”为分割符和结束符),单击“生成”按钮 Command1,程序以这些整数为位置信息,表示在文言文相应的位置后进行断句(即在该位置后加入“/”),最后将最终断句的结果显示在文本框Text3中。程序部分编辑界面如图,但运行界面如图所示。

【小题2】(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s As String, t As String, c As String
Dim i As Integer, p As Integer, p0 As Integer
s =" " : t =" " : p0 = 0
For i = 1 To Len (Text2.Text)
c = ①
If c = "," Then
p = Val(t)
s = s + Mid(Text1.Text, p0 + 1, p – p0) + "/ "
t = ""
_ _②___
Else
t = t + c
End If
Next i
Text3. Text = ③
End Sub


【小题1】(1)程序运行时,窗体标题显示“断句生成器”,可在Form_Load事件过程中添加 (单选, 填字母
A.Form1.Caption="断句生成器"/ | B.Form.Caption="断句生成器"/ | C.Fx.Caption="断句生成器"/ | D.工程1.Caption="断句生成器")语句 |
Private Sub Command1_Click()
Dim s As String, t As String, c As String
Dim i As Integer, p As Integer, p0 As Integer
s =" " : t =" " : p0 = 0
For i = 1 To Len (Text2.Text)
c = ①
If c = "," Then
p = Val(t)
s = s + Mid(Text1.Text, p0 + 1, p – p0) + "/ "
t = ""
_ _②___
Else
t = t + c
End If
Next i
Text3. Text = ③
End Sub
把一个数分成若干个自然数之和,如果要使这些自然数的乘积最大,那么这些自然数应全是2或3,且2最多不超过2个。在文本框Text1中输入一个自然数,单击“分解”按钮,在列表框List1中输出他们的乘积表达式。程序运行的界面如图所示:

Private Sub Command1_Click()
Dim n As Integer,cj As Integer,s As String
n=Val(Text1.Text)
cj=____①____
s=”s=”
Do While ____②____
If n<>4 Then
n=n-3
cj=cj*3
s=s+”3×”
Else
n=n-2
cj=cj*2
s=s+”2×”
End If
Loop
cj=____③____
If n=3 Then s=s+”3” Else s=s+”2”
Text2.Text=s
Text3.Text=cj
End Sub
划线处代码为①___________________________________________________
②_______________________________________________________________
③_______________________________________________________________

Private Sub Command1_Click()
Dim n As Integer,cj As Integer,s As String
n=Val(Text1.Text)
cj=____①____
s=”s=”
Do While ____②____
If n<>4 Then
n=n-3
cj=cj*3
s=s+”3×”
Else
n=n-2
cj=cj*2
s=s+”2×”
End If
Loop
cj=____③____
If n=3 Then s=s+”3” Else s=s+”2”
Text2.Text=s
Text3.Text=cj
End Sub
划线处代码为①___________________________________________________
②_______________________________________________________________
③_______________________________________________________________
国际标准书号ISBN分成四组的10位数字组成,前面9位数字分组号、出版社和书序号三组,最后一位为校验码。校验的规则为从左边开始取出每位数字(前9位),取出的数字依次乘以10、9、8……2,把各次的乘积相加,用11减去这个和除11的余数即为校验码。在文本框Text1中输入条形码,单击“校验”按钮Cmd1,在文本框Text2输出结论。程序运行的界面如图所示:

实现上述功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim s As String,i As Integer,s1 As String,sum As Integer,t As Integer
Dim jy As Integer
s=Text1.Text
t=0:sum=0
For i=1 To Len(s)
s1=Mid(s,i,1)
If s1>=”0” And s1<=”9” Then
′①
If t<10 Then
sum=sum+Val(s1)*(11-t)
ElseIf t=10 Then
′②
End If
End If
Next i
sum=11-sum Mod 11
If
Then′③
Text2.Text=”该校验码中数字不是10位数!”
Else
If jy=“X” and sum=10 Then
Text2.Text=”校验通过”
ElseIf val(jy)=sum then
Text2.Text=”校验通过”
Else
Text2.Text=”校验不通过”
End If
End If
End Sub
划线处代码为①___________________________________________________
②_______________________________________________________________
③_______________________________________________________________

实现上述功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim s As String,i As Integer,s1 As String,sum As Integer,t As Integer
Dim jy As Integer
s=Text1.Text
t=0:sum=0
For i=1 To Len(s)
s1=Mid(s,i,1)
If s1>=”0” And s1<=”9” Then

If t<10 Then
sum=sum+Val(s1)*(11-t)
ElseIf t=10 Then

End If
End If
Next i
sum=11-sum Mod 11
If

Text2.Text=”该校验码中数字不是10位数!”
Else
If jy=“X” and sum=10 Then
Text2.Text=”校验通过”
ElseIf val(jy)=sum then
Text2.Text=”校验通过”
Else
Text2.Text=”校验不通过”
End If
End If
End Sub
划线处代码为①___________________________________________________
②_______________________________________________________________
③_______________________________________________________________
酒店房间管理:酒店房间(房间数小于10000)编号按1、2、3…连续编号,老板对于没有出租的房子使用如下的方法来登记管理。连续的空房间,登记第一间的编号和连续的空房间数,比如空房间1,2, 6,7,8,10,则登记3条记录,分别为(1 2),(6 3),(10 1),某旅客退房了,需要把这房子也登记上去,有四种情况需要处理:
1)上靠,例如退的房间号为3,则原来登记的3条记录变成(1 3),(6 3),(10 1);
2)下靠,例如退的房间号为5,则原来登记的3条记录变成(1 2),(5 4),(10 1);
3)上下不靠,例如退的房间号为4,则登记的记录数变成4条(1 2) ,(4 1),(6 3),(10 1);
4)上下靠,例如退的房间号为9,则登记的记录数变成2条(1,2),(6,5);
小王依据上述描述设计了如下VB程序。请回答下列问题:
(1)当登记的记录有3条,分别为(1,4),(6,2),(10,3),现在某旅客退掉5号房间,则登记的记录变成_______________________________
(2)请在划线处填入合适的代码。
Const n = 5000
Dim a(0 To n) As Integer 'a(i)保存第i条记录的开始房间号
Dim b(0 To n) As Integer ' b(i)保存第i条记录的房间数
Dim c As Integer, k As Integer, sp As Integer 'k为原始记录数
'读取原始k条记录的数据,依次存入a(1),b(1),a(2),b(2)…a(k),b(k),代码略
'为了程序处理方便,虚设了下面2条记录
a(0) = 0 : b(0) = 0 : sp = k + 1 :a(sp) = 10000 : b(sp) = 0
Private Sub Command1_Click()
Dim i As Integer
c = Val(Text1.Text) 'c为退掉的房间号
i = 1
Do While a(i) < c '查找房间c,应该登记在某位置
i = i + 1
Loop
i = i - 1
'下面为处理退房登记问题
If a(i) + b(i) = c Then
If __________ Then '第4种情况,上下靠
b(i) = b(i) + 1 + b(i + 1)
For j = i + 1 To sp - 1
a(j) = a(j + 1) : b(j) = b(j + 1)
Next j
sp = sp - 1
Else '第1种情况,上靠
b(i) = b(i) + 1
End If
ElseIf c + 1 = a(i + 1) Then '第2种情况,下靠
a(i + 1) = c : b(i + 1) = b(i + 1) + 1
Else '第3种情况,上下不靠
For j =_____________________
a(j) = a(j - 1) : b(j) = b(j - 1)
Next j
a(i + 1) = c : b(i + 1) = 1 : sp = sp + 1
End If
‘下面为输出登记的记录,不包括虚设的两条记录
For i =1 to _______
List3.AddItem "第" & Str(i) & "记录(" & Str(a(i)) & "," & Str(b(i)) & ")"
Next i
End Sub
1)上靠,例如退的房间号为3,则原来登记的3条记录变成(1 3),(6 3),(10 1);
2)下靠,例如退的房间号为5,则原来登记的3条记录变成(1 2),(5 4),(10 1);
3)上下不靠,例如退的房间号为4,则登记的记录数变成4条(1 2) ,(4 1),(6 3),(10 1);
4)上下靠,例如退的房间号为9,则登记的记录数变成2条(1,2),(6,5);
小王依据上述描述设计了如下VB程序。请回答下列问题:
(1)当登记的记录有3条,分别为(1,4),(6,2),(10,3),现在某旅客退掉5号房间,则登记的记录变成_______________________________
(2)请在划线处填入合适的代码。
Const n = 5000
Dim a(0 To n) As Integer 'a(i)保存第i条记录的开始房间号
Dim b(0 To n) As Integer ' b(i)保存第i条记录的房间数
Dim c As Integer, k As Integer, sp As Integer 'k为原始记录数
'读取原始k条记录的数据,依次存入a(1),b(1),a(2),b(2)…a(k),b(k),代码略
'为了程序处理方便,虚设了下面2条记录
a(0) = 0 : b(0) = 0 : sp = k + 1 :a(sp) = 10000 : b(sp) = 0
Private Sub Command1_Click()
Dim i As Integer
c = Val(Text1.Text) 'c为退掉的房间号
i = 1
Do While a(i) < c '查找房间c,应该登记在某位置
i = i + 1
Loop
i = i - 1
'下面为处理退房登记问题
If a(i) + b(i) = c Then
If __________ Then '第4种情况,上下靠
b(i) = b(i) + 1 + b(i + 1)
For j = i + 1 To sp - 1
a(j) = a(j + 1) : b(j) = b(j + 1)
Next j
sp = sp - 1
Else '第1种情况,上靠
b(i) = b(i) + 1
End If
ElseIf c + 1 = a(i + 1) Then '第2种情况,下靠
a(i + 1) = c : b(i + 1) = b(i + 1) + 1
Else '第3种情况,上下不靠
For j =_____________________
a(j) = a(j - 1) : b(j) = b(j - 1)
Next j
a(i + 1) = c : b(i + 1) = 1 : sp = sp + 1
End If
‘下面为输出登记的记录,不包括虚设的两条记录
For i =1 to _______
List3.AddItem "第" & Str(i) & "记录(" & Str(a(i)) & "," & Str(b(i)) & ")"
Next i
End Sub
在VB语句dim s(9) as integer中,数组s的变量个数和类型是:
A.9 整型 | B.10 整型 | C.9 单精度型 | D.10 单精度型 |
下列关于VB中数组的叙述,错误的是( )
A.数组是一种基本数据类型 |
B.数组是一组相同类型的变量集合 |
C.数组中的元素的个数可以计算出来 |
D.数组元素的引用形式为“数组名(下标)” |
学习完数组这个知识点后,小林设计了一个程序,该程序的主要功能是,先给数组中每个元素赋值,再找出数组中最大的数,具体程序如下。

(1)数组a中共有_____________个变量。
(2)数组a中所有变量的类型____________(相同或不相同)。
(3)将程序中①的代码补充完整______________。
(4)将程序中②的代码补充完整_______________。

(1)数组a中共有_____________个变量。
(2)数组a中所有变量的类型____________(相同或不相同)。
(3)将程序中①的代码补充完整______________。
(4)将程序中②的代码补充完整_______________。