(加试题)对数组a中的u个元素进行排序,生成左右交替上升的数据序列,结果如下表所示:
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 | 题型:填空题 | 难度:0.99
(加试题)四宫数独规则:在4×4的格子中,根据已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个宫(粗线框区域)内均含1到4的数字并且不重复,每道数独有且仅有唯一答案。
例如,根据规则推理图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) =0

Next m

'对当前所在行列进行推算

row = (x-l)\4+l

col = ( x - l) Mod 4 + l

For m= 1 To 4

t(d( row - l) *4+m) = l
t(_______)=1

Next m

'进行宫内推算

If row < =2 And col <= 2 Then t(d(7 -x) ) = l
If 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 + l

Next m

If _______ Then check = n Else check = 0

End Function
当前题号:2 | 题型:填空题 | 难度:0.99
(加试题)若数组元素d(1)到d(8)的值依次为“6,9,12,18,20,28,32,45”,查找Key值的VB 程序段如下:
t(1) = 1: t(2) = 1
For i = 3 To 5

t(i) = t(i - 1) + t(i -2)

Next i Key =13
i=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 - 1
k=k-1

Else

i = m + 1
k=k-2

End If

Loop
运行该程序段后,①处的赋值语句共执行(   )
A.1次B.2次C.3次D.4次
当前题号:3 | 题型:选择题 | 难度:0.99
某算法的部分流程图如图所示。执行这部分流程后,输出sum,i的值分别是
A.28,6B.60,6C.28,5D.60,5
当前题号:4 | 题型:选择题 | 难度:0.99
素数迁移:小王编写了一个VB程序,在左边List1中显示随机生成的10个介于[2,99]的随机整数,单击命令按钮Command1后,其中的素数全部迁移到右边的List2中并进行显示,同时只有那些非素数(合数)的才继续在List1中显示,运行界面如图所示。

实现上述功能的VB程序如下,请回答下列问题。
(1)根据代码可知,若要产生20个随机数,只需将____的值修改为20即可。
(2)请在划线处填入合适代码。
Const n = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click() ’素数迁移模块
Dim i As Integer
List1.Clear ’清除列表框
List2.Clear
For i = 1 To n
For j = 2 To a(i) - 1
If __________  Then
Exit For    ’ Exit For的功能是退出For循环
End If
Next j
If  ________ Then
List2.AddItem Str(a(i))
Else
List1.AddItem Str(a(i))
End If
Next i
End Sub
Private Sub Form_Load() ’随机数初始化模块
Randomize  ’随机数种子初始化
For i = 1 To n
a(i) =  ___________
List1.AddItem Str(a(i))
Next i
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99
编写“数字提取”程序,实现如下功能:在文本框Text1中输入文本信息,点击“提取”按钮Command1,将文本信息中的数字以“,”间隔输出到文本框Text2中。程序运行界面如图所示,VB代码如下,请回答下列问题:

(1)如图所示,该程序共有________个对象。
(2)请根据题意将下列程序补充完整。
Private Sub Command1_Click()
Dim m As String,tmp As String,ch As Strin
Dim s As String,i As Integer
m=Text1.Text
tmp=""
s=""
For i=1 To Len(m)

ch=Mid(m,i,1)

If ch>="0"And ch <="9" Then

______________

Else If tmp<>"" Then

s=s+tmp+","
______________

End If

Next i

Text2.Text=s
End Sub
(3)输入的文本信息如图a所示,若删除加框处代码,则文本框Text2中显示的内容为________________。
当前题号:6 | 题型:填空题 | 难度:0.99
创建通用过程时,选“工具”菜单中的“添加过程”命令时,发现该命令是灰色的,原因是(  )
A.未打开属性窗口B.未打开代码窗口
C.此法不能创建通用过程D.系统出错
当前题号:7 | 题型:选择题 | 难度:0.99
下列程序的运行结果是( )
PRIVATE  SUB   FORM CLICK(  )
STATIC  B   AS  INTEGER
DIM   A  AS  INTEGER 
A=A+1
B=B+1
PRINT   A,B
END  SUB
要求运行程序时单击窗体三次,给出第三次单击的结果
A.3    3B.1   3C.3    1D.1    1
当前题号:8 | 题型:选择题 | 难度:0.99
过程直接或间接的调用自己,这种调用被称为(____________)调用。
当前题号:9 | 题型:填空题 | 难度:0.99
公有的函数过程PUBLIC后的关键字是[ ]
A.SUBB.FUNCTIONC.FORMD.子过程名
当前题号:10 | 题型:选择题 | 难度:0.99