s=0
For i=1 To 5 Step 2
s=s+i
Next i
s=s+i
Label1.Caption=Str(s)
该程序段运行后,标签Label1上显示的内容是( )
For i=1To 9
For j=i To 9
a=i*j
List1.AddItem i&"*"&j&"="&a
Next j
Next i
a(1)=1:a(2)=2
i=3:flag=True
Do While i<=10 and flag=True
a(i)=a(i-1)+a(i-2)
If a(i)>4*i then flag=False
i=i+1
Loop
Text1.Text=a(i-1)
该程序段运行后,文本框Text1中显示的是( )
s = " Good Luck 2021!":n = 0 : m = 0 : k = 0
For i = 1 To Len(s)
c = Mid(s,i,1)
If c >= "0" And c <= "9" Then
n = n + 1
ElseIf c >= "a" And c <= "z" Then
k = k + 1
Else
m = m + 1
End If
Next i
执行该程序段后,变量 m 的值为( )
Dim a(1 To 1000) As String
Const n = 4
Private Sub Form_Load()
Dim x As Integer, s As String
Dim b(1 To n * n) As Boolean
Randomize
For i = 1 To n ‘随机产生n个位置,使得这些位置表示未被涂黑
If b(x) = False Then
a(x) = "0"
b(x) = True
Else
i = i - 1
End If
Next i
‘将其余位置赋值为“#”,存入数组a相应的位置中,并将结果按n行n列的方式显示在列表框list1上,代码略
End Sub
Private Sub Command1_Click()
Dim s As String, jg As String, ch As String
s = "HAOXUEXIHAODUSHU"
For i = 1 To n * n Step n
List2.AddItem Mid(s, i, n)
Next i
For i = 1 To n
For j = 1 To n * n
If a(j) = "0" Then
ch = Mid(s, j, 1)
ch =
jg = jg + ch
End If
Next j
Call turn(n) ‘调用过程turn,完成矩阵顺时针旋转90度
Next i
Label1.Caption = jg
End Sub
Sub turn(x As Integer)
Dim i As Integer, j As Integer
Dim c(1 To n * n) As String
For i = 1 To x
For j = 1 To x
c((i - 1) * x + j) =
Next j
Next i
For i = 1 To n * n
a(i) = c(i)
Next i
End Sub
S="ABCDEFG"
n=Len(s)
m=Int(Rnd*5+1)
i=0:c=1:ans=""
Do While c<= 3
i=(i+m-1)Mod n+ 1
ans=ans+Mid(s,i,1)
c=c+1
Loop
Text 1.Text=ans
执行该程序段后,文本框中不可能的输出是( )
s = "python2021": t = "": i = 1
Do While i < Len(s)
c = Mid(s, i, 1): d = Mid(s, i + 1, 1)
If c < d Then t = t + c Else t = t + d
i = i + 2
Loop
Label1.Caption = t
执行该程序段后,标签Label1上显示的内容是( )
例如,读取的数据为2、3、15、25、10、14、1、5、30、60、15、25,过程是:
⑴设置区间信息为[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];
⑵按区间左端点升序排序,得到J区间信息为[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];
⑶合并区间,得到[1,5],[10,25],[30,60]。说明:区间[1,5]和[2,3]合并为[1,5],区间[10,14]和[15,25]合并为[10,25],区间[10,25]和[15,25]合并为[10,25],因此合并后的结果为:[1,5],[10,25],[30,60]三个区间。
程序功能如下:单击“读数据库”按钮Command1,程序从数据库读取数据,输出在文本框Text1中;单击“开始处理”按钮Command2,程序进行区间排序,并进行区间合并操作,操作后的结果输出在文本框Text2中。程序运行结果如图所示。
实现上述功能的VB程序如下,请回答下列问题:
Dim a(1 To 100) As Integer ′数组a存储合并前的区间
Dim b(1 To 100) As Integer ′数组b存储合并后的区间
Dim n As Integer ′n表示区间个数
Private Sub Command1_Click()
Dim s1 As String, i As Integer
'读取数据,并存储到数组a中,并输出在文本框Text1中,代码略
End Sub
Private Sub Command2_CIick()
Dim s2 As String, i As Integer, j As Integer, k As Integer
Dim n As Integer, t As Integer, x As Integer
For i=1 To n-1
For j=1 To 2 * n-2 * i Step 2
If Then
t=a(j): a(j)=a(j+2): a(j+2)=t
t=a(j+1): a(j+1)=a(j+3): a(j+3)=t
End If
Next j
Next i
k=2
b(1)=a(1): b(2)=a(2)
i=2: j=3
Do While j <=2 * n
If b(i) >=a(j) Then
If b(i) <=a(j+1) Then
Else If b(i)+1=a(j) Then
b(k)=a(j+l)
Else
k=k+1:
k=k+1: b(k)=a(j+1)
i=i+2
End If
j=j+2
Loop
For x=1 To k-2 Step 2
s2=s2 & "[" & b(x) & "," &b(x+1) & "]" & ","
Next x
s2=s2 & "[" & b(x) & "," & b(x+1) & "]"
Text2.text=s2
End Sub
等差级数求和的算法: ①令和s的初值为“0”; ②令自然数i的初值为“0”; ③输入n的值; ④如果is100,则执行第⑤步,否则执行第⑧步; ⑤累加自然数i的值; ⑥累加和s的值; ⑦转到第④步执行; ⑧打印输出计算结果“s”的值; ⑨程序结束。 |
程序代码: Private Sub Command1_ Click ( ) s=0
N=Val (Text1.Text) Do While i<=n i= s=s+i Loop "s="; s End Sub |
Private Sub Command1_Click()
Dim s1 As String, s2 As String
Dim i As Integer, x As Integer
Const code="0123456789ABCDEF"
s1=Text1.Text
s2=""
Do While Len(s1) Mod 4<>0
s1="0"+s1
Loop
x=0
i=1
Do While i<=Len(s1)
x=x*2+Val(Mid(s1,i,1))
i=i+1
If Then ‘①
s2=s2+Mid(code,x+1,1)
‘②
End If
Loop
Text2.Text=s2
End Sub
Dim a(1 To 6) As Integer
Dim d(1 To 6) As Integer
a(1) = 10: a(2) = 21: a(3) = 28: a(4) = 11: a(5) = 12: a(6) = 30
Const n = 6
For i = n To 1 Step -1
d(i) = 0
For j = n To i +1 Step -1
If a(j) > a(i) Then d(i) = d(j) + 1
Next j
If d(i) > Max Then Max = d(i)
Next i
Text1.Text = Str(Max)
执行该程序段,文本框Text1中显示的是( )
Dim a(1 To 6) As Integer
For i=1 To 6
a(i)= Int(Rnd * 4)+1
If a(i) Mod 2=0 And i Mod 2=0 Then
a(i)=2 * a(i) - a(i - 1)
End If
s=s+Str(a(i))
Next i
执行该程序段后,变量s的值可能是( )
n = 10: m = 0
For i = 1 To Int(Sqr(n))
If Not d(i) Then
j = 3 * i
Do While j <= n
d(j) = True
j = j + i
Loop
End If
Next i
For i = 5 To n
If d(i) Then m = m + 1
Next i
数组元素d(1)到d(10)的初值均为False,执行该程序段后,变量m的值为( )
例如以6个同学编号为例,按1至2报数(从1号位置开始)依次出列的编号次序为2-4-6-3-1-5,那么最后剩下的就是编号为5的同学。为了解决这个问题,小李用VB编写了如下程序尝试解决,其中列表List1显示出列的顺序编号,文本框Text1中显示最后留下的编号,程序代码如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
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=
If a(i)=False Then s=s+1
If s=2 Then
List1.AddItem Str(i)
a(i)=True
f=
End If
Loop
For i=1 To 400
If Then Text1.Text=Str(i)
Next i
End Sub
程序运行时,在文本框Text1中输入一个整数,单击“判断”按钮Command1后,在标签Label3中显示判断结果。程序运行界面如下图所示。
Private Sub Command1_Click()
Dim x As Integer, h As Integer, k As Integer
x = Val(Text1.Text)
h = 0
k=1
Do While x > 0
h = h + x Mod 10
k=
x = x \ 10
Loop
IfThen
Label3.Caption = “Yes”
Else
Label3.Caption = “No”
End If
End Sub
程序运行后输入6
运行输出结果是:
n='15867239012'
s=0
for x in n:
if int(x)%2==0:
continue
elif s==14:
break
s+=int(x)
print(s)
该程序段执行后,则输出结果为( )
程序段如下:
qp = [[0 for i in range(5)] for j in range(6)] #建立二维数组并初始赋值为0
m = 0
for i in range(5):
for j in range(6):
if i % 2 == 0:
qp[j][i] = m * 6 + j + 1
else:
qp[j][i] = m * 6 + 6 - j
m = m + 1
运行上述程序段后,编号17所在的数组元素为( )