内容正文:
4.2穷举法同步练习人教版信息技术选修1
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.使用穷举法解决问题,在列举问题可能解的过程中( )。
A.不能遗漏,但可以重复 B.不能遗漏,也不应重复
C.可以遗漏,但不应重复 D.可以遗漏,也可以重复
2.如果一个4位数恰好等于它的各位数字的4次方和,则这个数被称为“玫瑰花”数。例如1634就是一个玫瑰花数:1634=14+64+34+44。如果要求出所有的玫瑰花数,下列算法合适的是( )
A.查找法 B.解析法
C.穷举法 D.排序法
3.执行程序后,a数组各元素是( )
Dim a(1 To 7) As Integer
a(1) = 14: a(2) = 15: a(3) = 0: a(4) = 11: a(5) = 13: a(6) = 21: a(7) = 17
i = 6: flag = True
Do While i > 1 And flag
If a(i) Mod 3 = 0 And a(i) <> 0 Then
t = a(i): a(i) = a(i + 1): a(i + 1) = t
ElseIf a(i) = 0 Then
flag = flase
ElseIf a(i + 1) Mod 2 = 1 Then
a(i) = Abs(a(i) - a(i + 1))
End If
i = i - 1
Loop
A.14,0,15,4,17,13,21 B.14,15,0,11,4,17,21
C.15,14,0,11,4,17,21 D.14,15,0,11,13,4,17
4.下面程序的功能是:产生20个[1,100]范围内的随机整数,并统计这20个随机数中的整数的个数(重复出现算1个),结果显示在标签Label1中。例如:5个随机数[10,20,20,31,32]中不重复数字个数为3。程序部分代码如下:
count = 0
For i = 1 To 20
a(i) = Int(Rnd ∗ 100) + 1
Next i
For i = 1 To 20
①
Next i
For i = 1 To 100
If b(i) <> 0 Then count = count + 1
Next i
Label1.Caption= "不重复数字个数" + Str(count)
为实现上述功能,则程序①处应填入的语句为( )
A.b(i)=1 B.b(a(i))=a(b(i))+1 C.b(i)=b(i)+1 D.b(a(i))=b(a(i))+1
5.【加试题】有如下程序段:
For i = 2 To 6
For j = 1 To i - 1
If a(j) <= a(i) And d(j) >= d(i) Then
d(i) =d(j)+1 : pre(i) = j
End If
Next j
Next i
max = 0 : k = 0
For i = 1 To 6
If d(i)>max Then max = d(i) : k = i
Next i
Do While k <> 0
st = a(k) & ","& st
k=pre(k)
Loop
Text1.Text = Mid(st, 1, Len(st) - 1)
数组元素a(1)到a(6)的值依次为“2,6,5,9,8,8”,数组d各元素的值初始化为1,数组pre各元素的值初始化为0,经过该程序段“加工”后,Text1中的值是( )
A.2,5,9 B.2,6,8,8 C.2,5,8,8 D.2,5,6,8,8,9
6.编写VB程序,实现如下功能:在文本框Text1中输入一个大于1000的正整数,单击按钮Command1后会去除其中3个数字,保证余下的数字在不改变顺序的情况下其数值最大,然后在文本框Text2中输出该数。
Private Sub Command1_Click()
Dim s As string
Dim n As Integer,w As Integer
s=Text1.Text
For i=1 To 3
n=Len(s):w=1
For j=2 To n
If ________ Then w=j Else Exit For
Next j
s=Mid(s,1,w-1)+Mid(s,w+l,n-w)
Next i
Text2.Text=s
End Sub
画线处的正确代码为( )
A.Val(Mid(s,w,1))<=Val(Mid(s,j,1))
B.Val(Mid(s,j,1