key=Int(Rnd*20)+3
i=1:j=6:id=1
Do Whilei<=j
m=(i+j)\2
If key = a(m) Then Exit Do
If key < a(m) Then
j=m-1:id=id*2
Else
i=m+1:id=id*2+1
End If
Loop
Label 1. Caption = Str(id)
数组元素a(1)到a(6)的值依次为“4,7,9,14,15,21”,执行该程度段后,标签Label1中显示的内容不可能的是( )
Private Sub Command1_Click()
Dim zfc As String '用于存储输入的字符串
Dim ans As String '用于存储处理后的字符串
Dim i As Integer,ch As String
Dim n As Intege r'用于存储输入的字符串的长度
①
n=Len(zfc)
i=1
Do While i<=n
②
If ch>="0"And ch<="9"Then
i=i+1
Else
③
i=i+1
End If
Loop
Label2.Caption="结果为:"+ ④
End Sub
画线处应填入的代码为:①;②;③;④。
Private Sub Command1_Click( )
Dim s1, s2, result, t As String
Dim span, jw As Integer
s1=Text1. Text:s2=Text2. Text
span=Len(s1)-Len(s2)
If span<0 Then
t=s1:s1=s2:s2=t
span= ①
End If
For i=1 To span
s2="0"+s2
Next i
jw=0:result=" "
For i= ② To 1 Step-1
x=Val(Mid(s1, I, 1))+Val(Mid(s2,i,1))+jw
jw=x\2
result=Str(x Mod 2)+result
Next i
If jw=1 Then result="1"+result
Text3. Text=result
End Sub

控件属性设置如下:
|
对象 |
属性 |
属性值 |
说明 |
|
Form1 |
Caption |
幸运的猪 |
窗体的标题 |
|
Label1 |
Caption |
当天要杀猪的数量 |
标签显示 |
|
Label2 |
Caption |
幸运猪的原始编号 |
标签显示的文字 |
|
Text1 |
Text |
空白 |
文本框的文本 |
|
Text2 |
Text |
空白 |
文本框的文本 |
|
Image1 |
Picture |
Pig.gif |
显示的图片 |
|
Command1 |
Caption |
计算 |
按钮显示的文字 |
Private Sub Command1_Click()
Dim sum, i, pos, last, count As Integer
Dim a(1 To 100) As Integer
For i = 1 To sum
a(i) = 1 '初始状态为1表示还没被杀掉
Next i
count=0
Do while '要杀掉sum-1头猪
Pos=0
For i = 1 To sum
If a(i) <>0 Then
pos = pos + 1 'pos表示报数
If Then '报到奇数的猪被屠宰
count = count + 1
a(i) = 0
End If
End If
Next i
Loop
For i = 1 To sum
If a(i) = 1 Then
Text2.Text = Str(i)
End If
Next i
End Sub
a=3; b=1; c=2
if a>b:
a,b=b,a
if b>c:
b,c=c,b
if a>b:
a,b=b,a
print(a,b,c)
其输出结果为( )
Dim i As Integer
Dim c As String, s As String, t As String
s = "2021 PYthon": t = ""
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "a" And c <= "z" Then
t = t + c
ElseIf c >= "0" And c <= "9" Then
t = c + t
End If
Next i
Text1.Text = t
执行该程序段后,文本框Text1中显示的内容是( )
s= Text1.text
i=1:max1=1: maxi=i
j= 2
Do While j <= Len(s)
If
Then
If j-i> max1 Then max1= j-i: maxi= i
![]()
End If
![]()
Loop
If j-i> max1 Then max1 =j- i: maxi= i
If max1 > 1 Then Text2.Text = Mid(s, maxi, max1)
上述程序段中方框处可选语句为
①j=j+1
②i = j
③Mid(s, j, 1)>= Mid(s, j - 1, 1)
④Mid(s, j, 1) <= Mid(s, j - 1, 1)
则方框处语句依次为( )
Dim a(1 To 5) As Integer
Dim i As Integer
Dim j As Integer
Dim s As String
s = ""
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then a(j) =a(j)+1
Next j
Next i
For i = 1 To 5
If a(i) <> 1 Then s = Str(i) + s
Next i
Text1.Text = s
若数组a的初始值都为0,则运行该程序段后,Text1中显示的内容为( )
|
图a | 图b |
程序运行界面如图a所示。实现上述功能的VB代码如下:
Dim n As Integer, m As Integer
Dim a(1 To 100) As Integer
Dim b(1 To 10) As Integer 'b数组存储柱子位置
Dim f(3) As Integer, i As Integer 'f数组存储三种类型的个数
Private Sub Command1_Click()
n = Val(Text1.Text):m = Val(Text2.Text)
k = 0
For i = 1 To m
b(i) = Int((Rnd * n ^ 2) + 1)
a(b(i)) = 2
For j = 1 To i - 1
If b(i) = b(j) Then
①
Exit For
End If
Next j
Next i
'将房间设置为黑白两种颜色交错,白黑以0、1代替
For i = 1 To n * n
If a(i) = 0 And k = 1 Then
s = s + "■": a(i) = k
ElseIf a(i) = 0 And k = 0 Then
s = s + "□": a(i) = k
Else
s = s + "○"
f(k) = f(k) - 1
f(2) = f(2) + 1
End If
②
If i Mod n = 0 Then
List1.AddItem s
s = ""
End If
Next i
'对b数组的数值按升序进行排序,代码略
For i = 1 To m - 1
s = search(i)
If s > smax Then smax = s
Next i
'对f(0)和f(1)的相等情况进行判断,并输出最后结果,代码略
End Sub
Function search(i As Integer) As Integer
Dim x1 As Integer, x2 As Integer
Dim y1 As Integer, y2 As Integer
x1 = (b(i) - 1) \ n + 1
y1 = (b(i) - 1) Mod n + 1
For j = i + 1 To m
x2 = (b(j) - 1) \ n + 1
y2 = (b(j) - 1) Mod n + 1
If ③ Then s = 0
s = (x2 - x1) * (y2 - y1)
If s > search Then search = s
Next j
End Function
① ② ③
一 、采用父母积分中较高者做为入学申请人的积分,积分相同时取父亲积分,由高到低进行录取(积分=社保积分+基础积分)。
二 、积分相同时,按以下条件依次确定录取顺序
1)申请人家庭在市区有自购产权住房且实际居住优先录取;
2)本区连续居住时间较长者优先录入;
3)在所采用的积分中,社保积分较高者优先录入;
4)以上全部相同,则按报名序号的先后顺序录取。
根据上述要求编写VB程序,功能如下:窗体装载时,按报名顺序读取1000个同学的信息,显示在列表框List1中。在文本框Text1中输入录取人数,单击“确定”按钮Command1,在列表框List2中按照录取序号显示录取名单。程序运行界面如图所示。

请回答下列问题:
Const n As Integer = 1000 '报名总人数
Dim xh(1 To 1000) As Integer,xm(1 To 1000) As String
Dim fqsb(1 To 1000) As Integer, fqjc(1 To 1000) As Integer
Dim mqsb(1 To 1000) As Integer, mqjc(1 To 1000) As Integer
Dim sfgf(1 To 1000) As Boolean, jzsc(1 To 1000) As Integer +
Private Sub Form_ Load ()
'依次读取n个入学申请人的信息,并显示在列表框List1中,代码略
' xh(1) 到xh(n)存储报名序号,对应的值从1到n
' xm(1)到xm(n)存储姓名
'fqsb(1)到fqsb (n)存储父亲社保积分,fqjc (1)到fqjc (n)存储父亲基础积分
'mqsb (1)到mqsb(n)存储母亲社保积分,mqjc (1)到mqjc (n)存储母亲基础积分
' sfgf (1)到sfgf (n)存储是否购房
'jzsc (1)到jzsc (n)存储居住时长
End Sub
Private Sub Command1_ _Click ()
Dim lqrs As Integer lqrs'表示录取人数
Dim info_ str As String
For i=1 To 1qrs
For j=i+ 1 To n
If
Then
tmp= xh(i): xh(i) = xh(j): xh(j) = tmp
End If
Next j
'将录取的第i个学生信息显示在列表框List2中,代码略
Next i
End Sub
Function bj(a As Integer, b As Integer) As Bool ean
Dim jfa As Integer, jfb As Integer, sba As Integer, sbb As Integer
bj = False
'计算报名序号a的积分
If Then
jfa = fqsb(a) + fqjc(a)
sba = fqsb(a)
Else
jfa = mqsb(a) + mqjc (a)
sba = mqsb(a)
End If
'计算报名序号b的积分,并存入jfb、sbb,代码略
If jfa <> jfb Then
If jfa>jfb Then bj=True
ElseIf sfgf(a) <> sfgf (b) Then
If sfgf(a) = True Then bj = True
ElseIf jzsc(a) <> jzsc (b) Then
If sfgf(a) = True Then bj= True
ElseIf jzsc(a) <> jzsc(b) Then
If jzsc(a) > jzsc(b) Thenbj = True
Elself sba <> sbb Then
If sba> sbb Then bj = True
Else
If Then bj = True
End If
End Function
①输入的字符为十六进制数(英文字母大写,确保输入的个数为3的倍数),如4AC
②字符串中的每个字符转成四位二进制,按序拼接,如010010101100
③二进制字符串每4位进行前后倒置(即4位数左右倒置)操作,如001001010011
④将倒置后的字符串每3位转换成1位十进制,按序拼接后输出该十进制串,如001001010011转为1123
根据该规则编写的程序如下,运行结果如图所示,请回答以下问题:
Hex={"0":"0000","1":"0001","2":"0010","3":"0011","4":"0100","5":"0101","6":"0110","7":"0111","8":"1000","9":"1001","A":"1010","B":"1011","C":"1100","D":"1101","E":"1110","F":"1111"}
sch=input("请输入一个十六进制数(字母大写):")
th=""
for k in sch:
if "0"<=k<="9" or "A"<=k<="F": #若k为数字字符或大写字母
① #每1位十六进制转成4位二进制
ts=""
for i in range(0, ② ): #每4位进行前后倒置
ts+=th[i+3]+th[i+2]+th[i+1]+th[i]
tob=""
tmp=0
for i in range(len(ts)): #二进制串转十进制
tmp=tmp*2+int(ts[i]) #累乘相加转换成十进制
if
#每3个字符为一组进行转换后的拼接
tob=tob+str(tmp)
tmp=0
print("变换后的字符串为:",tob)
① ②
1)只推荐最佳观影区的座位,从前往后,优先选择最中间的位置,若找到最中间位置,则推荐,否则继续寻找下一排,以此类推;
2)购票数为1时,推荐单个靠中间的位置,大于1时,只推荐连续的座位;
3)若在最佳观影区内未找到可以推荐的座位时,系统将提示手工选择。编写VB程序,模拟电影院选座。在文本框Text1中输入购票数,单击“选座”按钮Command1,在标签Labe12中显示机选座位。程序运行界面如图所示。
ConstC=10:ConstR=12 '每排10座,共12排
Dim zw(1 To C * R) As Integer, kzw(1 To C * R) As Integer '座位,空座位
Private Sub Form_ Load ()
'读取影厅座位数据存入数组zw,并将座位信息显示在列表框list1中,代码略
End Sub
Private Sub Command1_Click ()
Dim i As Integer, j As Integer, k As Integer
Dim x As Integer, min As Integer, start As Integer
Dim m As Integer, n As Integer, ans As String
m = Val (Text1.Text) '购票数,确保数值在座位数以内
n=0 '空座位的个数
For i=5 To 10 '统计最佳观影区中的空座位编号
For j=3 To 8
If zw((i-1)*C+j)= 0 Then
n=n+1
kzw(n) =
End If
Next j
Next i
min = C: start=0: k=1
Do While k+m-1<= n
If kzw(k) + m-1= kzw(k +m- 1) Then
x=Abs(C\2-(kzw(k)+kzw(k+m-1))\2 Mod C)
If x < min Then
min=x
start = k '记录满足座位条件的起始空位号
If min=0 Then Exit Do 'Exit Do表示退出循环
End If
End If
Loop
ans =””
If start = 0 Then
ans = "未能推荐座位,请手工选座"
Else
For i = kzw(start) To
'CStr函数把表达式转换为字符串,不产生前置空格
ans = ans + "第"+ CStr(i \C+ 1) +"排"+ CStr(i ModC) +"座"
Next i
End If
Label2.Caption = ans
End Sub
s = Text1.Text: k = 1: maxlen = 1
For i = 2 To Len(s)
If Mid(s, i - 1, 1) < Mid(s, i, 1) Then
k = k + 1
If k > maxlen Then maxlen = k
Else
k = 1
End If
Next i
Label1.Caption = Str(maxlen)
在文本框Text1 中输入字符串“B3b8defhADot”,执行该程序段后,则标签Label1 中显示的内容为( )
i = 1: L = 0: R = n + 1
Do While i < R
If a(i) < k1 Then
L = L + 1
If L <> i Then tt = a(i): a(i) = a(L): a(L) = tt
i = i + 1
ElseIf a(i) > k2 Then
R = R - 1
tt = a(i): a(i) = a(R): a(R) = tt
Else
i = i + 1
End If
Loop
则执行上述代码后,下列说法正确的是( )
For i=1 To 10
If f(a(i)) = 0 Then
①
Else
If i - f(a(i)) > max Then max = i - f(a(i))
End If
Next i
Text1.Text = Str(max)
则代码①处的语句可为
print("请输入3个数:")
x=int(input("x="))
y=int(input("y="))
z=int(input("z="))
temp=0
if x>y:
temp=y
y=x
x=temp
if x>z:
temp=z
z=x
x=temp
if y>z:
temp=z
z=y
y=temp
print("这3个数新序列是:",x,y,z)

Private Sub Command2_ Click()
Dim sp As String, s As String
Dim a(1 To 1000) As Integer
Dim b(1 To 100) As Integer
Dim c(1 To 100) As Integer
Dim i As Integer, j As Integer
Dim n As Integer, f1 As Integer
Dim f2 As Integer, h1 As Integer
Dim k As Integer, x As Integer
'对数组a赋初值为0,代码略
s = Text1.Text: j = 1: k=1: x=0
For i=1 To Len(s)
If Mid(s,i,1)="w" Then a(i)=1
Next i
For i=1Ton
If a(i)=1 Then f1=f1+1 Else f2=f2+1
H1=h1+a(i)
If heck(f1, f2, 11) Then
b(j)=f1:b(j+1)=f2:j=j+2
f1 =0:f2= C
End If
If check(h1, h2,21) Then
c(k) = h1:c(k+1)=h2:k=k+2
h1=0:x=i
End If
Next i
'输出各局比分代码略
End Sub
Function check (ByVal dl As Integer, ByVal d2 As Integer, fz As Integer) As Boolean
check = False
If Then check = True
End Function
注意:每个字符的宽度不为1。给定一个列表width,其中width[0]是字符“a”的宽度,width[1] 是字符“b”的宽度,...,width[25]是字符'z'的宽度。
如图:输入字符串“aabbb”,“a”的宽度为 4, “b”的宽度为 6,所以“aabb”长度为
4+4+6+6=20写入第一行,最后一个”b”长度为6写入第二行。最后程序输出内容为“写入字符串s共需2行,最后一行宽度为:6”。
pythont程序如下:
width = [4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6]
s =int( input("s:"))
L=0
count=1
for i in s:
index= ①
L=L+width[index]
if L>20:
L= ②
count+=1
print("小写字母宽度列表width为:")
print(width)
print(f"写入字符串s共需{count}行,最后一行宽度为:{L}")
阅读程序回答:
①②
n = 0
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= “0” And c <= “9” Then m = 1 Else m = 2
a(m) = a(m) + 1
If a(m) = 1 Then n = n + 1
Next i
数组a各元素的初始值都为0,文本框Text1的内容为“Happy2018”。执行程序后,变量n的值为( )