- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- + 算法实例的程序实现
- 过程和自定义函数
- 枚举算法及程序实现
- 解析算法及程序实现
- 递归算法及程序实现
- 排序算法及程序实现
- 查找算法及程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
a(1) | a(2) | a(3) | …… | a(n-2) | a(n-1) | a(n) |
17 | 39 | 48 | …… | 79 | 46 | 34 |
设计一个VB程序,单击“排序”按钮Command1后,在标签中输出排序后的数据序列,运行结果如图所示。

实现上述功能的VB程序如下,加框处代码有错,请改正。
Const n-9 ‘变量u存储待排序数据个数,以9个数为例
Dim a(1 Ton) As Integer ‘数组a存储待排序数据
Private Sub Command1_Click()
Dim i As Integer,j As Integer,t As Integer,k As Integer
‘读取一组正整数,存入数组a中,
‘在标签Label中依次输出排序前数组a从1到n各个元素的值,代码略;
For i = 1 To n\2
k=1 Label'①________For j=i+1 To n-i+1
If a(k) > a(j) Then k = j
Next j
For j=i+1To n ‘②________
If a(j) <a(j +1) Then t =a(j): a(j) =a(j +1): a(j +1)=
Next j
Next i
‘在标签中依次输出排序后数组a从1到n各个元素的值,代码略;
End Sub例如,根据规则推理图1数独,在第一宫中4个格子已经3个格子分别是数字1到3,缺的数字为4,因此第一行第一格空缺的数字填4,以此类推,直至将所有格子都推理出来。
![]() | ![]() |
图1 | 图2 |
(1)根据上述规则推理,数独(图2)第一行A处应是数字______。

(2)小明编写了四宫数独推算的VB程序,单击“推算”按钮 Command1后,在列表框List1中输出数独推算过程和结果,如第17题-3题图所示。实现推算的VB程序如下,请在划线处填入合适的代码。
Dim d(1 To 16) As Integer '数组d逐行存储四宫数独
Private Sub Command1_Click()
Dim i As Integer,flag As Boolean
For i = 1 To 16
d(i) =0 ‘值0表示该位置还未填数字Next i
‘初始化数独中已知位置的数字
d(2) =4:d(11) =3:d(14) =2:d(16) =4
List1.Clear
'在列表框Li1中输出四宫数独,代码略
flag = False
Do While Not flag
①__________For i = 1 To 16
‘函数check(i)实现对第i位置进行推算
If d(i) = 0 Then
d(i) = check(i)
If d(i) >0 Then
flag = False
'Forniat(i,"00")函数实现将变量i的值按2个字符宽度输出
List1.Addltem"第"& Format(i,”00” & "位置填” & d(i)
End If
End If
Next i
Loop
'在列表框Lil中输出四宫数独,代码略
End Sub
根据每一行、第一列、每一个宫的已有数字进行推算
Function check(x As Integer) As Integer
Dim t(0 To 4) As Integer,m As Integer
Dim row As Integer,col As Integer,n As Integer,k As Integer
For m=0 To 4
t(m) =0Next m
'对当前所在行列进行推算
row = (x-l)\4+l
col = ( x - l) Mod 4 + l
For m= 1 To 4
t(d( row - l) *4+m) = lt(②_______)=1
Next m
'进行宫内推算
If row < =2 And col <= 2 Then t(d(7 -x) ) = lIf row< = 2 And col > 2 Then t(d(ll - x) = l
If row > 2 And col < = 2 Then t(d(23-x) = l
If row > 2 And col > 2 Then t(d(27-x) = l
k =0
For m= l To 4
If t (m) = 0 Then n = m Else k = k + lNext m
If ③_______ Then check = n Else check = 0
End Functiont(1) = 1: t(2) = 1
For i = 3 To 5
t(i) = t(i - 1) + t(i -2)
Next i Key =13i=1:j=8:k=6
Do While i <=j
m = i+t(k-1) ‘①
If Key = d ( m ) Then Exit Do ‘Exit Do表示退出循环
If d(m) > Key Then
j= m - 1k=k-1
Else
i = m + 1k=k-2
End If
Loop运行该程序段后,①处的赋值语句共执行( )
A.1次 | B.2次 | C.3次 | D.4次 |
PRIVATE SUB FORM—CLICK( )
S=0 : M=0
FOR A=1 TO 100
IF A MOD 2 = 0 THEN
S=S+A
ELSE
M=M+1
END IF
NEXT A
PRINT S , M
END SUB
A.统计1---100间的偶数和 |
B.统计1---100间的偶数个数 |
C.统计1---100间的偶数和,奇数个数。 |
D.统计1---100间的偶数个数,奇数和. |
A.Sub过程可以使用Call 语句或直接使用过程名调用,而Function过程不可以 |
B.Function过程可以有参数,Sub过程不可以 |
C.两种过程参数的传递方式不同 |
D.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值 |
A.Sub p(Byval n,Byval m) | B.Sub p(n,byval m) |
C.Sub p(n,m) | D.Sub p(Byval n,m) |
public function ss(x as integer,y as integer) as integer
if x>y then ss=x-y else ss=y-x
END FUNCTION
PRIVATE SUB FORM CLICK( )
DIM A AS INTEGER ,B AS INTEGER
A=8: B=6
PRINT SS(A,B)
END SUB
A.2 | B.-2 | C.8 8 | D.6 6 |
PRIVATE SUB FORM-----CLICK( )
DIM I AS INTEGER,S AS INTEGER
FOR I= 2 TO 100 __________
S=S+___________
NEXT I
PRINT S
END SUB