- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小明设计了一个名为“购物街”的程序,该程序功能如下:程序开始运行时显示一张商品图片,变量x存储商品价格,在文本框“Text1”输入猜测的价格y,点击“确定”按钮,判断输入的价格y与商品价格x的大小关系,并给出提示。当输入的价格y大于或小于x时,在“猜测情况”Label5中分别显示“太大”或“太小”的提示信息,当输入的价格y等于x时在“猜测情况”Label5中显示“恭喜你猜对了!”同时“Command1”按钮变为不可用。在“Label4”显示剩余猜测次数,程序提供5次猜测机会,当猜测次数为零时“Command1”按钮变为不可用。运行界面如图所示:

图1
(1)应用程序界面设计时,为添加标签对象,应使用图1所示的“控件工具箱”中的________(填写相应编号)。代码“Private Sub Form_Load()”中的load指的是________事件。
(2)请根据题意将下列程序补充完整。
①处应填写的代码为:______________________________________
②处应填写的代码为:______________________________________
Dim x As Integer
Dim t As Integer
Private Sub Form_Load()
t=5 ’初始化猜测次数
x=14 ’初始化商品价格
Command1.Enabled=True
Label4.Caption=Str(t)
End Sub
Private Sub Command1_Click()
t=____①____
If t=0 Then
Command1.Enabled=False
End If
Label4.Caption=Str(t)
Dim y As Integer
y=Val(Text1.Text)
If ____②____ Then
Label5.Caption=“太大”
ElseIf y<x Then
Label5.Caption=“太小”
Else
Label5.Caption=“恭喜你对了!”
Command1.Enabled=False
End If
End Sub

图1
(1)应用程序界面设计时,为添加标签对象,应使用图1所示的“控件工具箱”中的________(填写相应编号)。代码“Private Sub Form_Load()”中的load指的是________事件。
(2)请根据题意将下列程序补充完整。
①处应填写的代码为:______________________________________
②处应填写的代码为:______________________________________
Dim x As Integer
Dim t As Integer
Private Sub Form_Load()
t=5 ’初始化猜测次数
x=14 ’初始化商品价格
Command1.Enabled=True
Label4.Caption=Str(t)
End Sub
Private Sub Command1_Click()
t=____①____
If t=0 Then
Command1.Enabled=False
End If
Label4.Caption=Str(t)
Dim y As Integer
y=Val(Text1.Text)
If ____②____ Then
Label5.Caption=“太大”
ElseIf y<x Then
Label5.Caption=“太小”
Else
Label5.Caption=“恭喜你对了!”
Command1.Enabled=False
End If
End Sub
某Visual Basic程序段如下:
s = ""
For i = 1 To 5
a(i) = 0
Next i
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then a(j) = 1 - a(j)
Next j
Next i
For i = 1 To 5
If a(i) = 1 Then s = s + Str(i)
Next i
Text1.Text = s
运行该程序段后,Text1中显示的内容为( )
s = ""
For i = 1 To 5
a(i) = 0
Next i
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then a(j) = 1 - a(j)
Next j
Next i
For i = 1 To 5
If a(i) = 1 Then s = s + Str(i)
Next i
Text1.Text = s
运行该程序段后,Text1中显示的内容为( )
A.14 | B.235 | C.25 | D.234 |
编写“鞋码换算”程序,实现如下功能:在文本框 Text1 中输入脚长 n(单位:厘米),单击“换算”按钮 Command1,在标签 Label1 中显示相应鞋码,同时在列表框 List1 中显示与脚长对应的标准鞋码表。程序运行界面如图所示。

(1)如图所示,能生成运行界面中列表框的控件是( )
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Single, i As ① , c As Integer
List1.Clear
n =" Val(Text1.Text)"
If n - Int(n) > 0.5 Then
‘n小数部分大于0.5的加1,0.5及以下的加0.5
End If
c =" n" * 2 - 10
Label1.Caption = "适合你的鞋码为:" + Str(c)
For i = ③ To n+2 step 0.5
c = i*2-10
If Int(i) =" i" Then
List1.AddItem Str(i) + " " + Str(c)
Else
List1.AddItem Str(i) + " " + Str(c)
End If
Next i
End Sub

(1)如图所示,能生成运行界面中列表框的控件是( )
A.![]() | B.![]() | C.![]() | D.![]() |
Private Sub Command1_Click()
Dim n As Single, i As ① , c As Integer
List1.Clear
n =" Val(Text1.Text)"
If n - Int(n) > 0.5 Then

‘n小数部分大于0.5的加1,0.5及以下的加0.5
End If
c =" n" * 2 - 10
Label1.Caption = "适合你的鞋码为:" + Str(c)
For i = ③ To n+2 step 0.5
c = i*2-10
If Int(i) =" i" Then
List1.AddItem Str(i) + " " + Str(c)
Else
List1.AddItem Str(i) + " " + Str(c)
End If
Next i
End Sub
用VB设计查询并统计某公司的销售数据。实现如下功能:
①将所有员工的姓名和销售量存储到数组xm和xse中;
②对销售量数组进行求和,并输出该地区平均销售量(保留整数);
③根据输入“销售排名前几位”筛选出排名前几位销售人员的数据。
程序运行界面如图所示。

(1)下列程序对员工的销售额进行排序的主要算法属于 (选填:解析算法/枚举算法/冒泡排序算法/选择排序算法)
(2)实现上述功能的VB程序如下。请在划线处填入合适的代码。
Dim xse(1 To 3000) As Long '存储销售员工的销售量,最大处理个数为3000
Dim xm(1 To 3000) As String '存储销售员工的姓名
Dim mc(1 To 3000) As Integer '存储销售员工的名次
Dim num As Integer '当前员工总数
Private Sub Form_Load()
'将销售量、姓名数据存入xse和xm数组
'计算员工总数num
'代码略
End Sub
Private Sub Command1_Click()
Dim sum As Long
Dim i As Integer, flag As Integer
pm = Val(Text2.Text)
dq = Text1.Text
sum = 0
For i =" 1" To num
sum =" sum" + xse(i)
Next i
For i =" 1" To pm '对员工销售量进行排序
For j = ① To i + 1 Step -1
If xse(j - 1) < xse(j) Then
t =" xse(j" - 1): xse (j - 1) =" xse(j):" xse(j) = t
st =" xm(j" - 1): xm(j - 1) =" xm(j):" xm(j) = st
End If
Next j
Next i
mc(1) = 1
For i =" 2" To pm
If ② Then
mc(i) =" mc(i" - 1)
Else
mc(i) = i
End If
Next i
List1.Clear
List1.AddItem "排名" + "姓名" + "销售量"
For i =" 1" To pm
List1.AddItem Str(mc(i)) + " " + xm(i) + " " + Str(xse(i))
Next i
List1.AddItem dq + "平均销售额约为:" + ③
End Sub
①将所有员工的姓名和销售量存储到数组xm和xse中;
②对销售量数组进行求和,并输出该地区平均销售量(保留整数);
③根据输入“销售排名前几位”筛选出排名前几位销售人员的数据。
程序运行界面如图所示。

(1)下列程序对员工的销售额进行排序的主要算法属于 (选填:解析算法/枚举算法/冒泡排序算法/选择排序算法)
(2)实现上述功能的VB程序如下。请在划线处填入合适的代码。
Dim xse(1 To 3000) As Long '存储销售员工的销售量,最大处理个数为3000
Dim xm(1 To 3000) As String '存储销售员工的姓名
Dim mc(1 To 3000) As Integer '存储销售员工的名次
Dim num As Integer '当前员工总数
Private Sub Form_Load()
'将销售量、姓名数据存入xse和xm数组
'计算员工总数num
'代码略
End Sub
Private Sub Command1_Click()
Dim sum As Long
Dim i As Integer, flag As Integer
pm = Val(Text2.Text)
dq = Text1.Text
sum = 0
For i =" 1" To num
sum =" sum" + xse(i)
Next i
For i =" 1" To pm '对员工销售量进行排序
For j = ① To i + 1 Step -1
If xse(j - 1) < xse(j) Then
t =" xse(j" - 1): xse (j - 1) =" xse(j):" xse(j) = t
st =" xm(j" - 1): xm(j - 1) =" xm(j):" xm(j) = st
End If
Next j
Next i
mc(1) = 1
For i =" 2" To pm
If ② Then
mc(i) =" mc(i" - 1)
Else
mc(i) = i
End If
Next i
List1.Clear
List1.AddItem "排名" + "姓名" + "销售量"
For i =" 1" To pm
List1.AddItem Str(mc(i)) + " " + xm(i) + " " + Str(xse(i))
Next i
List1.AddItem dq + "平均销售额约为:" + ③
End Sub
用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a()是待排序的数据,数据从a(1)开始存放;整数型参数n表示传入的数组长度,该函数的返回值也是一个整数型数组。所以调用此函数实现排序非常方便:
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a()=bubble_sort(False,a(),10)
该函数VB代码如下:
Function bubble_sort(sx As Boolean,a() As Integer,n As Integer) As Integer()
Dim i,j,t As Integer
For i=1 To n-1
For j=____①____ Step-1
If ____②____ Then
If a(j)<a(j-1) Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
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
bubble_sort=a()
End Function
请将代码补充完整:
①___________________________________________。
②___________________________________________。
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a()=bubble_sort(False,a(),10)
该函数VB代码如下:
Function bubble_sort(sx As Boolean,a() As Integer,n As Integer) As Integer()
Dim i,j,t As Integer
For i=1 To n-1
For j=____①____ Step-1
If ____②____ Then
If a(j)<a(j-1) Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
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
bubble_sort=a()
End Function
请将代码补充完整:
①___________________________________________。
②___________________________________________。
在一次校园歌手大奖赛中,有20位评委负责评判,打分的上限是10分。统计选手得分时,去掉一个最高分,再去掉一个最低分,然后取评委打分的平均值作为选手的最后得分。根据上述规则,信息小组设计了计算选手得分的程序。核心部分的程序如下:
‘d数组中存放了20位评委的打分
Smax=0:smin=10:score=0
For i=1 To 20

Next i
score =" (" score – smax – smin )/18
Text1.Text= smax
Text2.Text= smin
Text3.Text= score
请分析任务和程序段,完成下列题目。
(1)程序段中出现的Text1、Text2、Text3是 类型的控件。(选填“A”或“B”)
(2)在设计用户界面时,要在启动计算过程的按钮上显示“计算”二字,应该将按钮的“ ”属性值设置为“计算”。
(3)为精确地显示选手的最后得分,变量score的数据类型应定义为 。
(4)程序执行过程中,程序段中虚线框内的代码将被执行 次。
(5)请分析程序,将程序段中虚线框内的空白处补充完整。
If
‘d数组中存放了20位评委的打分
Smax=0:smin=10:score=0
For i=1 To 20

Next i
score =" (" score – smax – smin )/18
Text1.Text= smax
Text2.Text= smin
Text3.Text= score
请分析任务和程序段,完成下列题目。
(1)程序段中出现的Text1、Text2、Text3是 类型的控件。(选填“A”或“B”)
A.列表框 | B.文本框 |
(3)为精确地显示选手的最后得分,变量score的数据类型应定义为 。
(4)程序执行过程中,程序段中虚线框内的代码将被执行 次。
(5)请分析程序,将程序段中虚线框内的空白处补充完整。
If
人们常使用计算机程序解决一些实际问题。下面的程序可以找出能被3、5、7除,余数为1的最小的五个正整数。请分析程序回答问题。
Private Sub Command1_Click()
Dim CountN%,n%
CountN=0
n=1
Do
n=n+1
If ① Then
Print n
CountN=Countn+1
End If
Loop ②
End Sub
(1)变量CountN 的数据类型定义为( )
(2)这是一段 结构程序。
(3)认真阅读程序,在带序号的空白处补充恰当的语句,完善程序。
___________________________________________________________
____________________________________________________________
(4)在编写程序时,首先需要找出解决问题的方法和步骤,此过程就是通常所说的
Private Sub Command1_Click()
Dim CountN%,n%
CountN=0
n=1
Do
n=n+1
If ① Then
Print n
CountN=Countn+1
End If
Loop ②
End Sub
(1)变量CountN 的数据类型定义为( )
A.integer | B.single | C.double | D.string |
(3)认真阅读程序,在带序号的空白处补充恰当的语句,完善程序。
___________________________________________________________
____________________________________________________________
(4)在编写程序时,首先需要找出解决问题的方法和步骤,此过程就是通常所说的
小明的爸爸在今年初为公司购买一台价值50万的商务汽车,汽车价值在使用过程中逐年减少,从明天到第5年,每年初的价值比上年初减少4万元,从第6年开始,每年初的价值为上年初的85%。爸爸让小明算一下第n年初这辆汽车的价值是多少?小明为此设计了下面Visual Basic程序,运行程序,在文本框Text1中输入年数n,单击“计算”按钮Command1,则在标签Label1中显示此年初的价值a。程序运行界面如图所示:

Private Sub Command1_click ( )
Dim n as single, a as single
n="Val" (text1.text)
If n = Int(n) And n >=" 1" Then
If n<="5" then
a= ①
Else
a=30*0.85^(n-5)
End if
Label3.caption=“第”+Str(n)+“年初价值”+ ② +“万元”
Else
Label3.caption=“输入的年数不符合要求!”
Else if
End Sub
(1)用计算机编程解决问题,最核心的过程是 。
(2)本程序窗体中使用的控件类型有命令按钮、文本框和 。
(3)流程图是一种直观的、用图形来描述算法的方法。流程图中“选择分支”和“数据输出”分别用 、 图形来表示。
(4)程序中的语句Dim n As single 将变量n的数据类型定义为 。
(5)在设计用户界面时,要使本程序中command1命令按钮上显示文字“计算”,需设置此控件的 属性(选填“caption”、“font”或 “text”)
(6)程序中①处应填入的表达式为
(7)程序中②处应填入
(8)语句n="Val" (text1.text)中函数Val (text1.text)的作用是
(9)Text1的控件类型是
(10)用计算机编程解决问题,大致分为五个过程:①设计算法、②调试运行、③编写程序、④检测结果、⑤分析问题

Private Sub Command1_click ( )
Dim n as single, a as single
n="Val" (text1.text)
If n = Int(n) And n >=" 1" Then
If n<="5" then
a= ①
Else
a=30*0.85^(n-5)
End if
Label3.caption=“第”+Str(n)+“年初价值”+ ② +“万元”
Else
Label3.caption=“输入的年数不符合要求!”
Else if
End Sub
(1)用计算机编程解决问题,最核心的过程是 。
(2)本程序窗体中使用的控件类型有命令按钮、文本框和 。
(3)流程图是一种直观的、用图形来描述算法的方法。流程图中“选择分支”和“数据输出”分别用 、 图形来表示。
(4)程序中的语句Dim n As single 将变量n的数据类型定义为 。
(5)在设计用户界面时,要使本程序中command1命令按钮上显示文字“计算”,需设置此控件的 属性(选填“caption”、“font”或 “text”)
(6)程序中①处应填入的表达式为
(7)程序中②处应填入
(8)语句n="Val" (text1.text)中函数Val (text1.text)的作用是
(9)Text1的控件类型是
(10)用计算机编程解决问题,大致分为五个过程:①设计算法、②调试运行、③编写程序、④检测结果、⑤分析问题
编写一元二次方程的求解程序,要求能够判断方程是否有根,如果没有根则给出相应的提示信息。
程序如下:
Private Sub Command1_Click()
Dim a as Single, b as Single, c as Single
Dim t as Single, x1 as Single, x2 as Single
a = Val(InputBox("a=", "数据输入框", 1))
b = Val(InputBox("b=", "数据输入框", 2))
c = Val(InputBox("c=", "数据输入框", 1))
If a =" 0" Then
If b =" 0" Then
If c =" 0" Then Print "解得:x有无穷解" Else Print "x无解"
Else
Print "解得:x=" & -c / b
End If
Else
t = ________(1)______________
If t < 0 Then ①
x1 = (-b + Sqr(t)) / (2 * a) ②
x2 = (-b - Sqr(t)) / (2 * a) ③
Print "解得:x1=" & x1,
Print "x2=" & x2
Else
x1 = ______(2)__________
If t =" 0" Then Print "解得:x=" & x1
If t > 0 Then ④
Print "无实根"
End If
End If
End If
End Sub
请认真分析任务和程序段,完成下列题目。
(1)用计算机编程解决问题,一般分为几个过程:①编写程序②分析问题③确定算法④调试程序,正确排序应该是_________(填序号)。
(2)流程图是用图框及流程线来表示算法的,流程图中的“◇”(菱形框)用来表示_______________(选填“选择分支”、“数据输出”、“条件判断”)。
(3)程序段出现的语句“Dim a as Single”是将“a”定义为________________(写汉字)数据类型。
(4)程序中的语句Sqr(t)所表示的含义是____________________。
(5)调试过程中,运行的结果跟预期结果不符,编译过程中语句出现错误,请找出①②③④中选出错误_____________。
(6)程序中所在(1)横线处的表达式是___________________。
(7)依次输入的数据为:4,-2,1后,运行该程序,输出的结构是_________________。
(8)程序中所在(2)横线处的表达式是___________________。
(9)该程序属于__________结构的程序设计。
(10)将设计好的窗体文件保存到磁盘上,窗体文件的扩展名为______________。(选填“exe”、“frm”、“vbp”或“vbw”)
程序如下:
Private Sub Command1_Click()
Dim a as Single, b as Single, c as Single
Dim t as Single, x1 as Single, x2 as Single
a = Val(InputBox("a=", "数据输入框", 1))
b = Val(InputBox("b=", "数据输入框", 2))
c = Val(InputBox("c=", "数据输入框", 1))
If a =" 0" Then
If b =" 0" Then
If c =" 0" Then Print "解得:x有无穷解" Else Print "x无解"
Else
Print "解得:x=" & -c / b
End If
Else
t = ________(1)______________
If t < 0 Then ①
x1 = (-b + Sqr(t)) / (2 * a) ②
x2 = (-b - Sqr(t)) / (2 * a) ③
Print "解得:x1=" & x1,
Print "x2=" & x2
Else
x1 = ______(2)__________
If t =" 0" Then Print "解得:x=" & x1
If t > 0 Then ④
Print "无实根"
End If
End If
End If
End Sub
请认真分析任务和程序段,完成下列题目。
(1)用计算机编程解决问题,一般分为几个过程:①编写程序②分析问题③确定算法④调试程序,正确排序应该是_________(填序号)。
(2)流程图是用图框及流程线来表示算法的,流程图中的“◇”(菱形框)用来表示_______________(选填“选择分支”、“数据输出”、“条件判断”)。
(3)程序段出现的语句“Dim a as Single”是将“a”定义为________________(写汉字)数据类型。
(4)程序中的语句Sqr(t)所表示的含义是____________________。
(5)调试过程中,运行的结果跟预期结果不符,编译过程中语句出现错误,请找出①②③④中选出错误_____________。
(6)程序中所在(1)横线处的表达式是___________________。
(7)依次输入的数据为:4,-2,1后,运行该程序,输出的结构是_________________。
(8)程序中所在(2)横线处的表达式是___________________。
(9)该程序属于__________结构的程序设计。
(10)将设计好的窗体文件保存到磁盘上,窗体文件的扩展名为______________。(选填“exe”、“frm”、“vbp”或“vbw”)