flag=False: s="ShanShui2020!"
For i=1 To Len(s)
ch=Mid(s,i,1)
If Not(ch>="0" And ch<="9")And Not flag Then
t=ch+t
End If
flag=Not flag
Next i
Text1.Text=t
执行完以上程序段后,文本框text1中的内容为( )
Dim s As Integer
Dim i As Integer
s=0
For i=1 To 10 Step 4
Print “#”;
s=s+i
Next i
Print s
上述程序运行后,输出“#”的个数是;输出s的值是。
Dim n As Integer
Dim sum As Integer
Dim i As Integer
Function fx(i As Integer) as Integer
If i = 1 Then
fx = 5
Else
fx = 5 * 2 ^ (i - 1) + fx(i - 1)
End if
End Function
Private Sub Command1_Click()
n = Val(Text1.Text): sum = 0
For i = 1 To n
sum = sum + fx(i)
Next i
Label1.Caption = Str(sum)
End Sub
若在 Text1 中输入4,单击 Command1,则 Label1 中显示的内容为( )
For i=1 to 3
For j=1 to 5-i
If a(j)>a(j+1) Then
t=a(j) : a(j)=a(j+1) : a(j+1)=t
End If
Next j
Text1.Text = Str(a(i))+Text1.Text
Next i
数组元素a(1)到a(5)的值依次为“2,9,7,8,5”。若该程序段执行后,文本框Text1显示的内容是( )
x=0
For i=1 To 3
For j=1 To i
For k=j To 3
x=x+1
Next k
Next j
Next i
height = 0
m = float(input("输入起始高度:"))
n = int(input("输入次数: "))
for i in range(1,n):
if i= 1:
height+=m
else:
m/=2
print("总路程:" +str(height))
|
输入起始高度:100 输入次数:5 总高度:275. 0 |
Private Sub Command1_Click()
Dim msg As String c As String, tmp As String, s As String, flag As Boolean msg = Text1.Text msg = msg + "/" '标记字符串结束符
tmp = "" :s = "" : flag = True
For i = 1 To Len(msg)
c = Mid(msg, i, 1)
If Then
flag = False
tmp = tmp + c
ElseIf flag = False Then s = s + tmp + ","
tmp = ""
End If
Next i
Text2.Text = s
End Sub
max = 0
For p =
amin = a(p): amax = a(p)
i = p + 1: j = p + 19
Do While
If a(i) > a(j) Then
If a(i) > amax Then amax = a(i)
If a(j) < amin Then amin = a(j)
Else
If a(i) < amin Then amin = a(i)
If a(j) > amax Then amax = a(j)
End If
i = i + 1: j = j - 1
Loop
If
Then max = amax - amin
Next p
Text1.Text = "最大波动值为:" + Str(max)
上述程序段3个方框处的语句分别为( )
s=Text1.Text
ans=0
Text2.Text=Str(ans)
若Text1中输入的内容为“10”则Text2中输出的内容为“2”,加框处代码,不正确的是( )。
t=Val(Mid(s, i, 1))
ans=ans+t*2^(Len(s)-i)
Next i
B . For i=1 To Len(s)t=Val(Mid(s, i, 1))
ans=ans*2+t
Next i
C . For i=Len(s) To 1 step-1t= Val(Mid(s, i, 1))
ans=ans+t*2^(i-1)
Next i
D . For i=1 To Len(s)t=Val(Mid(s, Len(s)-i+1, 1))
ans=ans+t*2^(i-1)
Next i
关于异或,下列选择错误的是( )
import random
num=random.randint(1, ① )
mynum=int(input('请输入mynum='))
n=1
while not( ② ):
n= n+1
if mynum<num:
print("输入的数小了")
elif mynum>num:
print("输入的数大了")
print("输入不正确,请再次输入")
mynum=int(input('请输入mynum='))
print("你猜对了!","一共用了",n,"次")
input("运行完毕,请按回车键退出...")
下列说法正确的是( )
|
数组元素 |
数组元素的含义 |
|
a(i) |
a(1)到a( 10)依次存储1号顾客购买商品1~商品10的记录: a(11)至a(20)依次存储2号顾客购买商品1~商品10的记录;依次类推。 数组a的某个元素的值为1,则表示某位顾客购买了某种商品,若为0则表示没有购买 该种商品。如a(6)=1表示1号顾客购买了商品6,a(6)=0表示未购买。 |
|
dsj(i) |
dsj(1)~dsj(9)依次存储商品1与商品2~商品10的关联次数; dsj(10)~dsj(17)依次存储商品2与商品3~商品10的关联次数;依次类推。 如dsj(5)=2表示商品1与商品6被同时购买过2次; 如dsj(45)=4表示商品9与商品10被同时购买过4次。. 数组dsj中,若dsj(45)的值最大,则表示商品9和商品10 的关联次数最多。 |
小王按照上述算法设计了VB程序,统计了20个用户购买10种商品之间的关联性,VB程序如下,部分界面如题图所示。
Private Sub Cmd1_Click( )
Dim a(1 To 200) As Integer '各个用户原始的购买记录
Dim dsj(1 To 45) As Integer '统计商品之间的关联次数
Dim i As Integer, t As Integer, ne As Integer, j As Integer, max As Integer
'数组a读入数据并在列表框分行输出,代码略
For i= 1 To 20 '20个用户
t= 1
For j= 1 To 9 '10个商品,共45种组合
For k=j+ 1 To 10
m=(i- 1)* 10
If
Then dsj(t) = dsj(t)+ 1
①
Next k
Next j
Next i
max=0
For i=1 To 45
If ② Then
max=dsj(i)
maxi=i
End If
Next i
t=9:nc= 1
Do While maxi>t
③
t=t-1
nc=nc+1
Loop
Text1.Text="关联最多的是商品"+Str(nc)+Str(maxi+nc)+":"+Str(max)+"次"
End Sub
① ② ③
Const n = 50
Din a(1 To n) As Integer, b(1 To 10) As Integer, k As Integer
k=n\ 10
For i=1 To n
a(i) = Int (Rnd * 10) + 1
Next i
For i=1 To k
For j=I To n Step k
b(i) = b(i) + a(j)
Next j
Next i
执行该程序段后,b(1)~b(5)各元素值不可能的是( )
n =1
For i=2 To 12
If ⑴ Then
n=n+1
⑵
End If
Next i
S=””
For i=1 To n
s=s+Str(a(i))
Next i
Text1.Text = s
上述程序中划线处可选语句为:①a(i)<>a(n) ②a(i)=a(n) ③a(n)=a(i)
则(1)、(2)处语句依次是( )
Dim i As Integer, n As Integer, k As Integer, s As String n = Val(Text1.Text):k = 1: s = ""
Do While 2 ^k < n
k = k + 1
Loop
Do While n <> 0
If n >= 2 ^ (k -1) Then s = s + "1"
n = n - 2 ^ (k -1)
Else
s = s + "0"
End If
k = k - 1
Loop
For i= 1 To k
s = s + "0"
Next i
在文本框Text1输入12,执行该程序段后,变量s、k的值分别为( )
m=abs(a[0]-a[1])
for i in range(2,len(a)):
if abs(a[i]-a[i-1])>m:
m=abs(a[i]-a[i-1])
则程序执行后,m的值是( )
flag = False: txt = "Fighting"
For i = 1 To Len(txt)
ch = Mid(txt, i, 1)
If (ch>="a" And ch<="z" Or ch>="A" And ch<="Z") And Not flag Then
s = ch + s: flag = True
Else
flag = False
End If
Next i
Text1.Text = s
程序运行结束后,Text1中显示的内容是( )
我们可以用两种不同的方法来实现这一目的:
方法一:逐个地将数组a的后n-p个数依次移动到前面去。
数组 a:
|
1 |
2 |
3 |
4 |
5 |
| 3 | 1 | 2 | 4 | 5 |
| 3 | 4 | 1 | 2 | 5 |
| 3 | 4 | 5 | 1 | 2 |
方法二:将前p个数看作一个区间,后n-p个数看作另一个区间,依次将数交换,同时缩小区间的大小;若某一个区间达到末尾,则调整区间的范围,直到两个区间刚好同时达到末尾,即调整结束。
数组a:
互换并调整区间:第一个区间结束且第二个区间还有元素,调整区间 1 和区间 2 的范围,如图将区间 1 调整为[3,4],区间 2 调整为[5:5]。
互换并调整区间:第二个区间结束且第一个区间还有元素,仅调整第 1 个区间的起始位置。
互换并结束:两个区间同时到达末尾。
| 3 | 4 | 5 | 1 | 2 |
小明依据上面的方法设计了VB程序如下:
Dim a(1 To 100), i As Integer, j As Integer, tmp As Integer, p As Integer
Dim start1 As Integer, end1 As Integer, start2 As Integer, end2 As Integer '将序列保存到数组a中,序列长度保存到n中,移动数字的个数保存在p中
Private Sub Command2_Click() '用方法一实现
For i = p + 1 To n
tmp = a(i)
For j = i To ① Step -1
a(j) = a(j - 1)
Next j
② = tmp
Next i
End Sub
Private Sub Command3_Click() '用方法二实现
start1 = 1: end1 = p '第1个区间的起始状态
start2 = p + 1: end2 = n '第2个区间的起始状态
i = start1: j = start2
Do While ③
i = start1: j = start2
Do While i <= end1 And j <= end2
tmp = a(i): a(i) = a(j): a(j) = tmp
i = i + 1:j = j + 1
Loop
If i <= end1 Then '第2个区间结束且第1个区间还有元素
start1 = i
ElseIf j <= end2 Then '第1个区间结束且第2个区间还有元素
start1 = i: ④
start2 = j
End If
Loop
End Sub
请回答下列问题:
① ② ③ ④
Private Sub Command1_Click()
Dim n As Integer, p As Long, s As Double, i As Integer, t As Integer
s = 0
t = 1
p = 0
n = Val(Text1.Text)
For i = 1 To n
s = s + t * 1 / p
Next i
Label1.Caption = Str(s)
End Sub
k=3 : sum=0 : j=0 : c=0
For i=1 To Len(s)
ch=Mid(s, i, 1)
If ch >= "0"And ch<= "9" Then
c=c * 10+Val(ch)
j=j+1
Else
If j=k Then sum=sum+c
j=0:c=0
End If
Next i
字符串s为“ab300cde2022fg002h”时,执行该程序段后,sum的值为( )