资源简介 2.4 常见算法的程序实现一、选择题1.以下适合用解析法解决的问题是()。A.计算出租车费B.求符合要求的三位正整数的“水仙花数”C.将10个评委的打分按由大到小的顺序排序D.找出一筐乒乓球质量不符合标准的球2.某算法的部分流程图如图所示。执行这部分流程后,a,b 的值分别是( )A.3,0 B.6, 0 C.3,3 D.6 , 33.关于枚举法,下列说法错误的是( )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.有如下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.如要编程画出由100个圆组成的图案,比较好的算法是( )。A.按顺序执行100个画不同大小圆的程序段B.①先编写1个能画不同大小圆的程序模块 ②在主程序中用100语句调用画圆程序模块C.①先编写1个能画不同大小圆的程序模块 ②用循环方法调用100次画圆程序模块D.不必先定义画圆程序模块,而直接循环100次的方法来画图案8.已知有这样一种对冒泡排序的优化方法:在每一遍“加工”过程中,记录在这遍“加工”中是否进行过数据交换。若在一遍“加工”过程中没有进行过数据交换,则数据已经有序,可以直接退出循环结束排序。则下列说法错误的是 ( )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.输入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 n运行结果是:_____________三、判断题15.有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作“枚举”或“穷举”。 ( )四、简答题16.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin,#end)五、操作题17.骑车与走路:方便又环保的共享单车作为中国新四大发明的存在,已经在很多城市投放使用。在使用过程要经历找车、开锁、停车、锁车等环节。请你用计算机编程来判断在不同的距离使用下,是骑车快还是走路快。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。试卷第页,共页参考答案:1.A2.A3.D4.D5.C6.A7.C8.D9.810. “枚举”或“穷举” 循环+判断11.Yes12.2413.2814.9 915.对16.l=[]for i in range(2000,3201):if (i%7==0)and (i%5!=0):l.append(str(i))print (','.join(1))17.#print('步行每秒1.2米,骑车每秒3.0米,开锁+上车27秒,停车+锁车23秒')L=int(input("请输入距离:"))if 23+27+L/3.0print('骑车快')else:print('步行快')试卷第页,共页 展开更多...... 收起↑ 资源预览