Function s(m) As Boolean
Dim i As Integer
______1_______
For i = 2 To Int(Sqr(m))
If m / i = 0 Then s = false ‘3
Next i
End Function
Private Sub Command1_click()
Dim i, n As Integer
Dim p1, p2 As Boolean
n = Val(Text1.Text)
p1 = s(3)
List1.Clear
For i = ______2_____
p2 = s(i)
If p2 = True Then List1.AddItem = Str(i - 2) + " " + Str(i) ‘4
p1 = p2
Next i
End Sub
Private Sub Command1_Click()
Const s1 = "efg"
s2 = "&auif,+eg$Ymfhe":s3 = ""
For i = 1 To Len(s2)
If being(Mid(s2, i, 1), s1) Then
s3 = s3 + Str(i) + ","
End If
Next i
Text1.Text = s3
End Sub
Function being(x As String, y As String) As Boolean
being = False
For i = 1 To Len(y)
If x = Mid(y, i, 1) Then
being = True:Exit Function
End If
Next i
End Function
执行后文本 Text1 中显示的内容是( )
依据该算法思想,设计一个VB程序,实现该功能的代码如下,请回答下列问题。
Const m = 6
Const n = 5
Dim a(1 To (m + 1) ∗ n) As Integer
Private Sub Form_Load()
'数组初始化,生成 m×n 个两位数的随机整数并赋值给数组a
Randomize
For i = 1 To m ∗ n
a(i)= ①
Next i
End Sub
Private Sub Cod1_Click()
Dim i As Integer, j As Integer
For i = 1 To n
②
Next i
'将计算后数据,按 m + 1 行,n 列输出到列表框中,代码略
End Sub
Function sum(y As Integer) As Integer '函数功能是计算每列数据和
sum = 0
For i = ③
sum = sum + a(i)
Next i
End Function
① ② ③
Dim cj(1000) As Integer, n As Integer
Private Sub btncmd1_Click( )
Dim i As Integer, j As Integer
Dim k As Integer ,tmp As Integer
For i = 2 To n
tmp = cj(i)
j = BinarySearch
For k = i To j + 1 Step -1
cj(k) = cj(k - 1)
Next k
cj(k) = tmp
Next i
For i = 1 To n
List1.AddItem Str(cj(i))
Next i
End Sub
Private Sub btncmd2_Click()
Dim i As Integer
i = BinarySearch(Val(Text1.Text), 1, n)
Label2.Caption = "共有" ++ "位同学大于等于该成绩。"
End Sub
Function BinarySearch(key As Integer,i As Integer,j As Integer) As Integer
Dim m As Integer
Do While i <= j
m = (i + j) \ 2
If cj(m) >= key Then
j = m - 1
Else
i = m + 1
End If
Loop
BinarySearch =
End Function
Private Sub Form_Load()
'从数据库获取n个成绩存储在 cj(1) ~cj(n)组中,代码略
End Sub
小王同学编写了一个VB程序,功能如下:在列表框List1中随机生成n个1~1000之间的整数,单击“运行”按钮Command1后进行处理,最大整数结果输出在文本框Text1中。当n=5时,程序运行界面如图所示。
实现上述功能的VB程序如下,请回答下列问题:
Const n=5
Dim a(1 To 10)As Integer
Private Sub Command1_Click( )
Dim i, j, t As Integer
For i=1 Ton-1
For j=n To i+1 Step-1
If ① Then
t=a(j-1):a(j-1)=a(j):a(j)=t
End If
Next j
Next i
For i=1 To n
Text2. Text=Text2. Text+Str(a(i))
Next i
End Sub
Private Sub Form_Load( )
Randomize
For i=1 To n
a(i)= ②
Text1. Text=Text1. Text +Str(a(i))
Next i
End Sub
Function cmp(a As Integer,b As Integer) As Boolean
If Str(a)+Str(b)<Str(b)+Str(a) Then
cmp=True
Else
cmp=False
End If
End Function
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②。
for i in range(①,②):
if i%3==0:
下列选择正确的是( )
s = "582319476"
i = 1: max = 0: res = ""
Randomize
Do While i <= Len(s) \ 3
tmp = Int(Rnd * 9 + 1)
If tmp >= max Then
res = res + Mid(s, tmp, 1)
max = tmp
i = i + 1
End If
Loop
执行该程序段后,变量res的值不可能是( )
例如:图a中放映厅内座位有9排10列,第5排10个座位的等级值依次为:1,2,3,4,5,5,4,3,2,1。全部座位为空时,当前购票人数为5,推荐座位编号为5排3-7号;如图b所示已经部分选座状态下,当前购票人数为2,推荐座位编号为6排3-4号。
编写VB程序,模拟上述功能。运行程序,在列表List1中显示目前选座状态,黑点表示已选座,白点表示空位,在文本框Text1中输入购票人数后,单击“推荐”按钮Command1,在标签Label3显示当前购票人座位的推荐结果。程序运行界面如图c所示。
Const m = 9 'm 表示座位有9排
Const n = 10 'n 表示每排的座位数为10
Dim r As Integer 'r 表示当次输入的购票人数
Dim a(1 to m * n) As Integer 'a 数组存放每个座位的等级值
Dim b(1 to m * n + 1) As Integer 'b 数组保存当前各座位选座情况,选中为1,未选为 0
Private Sub Form_Load()
'从第1排开始,按座位编号从小到大顺序逐排读取座位等级值并依次存入数组a
'同上述顺序,读取选座状态存入数组元素b(1)至b(m*n)中,输出当前选座状态。代码略
End Sub
Function getsum(i As Integer, j As Integer) As Integer
'从第i排第j列开始,计算第i排中满足r个观众就座的连续空位等级值之和。
'若无法找到足够的连续空位时,则返回-1
Dim p As Integer, sum As Integer, k As Integer
sum = 0
p = j: k = (i - 1) * n + p
Do While p <= j + r - 1 And b(k) = 0
sum =
p = p + 1: k = k + 1
Loop
If p = j + r Then getsum = sum Else getsum = -1
End Function
Private Sub Command1_Click()
Dim i As Integer, j As Integer, s As String, max As Integer
Dim t As Integer, newi As Integer, newj As Integer, pos As Integer
r = Val(Text1.Text)
max = 0
For i = 1 To m
For j = 1 To n - r + 1
If max < t Then max = t: newi = i: newj = j
Next j
Next i
If max = 0 Then
Label3.Caption = "请自主选位" Else
pos = (newi - 1) * n + newj
For i =
b(i) = 1
Next i
Label3.Caption = "推荐座位编号:" & newi & "排" & newj & "-" & newj + r - 1 & "座"
End If
End Sub
实现该功能的VB程序如下,请在划线处填入合适的代码:
Dim a (0 To 100) As Integer
Const high=16
Private Sub Form_Load()
'产生high个随机数,并显示在文本框Text1,代码略
End Sub
Private Sub Command1_Click()
Dim p As Integer, q As Integer, t As Integer
Dim m As Integer, n As Integer, k As Integer
m=Val(Text2.Text)
For i=1 To
c=“”
For j=1 To m-1
q=i*m
k=sort(p, q)
If a(k)<>a(q) Then
t=a(p): a(p)=a(k): a(k)=t
End If
Next j
Text3.Text=Text3.Text+ “”+c
Next i
End Sub
Function sort(f As Integer, g As Integer) As Integer
s=f
For i=f+1 To g
If a(i)>a(s) Then
End If
Next i
sort=s
End Function
n=0
while
passwd= #提示输入密码
if #密码是临高中学
#输出密码正确
break #退出循环,执行while循环模块后面的语句
else:
n=n+1 #循环一次就加1
#输出错误超过3次,请稍后再试!
import random
DNA=['A','G','T','C']
s=''
for i in range(20):
①
print(s)
match={'A':'T','T':'A','G':'C','C':'G'}
t=''
for i in range(20):
②
print('互补链:',t)
Private Sub Command1_Click()
Dim i As Integer, j As Integer
i = Val (Text1. Text)
j = Val (Text2.Text)
Text3. Text = Str(i * j / f(i,j))
End Sub
Function f(a As Integer, b As Integer) As Integer
Dim k As Integer
k=a Mod b
If k=0 Then
f=b
Else
f=f(b,k)
End If
End Function
计算规则:重量在1000克以内(包括1000克),基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
根据上述计算规则,编写自定义函数完成程序功能。
下面的程序能实现前述功能,请把缺失的代码补充完整。
""
描述:根据邮件的重量和用户是否选择加急计算邮费。
函数名:postage(w,f)
参数表:w—代表邮件的重量整数。
f一表示是否加急的字符,其中字符'y'和'n'分别表示加急和不加急
返回值:返回邮费数量。
示例:当w=1200,f='y'时,返回17。
""
def postage(w, f) :
if f == 'y':
cost=5+8
else:
cost=
if w>1000:
cost += (w—1000) //500*4
if w%500>0:
cost=
return cost
w=int (input('邮件的重量:'))
f =input('是否加急:')
print ()
定义规则:你需要标记出所有空白格子周边相邻的格子上有多少地雷(在正方向和斜45度方向挨着的格子均可视为相邻),并将数量标记在空白格中,如下图所示。
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim n As Integer,m As Integer 'n 存储地雷区域大小,m存储地雷数目
Dim a(1 To 100 * 100) As String
Dim b(1 To 100 * 100) As Integer
Private Sub Command1_Click() '按要求生成数组a中的数据并显示
Randomize
List1. Clear
n=9 : m=10
Dim s As String, pos As Integer, i As Integer
s=" " : n=n+2
For i=1 To n * n
If isinside(i) Then a(i)="— —"
Else a(i)="▲"
Next i
For i=1 To m
pos=Int(Rnd * n * n)+1
Do While a(pos)="★" Or
pos= Int(Rnd * n *n)+1
Loop
a(pos)="★"
Next i
For i=1 To n* n
s= s+" "+a(i)
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, row As Integer
Dim col As Integer, start As Integer, temp As String
For i=1 To n* n
If a(i)="★" Then
row=(i-1) \ n+1 : col=(i-1) Mod n+1
For j=1 To 3
start=
If a(start+col- 1)="— —" Then b
(start+ col- 1)= b(start+col- 1)+1
If a(start+col)="— —" Then
b(start+ col)= b(start+col)+1
If a(start+col+1)= "— —" Then b
(start+col+ 1)= b(start+ col+1)+1
Next j
End If
Next i
List2. Clear
For i=1 To n
temp=" "
For j=1 To n
If a((i-1) * n+j)="— —" Then
temp=temp+" "+ Str(b((i-1) * n+j))
Else
temp= temp+" "+a((i- 1)*n+j)
End If
Next j
List2. AddItem temp
Next i
End Sub
Function isinside(x As Integer) As Boolean
isinside= x>n And And x
Modn<;>1AndxMod<> 0
End Function
1)将该字符的ASCII码转换成对应的8位二进制;
2)将对应的8位二进制数进行按位取反(1变0,0变1);
3)将产生的8位二进制数循环左移2次;
4)将最后产生的8位二进制数转换成对应的十六进制数。例如,密文小写字母“d”通过上述解密算法解密后生成的明文是“6E”,信息加密过程如图b所示。
实现上述功能的VB程序如下:在文本框Text1中输入密文,单击“解密”按钮Com-mand1,程序对密文数据依次进行解密处理,在文本框Text2中显示解密后生成的明文。
程序运行界面如图c所示。实现上述功能的VB程序如下,请回答下列问题:
Function jiemi(m As String) As String '将4位二进制数转换成相应的十六进制数
Dim k As Integer, i As Integer
Dim str As String
str=“0123456789 A BCDEF”
k=0
For i=1 To 4
k=k * 2+Val(Mid(m, i, 1))
Next i
End Function
Private Sub Command1_Click()
Dim ans As String, s As String, ch As String, ret As String
Dim s1 As String, s2 As String
Dim i As Integer, m As Integer, asc1 As Integer, n As Integer
s= Text1. Text
ans=“”
For i=1 To Len(s)
ch= Mid(s,i, 1)
'取出第i个字符存入变量ch
asc1= Asc(ch)
ret =“”
For m=1 To 8
'完成解密步骤(1)和步骤(2)
ret=n & ret
asc1=asc1 \ 2
Next m
ret= Mid(ret, 3,6) +Mid(ret, 1, 2)
'完成解密步骤(3)
s1 = jiemi(Mid(ret, 1, 4))
ans= ans &s1 &.s2 '将第i个解密后的字符添加到变量ans的末尾
Next i
Text2. Text= ans
End Sub
Dim a(1 To n) As Integer
i= 1
Do While i<=
a(i)=
For j=1 To i-1
If a(i)=a(j) Then
Exit For
End If
Next j
i=i+1
Loop
上述程序段3个方框处的语句分别为( )