内容正文:
※ 练习
1、(2021宁波模拟15)一个含有n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n-1]之间的所有整数,则称之为一组“完美跳数”。小余制作了验证完美跳数的VB程序,功能如下:在文本框Text1中输入一组以逗号分隔且以逗号结尾的整数数组,单击“验证”按钮Command1,在标签Labe11中显示验证结果,运行界面如图所示。
(1)观察程序界面,具有Caption属性的对象有 个。(填个数)
Private Sub Command1 Click()
Dim n As Integer,i As Integer,j As Integer,s As String,chr As String,temp As String
Dim a(1 To 100)As Integer,b(1 To 100)As Integer
s=Text1.Text
i=1:n=0
Do While i〈=Len(s)
ch=Mid(s,i,1)
If ch〉="0"And ch〈="9"Then
temp=temp+ch
Else
n=n+1
①
temp=""
End If
i=i+1
Loop
For i=2 To n
②
Next i
For i=1 To n-2
For j= n To i+1 Step-1
If b(j)〈b(j-1)Then t=b(j):b(j)=b(j-1):b(j-1)=t
Next j
Next i
For i=1 To n-1
If b(i)< > i Then Exit For
Next i
If i=n Then Labell.Caption="完美跳数"Else Labe11.Caption="非完美跳数"
End Sub
(2)请在上述程序的划线处填上合适的代码。
(3)上述程序加框处代码有误,请改正。
2、(2021嘉兴模拟15)仓库中有一批不同款式的衣服,相同款式的衣服具有相同的代号,现要统计每个款式的数量,并按数量从多到少的排序。小明编写了一个VB程序完成该统计。程序运行时,在文本框Text1输入每件衣服的代号n(1≤n≤100),代号之间用逗号相隔,衣服的总数量不超过100件。单击按钮Command1后,在列表框List1中按每个款式的库存数量从大到小输出。程序运行界面如第15题图所示。
(1)代码“Private Sub Command1_Click()”的Click是 (单选,填字母:A.对象名/B.属性名/C.事件名)。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
(3)已知程序中加框处代码有错误,请改正。
Private Sub Command1_Click()
Dims As String,ch As String,p As Integer,t As Integer
Dim a(1 To max)As Integer,b(1 To max)As Integer,c(1 To max)As Integer
’数组a用于存储输入的数据,数组b用于存储每款衣服的数量,数组c用于存储衣服的代号;数组a和b的初值均为0。
s=Text1. Text:p=1 :max=100
For i=1 To max
c(i)=i
Next i
For i=1 To Len(s)
① ①
If ch>="0"And ch〈="9"Then
a(p)=a(p)*10+Val(ch)
Else
②
End If
Next i
For i=1To p’统计各款衣服的数量
b(i)=b(i)+1
Next i
For i=1 To max-1’排序
k=i
For j=i+1 To max
If ③ Then k=j
Next j
t=b(i):b(i)=b(k):b(k)=t
t=c(i):c(i)=c(k):c(k)=t
Next i
For i=1 To max
If b(i)>0 Then Listl.AddItem Str(c(i))+""+Str(b(i))
Next i
End Sub
3、(2021杭州模拟15) “2021年我要学好Python!”小明这样想着。虽然一年里只要不出去旅游的日子都可以学习,但是对算法学习而言,连续不间断的效果更好,小明希望选一个最长的时间段学习Python。输入某些特定日期(X月X日)作为计划好的外出旅游时间,算出2021年最长的学习天数。编写VB程序,实现上述功能。运行程序,在文本框Textl中输入计划出去旅游的时间,用逗号间隔,并以