2023-2024学年浙教版高一下学期第二章第一节 枚举算法

2024-07-11
| 12页
| 93人阅读
| 1人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高一
章节 第一节 枚举算法
类型 作业-同步练
知识点 -
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 426 KB
发布时间 2024-07-11
更新时间 2024-07-11
作者 匿名
品牌系列 -
审核时间 2024-07-11
下载链接 https://m.zxxk.com/soft/46274795.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

2023-2024学年浙教版高一下学期第二章第一节 枚举算法 一、选择题 1.课堂上老师给出题目:查找1000以内所有能被13整除并且末尾是5的自然数。下列算法最合适的是(   ) A.查找法 B.迭代法 C.解析法 D.枚举法 2.某算法的部分流程图如下图所示: 执行该算法,下列描述正确的是(  ) A.t←t+2执行了4次 B.s≤35? 执行了4次 C.循环结构后,t的值为7 D.该算法体现了枚举算法思想 3.数组a中存放了某校田径运动会中八名100米短跑运动员的成绩,数据存放情况如下表: a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) 12.8 13.3 12.3 12.6 13.5 12.1 13 13.8 若按升序排列,并采用冒泡排序算法自右向左进行比较和交换,那么前两轮排序的数据交换总次 数为(   )。 A.5 B.6 C.7 D.8 4.读程序,写出下列程序的输出结果 55、s = 1 For j =" 100" To -100 Step -1 s =" s" * j Next j MsgBox (s) 上述程序段中s =" s*j" 的执行次数是(    ) A.400 B.401 C.200 D.201 5.小李忘记了密码箱上设置的三位数密码,于是他从“000”开始尝试,一直到成功打开密码箱为止。这种解锁方法采用的算法是(  )。 A.解析算法 B.穷举算法 C.递归法 D.选择排序 6.下列问题中不适合使用枚举算法解决的是(   ) A.求全部两位数奇数。 B.求1000以内同时能被3和5整除的所有自然数的和 C.裴波那切函数 D.输入两个数,求最大公约数 7.水仙花数是三位整数:其各位数字立方各等于该数本身,如153=1^3+5^3+3^3,如果要求出所有的水仙花数,下列算法最合适的是(    ) A.枚举法 B.查找法 C.解析法 D.排序法 8.小李在解决“查找50以内能被7整除的数”时,将50以内能被7整除的数列举出来:7,14,21,28,35,42,49,他主要采用了(  )来解决问题 A.枚举法 B.解析法 C.递归法 D.分治法 9.通过列举所有的可能进行密码破解,用到的算法是(  ) A.递推 B.递归 C.穷举 D.分治 10.下列问题是适合使用枚举算法的是(    ) A.计算两个电阻的关联值 B.找出100以内所有6的倍数 C.校园歌曲大赛的成绩排名 D.根据时长计算停车场收费 11.穷举法的适用范围是(      ) A.一切问题 B.解的个数极多的问题 C.解的个数有限且可以一一列举 D.不适合设计算法 12.下列语句用于计算“s=1+4+7+10+…+25”的值。 ①For i=1 To 25 Step 3   ②Next i    ③s=0    ④s=s+i 正确的语句顺序是( ) A.①②③④ B.①③④② C.③①④② D.④③①② 13.以下能用枚举算法求解的是(   ) A.已知三角形的三边长度,求三角形的面积 B.求所有能被15和25整除的三位数 C.已知梯形的上底、下底和高,求梯形的面积 D.将十进制数转换为二进制 14.穷举法的适用范围是(   ) A.一切问题 B.所求问题的解无限多 C.所求问题解的个数有限且有明确的条件 D.所求问题解的个数有限且无明确的条件 15.算法是为了解决问题。下列哪个问题最适合用枚举法求解?(   ) A.求一个圆柱体的表面积和体积 B.求解百钱买百鸡问题 C.一元二次方程求解 D.一个篮球从10米处做自由落体运动,求落地时的速度 二、填空题 16.自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。使用枚举法寻找5位数以内的自幂数算法如下: (1)使用循环列出1到99999中的每一个数zmsknz (2)通过自定义函数ddknzms拆解得到每个数中的每位数上的数码及它们对应的n次幂之和 (3)将zmsknz与ddknzms进行比较,若相等则说明是自幂数,可将其加入列表。 编写VB程序,使用枚举法得到5位数以内的自幂数,程序设计界面如图所示: 请根据算法及相应注释将下面的程序补充完整: Function ddknzms(zmsknz As Long) As Long  '得到可能的自幂数 Dim zmsknz_str As String  '字符串类型自幂数可能值 Dim zmsknz_length As Integer, zmswsxh As Integer '字符串类型自幂数可能值字符个数 zmsknz_str = Trim(Str(zmsknz)) zmsknz_length = Len(zmsknz_str) For zmswsxh =" 1" To zmsknz_length ddknzms =" ddknzms" + Val(Mid(zmsknz_str, zmswsxh, 1)) ^ ① Next zmswsxh End Function Private Sub Command1_Click() Const ZMSWS = 5 Dim zmsknz As Long, zmsknz_zz As Long zmsknz_zz =" 10" ^ ZMSWS - 1 For zmsknz =" 1" To zmsknz_zz If ② Then List1.AddItem (Str(zmsknz)) Next zmsknz End Sub 17.枚举算法的程序实现中,使用 (单选,填字母:A.分支结构/B.循环结构)罗列出问题所有可能的解,循环中通过 (单选,填字母:A.分支结构/B.循环结构)判断当前的可能解是不是真正的解。 18.设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1) 为了实现这一目标,完善下列程序,使之能完成该功能。 Private Sub Command1_Click()    Const n=20    Dim i As Integer,j As Integer    Dim a(1 To n) As integer    For j=1 To n       a(j)=0    Next j    For i=1 To n       For j=1 To n          If j Mod i=0 Then                         ‘(1)          End If        Next j     Next i     For j=1 To n        If Then List1.AddItem  Str(j)          ‘(2)     Next j End Sub 19.素数:只能被1和它本身整除的自然数。要求编写VB程序找出任意两个整数之间中所有的素数及个数,程序运行界面如下图所示。 请根据算法将下列程序补充完整。 Function prime(a As Integer) As Boolean Dim j As Integer prime = True j = 2 Do While prime And j <=" a" \ 2 If a Mod j =" 0" Then prime = False Exit Do End If ① Loop End Function Private Sub Command1_Click( ) Dim i As Integer, a As Integer, b As Integer Dim count As Integer a = Val(Text1.Text) b = Val(Text2.Text) For i =" a" To b If ② =" True" Then List1.AddItem Str(i) count =" count" + 1 End If Next i Label1.Caption = "素数共有" + Str(count) + "个!" End Sub 20.下面程序的功能是:计算表达式1+3+5+…+(2n-1)的值,在文本框Text1中输入n的值,结果在文本框Text2中输出。则程序中划线处的语句应填____________。 Private Sub Command1_Click() Dim sum As Long,i As Integer,n As Integer sum = 0 n = Val(Text1.Text) For i =" 1" To 2 * n - 1 Step 2 Next i Text2.Text=Str(sum) End Sub 三、操作题 21.程序完善题。该程序要实现的功能是:计算下列分段函数的值。请将程序中方框部分的程序段补充完整。 Dim x As Single Dim y As Single x = Val(InputBox("请输入x的值:")) Print y 22.七灯游戏是一款经典的益智类游戏。游戏中,有七盏灯排成一圈,如图a所示,初始时灯的开关状态随机生成,操作其中某一盏灯,则可以切换该灯的“开/关”状态,同时,这盏灯对面的两盏灯也会切换“开/关”状态,如图b所示: 图a 图b 图a为初始状态,操作圈中的灯,则该灯与对面的两盏灯都会切换“开/关”状态,如图b所示。假设这些灯的编号为0到6号,“开/关”状态随机产生,并输出到列表框List1中,接着需要从中选出数盏灯进行操作,使得最后所有灯都打开(已证明方案-一定存在且唯一), 并在列表框List2中输出灯的编号。 程序采用枚举策略,一一尝试对每盏灯状态进行“切换"操作,“1”表示对当前灯进行切换,“0”表示不操作。 程序运行界面如图c所示。 图c (1)0-6号灯的初始状态为“关  关  关  开  关  关  开”,如对1号灯进行切换操作,对面随之切换灯的编号是:_________________和_____________ (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。 Dim a(0 To 6)As Integer,b(0 To 6) As Integer Private Sub Command1_Click() Dim i As Integer,x As Integer,pos As Integer Dim flag As Boolean List2.Clear For i = 0 To __________①________     x = i:pos = 0:flag = True     For j = 0 To 6         b(j)= a(j)     Next j     Do While x > 0         If x Mod 2 = 1 Then             b(pos)= 1 - b(pos)             b((pos + 3) Mod 7) = 1 – b((pos + 3) Mod 7)             ___________②_______         End If         pos = pos + 1         x = x \ 2      Loop      For j = 0 To 6          If _____③___ Then flag = False:Exit For      Next j      If flag Then         pos = 0         Do While i > 0            If i Mod 2 = 1 Then List2.AddItem  "第" + CStr(pos)+  "号"            i = i \ 2            pos = pos + 1         Loop         Exit For      End If    Next i End Sub Private Sub Form_Load()’随机生成初始数据     Dim i As Integer     Randomize     List1.Clear     For i = 0 To 6         a(i)= Int(Rnd * 2)         If a(i)= 1 Then             List1.AddItem  "第" + CStr(i) +  "号:"+  "开"         Else             List1.AddItem "第" + CStr(i) +  "号:" +  "关"         End If      Next i End Sub 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 2.A 3.D 4.D 5.B 6.C 7.A 8.A 9.C 10.B 11.C 12.C 13.B 14.C 15.B 16.(1)zmsknz_length   (2)ddknzms(zmsknz) = zmsknz 17. B A 18. a(j)=1-a(j) a(j)=0 19.① j =" j" + 1  ② prime(i) 20.sum=sum+i 21.if x<10 then y=0 else if x<50 then y=2+1.5*x else y=2/3/x end if 22.(1)4    5 (2)①2^7-1或127 ②b((pos+4)Mod7)=1-b((pos+4)Mod7) ③b(j)=0 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2023-2024学年浙教版高一下学期第二章第一节  枚举算法
1
2023-2024学年浙教版高一下学期第二章第一节  枚举算法
2
2023-2024学年浙教版高一下学期第二章第一节  枚举算法
3
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。