2023-2024学年高一上学期人教/中图版(2019)必修一2.4 常见算法的程序实现

2024-08-06
| 7页
| 96人阅读
| 0人下载

内容正文:

2023-2024学年高一上学期人教/中图版(2019)必修一2.4 常见算法的程序实现 一、选择题 1.由于计算机运算速度快,我们可以一一列举x、y和z的所有可能值的算法叫(   ) A.枚举法 B.二分法 C.递归法 D.迭代法 2.x和n都是正整数且x<=n,下列选项中,与语句“x=x Mod n +1 ”功能相同的是(   ) A.x=(x+1) Mod n B.x=x+1 If x=n Then x=1 C.x=x+1 If x=n+1 Then x=1 D.x=x+1 If x=n+1 Then x=0 3.小明同学用等差数列求和公式解决了1+2+3+……+N的问题。这是用(   )解决问题。 A.解析法 B.枚举法 C.模拟法 D.递推法 4.有如下VB程序段 Dim a(1 To 5)As Integer Dim d(1 To 5)As Integer a(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20 n=5:Max=0 For i=1 To n     d(i)=0     For j=1 To i-1         If a(j)<a(i)Then d(i)=d(i)+1     Next j     If d(i)>Max Then Max=d(i) Next i 执行完以上程序段后,Max的值为(      ) A.1 B.2 C.3 D.4 5.《算经》中的百钱百鸡问题:用100文钱买100只鸡,其鸡翁一、值钱五,鸡母一、值钱三,鸡雏三、值钱一,问鸡翁、鸡母、鸡雏各几何。下列选项中解决此问题的最优的算法是(  ) A.枚举算法 B.归并算法 C.递归算法 D.排序算法 6.用枚举法在两个□内填入相同的数字使“□3×6528=3□×8256”表达式成立。 for i in range(1): if : print(i,“3×6528=3”,i,“×8256”,sep=”) 下列选择正确的是(   )。 A.(i*10+3)*6528==(30+i)*8256 B.(i*3)*6528==(30+i)*8256 C.(i*10+3)*6528==(30*i)*8256 D.(i*3)*6528==(3*i)*8256) 7.下列问题适合用解析算法求解的是(   ) A.寻找一堆彩球中的所有红球。 B.计算一个球从100米高的楼顶掉下来落地时的速度。 C.将全班同学根据身高从低到高排队。 D.统计10000以内各位数字之和是18的偶数个数。 8.算法是为了解决问题。下列哪个问题最适合用枚举法求解?(   ) A.求一个圆柱体的表面积和体积 B.求解百钱买百鸡问题 C.一元二次方程求解 D.一个篮球从10米处做自由落体运动,求落地时的速度 9.—位顾客去超市购买了苹果xkg、香蕉ykg、西瓜ykg,其中苹果3.98元/kg、香蕉3.58 元/kg、西瓜2.98元/kg。计算该顾客消费总价的算法如下: ①输入三种水果的重量x,y,z  ②用公式计算总价s=3.98x +3.58y +2.98z  ③输出总价s  ④结束 上述算法属于(   ) A.枚举算法 B.查找算法 C.递归算法 D.解析算法 10.有如下Python程序段: a=[i for i in range(1,7)] b=[0]*6 head,tail=0,0 foriinrange(1,7): cnt=1 whilecnt<i: a[tail]=a[head] head=(head+1)%6 tail=(tail+1)%6 cnt+=1 b[a[head]-1]=i head=(head+1)%6 执行该程序段后,b[5]的值为(    ) A.2 B.3 C.4 D.5 11.VB 表达式Int(Rnd*9)+54\3^2/3的值可能是(  ) A.9 B.16 C.19 D.27 12.下列可用来实现“判断是否为闰年”算法的软件是(   ) A.Python B.PowerPoint C.CoolEdit D.Word 13.课堂上老师给出题目:查找1000以内所有能被13整除并且末尾是5的自然数。下列算法最合适的是(   ) A.查找法 B.迭代法 C.解析法 D.枚举法 14.下列问题中适合使用解析算法解决的是(   ) A.计算两个电阻的并联值 B.输出2~100以内的所有素数 C.查找100以内所有能被6整除的数 D.找出100以内所有6的倍数 15.用枚举法在两个□内填入相同的数字使“□3×6528=3□×8256”表达式成立,阅读下段程序代码: for i in range(10):     if ((□3)*6528)==(3□)*8256): 下列选择正确的是() A.(i*10+3)*6528==(30+i)*8256 B.(i*3)*6528==(30+i)*8256 C.(i*10+3)*6528==(30*i)*8256 D.(i*3)*6528==(3*i)*8256 16.利用枚举算法解决“鸡兔同笼”问题,可以作为枚举对象的是(   ) A.鸡、兔和笼 B.兔和笼 C.鸡和笼 D.鸡和兔 二、填空题 17.有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作 。枚举法解决问题的一般结构: 。 18.小申设计了一个算法,能够根据输入的三条线路的距离,找出最短距离,请将流程图空白处填写完整:① ② ③ 19.输入123,以下流程图描述的算法,执行结果是 。 三、判断题 20.有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作“枚举”或“穷举”。    ( ) 21.设计“找出所有满足各位数字之和等于5的三位数”时需要用到穷举算法。( ) 四、操作题 22.中国古代数学家张丘建在它的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡,小鸡各多少只。百钱买百鸡的部分流程图如图所示,a表示公鸡,b表示母鸡,c表示小鸡。据此完成下面小题。 1. 下列说法正确的是( ) A.算法只有使用流程图才能准确的描述 B.百钱买百鸡问题的解决使用的是枚举算法的思想 C. 该流程图“输出a,b,c”只执行1次 D.这是一个分支结构的的程序流程 2. 根据该流程图,小王编写了如下的程序: 程序运行结束后,关于count的值下列说法正确的是( ) A.count=34    B.count=21    C. count<21    D.count>34 五、简答题 23.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。 提示:考虑使用range(#begin,#end) 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 2.C 3.A 4.C 5.A 6.A 7.B 8.B 9.D 10.B 11.C 12.A 13.D 14.A 15.A 16.D 17. “枚举”或“穷举” 循环+判断 18. a<b a<c b<c 19.Yes 20.对 21.正确 22. B D 23. l=[] for i in range(2000,3201):       if (i%7==0)and (i%5!=0):                     l.append(str(i)) print (','.join(1)) 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2023-2024学年高一上学期人教/中图版(2019)必修一2.4 常见算法的程序实现
1
2023-2024学年高一上学期人教/中图版(2019)必修一2.4 常见算法的程序实现
2
2023-2024学年高一上学期人教/中图版(2019)必修一2.4 常见算法的程序实现
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。