4.2穷举法同步练习人教版信息技术选修1
展开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))<=Val(Mid(s,j+1,1))
C.Val(Mid(s,w,1))>=Val(Mid(s,j,1))
D.Val(Mid(s,j,1))>=Val(Mid(s,j+1,1))
7.有如下VB程序段:
Dim a(1 to 5) as Integer, i as Integer, c as Integer
a(1) = 2 : a(2) = 1 : a(3) = 3 : a(4) = 4 : a(5) = 5
c = 0
For I = 3 to 5
If a(i - 2) + a(i - 1) = a(i) Then c = c + 1
Next i
Text1.Text = Str(c)
该程序运行后,文本框text1中显示的内容是( )
A.1 B.2 C.3 D.4
8.下列VB程序功能可以找出1000以内的完全数,并在标签中一一列出来。
Private Sub Command1_Click()
Dim i As Integer, m As Integer, n As Integer
Label1.Caption = "1000以内的完全数如下:"
For i = 1 To 1000
n = 0
For m = 1 To i \ 2
If i Mod m = 0 Then n = n + m
Next
If n = i Then Label2.Caption = Label2.Caption & "" & Str(i)
Next
End Sub
该过程采用的算法是( )
A.枚举 B.查找 C.排序 D.解析
9.求π的近似值公式:π/4 = 1-1/3 + 1/5-1/7 + ……直到最后一项的绝对值小于0.000001为止。计算π的近似值VB程序段如下:
pi = 1:n = 1
s = l:t = 1
Do While(Abs(s)> = 0.000001)
Loop
pi = pi*4
Textl.Text = Str(pi)
方框中的代码由以下四部分组成:
①pi = pi + s
②n = n + 2
③s = t/n
④t = -t
代码顺序正确的选项是( )
A.①②③④ B.②④③① C.①④③② D.④③②①
10.小李忘记了密码箱上设置的三位数密码,于是他从“000”开始尝试,一直到成功打开密码箱为止。这种解锁方法采用的算法是( )。
A.解析算法 B.穷举算法 C.递归法 D.选择排序
二、填空题
11.古希腊著名科学家毕达哥拉斯把1、3、6、10、15、21、28……称为三角形数。这些三角形数序列有一定的规律,后一个数与前一个数的差刚好构成一个等差数列2、3、4、5、6、7、……,所以,第2位的“3”等于序列的第1位数“1”加上等差数“2”,第3位的6等于序列的第2位数“3”加上等差“3”……,第n位数m等于序列的第n-1位数加上等差数n。小金利用这个规律编写了一个判断三角形数的VB程序,在文本框Textl中输入一个大于1的正整数,单击“判断”按钮Commandl,在标签Labell中显示判断结果。程序设计界面如图所示。
(1) 在设计程序界面时,要清空标签中显示的内容“Labell”,应修改该标签的_________属性。
(2) VB程序代码如下,请在划线处填入合适代码。
Private Sub Command1 Click()
Dim n As Integer, s As Integer
s = 0
n = Val(Textl. text)
If n > 1 Then
For i = 1 To n
s =________________________
If n = s Then
Labell. Caption = Str(n) +〃是一个三角形数。"
Exit For
______________________________________
Labell. Caption = Str(n) +"不是一个三角形数。"
Exit For
End If
Next i
Else
Labell.Caption = 〃请输入一个大于1的正整数"
End If
End Sub
(3)若文本框Text1中输入的内容为“27”,单击按钮Commandl后,标签Labell中显示的内容是_________________
12.现需计算1*2*3*……*n=?有如下程序段,在划线处填入合适的语句或表达式,完成程序。
s=1
i=1
Do While i<=n
S =" s" * i
i =" i" + 1
13.请认真阅读并分析下面Visual Basic程序代码,按要求完成题目。
Dim a(1 To 6) As Integer
Dim n, i, j, k As Integer
Private Sub Command1_Click()
For i =" 1" To n - 1
For j = (1) To n
If a(i) < a(j) Then
k = a(i): (2) : a(j) = k
End If
Next j
Next i
For i =" 1" To n
list2.AddItem Str(a(i))
Next I
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii =" 13" Then
n =" n" + 1
a(n) = Val( (3) )
List1.AddItem Str(a(n))
Text1.Text = "": Text1.SetFocus
End If
End Sub
①程序中出现了text和list两种控件,其中list控件的中文名称是列表框,text控件的中文名称是 。
(2)在上述程序段中3处带序号的空白地方补充恰当的语句,完善程序。
14.《孙子算经》中有一个“物不知其数”的问题,某数以3除余2,以5除余3,以7 除余 2。下面的 VB 程序用于求 1000 以内满足该条件的自然数及个数,请在程序划线处应填入合适的表达式。
Private Sub Command1_Click()
Dim c As Integer, n As Integer c = 0 : n = 9
Do While n <= 1000
If n Mod 3 = 2 And n Mod 5 = 3 Then
List1.AddItem Str(n)
c = _____________
End If
n = _____________
Loop
Label1.Caption = "1000 以内满足条件的数有" & Str(c)& "个"
End Sub
15.小吴编写了一个 VB 程序,实现功能如下:在 1000 至 9999 的自然数中,找出能被 7 整除,且百位或者个位数字是 6 的所有整数,并统计个数。程序界面如下:
(1)在设计程序界面时,要使按钮 Command1 上显示为统计,可在属性窗口通过修改其 ________ 属性完成。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s As Integer, n As Integer
Dim a As Integer, b As Integer n = 0
List1.Clear
For s =1001 To 9999 Step 7
a = ①________
b= s Mod 10
If ②______Then
List1.AddItem Str(s)
③_________
End If
Next s
Label1.Caption = "共有" + Str(n) + "个"
End Sub
三、操作题
16.如果两个质数的差为2,则这两个质数称为孪生质数对;编写VB程序,实现如下功能:单击“显示孪生质数对”按钮Command1,在列表框List1中显示100以内的所有孪生质数对(运行效果如图所示)。
实现上述功能的VB代码如下。
Dim a(l To 50) As Integer
Private sub Command1_Click()
Dim i As Integer
k=0:i=3
Do While i<= 100
If Not prime(i)Then
k=k+1
End If
i=i+2
Loop
For i=2 To k
If ① Then
List1 AddItem Str(a(i-1))+"和"+ Str(a(i))
End if
Next i
End Sub
Function prime (x As Integer)As Boolean
prime=False
For i=2 To Int(sar(x))
If x Mod i=0 Then
prime=True
Exit for
End If
Next i
End Function
(1)语句“List1. AddItem Str(a(i-1))+"和"+Str(a(i))”中的AddItem是________(单选,填字母:A.对象名/B.属性名/C.事件名/D.方法名)。
(2)程序代码中,加框处有错,请改正。_____________________________
(3)程序代码中,将①处语句补充完整。
①________________________________________
(4)在自定义函数中,函数返回值prime=Flase表示的含义是________。
参考答案:
1.B
2.C
3.B
4.D
5.B
6.C
7.B
8.A
9.B
10.B
11. caption s+i elseif s>n then 27不是一个三角形数
12.Loop
13.①文本框 (1)i+1 (2)a(i) = a(j) (3)text1.text
14. c+1 或 等同表达式 n+7 或 等同表达式
15. Caption s\100 mod 10 a=6 or b=6 n=n+1
16. D a(k)=i a(i)=a(i-1)+2 数x是质数
4.6趣味应用同步练习人教版信息技术选修1: 这是一份信息技术中图版 (2019)本册综合复习练习题,共7页。试卷主要包含了选择题,操作题等内容,欢迎下载使用。
4.4查找同步练习人教版信息技术选修1: 这是一份高中信息技术中图版 (2019)必修2 信息系统与社会本册综合随堂练习题,共11页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。
2.4调试程序同步练习人教版信息技术选修1: 这是一份高中中图版 (2019)本册综合复习练习题,共11页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。