- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 过程和自定义函数
- 枚举算法及程序实现
- + 解析算法及程序实现
- 递归算法及程序实现
- 排序算法及程序实现
- 查找算法及程序实现
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用

Private Sub Command1_Click()
Dim a(1 To 12) As Integer, i As Integer, x As Integer
a(1) =" 500:" a(2) =" 200:" a(3) =" 100:" a(4) =" 100:" a(5) =" 50:" a(6) = 20
a(7) =" 10:" a(8) =" 10:" a(9) =" 5:" a(10) =" 2:" a(11) =" 2:" a(12) = 1
i = 1
x = Val(Text1.Text)
List1.Clear
Do While x<>0
If x >=" a(i)" Then
List1.AddItem Str(a(i))
①
End If
i =" i" + 1
Loop
End Sub
(1)如要将程序窗口标题“Form1”修改为“天平测质量”,则应该修改窗体的 属性(选填: Name / Caption / Text / Font)。
(2)为实现上述功能,划线①处应填入的代码为 。
(3)程序正确运行后,在文本框Text1中输入701,并单击“计算”按钮。程序运行结果应为下图中的 (单选,填:A/B/C)。

Dim i As Integer, ans As Integer
Dim a(1 To 10) As Integer
ans = 0
For i =" 1" To 10
a(i) =" i" ^2
If a(i) Mod 3 =" 0" Then ans =" ans" + a(i)
Next i
Text1.Text = Str(ans)
该程序段运行后,文本框Text1中显示的内容是( )
A.55 | B.126 | C.259 | D.385 |
Function f(n As Integer, r As Integer) as integer
If n <> 0 Then
f =" n" \ r
End If
End Function
Private Sub Command1_Click()
Print f(10, 8)
End Sub
程序的运行结果是( )
A.8 | B.10 | C.2 | D.1 |
s=“”
For i=1 To 3
For j=7 To i+1 Step-1
If a(j)<a(j-1) Then
k=a(j):a(j)=a(j-1):a(j-1)=k
End If
Next j
s=s+Str(a(i))
Next i
Text1.Text=s
数组元素a(1)到a(7)的数据依次为“3,9,1,5,8,6,2”,经过该程序段“加工”后,文本框Text1中显示的内容是( )
A.1 2 3 | B.9 8 6 |
C.3 9 1 | D.8 6 2 |
①输入三角形三边长a,b,c
②计算半周长p=(a+b+c)/2
③计算三角形面积s=Sqr(p*(p-a)*(p-b)*(p-c))
④输出面积s
上述算法属于( )
A.排序算法 | B.解析算法 |
C.枚举算法 | D.查找算法 |
A.已知边长a、b、c,求三角形面积。 |
B.求用10元、20元和50元三种纸币组合支付360元的不同方案。 |
C.求2000以内的素数。 |
D.求所有的水仙花数的总和。 |
A.35 88 110 48 64 |
B.35 48 88 64 110 |
C.35 48 88 110 64 |
D.35 48 64 88 110 |
(加试题)创建VB程序,统计英语短文中字母出现的次数,并输出出现次数最多的字母和未出现的字母。要求字母不区分大小写,均表示为大写字母。程序运程界面如图所示。

算法如下:
(1)获取输入的英语短文,存入变量s
(2)统计字母出现次数
依次取出s中的每个字符
如果是大写字母,计算其在字母表中的位置n,并计数
如果是小写字母,计算其在字母表中的位置n,并计数
(用数组a存放26个字母出现的次数,a(1)存放“A”出现的次数,a(2)存储“B”出现的次数,……,a(26)存储“Z”出现的次数。)
(3)找出最大出现次数
(4)找出出现次数最多和未出现过的字母并输出
VB程序如下,在其中①②③划线处填定相应代码,完善程序。Private Sub Command1_Click()
Dim i As Integer, n As Integer, max As Integer
Dim a(1 To 26) As Integer '数组a存放26个字母出现的次数。
Dim s As String, c As String '变量s存放输入的短文
Dim s1 As String, s2 As String '变量s1、s2分别存放出现次数最高和未出现的字母组成的字符串
s = Text1.Text
'统计字母出现次数
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
n = Asc(c) - Asc("A") + 1
a(n) =(1)____________
ElseIf c >= "a" And c <= "z" Then
n = Asc(c) - 32 - Asc("A") + 1
a(n) = a(n) + 1
End If
Next i
'找出最大出现次数
max = a(1)
For i = 1 To 26
If(2)____________ Then
max = a(i)
End If
Next i
'找出出现次数最多和未出现过的字母
For i = 1 To 26
If (3)__________ Then
s1 = s1 + " " + Chr(Asc("A") + i - 1)
ElseIf a(i) = 0 Then
s2 = s2 + " " + Chr(Asc("A") + i - 1)
End If
Next i
Label2.Caption = "出现次数最多的字母是:" & s1 & " 出现次数为:" & Str(max)
Label3.Caption = "未出现的字母是:" & s2
End Sub
(加试题)小李同学碰到了一个数学问题:400个同学按顺序进行编号后围成一个大圈,按1至2报数(从1号位置开始),报到2的同学出列,以此一直循环报数下去,问最后剩下的那位同学他的编号是几号?
例如以6个同学编号为例,按1至2报数(从1号位置开始)依次出列的编号次序为2-4-6-3-1-5,那么最后剩下的就是编号为5的同学。
为了解决这个问题,小李用VB编写了如下程序尝试解决,其中列表list1显示出列的顺序编号,文本框text1中显示最后留下的编号,程序代码如下(测试界面如下图):
Dim s, f, t As Integer
Dim a(1 To 400) As Boolean
For i = 1 To 400
a(i) = False
Next i
s = 0
f = 0
i = 0
Do While f < 399
i = i + 1
If i = 401 Then i = (1)
If a(i) = False Then s = s + 1
If s = 2 Then
(2)
List1.AddItem Str(i)
a(i) = True
f = (3)
End If
Loop
For i = 1 To 400
If (4) Then text1.text=str(i)
Next i
End Sub
为实现程序功能,在程序划线处应填入的代码为:
(1) _________________
(2) _________________
(3) _________________
(4) _________________
(加试题)计算整数t的近似算数平方根算法如下:
先取,然后根据公式计算
,再由
计算
,……直到
,则
为解。
小李编写了一个VB程序实现上述功能:运行程序时,在text1中输入一个正整数,单击命令按钮command1,文本框text2显示该数的算数平方根。

程序代码如下,请阅读完成以下两小题。
Function fun(x As Integer, x0 As Double) As Double
Dim x1 As Double
x1 = (x0 + x / x0) / 2
If Abs(x1 - x0) < 0.00001 Then
fun = x1
Else
fun = (1)
End If
End Function
Private Sub Command1_Click()
Dim t As Integer
Dim k As Double
t = Val(Text1.Text)
k = fun(t, 1)
k = (2) '保留两位小数的四舍五入
Text2.Text = Str(k)
End Sub
(1)题中函数fun主要采用的算法思想是___________
(2)程序中(1)划线处应填写的代码是_____________
程序中(2)划线处应填写的代码是___________