3.2穷举法同步练习沪科版信息技术选修1
展开一、选择题
1.逻辑运算符 And 在计算数值时是转换为二进制数后按位进行与运算,计算规则是:1 And 1 = 1,1 And 0 = 0,0 And 1 = 0,0 And 0 = 0,例如 7 转换为二进制数 00000111,12 转换 为二进制为 00001100,因此 7 And 12 的结果为 4。有如下 VB 程序段:
Private Sub Cmmand1_Click()
n = 0
Fr i = 1 T 31 k = i
t = 0
D While k > 0
k = k And (k - 1)
t = t + 1
Lp
If t = 3 Then n = n + 1
Next i
Label1.Captin = Str(n)
End Sub
单击命令按钮 Cmmand1,标签 Label1 中显示的结果为
A.6B.8C.10D.12
2.有如下VB程序段:
Dim a(1 t 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
Fr I = 3 t 5
If a(i - 2) + a(i - 1) = a(i) Then c = c + 1
Next i
Text1.Text = Str(c)
该程序运行后,文本框text1中显示的内容是( )
A.1B.2C.3D.4
3.有如下 VB 程序段:
str1 = Text1.Text :len1 = Len(str1)
i = 0
D While i <= len1
m = 0 : c = Mid(str1, i, 1)
D While c <> ","
m = m * 10 + Val(c)
i = i + 1
c = Mid(str1, i, 1)
Lp
i = i + 1
If m Md 3 = 0 Then n = n + 1
Lp
Label1.Captin = Str(n)
在文本框 Text1 中输入“123,35,43,23,56,78,132, ”,单击命令按钮 Cmmand1 运行程序, 则在 Label1 中显示的结果为( )
A.2B.3C.4D.5
4.假定公鸡每只5元,母鸡每只3元,小鸡每只5角,每种鸡都要买,现有100元,要买100只鸡,间有多少种方案(百钱买百鸡),求解这个问题,最适合的算法是( )
A.递归法B.选代法C.穷举法D.解析法
5.用枚举算法求解“找出所有满足各位数字之和等于5的三位数”时,在下列所列举的数值范围内,算法执行效率最高的是( )
A.从0到999B.从100到999
C.从100到500D.从104到500
6.使用穷举法解决问题,在列举问题可能解的过程中( )。
A.不能遗漏,但可以重复B.不能遗漏,也不应重复
C.可以遗漏,但不应重复D.可以遗漏,也可以重复
7.找出满足各位数字之和等于5的所有三位数可采用的算法是( )。
A.解析算法
B.冒泡排序
C.枚举算法
D.选择排序
8.下列VB程序功能可以找出1000以内的完全数,并在标签中一一列出来。
Private Sub Cmmand1_Click()
Dim i As Integer, m As Integer, n As Integer
Label1.Captin = "1000以内的完全数如下:"
Fr i = 1 T 1000
n = 0
Fr m = 1 T i \ 2
If i Md m = 0 Then n = n + m
Next
If n = i Then Label2.Captin = Label2.Captin & "" & Str(i)
Next
End Sub
该过程采用的算法是( )
A.枚举B.查找C.排序D.解析
9.下列问题适合使用枚举算法解决的是()
A.计算已知半径的圆面积B.计程车计费
C.校园歌曲大赛的成绩排名D.找出1000以内的所有素数
10.下面程序的功能是:产生20个[1,100]范围内的随机整数,并统计这20个随机数中的整数的个数(重复出现算1个),结果显示在标签Label1中。例如:5个随机数[10,20,20,31,32]中不重复数字个数为3。程序部分代码如下:
cunt = 0
Fr i = 1 T 20
a(i) = Int(Rnd ∗ 100) + 1
Next i
Fr i = 1 T 20
①
Next i
Fr i = 1 T 100
If b(i) <> 0 Then cunt = cunt + 1
Next i
Label1.Captin= "不重复数字个数" + Str(cunt)
为实现上述功能,则程序①处应填入的语句为( )
A.b(i)=1B.b(a(i))=a(b(i))+1C.b(i)=b(i)+1D.b(a(i))=b(a(i))+1
二、填空题
11.小吴编写了一个 VB 程序,实现功能如下:在 1000 至 9999 的自然数中,找出能被 7 整除,且百位或者个位数字是 6 的所有整数,并统计个数。程序界面如下:
(1)在设计程序界面时,要使按钮 Cmmand1 上显示为统计,可在属性窗口通过修改其 ________ 属性完成。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Cmmand1_Click()
Dim s As Integer, n As Integer
Dim a As Integer, b As Integer n = 0
List1.Clear
Fr s =1001 T 9999 Step 7
a = ①________
b= s Md 10
If ②______Then
List1.AddItem Str(s)
③_________
End If
Next s
Label1.Captin = "共有" + Str(n) + "个"
End Sub
12.设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1)
为了实现这一目标,完善下列程序,使之能完成该功能。
Private Sub Cmmand1_Click()
Cnst n=20
Dim i As Integer,j As Integer
Dim a(1 T n) As integer
Fr j=1 T n
a(j)=0
Next j
Fr i=1 T n
Fr j=1 T n
If j Md i=0 Then
______________ ‘(1)
End If
Next j
Next i
Fr j=1 T n
If ________ Then List1.AddItem Str(j) ‘(2)
Next j
End Sub
13.编写VB程序,实现如下功能:单击按钮“确定”,在列表框中输出1-100里所有的完全平方数。程序界面如下图所示:
为实现上述功能,请将以下程序补充完整。
Private Sub Cmmand1_Click()
Dim j As Integer, k As Integer
List1.Clear
Fr k = 1 T 100
j = Int(Sqr(k))
If __________Then List1.AddItem _______________
Next k
End Sub
14.古希腊著名科学家毕达哥拉斯把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的正整数,单击“判断”按钮Cmmandl,在标签Labell中显示判断结果。程序设计界面如图所示。
(1) 在设计程序界面时,要清空标签中显示的内容“Labell”,应修改该标签的_________属性。
(2) VB程序代码如下,请在划线处填入合适代码。
Private Sub Cmmand1 Click()
Dim n As Integer, s As Integer
s = 0
n = Val(Textl. text)
If n > 1 Then
Fr i = 1 T n
s =________________________
If n = s Then
Labell. Captin = Str(n) +〃是一个三角形数。"
Exit Fr
______________________________________
Labell. Captin = Str(n) +"不是一个三角形数。"
Exit Fr
End If
Next i
Else
Labell.Captin = 〃请输入一个大于1的正整数"
End If
End Sub
(3)若文本框Text1中输入的内容为“27”,单击按钮Cmmandl后,标签Labell中显示的内容是_________________
15.数学中的“自守数”:如果一个数的平方数的末几位等于该数本身,这个数就是自守数。例如:
5*5=25
6*6=36
25*25=625
76*76=5776
……
那么,5、6、25、76 等数被称为自守数。小袁编写一个 VB 程序,实现如下功能:找出 10000 以内所有可能的自守数,单击“统计”按钮 Cmmand1,将符合要求的自守数显示在列表框 List1 中,统计个数显 示在标签 Label1 中,运行界面如图所示。
(1)程序运行时要在按钮上显示“统计”,应设置该按钮的________属性。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Cmmand1_Click()
Dim n As Single, k As Integer, t As Integer, c As Integer
List1.Clear c=0
Fr n = 5 T 10000
k = Len(Trim(n)) 'Trim()函数用于删除字符串前后的空格
t = (n * n) Md ① _
If t = n Then
List1.AddItem Str(n)
②
End If
Next n
Label1.Captin = "自守个数为:" + Str(c)
End Sub
为实现上述功能,划线处应填入的代码分别为
①__________________________________________ 。
②___________________________________________。
(3)解决该问题采用了_______(选填:枚举/解析)算法。
三、操作题
16.小刘设计了一个排序算法,该排序算法会将数组a中奇数位的元素从小到大排列,偶数位的元素从大到小排列,程序界面如图,算法的VB程序段如下:
回答以下问题:
(1)若要修改按钮Cmmand1上显示的文字,应修改的属性名是________(单选,填字母:A.Text/B.Captin/C.Click)
(2)程序代码中,Fr语句加框处有错,应改为________。
(3)划线部分的代码应填
①_______________________
②________________________
(4)若将划线处“Fr i=1 T n-2”修改为“Fr i=1 T n-1”,是否会出错?________ (填是/否)
参考答案:
1.C
2.B
3.B
4.C
5.D
6.B
7.C
8.A
9.D
10.D
11. Captin s\100 md 10 a=6 r b=6 n=n+1
12. a(j)=1-a(j) a(j)=0
13. k=j*j 或k=j^2 (其他等价答案也行) Str(k) (其他等价答案也行)
14. captin s+i elseif s>n then 27不是一个三角形数
15. Captin 10^k c=c+1 枚举
16. B i+2 t=-t i md 2 =1 否
3.2声音的编辑同步练习沪科版信息技术选修2: 这是一份信息技术选修4 人工智能初步本册综合课后作业题,共5页。试卷主要包含了选择题,操作题等内容,欢迎下载使用。
2.2vb语言概述同步练习沪科版信息技术选修1: 这是一份高中信息技术教科版 (2019)选修4 人工智能初步本册综合同步练习题,共5页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。
2.3选择结构同步练习沪科版信息技术选修1: 这是一份高中信息技术教科版 (2019)选修4 人工智能初步本册综合当堂达标检测题,共9页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。