- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小秦用VB编写十进制数自动转换成二进制数的程序,运行界面如下图,运行代码如下:

Private Sub Command1_Click()
Dim a, i, n As Integer,s as string
n = Val(Text1.Text)
Do While n > 0
①
②
③
Loop
Text2.Text = s
End Sub
缺少部分的代码应填( )。

Private Sub Command1_Click()
Dim a, i, n As Integer,s as string
n = Val(Text1.Text)
Do While n > 0
①
②
③
Loop
Text2.Text = s
End Sub
缺少部分的代码应填( )。
A.①a = n Mod 2 ②n = n \ 2 ③ s = Str(a) + s |
B.①n = n \ 2 ②a = n Mod 2 ③ s = Str(a) + s |
C.①a = n Mod 2 ②n = n \ 2 ③ s = s +Str(a) |
D.①n = n \ 2 ②a = n Mod 2 ③ s = s +Str(a) |
由于交通日益拥堵,某市对车辆实施限行政策,即根据车牌最后一位数字进行限行判断,双号则奇数日期限行,单号的偶数日期限行。如车牌号“浙A53350”,末位数字为0,则奇数日期限行,如车牌号“浙A5335B”,末位数字为5,则偶数日期限行。现有一VB程序用来查询限行情况,软件界面如图,在文本框Text1中输入车牌号,单击“判断”按钮Command1,并在文本框Text2中显示限行情况。

“查询”按钮Command1的单击事件处理过程如下:
Private Sub Command1_Click()
Dim i As Integer, n As Integer '变量n保存车牌的最末位数字
Dim cp As String, c As String
cp=Text1.Text
For i=7 To 3 Step -1
If ② Then
Text2.Text=″奇数日期限行″
Else
Text2.Text=″偶数日期限行″
End If
i=2
End Sub
在程序划线处填写适当的表达式或语句,以实现程序功能。
程序中①划线处应填入________________________。
程序中②划线处应填入________________________。

“查询”按钮Command1的单击事件处理过程如下:
Private Sub Command1_Click()
Dim i As Integer, n As Integer '变量n保存车牌的最末位数字
Dim cp As String, c As String
cp=Text1.Text
For i=7 To 3 Step -1
c=Mid(cp, i, 1)
If ① Then
n=Val(c)If ② Then
Text2.Text=″奇数日期限行″
Else
Text2.Text=″偶数日期限行″
End If
i=2
End If
Next iEnd Sub
在程序划线处填写适当的表达式或语句,以实现程序功能。
程序中①划线处应填入________________________。
程序中②划线处应填入________________________。
用计算机程序解决问题的过程,正确的顺序是( )
A.分析问题→编写代码→确定算法→调试运行 |
B.分析问题→确定算法→编写代码→调试运行 |
C.确定算法→分析问题→编写代码→调试运行 |
D.调试运行→确定算法→编写代码→分析问题 |
通过对算法的理解,下列叙述中能称为算法的是( )。
A.手机支付需要连接网络 |
B.一般商家都支持手机支付 |
C.手机支付需要进行扫描二维码、输入金额、输入支付密码这些步骤 |
D.手机支付减少了纸币的使用 |
有如下VB程序段:
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString="provider=Microsoft.AC
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString="provider=Microsoft.AC
A.OLEDB.12.0;data sourc=" +App.Path+"\socre.accdb" Conn.Open Set rs.ActiveConnection=conn Rs. Open"Selec*from cj" n=1 Do While Not rs.EOF Score(n)=rs.fields("成绩"):Name(n)=rs.fields("姓名") n=n+1:rs.MoveNext Loop 下列说法中不正确的是 |
B.定义的ADO的Connection对象实例名称是“conn” B.连接的数据库文件名是“\socre.accdb” |
C.查询的数据表名是“cj” |
D.该程序段运行后,可知所查询的数据表共有n-1条记录 |
若在文本框Text1、Text2,Text3中分别输入2,5,6,下列程序段运行后,标签Labe12中显示的内容是
Private Sub Command1_Click()
Dim a As Integer,b As Integer,c As Integer
A=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)
Label2.Caption=Str(fx(a,b,c))
End Sub
Function fx(x As Integer,y As Integer,z As Integer)As Integer
If x<y Then fx=z
Ifx>y Then fx=y Else fx=x
End Function
Private Sub Command1_Click()
Dim a As Integer,b As Integer,c As Integer
A=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)
Label2.Caption=Str(fx(a,b,c))
End Sub
Function fx(x As Integer,y As Integer,z As Integer)As Integer
If x<y Then fx=z
Ifx>y Then fx=y Else fx=x
End Function
A.2 | B.5 | C.6 | D.0 |
下列程序段运行后,数组元素a(3)的值是
a(1)=55:a(2)=44:a(3)=11
a(4)=22:a(5)=33
For i=1 To 2
For j=1 To 4-i
If a(j)>a(j+1)Then
t=a(j)
a(j)=a(j+1)
a(j+1)=t
End If
Next j
Next i
a(1)=55:a(2)=44:a(3)=11
a(4)=22:a(5)=33
For i=1 To 2
For j=1 To 4-i
If a(j)>a(j+1)Then
t=a(j)
a(j)=a(j+1)
a(j+1)=t
End If
Next j
Next i
A.44 | B.33 | C.22 | D.11 |
食堂排队买菜。食堂排队买菜时,每个同学都有一个窗口买菜时间,如果某同学的等待时间超过他在窗口买菜时间的3倍,他就会不愉快,反之是愉快的。等待时间是指排在该同学之前的所有人的买菜时间之和。己知每个同学在窗口的买菜时间,请确定如何排队才能使愉快的人数最多,并输出最多的人数。例如:10个同学的买菜时间如下表所示,则最多有8个人是愉快的。
Const n=10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer,a As Integer,ans As Integer,t As Integer
,读取每个学生的买菜时间,依次存储在数组a中,代码略
For i =1 To n-1
k = i
For j = n To i+1 Step-1
If Then k = j
Next j
If a(i)<>a(k) Then t = a(i):a(i)=a(k):a(k)=t
Next i
s=0:ans=0
For i = 1 To n
If s<ans Then s=s+a(i):ans=ans+1
Next i
Label1.Caption="共有"+Str(ans)+ "个人是愉快的,且参与排队买菜。"
(1)代码“Private Sub Commandl_Click()”中的Command1是_________(单选,填字母:
(2)请在划线处填入合适代码。___________________________
(3)程序代码中,加框处代码有错,请改正。___________________________
(4)若10个同学的买菜时间都相同,则有_________个人是愉快的,且参与排队。
学生编号 | l | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | l0 |
买菜时间 | 3 | 2 | 5 | 5 | 6 | 7 | 1 | 8 | 1 | 3 |
最终是否参与排队 | 是 | 是 | 是 | 是 | 否 | 是 | 是 | 否 | 是 | 是 |
Const n=10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer,a As Integer,ans As Integer,t As Integer
,读取每个学生的买菜时间,依次存储在数组a中,代码略
For i =1 To n-1
k = i
For j = n To i+1 Step-1
If Then k = j
Next j
If a(i)<>a(k) Then t = a(i):a(i)=a(k):a(k)=t
Next i
s=0:ans=0
For i = 1 To n
If s<ans Then s=s+a(i):ans=ans+1
Next i
Label1.Caption="共有"+Str(ans)+ "个人是愉快的,且参与排队买菜。"
(1)代码“Private Sub Commandl_Click()”中的Command1是_________(单选,填字母:
A.对象名/ | B.事件名/ | C.事件处理过程名) |
(3)程序代码中,加框处代码有错,请改正。___________________________
(4)若10个同学的买菜时间都相同,则有_________个人是愉快的,且参与排队。
反转字符串,如输入字符串为“123ABCD",则输出字符串为“DCBA321"。部分程序如下所示,划线处的正确语句是
s=Text1.Text:n=Len(s)
’按s中字符顺序从左到右依次存入数组a中,代码略
i=1
Do While i<n
t=a(i)
For j=i+1 To n
①
Next j
a(j-1)=t
②
Loop
For i=1 To Len(s)
Text2.Text=Tcxt2.Text+a(i)
Next i
s=Text1.Text:n=Len(s)
’按s中字符顺序从左到右依次存入数组a中,代码略
i=1
Do While i<n
t=a(i)
For j=i+1 To n
①
Next j
a(j-1)=t
②
Loop
For i=1 To Len(s)
Text2.Text=Tcxt2.Text+a(i)
Next i
A.①a(j+1)=a(j) ②n=n-1 | B.①a(j)=a(j+1) ②n=n+1 |
C.①a(j-1)=a(j) ②n=n-1 | D.①a(j-1)=a(j) ②n=n+1 |
给定一个数组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为例,如下表所示。
①将n个元素依次分成
段(
表示对
石向下取整,每段的元素个数为
,若最后有不足
个元素,则自成一段。给每段设置一个标记,初始值都为0,如下表所示。
②对于操作1,输入的L、R属于同一段,则直接对a(L to R)的每个元素加上T。如输入4,6,3,则第2段中的每个数加上3,操作后如下表所示。
③对于操作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,如下表所示。
④对于操作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
Next 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
Private Sub Command2_Click()
Dim K As Integer
K=Val(Text4.Text)
Labe.15.Caption="经过一系列操作后.a("+Str(K)+ ")的值为:"+___________
End Sub
操作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个元素依次分成





数组下标 | 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)+TNext 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 SubPrivate Sub Command2_Click()
Dim K As Integer
K=Val(Text4.Text)
Labe.15.Caption="经过一系列操作后.a("+Str(K)+ ")的值为:"+___________
End Sub