- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
有如下VB程序段:
Dim a As Integer,b As Integer,s As Single
a=2
b=3
Label1.Caption=”s=”+”a*b”
该程序运行后,标签Label1上显示的内容是( )
Dim a As Integer,b As Integer,s As Single
a=2
b=3
Label1.Caption=”s=”+”a*b”
该程序运行后,标签Label1上显示的内容是( )
A.s=6 | B.s=a*b |
C.s=2*3 | D.”s=”+6 |
编写“输出所有子串”程序,实现如下功能:在文本框Text1中输入字符串,在列表框List1中输出该字符串的所有子串并输出子串的总数。程序运行界面以及工程资源窗口如下图所示。


(1)观察上图,该程序中的窗体对象名为________________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command3_Click()
Dim s As String, t As Integer, j As Integer
s = Text1.Text
t = Len(s): Sum = 0
For i = 1 To t
For j = i To t
List1.AddItem ①_________________________________
Sum = Sum + 1
Next j
Next i
List1.AddItem "总共有" + ②_______________________________ + "个子串"
End Sub
(3)如果输入的字符串是“abcdefg”,则输出中有____________个子串


(1)观察上图,该程序中的窗体对象名为________________(单选,填字母:
A.求所有子串/ | B.Form1/ | C.子串.frm/ | D.工程1.vbp) |
Private Sub Command3_Click()
Dim s As String, t As Integer, j As Integer
s = Text1.Text
t = Len(s): Sum = 0
For i = 1 To t
For j = i To t
List1.AddItem ①_________________________________
Sum = Sum + 1
Next j
Next i
List1.AddItem "总共有" + ②_______________________________ + "个子串"
End Sub
(3)如果输入的字符串是“abcdefg”,则输出中有____________个子串
下列VB程序运行时,在文本框Text1中输入字符串”while”,在文本框Text2和Text3中分别输入2和5,单击命令按钮Command1后,在文本框Text4中显示的内容是________。
n = Len ( Text1.Text )
m = Val ( Text2.Text )
k = Val ( Text3.Text )
If m + k -1 > n Then
Text4.Text = Mid ( Text1.Text , 1 , m – 1 )
Else
Text4.Text = Mid ( Text1.Text , 1 , m–1 ) + Mid ( Text1.Text , m+k , n–m–k +1 )
End If
Private Sub Command1_click ( )
Dim n As Integer , m As Integer , k As Integern = Len ( Text1.Text )
m = Val ( Text2.Text )
k = Val ( Text3.Text )
If m + k -1 > n Then
Text4.Text = Mid ( Text1.Text , 1 , m – 1 )
Else
Text4.Text = Mid ( Text1.Text , 1 , m–1 ) + Mid ( Text1.Text , m+k , n–m–k +1 )
End If
End Sub
VB语句:x = Int(Rnd * 100 + 0.5)的功能是( )
A.返回[0,100)的随机整数x |
B.返回[0,100]的随机整数x |
C.返回[0,101]的随机整数x |
D.返回(0,101)的随机整数x |
相传三齐王韩信才智过人,从不直接清点自己军队的总人数,只是让士兵先后以三人一排、五人一排、七人一排地变换队形,假设先后三次队形的排尾人数分别是x人、y人、z人,他就知道自己军队的人数是m人。请问下列表达式中哪一项最符合对上述算法思想的描述?( )
A.x + y + z = m |
B.m Mod 3 = x And m Mod 5 = y And m Mod 7 = z |
C.3 * x + 5 * y + 7 * z = m |
D.m Mod 3 = x Or m Mod 5 = y Or m Mod 7 = z |
有如下VB程序段:
For i = 1 To 8
a(i) = Int(Rnd * 2)
Next i
sum = 0
For i = 1 To 8 Step 3
For j = i To 8
a(j) = 1 - a(j)
Next j
sum = sum + a(i)
Next i
Text1.Text = Str(sum)
执行程序段后,文本框Text1中显示的内容不可能是
For i = 1 To 8
a(i) = Int(Rnd * 2)
Next i
sum = 0
For i = 1 To 8 Step 3
For j = i To 8
a(j) = 1 - a(j)
Next j
sum = sum + a(i)
Next i
Text1.Text = Str(sum)
执行程序段后,文本框Text1中显示的内容不可能是
A.0 |
B.2 |
C.3 |
D.4 |
酒店房间管理:酒店房间(房间数小于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
某流程图如图所示。执行该算法,下面说法错误的是………………( )


A.s的值最终为-5 |
B.语句“k=k+1”共执行了4次 |
C.语句“s≤0”共判断了5次 |
D.该算法转成VB代码时能用Do循环语句实现 |
现要求编写VB程序实现如下功能:在文本框Text1中输入正整数n(n为奇数),单击“生成”按钮后,在文本框Text2中会显示一个有规律的对称数字串,形成为“1 3 ... n-2 n n-2 ...3 1”。例如n=9时,显示的数字串为“1 3 5 7 9 7 5 3 1”。

(1)应用程序界面设计时,为添加按钮,就使用如左图所示的“控件工具箱”中_______(填写数字标号);为将按钮上的字设置为“生成”,应在对应的属性窗口中______属性值修改为“生成”,根据代码可知,命令按钮“生成”的对象名是________。
(2)实现上述功能的VB程序如下。请在划线处填入合适的代码。
Private Sub Cmd1_Click()
Dim n As Integer,i As Integer,s As string
________________________
S=“”
For i=1 To n
If i<=n\2+1 Then

Else
S=s+ _______________
End if
Next i
Text2.Text=s
End Sub
(3)当n=9时,在实现程序功能的情况下,如果将程序中加框处的代码换成“s=str(2*i-1)+s”,单击“生成”按钮,其输出结果为___________________。


(1)应用程序界面设计时,为添加按钮,就使用如左图所示的“控件工具箱”中_______(填写数字标号);为将按钮上的字设置为“生成”,应在对应的属性窗口中______属性值修改为“生成”,根据代码可知,命令按钮“生成”的对象名是________。
(2)实现上述功能的VB程序如下。请在划线处填入合适的代码。
Private Sub Cmd1_Click()
Dim n As Integer,i As Integer,s As string
________________________
S=“”
For i=1 To n
If i<=n\2+1 Then

Else
S=s+ _______________
End if
Next i
Text2.Text=s
End Sub
(3)当n=9时,在实现程序功能的情况下,如果将程序中加框处的代码换成“s=str(2*i-1)+s”,单击“生成”按钮,其输出结果为___________________。
有如下程序段:
i = 1
Do While i <= 4 And flag(i) = False
For j = 5 To i + 1 Step -1
flag(i) = True
i = i + 1
Loop
数组元素a(1)到a(5)的值依次为“56,23,78,11,8”,数组flag的初值均为False,经过该程序段“加工”后,数组元素放flag(1)到flag(5)中值为True的个数是( )
i = 1
Do While i <= 4 And flag(i) = False
For j = 5 To i + 1 Step -1
If a(j) < a(j -1) Then
k = a(j):a(j) = a(j-1):a(j-1) = kflag(i) = True
End If
Next ji = i + 1
Loop
数组元素a(1)到a(5)的值依次为“56,23,78,11,8”,数组flag的初值均为False,经过该程序段“加工”后,数组元素放flag(1)到flag(5)中值为True的个数是( )
A.1 | B.2 | C.3 | D.4 |