小明设计了一个VB程序,用于求解10000以内的所有完全数。点击按钮Command1,标签Label1显示完全数的个数,并在列表框中显示10000以内所有的完全数。
程序运行效果如图所示

实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click( )
Dim i As Integer, j As Integer, c As Integer, s As Integer
c = 0 ‘用于存储完全数的个数
For i =1 To 10000
s=0 ‘用于存储各因数之和
For j = 1 To i - 1
If fac(i, j) Then
Next j
If i = s Then
Listl.AddIltem Str( i)
End If
Next i
Label.Caption =“10000 以内共有” +Str(c) + “个完全数!”
End Sub
Function fac(x As Integer, y As Integer) As Boolean
'如果y是x的因数返回True,否则返冋False
If Then
fac = True
Else
fac = False
End If
End Function

If a>b Then
max=a
Else
max=b
.

Private Sub Command1_Click()
Dim dx As String, dw As String
Dim s As String, c As String
Dim ch As String
Dim i As Integer
dx = "零壹贰叁肆伍陆柒捌玖拾"
dw = "亿仟佰拾萬仟佰拾元"
s = Text1.Text
If Len(s) > 9
Text2.Text = "输入的数据超出所能转换的范围"
Else
For i = 1 To Len(s)
ch =
c = c + Mid(dx, Val(ch) + 1, 1) + Mid(dw, 9 - Len(s) + i, 1)
Next i
Text2.Text = c + "整"
End If
End Sub

空白矩形框中应该填入的是( )
k=0:s=0
Do While k<=10
s=s+1
k=k+1
Loop
实现上述功能的VB代码如下,请完善代码:
Private Sub Command1_Click()
Dim n As Integer, i As Integer, t As Integer,sum As Long,s As String
n=Val(Text1.Text)
For i = 1 To n^3 Step 2 ‘变量i表示连续奇数的首个整数
sum=0:t = i:flag = False
Do While sum <= n^3 And flag = False
sum =
t = t +2
IfThen flag = True
Loop
If flag = True Then Exit For
Next i
s = Str(n) + “^”+ Str(3) + “=”
Do While sum >0
If sum = 0 Then
s = s + Str(i)
Else
s = s + Str(i) +“+”
End If
i = i + 2
Loop
Text2.Text = s
End Sub
f(10)=a(10):ans=-100
For i=9 To 1 Step-1
f(i)=f(i+1)+a(i)
If f(i) > ans Then ans=f(i)
Next i
数组元素a(1)到a(10)的值依次为“6,-2,4,-8,2,5,0,9,-1,2”,执行该程序段后,变量ans的值为( )
s=0
for i in range(1,6,2):
s=s+i
print(s)
该程序的代码如下:
Private Sub Command1_Click()
Dim n,r,j,i As Integer
n=Val(Text1.Text)
For i=1 Ton-1
If ① Then
List1.AddItem Str(i)
End If
Next i
End Sub
Function Div(n As Integer)As Integer
Dim sum As Integer
For i=1 Ton-1
If ② Then
sum=sum+i
End If
Next i
Div=sum
End Function
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②。
以下VB程序在a数组中保存了下一个要报数的人的编号,即若。(w)=p,则表示当第w个人报过数2后,下一个要报数的是第p号。程序在列表框Listl中输出了依次出圈的人的编号,在标签Label1中输出了最后剩下的人的编号。请完善程序。
Private Sub Command1_Click( )
Dim i As Integer, n As Integer, w As Integer, num As Integer
Dim a(1 To 100)As Integer, t As Integer
n=Val(Text1.Text)
For i=1 To n-1
a(i)=i+1
Next i
a(n)=1
w=n ‘变量w表示当前检查的是第w号数组元素,即从第n号开始检查
t=0 ‘变量t用以模拟报数
Do While ①
num=a(w) ‘当前报数的人的编号
t=t+1
If t=3 Then
List1.AddItem Str(num)
a(w)= ②
t=0
Else
③
End If
Loop
Label1.Caption=Str(w)
End Sub
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
①原始数据中,某数据不为0且相邻无重复,压缩数据用该数据表示;
②原始数据中,某数据为0且相邻无重复,压缩数据用两个数表示,第1个为0,第2个为0;
③原始数据中,某数据相邻且有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个为该数本身。
小明编写了一个压缩的VB程序,功能如下:窗体加载时,自动读取原始数据,依次存储在数组元素a(1),a(2),a(3)….中,原始数据的个数存储在变量n中,原始数据显示在文本框Text1中。单击“压缩”按钮Command1,程序对原始数据依次进行压缩处理,压缩数据显示在文本框Text2中。程序运行界面如图所示。
Private Sub Command1_Click( )
Dim s,result As String
Dim i,num As Integer
i= 1:result=""
Do While i<=n
s=a(i)
num=1
Do While s=a(i+1)
i=i+1
①
Loop
If num >1 Then
result= ②
i=i+1
End If
s= a(i)
num=1
Do While s <> a(i+1)
If s ="0"Then s ="00"
result=result +s
i=i+1
③
Loop
Loop
Text2.Text=result
End Sub
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
程序界面如图1所示,在本框Text1中输入COD指标,单击“计算投放量”按钮(Command1)后,程序根据COD指标计算出合适的COD去除剂投放量,并在标签Label3中输出计算结果。
污水处理厂根据COD指标投放COD去除剂的标准如下表所示:
|
当前COD指标X |
根据COD指标应投放COD去除剂的剂量 |
|
X<50 |
10 |
|
X≥50并且X≤500 |
|
| X>500 | 3X |
| 图 1 图2 |
Private Sub Command1_Click( )
Dim x As Single,s As Single
x =Val(Text1. Text)
If x < 50 Then
s=10
ElseIf
Else
s=3*x
End If
Label3. Caption=
End Sub
车上最重货物的重量*0.8+车上其余货物的总重量
已知每个站点所需运送的货物的重量和目标站点,小明编写了一个VB程序计算货车从1号站点到达第n号站点的货运费用总额,程序运行界面如图所示。
算法提示:为提高算法效率,小明使用数组d和数组q按货物送达目标站点的先后厢序的顺序记录相关信息。第x件送达站点的货物的序号为d(x),该货物送达目标站点时本上最重的货物的重量为q(x)。
若各个站点货物的送达站点和重量信息如第16题图所示,货车到达各个站点时数组d和数组q的状态如下。
Const n = 100
Dim f(n) As Integer, w(n) As Integer, q(n) As Integer, d(n) As Integer
'数组f保存送达站点,数组w保存货物重量
Dim sum As Integer, ans As Double, i As Integer, st As Integer, t As Integer
Private Sub Form_Load()
'读取1~n每个站点的送达站点和货物重量,依次存放在数组{和数组w中
End Sub
Private Sub Command1_Click()
sum= 0: ans =0: st=1
For i=1 To n- 1
'装载第i站点的货物,更新数组d和数组q
t = w(i)
Do While f(d(k - 1)) > f(i)
d(k)=d(k-1)
q(k)=q(k-1)
If q(k-1)>t Then t=q(k-1)
k=k-1
Loop
d(k) = i
q(k) = w(i)
Do While And k>=st
q(k) = w(i)
k=k-1
Loop
'卸载货物
Do While f(d(st)) = i
sum = sum - w(d(st))
st=st+1
Loop
'计算费用
sum = sum + w(i)
ans= ans + q(st) * 0.8+
Next i
Label1.Caption = "共需费用:" + Str(ans)
End Sub
s = "1R2u3n_to45";num = 0
for i in s:
if "a" <= i <= "z" or "A" <= i <= "Z":
continue
elif "0" <= i <= "9":
num = num * 10 + int(i)
else:
break
该程序段运行后,num的值为( )
def mybtod(b):
d=0
![]()
return d
b = input()
print(mybtod(b))
为实现上述程序功能,则方框处的代码是( )
d = d + int(b[i]) * pow(2,len(b) - i - 1)
B . for i in range(len(b)):d = d + int(b[i]) * pow(2,i)
C . for i in range(len(b)):d = d + int(b[len(b) - i - 1]) * pow(2,i)
D . for i in b:d = d * 2 + int(i)