资源简介 人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习一、选择题1.以下适合用解析法解决的问题是( )。A.计算出租车费B.求符合要求的三位正整数的“水仙花数”C.将10个评委的打分按由大到小的顺序排序D.找出一筐乒乓球质量不符合标准的球【答案】A【知识点】解析算法及程序实现2.某算法的部分流程图如图所示。执行这部分流程后,a,b的值分别是 。【答案】3,0【知识点】流程图识读3.(2021高一下·东台月考)关于枚举法,下列说法错误的是( )A.枚举法的基本思想就是,根据问题的部分已知条件预估解的范围,并在此范围内对所有可能的情况进行逐一验证,直到找到满足已知条件的解为止B.枚举范围的大小直接影响着枚举法的执行效率C.枚举法,也称蛮力法或暴力搜索法,理论上利用这种方法可破解任何一种密码D.枚举范围中的判定条件直接影响着枚举法的执行效率【答案】D【知识点】枚举算法及程序实现4.某对分查找算法的VB程序段如下:i=1:j=7f=Falsekey=Val(Text1. Text)Do While i<=j And Not fm=(i+j)\2If a(m)=key Then f=TrueIf a(m)>key Then i=m-1 Else i=m+1LoopList1. AddItem Str(i)+Str(j)+Str(m)数组元素a(1)到a(7)的值依次为"23,42,58,66,77,83,98",运行上述程序段后,列表框List1中显示的结果为"5 4 5",则文本框Text1中输入值的范围是( )A.[66,77] B.[66,77) C.(66,77] D.(66,77)【答案】D【知识点】查找算法及程序实现5.(2020高三上·浙江开学考)有如下VB程序段Dim a(1 To 5)As IntegerDim d(1 To 5)As Integera(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20n=5:Max=0For i=1 To nd(i)=0For j=1 To i-1If a(j)Next jIf d(i)>Max Then Max=d(i)Next i执行完以上程序段后,Max的值为( )A.1 B.2 C.3 D.4【答案】C【知识点】分支结构语句及程序实现;循环结构语句及程序实现6.下面说法正确的是( )A.算法+数据结构=程序 B.算法就是程序C.数据结构就是程序 D.算法包括数据结构【答案】A【知识点】算法的基本概念与特征;程序与指令;基本数据结构7.(2020高一上·连云港期末)如要编程画出由100个圆组成的图案,比较好的算法是( )。A.按顺序执行100个画不同大小圆的程序段B.①先编写1个能画不同大小圆的程序模块 ②在主程序中用100语句调用画圆程序模块C.①先编写1个能画不同大小圆的程序模块 ②用循环方法调用100次画圆程序模块D.不必先定义画圆程序模块,而直接循环100次的方法来画图案【答案】C【知识点】算法的控制结构;编程处理数据与可视化8.(2021高二下·浙江期中)已知有这样一种对冒泡排序的优化方法:在每一遍“加工”过程中,记录在这遍“加工”中是否进行过数据交换。若在一遍“加工”过程中没有进行过数据交换,则数据已经有序,可以直接退出循环结束排序。则下列说法错误的是( )A.对有n个数据的数组进行优化后的冒泡排序,最小比较次数为n-1。B.对有n个数据的数组进行冒泡排序,无论是否优化,最大比较次数相同。C.对冒泡排序算法进行优化,能够较大提高其效率,符合算法设计的一般原则。D.若待排序数组中的数据依次为23,17,46,58,34,11,对其使用优化后的冒泡排序进行升序排序,比较次数为9。【答案】D【知识点】排序算法及程序实现二、填空题9.阅读下列程序,写出运行结果a,b = 1,1 n = int(input("请输入一个大于等于3的正整数n:")) for i in range(n-2):c =a + b a = b b = c print(c) 程序运行后,输入:6运行输出结果是: 【答案】8【知识点】循环结构语句及程序实现10. 有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作 。枚举法解决问题的一般结构: 。【答案】“枚举”或“穷举”;循环+判断【知识点】枚举算法及程序实现11.(2020高一下·浦东月考)输入123,以下流程图描述的算法,执行结果是 。【答案】Yes【知识点】算法的控制结构;常量、变量及变量的赋值【解析】【解答】n=123,n=int(n/10) mod 10=2,n=n mod 10=2,int(n/2)=n/2成立,最后为YES。故答案为:YES。【分析】本题考查流程图的识读。12.阅读以下程序,写出程序运行结果。def jc(n):s=1for i in range(2,n+1):s=s*ireturn stotal=jc(4) #调用jc函数print(total)程序运行后,其输出结果为 【答案】24【知识点】循环结构语句及程序实现13.阅读下列程序,写出运行结果s = 1 for i in range(1,10,3):s = s *i print(s)运行输出结果是: 【答案】28【知识点】循环结构语句及程序实现14.阅读下列程序,写出运行结果。m = int(input("请输入一个正整数:")) x = m y = m for i in range(9):n = int(input("请输入一个正整数:")) if n9 11 2388 13 1929 55运行结果是: 【答案】9 9【知识点】分支结构语句及程序实现;循环结构语句及程序实现三、程序编写15.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin,#end)【答案】l=[]for i in range(2000,3201):if (i%7==0)and (i%5!=0):l.append(str(i))print (','.join(1))【知识点】分支结构语句及程序实现;循环结构语句及程序实现【解析】【分析】本题考查的是程序的编写。程序的编写难度较大,使用range( )定义i的取值范围,然后利用if判断语句可被7整除,但不是5的倍数,最后利用join函数打印出结果即可。16.(2020高一上·南海期末)骑车与走路方便又环保的共享单车作为中国新四大发明的存在,已经在很多城市投放使用。在使用过程要经历找车、开锁、停车、锁车等环节。请你用计算机编程来判断在不同的距离使用下,是骑车快还是走路快。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。【答案】解:#print('步行每秒1.2米,骑车每秒3.0米,开锁+上车27秒,停车+锁车23秒')L=int(input("请输入距离:"))if 23+27+L/3.0print('骑车快')else:print('步行快')【知识点】分支结构语句及程序实现1 / 1人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习一、选择题1.以下适合用解析法解决的问题是( )。A.计算出租车费B.求符合要求的三位正整数的“水仙花数”C.将10个评委的打分按由大到小的顺序排序D.找出一筐乒乓球质量不符合标准的球2.某算法的部分流程图如图所示。执行这部分流程后,a,b的值分别是 。3.(2021高一下·东台月考)关于枚举法,下列说法错误的是( )A.枚举法的基本思想就是,根据问题的部分已知条件预估解的范围,并在此范围内对所有可能的情况进行逐一验证,直到找到满足已知条件的解为止B.枚举范围的大小直接影响着枚举法的执行效率C.枚举法,也称蛮力法或暴力搜索法,理论上利用这种方法可破解任何一种密码D.枚举范围中的判定条件直接影响着枚举法的执行效率4.某对分查找算法的VB程序段如下:i=1:j=7f=Falsekey=Val(Text1. Text)Do While i<=j And Not fm=(i+j)\2If a(m)=key Then f=TrueIf a(m)>key Then i=m-1 Else i=m+1LoopList1. AddItem Str(i)+Str(j)+Str(m)数组元素a(1)到a(7)的值依次为"23,42,58,66,77,83,98",运行上述程序段后,列表框List1中显示的结果为"5 4 5",则文本框Text1中输入值的范围是( )A.[66,77] B.[66,77) C.(66,77] D.(66,77)5.(2020高三上·浙江开学考)有如下VB程序段Dim a(1 To 5)As IntegerDim d(1 To 5)As Integera(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20n=5:Max=0For i=1 To nd(i)=0For j=1 To i-1If a(j)Next jIf d(i)>Max Then Max=d(i)Next i执行完以上程序段后,Max的值为( )A.1 B.2 C.3 D.46.下面说法正确的是( )A.算法+数据结构=程序 B.算法就是程序C.数据结构就是程序 D.算法包括数据结构7.(2020高一上·连云港期末)如要编程画出由100个圆组成的图案,比较好的算法是( )。A.按顺序执行100个画不同大小圆的程序段B.①先编写1个能画不同大小圆的程序模块 ②在主程序中用100语句调用画圆程序模块C.①先编写1个能画不同大小圆的程序模块 ②用循环方法调用100次画圆程序模块D.不必先定义画圆程序模块,而直接循环100次的方法来画图案8.(2021高二下·浙江期中)已知有这样一种对冒泡排序的优化方法:在每一遍“加工”过程中,记录在这遍“加工”中是否进行过数据交换。若在一遍“加工”过程中没有进行过数据交换,则数据已经有序,可以直接退出循环结束排序。则下列说法错误的是( )A.对有n个数据的数组进行优化后的冒泡排序,最小比较次数为n-1。B.对有n个数据的数组进行冒泡排序,无论是否优化,最大比较次数相同。C.对冒泡排序算法进行优化,能够较大提高其效率,符合算法设计的一般原则。D.若待排序数组中的数据依次为23,17,46,58,34,11,对其使用优化后的冒泡排序进行升序排序,比较次数为9。二、填空题9.阅读下列程序,写出运行结果a,b = 1,1 n = int(input("请输入一个大于等于3的正整数n:")) for i in range(n-2):c =a + b a = b b = c print(c) 程序运行后,输入:6运行输出结果是: 10. 有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作 。枚举法解决问题的一般结构: 。11.(2020高一下·浦东月考)输入123,以下流程图描述的算法,执行结果是 。12.阅读以下程序,写出程序运行结果。def jc(n):s=1for i in range(2,n+1):s=s*ireturn stotal=jc(4) #调用jc函数print(total)程序运行后,其输出结果为 13.阅读下列程序,写出运行结果s = 1 for i in range(1,10,3):s = s *i print(s)运行输出结果是: 14.阅读下列程序,写出运行结果。m = int(input("请输入一个正整数:")) x = m y = m for i in range(9):n = int(input("请输入一个正整数:")) if n9 11 2388 13 1929 55运行结果是: 三、程序编写15.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin,#end)16.(2020高一上·南海期末)骑车与走路方便又环保的共享单车作为中国新四大发明的存在,已经在很多城市投放使用。在使用过程要经历找车、开锁、停车、锁车等环节。请你用计算机编程来判断在不同的距离使用下,是骑车快还是走路快。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。答案解析部分1.【答案】A【知识点】解析算法及程序实现2.【答案】3,0【知识点】流程图识读3.【答案】D【知识点】枚举算法及程序实现4.【答案】D【知识点】查找算法及程序实现5.【答案】C【知识点】分支结构语句及程序实现;循环结构语句及程序实现6.【答案】A【知识点】算法的基本概念与特征;程序与指令;基本数据结构7.【答案】C【知识点】算法的控制结构;编程处理数据与可视化8.【答案】D【知识点】排序算法及程序实现9.【答案】8【知识点】循环结构语句及程序实现10.【答案】“枚举”或“穷举”;循环+判断【知识点】枚举算法及程序实现11.【答案】Yes【知识点】算法的控制结构;常量、变量及变量的赋值【解析】【解答】n=123,n=int(n/10) mod 10=2,n=n mod 10=2,int(n/2)=n/2成立,最后为YES。故答案为:YES。【分析】本题考查流程图的识读。12.【答案】24【知识点】循环结构语句及程序实现13.【答案】28【知识点】循环结构语句及程序实现14.【答案】9 9【知识点】分支结构语句及程序实现;循环结构语句及程序实现15.【答案】l=[]for i in range(2000,3201):if (i%7==0)and (i%5!=0):l.append(str(i))print (','.join(1))【知识点】分支结构语句及程序实现;循环结构语句及程序实现【解析】【分析】本题考查的是程序的编写。程序的编写难度较大,使用range( )定义i的取值范围,然后利用if判断语句可被7整除,但不是5的倍数,最后利用join函数打印出结果即可。16.【答案】解:#print('步行每秒1.2米,骑车每秒3.0米,开锁+上车27秒,停车+锁车23秒')L=int(input("请输入距离:"))if 23+27+L/3.0print('骑车快')else:print('步行快')【知识点】分支结构语句及程序实现1 / 1 展开更多...... 收起↑ 资源列表 人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习(学生版).docx 人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习(教师版).docx