Dim names(5) As String
A=1:b=1:n=12
f(1)=a:f(2)=b
For i=3 to n
c=a+b
f(i)=c Mod 4
a=b
b=c
Next i
执行该段程序后,数组元素f(12)的值为( )
m = Val(Text1.Text)
Do While m <> 0
x = m Mod 8
m = m \ 8
a(x) = a(x) + 1
If a(x) = 1 Then n = n + 1
Loop
数组a各元素的初始值都为0,在文本框Text1中输入“529”,执行程序后,变量n的值为( )
小明依据上述描述设计了如下VB程序,在Text1中输入矩阵的行数n (n≤10),单击“生成”按钮Command1,在List1中显示n×n的螺旋矩阵。请回答下列问题:
Function pout(x As Integer) As String ‘函数功能用于数字的对齐输出
Dim i As Integer, j As Integer, y As String
y= Str(x) : j = Len(y)
For i = 1 To 5 - j
y = y +“”
Next i
End Function
Private Sub Command1_Click()
Dim a(1 To 100) As Integer
Dim i As Integer, j As Integer, m As Integer, n As Integer
Dim ts As String, t As Integer, v As Integer
n = Val (Text1.Text) :v = 1 : t = 1 ‘t用于每次填数方向上的位置修正
For m = n To 1 Step -2
For i = 1 To m ‘向右方向填数
a(t + i - 1)=v
Next i
t = t + n - 1
For i = 1 To m-1 ‘向下方向填数
a(m + t) = v
v=v+1
Next i
t = t - n
For i = m - 1 To 1 Step -1 ‘向左方向填数
a(t + i) = v
v=v+1
Next i
For i = m - 2 To 1 Step -1 ‘向上方向填数
a(t - n + 1) = v
v=v+1
t = t-n
Next i
t=t+2
Next m
For i = 1 To n ‘以图a方式在List1中输出数组数据
ts =“”
For j =To i * n
ts = ts + pout(a(j))
Next j
List1.AddItem ts
Next i
End Sub
a(1)=68: a(2)=88: a(3)=76: a(4)=60: a(5)=98: a(6)=100: a(7)=64: a(8)=85: a(9)=99:a(10)=59
For i = 1 To 9
b(i) = Abs(a(i + 1) - a(i))
c(b(i) \ 10) = c(b(i) \ 10) + 1
Next i
For i = 0 To 10
If c(i) > 0 Then Label1.Caption = Label1.Caption + “” + Str(c(i))
Next i
数组c各元素初值为0,执行该程序段,标签Label1上显示的内容是( )
DIM A(6) AS INTEGER
FOR I= 1 TO 6
A(I)= I
NEXT I
PRINT A(I)
m1=1:m2=n
Do While m1< m2
For i=m2 To m1+1 Step -1
If a(i)( a(i-1)Then t= a(i): a(i)=a(i-1): a(i-1)=t
Next i
①
If a(i)> a(i +1). Then t= a(i): a(i)=a(i+1): a(i+1)=t
Next i
m1=m1+1
m2=m2-1
Loop
要使程序实现上述算法思想,则代码中①处的语句是( )
For i = 1 To 6
a(i)= Int(Rnd * 10)+ 1
Next i
For i = 1 To 5
If i Mod 2 = 1 And a(i) > a(i + 1) Then
t = a(i): a(i) = a(i + 1): a(i + 1)= t
Else
a(i) = a(i) + 1
End If
Next i
执行该程序段后,a(1)~a(6)各元素可能的值是( )
小波编写了实现上述功能的程序,程序功能如下:程序运行时,在文本框Text中输入n(1≤n≤10),单击“产生”按钮 Command1产生n×n个随机数,随机数的范围为[0, 9],随机存储在数组a中,并以矩阵的形式在列表框List1上显示单击“排序”按钮Command2,对矩阵以“行”为单位进行升序排序,并在表框List2中输出排序后的矩阵。程序运行界面如图所示。
Dim n As Integer
Dim a (1 To 100) As Integer
Private Sub Command1_ Click ( )
Dim i As Integer, s As String
s = “”
n = val (Text1 Text)
For i = 1 To n *n
①
s = s+ Str(a(1))
If i Mod n = 0 Then
List1. Additem s
s = “”
End If
Next i
End sub
Private Sub Command2 _Click ( )
Dim i As Integer, j As Integer, t As Integer
Dim s As String
s = “”
For i = 1 To n*n
k = i
For j = i+1 To ②
If a(j) < a(k) Then k = j
Next i
If k <> i Then t = a(k): a(k) = a(i): a(i) = t
③
If i Mod n = 0 Then
List2. Additem s
s = “”
End If
Next i
End Sub
① ② ③
①老年人(年龄≥60岁)比非老年人优先就诊;
②老年人按年龄从大到小的顺序就诊,年龄相同的按预约顺序就诊;
③非老年人按预约顺序就诊。
小王根据以上规则编写了一个VB程序,通过引入索引数组temp进行排序,使得age(temp(1))≥age(temp(2))≥age(temp(3))…≥age(temp(n))。如图a所示。
图a
图b
程序运行时,病人的数据显示在列表框List1中,单击“就诊排序”按钮Command1,排序结果显示在列表框List2中,程序运行界面如图b所示。
实现上述功能的VB程序如下,请回答下列问题:
Dim pname(1 To 100)As String ‘存放病人姓名
Dim age(1 To 100)As Integer ‘存放病人年龄
Dim num(1 To 100)As Integer ‘存放病人序号
Dim n As Integer
Private Sub Command1_Click( )
Dim temp1(1 To 100)As Integer, temp2(1 To 100)As Integer ‘索引数组
Dim i As Integer, j As Integer, k1 As Integer, k2 As Integer, t As Integer
k1=0:k2=0
For i=1 To n
If age(i)<60 Then
k1=k1+1
temp1(k1)=num(i)
Else
k2=k2+1
temp2(k2)=num(i)
End If
Next i
For i=1 To k2-1
For j=k2 To i+1 Step-1
If ① Then
t=temp2(j):temp2(j)=temp2(j-1):temp2(j-1)=t
End If
Next j
Next i
List2.Clear
List2.Addltem "就诊号 名单 年龄"
For i=1 To k2
List2.Addltem Str(i)&." "&.pname(temp2(i))&"r/&.Str(age(temp2(i)))
Next i
For j=1 To k1
List2.Addltem ② &" "&pname(templ(j)&" "&.Str(age(templ(j)))
Next j
End Sub
Private Sub Form_Load( )
Dim conn As New ADODB. Connection, rs As New ADODB. Recordset
Conn.ConnectionString="Provider=Microsoft. ACE. OLEDB. 12.0;DataSource="&App. Path&"\pdxt.accdb"
conn.Open
Set rs. ActiveConnection=conn
rs. Open"select*from jzmd"
n=0
List1.AddItem"预约号 名单 年龄"
Do While Not rs. EOF
③
num(n)=n
pname(n)=rs. Fields(1)
age(n)=rs Fields(2)
List1. Addltem Str(num(n))&" "&-pname(n)&." "&.Str(age(n))
rs. MoveNext
Loop
rs.Close:conn.Close
End Sub
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
a(1) = 12: a(2) = 44: a(3) = 65: a(4) = 36: a(5) = 58
x = 0: y = 0
For i = 1 To 4
k = i
For j = i + 1 To 5
If a(j) > a(k) Then
k = j
x = x + 1
End If
Next j
If k <> i Then
t = a(i): a(i) = a(k): a(k) = t
y = y + 1
End If
Next i
Text1.Text = Str(x) + Str(y)
执行该程序段后,文本框Text1中显示的内容是( )
a={"张三":80,"李四":85,"王五":90,"赵六":70,"钱七":65}
b=input("请输入姓名:")
fenshu= #从字典读取分数
a=[]
for i in range(100):
if i%10==0:
a.append(i)
则程序执行后,a[1]和a[-1]的值分别是( )
s = 0: i = 1
Do While i <= 10
If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i
List1.AddItem Str(a(i))
i = i + 1
Loop
i = 10
Do While i >= 1
If a(i) = 1 Then s = s + 1
i = i - 1
Loop
该程序段运行后,变量s值是( )
Dim s1 As String, s2 As String, n As Integer, t As Integer
Dim a(128) As Integer
s1 = Text1. Text : n = Len(s1)
s2 =""
For i=1 To n
t = Asc(Mid(s1, i, 1))
a(t)=a(t)+1
Next i
For i=1 To 128
Do While a(i)> 0
s2 = s2 + Chr(i)
a(i)=a(i)-1
Loop
Next i
Text2.Text = Mid(s2,5,1)
若Text1中输入的字符串为“He1lo535Study" (不包括引号) ,运行上述程序后,Text2中显示的结果为( )