For n = 1 To 4
s = n * n
Print s;
Next n

算法描述如图所示,请将程序补充完整。
Private Sub Form_Click()
Dim n As Integer, i As Integer
Dim x As Integer ‘判断是否为季生素数的变量
= Val(InputBox("输入自然数 n"))
x=1
If n<=1 Then x = 0
End If
For i = 2 To Sqr(n+2)
If n Mod i = 0 OrThen
x = 0
End If
Next i
If x=1 Then
Print n,n+2 ;"是孪生素数”
Else
Print ;"不是孪生素数”
End If
End Sub
每项任务有一个紧急程度,用数字表示,数字越大紧急程度越高。紧急程度最高的任务优先执行,紧急程度相同先出现先执行。若某项任务在执行过程中出现了一个紧急程度更高的任务,则正在执行的任务将被暂停,执行该紧急程度更高的任务。
编写VB程序,功能如下:程序运行时,各项任务数据按出现时刻升序显示在列表框List1中,单击“开始”按钮Command1,按照任务完成的先后顺序,在列表框List2显示每项任务的编号以及完成时刻。程序运行界面如图所示:请回答下列问题:
1号任务:时刻1出现,完成所需时长4,紧急程度1
2号任务:时刻2出现,完成所需时长2,紧急程度2
3号任务:时刻7出现,完成所需时长1,紧急程度3
则这3个任务的完成的顺序为(单选,填字母:A . 1号、2号、3号 /B . 2号、3号、1号 / C . 2号、1号、3号)。
Dim id(0 To 100) As Integer '任务编号
Dim t(0 To 100) As Integer '出现时刻
Dim L(0 To 100) As Integer '完成所需时长
Dim v(0 To 100) As Integer '紧急程度
Dim n As Integer '总任务数
Private Sub Form_Load()
'本过程读取任务编号、出现时刻、完成所需时长和紧急程度的数据分别存储在数组 id,t,L和v中,并在List1中显示,代码略
End Sub
Private Sub Command1_Click()
Dim q(0 To 100) As Integer 'q 数组按优先顺序存储已出现的任务编号
Dim k As Integer, i As Integer, j As Integer, cur As Integer
cur = 0: k = 0 'cur 记录当前时刻
For i = 1 To n
Do While k > 0 And t(i) >= cur + L(q(k)) '新的任务出现时,计算并输出已经完成的任务编号
List2.AddItem adj(2, (id(q(k)))) + adj(6, cur + L(q(k)))
cur = cur + L(q(k))
k = k - 1
Loop
If k > 0 Then L(q(k)) = '更新正在执行的任务的完成所需时长
k = k + 1
j = k
Do While v(q(j - 1)) >= v(i)
q(j) = q(j - 1)
j = j - 1
Loop
q(j) = i
Next i
Do While
List2.AddItem adj(2, id(q(k))) + adj(6, cur + L(q(k)))
cur = cur + L(q(k))
k = k - 1
Loop
End Sub
Function adj(x As Integer, v As Integer) As String
'adj可以通过添加前置空格将v转化为x位长度的字符串,便于输出对齐,代码略
End Function
实现上述功能的VB代码如下,但加框处代码有误,请改正。
Const n=10
Dim a(1 To n)As Integer
Private Sub Form_Load( )
‘排序前的数据存储在数组a中,并在List1中显示,代码略
End Sub
Private Sub Command1_Click( )
Dim flag As Boolean
Dim x As Integer, y As Integer
x=0:y=0
flag=True:i=1
Do While i<=n-1 And flag
flag=False
For j=n To i+1 Step-1
If
Then ‘①
t=a(j)
a(j)=a(j-1)
a(j-1)=t
flag=True
‘②
End If
Next j
y=y+1
‘③
Loop
Label1.Caption="经过"+Str(y)+"遍排序数据有序!"
Label2.Caption="数据总共交换"+Str(x)+"次!"
For i=1 To n
List2.AddItem Str(a(i))
Next i
End Sub
以上程序段运行时,为了实现上述功能,加框处代码应改正为:①;②;③。

Private Sub Cmd_Click( )
Dim i As Integer, j As Integer, k As Integer
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single
Dim d As Single, Totald As Single, v As Single, s As String
s= ①
x1=0:y1=0 ‘出发点为坐标原点
k=1:i=1:Totald=0
For i=1 To Len(s)
If Mid(s,i,1)=","Then
v=Val(Mid(s,j,i-j)) ‘提取坐标值,保存在变量v中
j=i+1
If ② Then
x2=v
Else
y2=v
d=Sqr((x2-x1)-2+(y2-y1)-2)
Totald=Totald +d
x1=x2:y1=y2
End If
k=k+1
End If
Next i
Label1.Caption=Str(Totald)
End Sub
①②
s=0
for i in range(1, 101):
if i%2== 0:
s+=i
该程序段被执行后,变量s中存储的是1~100之间的( )
Dim s1 As String, s2 As String, ch As String
Const code = "@*()^&#"
s1 = Text1.Text
For i = 1 To Len(s1)
ch = Mid(s1, i, 1)
If ch >= "a" And ch <= "z" Then
t = (Asc(ch) - 65 + i) Mod 7
s2 = Mid(code, t + 1, 1) + s2
Else
s2 = s2 + ch
End If
Next i
Text2.Text = s2
若 text1 中输入字符“AbCd”,则 text2 中输出的是 ( )
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer
Dim x1 As Single, x2 As Single, x3 As Single, t As Single Dim Totald As Integer, v As Single, s As String
s = Text1.Text
k = 0: j = 1: Totald = 0
For i = 1 To Len(s)
If Mid(s, i, 1) = "," Then
v = Val(Mid(s, j, i - j)) '提取三角形边长,保存在变量v中
①
If k Mod 3 = 1 Then
x1 = v
ElseIf k Mod 3 = 2 Then x2 = v
If x1 < x2 Then t = x1: x1 = x2: x2 = t
Else
x3 = v
If x1 < x3 Then t = x1: x1 = x3: x3 = t
If ② Then Totald = Totald + 1
End If
End If
Next i
Label1.Caption = "一共构成" + Str(Totald) + " 个直角三角形"
End Sub
① ②
Private Sub Command1_Click()
Dim x As Long
Dim y As Integer
x = Val(Text1.Text)
y =
Text3.Text =
End Sub
Function trans(n As Long, b As Integer) As String
Dim hex As String
hex = "0123456789ABCDEF"
Do while n<>0
r = n Mod b
n = n \ b
trans = + trans
Loop
End Function
Private Sub Command2_Click()
End Sub
a=[3,7,2,5,8,9,4,6,1]
m, c=1, 1
for i in range(1,len(a)):
if a[i]>=a[i-1]:
c+=1
m=max(m, c)
else:
c=1
程序执行后,c和m的值分别是( )
For i=1 to 5 step 2
s=s+i*i
Next i
Print s
该程序段运行后的输出结果为。
|
图a 图b |
编写程序找出青蛙成功过河至少需要增加的荷叶数,界面如图b。请回答以下问题:
Private Sub Form_Load()
'读取荷叶的位置,并保存到数组a中
'荷叶的数量保存在n中
'荷叶坐标和数量分别显示在list1和Text2中
End Sub
Private Sub Command1_Click()
Dim a(0 To 100) As Integer
Dim n As Integer, L As Integer, W As Integer, tot As Integer
Dim i As Integer, j As Integer, p As Integer, d As Integer
L = Val(Text1.Text) : n = Val(Text2.Text) : W = Val(Text3.Text)
a(0) = 0 : a(n + 1) =
For i = 1 To n - 1
k = i
For j = i + 1 To n
If a(k) > a(j) Then
Next j
If k <> i Then
tmp = a(k): a(k) = a(i): a(i) = tmp
End If
Next i
For i = 1 To n
List1.AddItem a(i)
Next i
p = 1: d = 0
Do While d < L
If p <= n + 1 And Then
d = a(p)
p = p + 1
Else
tot = tot + 1
End If
Loop
Label4.Caption = "至少需要增加的荷叶数为:" + Str(tot)
End Sub
Dim x As Integer, result As String,p As String, k As String result = "":p = Text1.Text:k = Text2.Text
For x = 1 To Len(p) -Len(k) + 1
If ⑴ Then
result = result + Mid(p, x, 1)
Else
⑵
End If
Next x
Text3.Text = ⑶
上述程序段中横线处可选语句为:
① Mid(s, x, Len(k)) = k
② Mid(s, x, Len(k)) <>k
③ x = x +Len(k) – 1
④ x = x + Len(k)
⑤ result + Mid(p, x)
⑥ result
则(1)(2)(3)处填入的语句依次为( )
|
def encrypt(st1): st2="" for s in stl: st2 += chr(ord(s)+5) return st2 print(encrypt("ktocji")) |
运行结果是
请在划线处填入合适的代码
f=open("支出.txt","r")
mx=f.read()
print(mx)
t="";s=0
for i in mx:
if :
t=t+i
flag=True
elif flag:
s=s+int(t)
t=""
flag=False
if flag:
print("一共支出:",str(s),"元")
Dim x As Integer Dim s As String
Dim st As String
Dim t As Integer
st=“0123456789ABCDEF”
x = Val(Text1.Text)
Do While x > 0
Loop
Label1.Caption=s
方框中的代码由以下三部分组成:
① x = x \ 16 ② s = Mid(st,t+1,1)+ s ③ t = x Mod 16
下列选项中代码顺序正确的是( )
s= Text1. Text
i=2 :k=0 :t=0
Do While i <= Len(s)
If
Then
Else
k=0
End If
If k=1 Then t=t+1
i=i+ 1
Loop
Label1.Caption= Str(t)
为实现上述功能,程序中加框①②处应该填入的代码是( )
s = 0: i = 1
Do While i <= 10
If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i
List1.AddItem Str(a(i))
i = i + 1
Loop
i = 10
Do While i >= 1
If a(i) = 1 Then s = s + 1
i = i - 1
Loop
该程序段运行后,变量s值是( )

Const n= 100
Dim a(1 To n) As Integer
Dim b(1 To n) As Integer
Private Sub Command1_Click( )
'根据方阵规模,分割元素组成方阵,并在列表框List1中显示,代码略
End Sub
Private Sub Command2_Click( )
Dim i As Integer, j As Integer, m As Integer, k As Integer
Dim s As String
m= Val(Text1. Text)
List2. Clear
k= Int(Rnd * 2)
If k=0 Then
For i=1 To m
For j=1 To m
b((i- 1) * m+j)=
Next j
Next i
Else
For i=1 To m
For j=1 To m
b((i-1) * m+j)=a((j-1) * m+m-i+1)
Next j
Next i
End If
s=" "
For i=1 To m * m
If Then
List2. AddItem s
s=""
End If
Next i
End Sub