
Private Sub Command1_Click()
Dim n As Long, k As Integer
Dim f1 As Long, f2 As Long, f As Long
=Val(Text1.Text)
If n >= 20 Or n <= 0 Then
Label2.Caption = "输入的数据有误"
Else
If n <= 2 Then ' 第1,2个元素的值都为1
f = 1
Else
f1 = 1
f2 = 1
For k = 3 To n
f = f1 + f2
f1 = f2
f2 = f
Nextk
End If
Label2.Caption = "斐波那契数列第" + Str(n) + "项的值为" +
End If
End Sub
Private Sub Command1_Click()
Dim S As String
Dim n As Integer
Dim cnt As Integer
Dim i As Integer
Dim num As Single
Dim cd As Single
Dim ave As Single
s=Text1.Text
n=Len(s)
hum=0
cd=0
cnt=0
For i=1 To n
①
If c>“a”And c<=“z” Or c>=“A”And c<=“Z”Then
cnt=cnt+1
Elself c>=”0”And c<=”9”Then
cnt=cnt+1
Else
If cnt>0 Then
num=num+1
cd=cd+cnt
②
End If
End If
Next i
If cnt>0 Then
num=num+1
cd=cd+cnt
End If
Ave=cd/num
Label1.Caption=“总共有”+Str(num)+“个单词,平均长度为”+Str(ave)
End Sub
① ②
s=0
For i=1 To 10
s=s+i
Next i
For i = 1 To 6
a(i) = Int(Rnd * 10) + 1
Next i
For i = 1 To 5
If i Mod 2 = 1 And a(i) < a(i + 1) Then
t = a(i): a(i) = a(i + 1): a(i + 1) = t
Else
a(i) = a(i) - 1
End If
Next i
执行程序后,a数组各元素可能是( )
s1 = "abcde" j = 1
s2 = "a"
For i = 1 To Len(s1)
j = (j + 2) Mod Len(s1) + 1 s2 = s2 + Mid(s1, j, 1)
Next i Text1.Text = s2
执行该程序段后,文本框Text1中输出的内容是( )
B .
C .
D .
⑴将数组a中的n个元素依次分割出若干个数据块,每个数据块有2m个元素,分割时,按尽可能大的数据块进行分割。
⑵对每个分割出的数据块进行求和,将和依次存储在数组b中。
例如:n=13,可将a(1)~a(13)依次分割成3个数据块,元素的个数分别为8、4、1。将3个数据块的和依次存储在b(1)、b(2)、b(3)中。
小明依据上述描述设计了如下VB程序,运行界面如图所示。请回答下列问题:
Const n = 13
Dim a(1 To n) As Integer Dim b(1 To n) As Integer Private Sub Command1_Click()
Dim start As Integer ‘当前未分割数据的第1个元素下标
Dim i As Integer, k As Integer, pb As Integer, left As Integer, m As Integer
'读取n个数据,依次存储到a(1)、a(2)、……a(n)中,并对数组b赋初值为 0,代码略
start = 1: left = n: m = 0
Do While 2 ^ m <= left ‘寻找第1个数据块
①
Loop
m = m - 1
pb = 1
Do While left > 0
For i = start To start + 2 ^ m - 1
②
Next i
List1.AddItem Str(2^m) + " " + Str(b(pb)) pb = pb + 1
‘改错
left = left - 2 ^ m
Do While left < 2 ^ m
m = m - 1
Loop
Loop
End Sub
① ②
s = Text1.Text
For i=1 To Len(s)
ch = Mid(s,i,1)
If ch>="A" And ch<="Z" Then t=t+ch
If ch>="a" And ch<="z" Then
ch = Chr(Asc(ch)-32)
t=t+ch
ElseIf ch >= "0"And ch <= "9" Then
t=ch+t
End If
Next i
Text2.Text = t
已知'A'的ASCI码为65,'a'的ASCI码为97。程序运行后,在文本框Text1中输人“Text2.text=”Abc1234“”(外括号不包括),则在Text2中显示的内容是( )
s=0
For i= 1 To 10
For j=i To 10
s=s+1
Next j
Next i
执行该程序段后,变量s的值为( )
Function fun(x As Integer) As Integer
If x <= 2 Then
fun = x
Else
fun = 2 * fun(x - 1) + fun(x - 2)
End If
End Function
则表达式fun(5)的值为( )
s = "United by Emotion": s1 = "”
For i=1 To Len(s) Step 4
c = Mid(s, i,1)
If Asc(c) >= Asc("a") Then
c = Chr(Asc(c) - Asc("a") + Asc("A"))
s1=c+s1
End If
Next i
程序运行后,s1的值是( )
例如,输入“0110”,前两位的01代表方向为“西”,后两位的10转化为十进制,代表距离为2。请回答以下问题。
a=input("请输入四位二进制码")
#获取方向码
fx_dict={"00":"东","01":"西","10":"南","11":"北"}
s=+int(a[3]) #根据后两位计算距离
print("方向为:",fx_dict[fx])
print("距离为:",s)
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
if b > maxv:
maxv = b
if c>maxv:
maxv = c
B . if a>b and a>c:maxv = a
elif b>c:
maxv = b
else:
maxv = c
C . if a>b:maxv = a
else:
maxv = b
if c > maxv:
maxv=c
D . If a >b and a >c:maxv = a
if b>a and b > c:
maxv = b
ifc>a and c>b:
maxv = c
a=int(input())①
b=int(input())②
c=a+b
print('c')③
amin= a(1) : amax=a(1)
i=2 : j=9
Do While i <= j
If a(i) > a(j) Then
Else
End If
i=1 : j=j-1
Loop
Text 1. Text= Str(amin)+"," Str(amax)
上述程序段中方框处可选语句为:
①If a(j)>amax Then amax =a(j)
②If a(j)< amin Then amin =a(j)
③If a(i)<amin Then amin =a(i)
④If a(i)>amin Then amin =a(i)
则(1)(2)(3)(4)处语句依次可为( )
Dim s1 As String, s2 As String, n As Integer, t As Integer
Dim a(128) As Integer
s1 = Text1. Text : n = Len(s1)
s2 =""
For i=1 To n
t = Asc(Mid(s1, i, 1))
a(t)=a(t)+1
Next i
For i=1 To 128
Do While a(i)> 0
s2 = s2 + Chr(i)
a(i)=a(i)-1
Loop
Next i
Text2.Text = Mid(s2,5,1)
若Text1中输入的字符串为“He1lo535Study" (不包括引号) ,运行上述程序后,Text2中显示的结果为( )