内容正文:
2.3 用算法解决问题的过程
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.设有n位选手参加羽毛球循环赛,循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。实现循环赛日程表利用的算法是( )
A.分治法 B.动态规划 C.贪心法 D.回溯法
2.某算法的部分流程图如图所示,执行这部分流程后,输出s的值为64,则①处应填入( )
A.i \ 4 = 2
B.Sqr(i) = Int(Sqr(i))
C.i Mod 2 = 1
D.i Mod 2 = 0
3.已知三角形的三边长,求计算三角形的面积。解决此问题的算法各个步骤如下所示:
①确定面积的计算公式并用数学符号描述;
②设计算法,并通过编写计算机程序描述实现;
③提炼核心要素并加以假设(假设三角形的三条边长度分别为a、b、c);
上述步骤的正确顺序是( )
A.①②③ B.①③② C.③①② D.③②①
4.假设一台抽奖机中有红、蓝两色的球,任意时刻按下抽奖按钮,都会等概率获得红球或蓝球之一。有足够多的人每人都用这台抽奖机抽奖,假如他们的策略均为:抽中蓝球则继续抽球,抽中红球则停止。最后每个人都把自己获得的所有球放到一个大箱子里,最终大箱子里的红球与蓝球的比例接近于( )
A.1:2 B.2:1 C.1:3 D.1:1
5.刘丽编制计算机程序解决邮件加密的问题,需要经历以下的过程:分析问题→( )→编写程序→调试运行→检测结果。
A.确定条件 B.设计算法 C.明确问题 D.建立模型
6.利用计算机解决问题步骤有分析问题、设计算法、编写程序和调试运行,其中最为核心的步骤是( )
A.分析问题 B.设计算法
C.编写程序 D.调试运行
7.分治的设计思想,是将一个难以直接解决的大问题,分割成一些较小的同类问题,各个击破,最终达到解决问题的目的。分治法所能解决的问题所具有的特征,以下说法错误的是( )
A.该问题可以分解为若于个规模较小的相同的子问题
B.该问题的规模足够大
C.该问题的规模缩小到一定的程度就可以很容易地解决
D.将各个子问题的解可以合并为原问题的解
8.利用计算机解决问题的步骤有设计算法、编写程序、调试运行、结果检测和( )。
A.规划设计 B.确定主题 C.分析问题 D.设计脚本
9.“大事化小、小事化了”体现出的问题求解的思想是( )
A.递推法 B.穷举法 C.分治法 D.归纳法
10.利用Python编程解决“鸡兔同笼”问题,编写完代码后,应该进行( )
A.分析问题 B.设计算法 C.编写程序 D.调试程序
11.问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为( )
A.分析问题 B.设计算法 C.编写程序 D.调试运行程序
12.下列关于排序的说法,不正确的是( )。
A.在WPS中,可以依据关键字对表格中的数据进行升序或降序排序
B.在WPS中,允许对工作表中的数据按主要关键字、次要关键字等多个条件进行排序操作
C.关于排序的算法有多种,比如冒泡排序、插入排序和快速排序等
D.不管使用哪种排序算法,效率都是一样的
13.鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用同一种类型的算法去解决,这种方法是( )
A.解析法 B.枚举法 C.递归法 D.归纳法
14.下列是算法解决问题的一般步骤:
①设计算法
②提炼核心要素并加以确定或假设
③描述算法
④用数学符号描述解决问题的计算模型
上述步骤正确的顺序为( )
A.①④②③ B.②④①③ C.②①④③ D.①④②③
15.通过算法让计算机解决问题时,算法的要素包括( ) 。
A.信息、运算、控制转移 B.数据、运算、控制转移
C.信息、数据、运算 D.信息、数据、控制转移
16.欣欣买了一个智能音箱,在调试过程中,每当她说:“天猫精灵,我回来了”,音箱会自动播放她喜欢的音乐;欣欣还可以通过天猫精灵发出指令,控制扫地机器人为她打扫房间、控制房间灯的开关等等。当欣欣说“天猫精灵,我回来了”,音箱自动播放她喜欢的音乐。实现此功能用到的算法结构是( )结构。
A.循环结构 B.分支(选择)结构 C.顺序结构 D.自定义函数
17.解决“百鸡百钱”问题,比较恰当的算法是( )
A.递推 B.递归 C.穷举 D.分治
18.用计算机解决问题的过程中,将程序输入到计算机进行检查、调试和运行,得到正确的结果。这一环节是( )
A.设计算法 B.分析问题 C.编写程序 D.调试运行程序
19.为了求数列12+32+52+72+……+992的和,以下说法错误的是( )。
A.求和通常采用累加器逐个累加,这题要重复累加50次。
B.这个问题通过循环结构解决。
C.在Visual Basic中只能用do while/loop语句编程解决这个问题。
D.解决这个问题的算法不需要输入。
20.利用编程解决问题的首要步骤是( )。
A.设计算法 B.调试运行 C.分析问题 D.编写程序
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题主要考查分治算法。分治算法的基本思想将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且月原问题性质相同。循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。可知实现循环赛日程表利用的算法是分治法,故本题选A选项。
2.D
【详解】本题考查流程图。可以代入选项,当选项D代入时,流程如下。
i
0
1
2
3
4
5
6
7
8
9
10
11
s
2
2
4
4
8
8
16
16
32
32
64
64
故本题选D。
3.C
【详解】本题主要考查算法解决问题的步骤。正确的步骤是(首先是设计算法前的准备工作,然后是设计算法、编写程序):③提炼核心要素并加以假设(假设三角形的三条边长度分别为a、b、c)①确定面积的计算公式并用数学符号描述②设计算法,并通过编写计算机程序描述实现,故本题选C选项。
4.D
【详解】本题考查计算机解决问题相关内容。一个人在第i轮可以得到的红球期望数量为:,而=1,所以每个人得到红球期望数量为1,而得到蓝球数量必定为1,所以为1:1。故本题答案是D选项。
5.B
【详解】本题主要考查编制程序解决问题。编制计算机程序解决问题,需要经历以下的过程:分析问题→设计算法→编写程序→调试运行→检测结果,故本题选B选项。
6.B
【详解】本题考查计算机解决问题的步骤。计算机解决问题的基本过程一般包括以下几个步骤:
分析问题:了解问题的含义、目的和需求,明确问题的范围和限制,确定解决问题的目标和可行性。
设计算法:根据问题的特点和需求,设计出解决问题的算法,包括问题的分解、抽象和归纳等。
编写程序:使用编程语言实现算法,将问题转化为计算机可执行的形式。
调试程序:测试程序的正确性和稳定性,发现并修复潜在的错误和缺陷,确保程序能够正常运行。
其中最为核心的步骤是设计算法。故答案为B选项。
7.B
【详解】本题主要考查算法与问题解决。分治策略是对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解,该问题的规模缩小到一定的程度就可以很容易地解决,故本题选B选项。
8.C
【详解】本题主要考查计算机解决问题的步骤。用计算机解决问题的步骤有设计算法、编写程序、调试运行、结果检测和分析问题,故本题选C选项。
9.C
【详解】本题主要考查分治算法。分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同,求出子问题的解,就可得到原问题解。大事化小、小事化了,体现出的问题求解的思想是分治法,故本题选C选项。
10.D
【详解】本题考查的是计算机解决问题一般步骤。利用Python编程解决“百鸡百钱”问题,编写完代码后,应该进行调试运行,故本题选D选项。
11.B
【详解】本题主要考查编程解决问题。问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为设计算法,其次是编写程序、调试运行程序,故本题选B选项。
12.D
【详解】本题考查排序相关内容。在WPS中,可以依据关键字对表格中的数据进行升序或降序排序,也可以按主要关键字、次要关键字等多个条件进行排序操作。常用的排序算法有冒泡排序、插入排序和快速排序等。ABC选项正确。不同的排序方法,其效率是不一样的,比如快速排序的效率要高于冒泡排序。故本题答案是D选项。
13.B
【详解】本题考查算法相关内容。解析法是指能够找出表示问题的前提条件和结果之间的关系的数学表达式,并通过表达式的计算来实现问题的求解。枚举法是指在算法中采用搜索的方法,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不符合要求的结果,保留那些符合要求的结果。递归法是一种通过重复将问题分解为同类的子问题而解决问题的方法。归纳法一般指归纳推理,是一种由个别到一般的推理。由一定程度的关于个别事物的观点过渡到范围较大的观点,由特殊具体的事例推导出一般原理、原则的解释方法。鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用枚举法解决。故本题答案是B选项。
14.B
【详解】本题考查算法解决问题相关内容。用算法解决问题的过程如下图所示。
。故本题答案是B选项。
15.B
【详解】本题主要考查算法解决问题。通过算法让计算机解决问题时,算法的要素包括数据、运算、控制转移,故本题选B选项。
16.B
【详解】本题考查分支结构。当欣欣说:“天猫精灵,我回来了”时,音箱会执行自动播放音乐的功能。这个过程涉及到对用户语音指令的识别和相应功能的执行。在程序设计中,这种情况通常使用分支(选择)结构。故答案为:B。
17.C
【详解】本题考查算法相关内容。递推是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果。递归法是一种通过重复将问题分解为同类的子问题而解决问题的方法。穷举算法是指在算法中采用搜索的方法,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不符合要求的结果,保留那些符合要求的结果。分治法就是将一个复杂的大问题分解成两个或者更多相同或者相似的子问题,再把子问题继续拆分成更小的子问题,直到子问题可以直接求解,然后原问题的解就是子问题的解的合并。解决“百鸡百钱”问题,比较恰当的算法是穷举。故本题答案是C选项。
18.D
【详解】本题主要考查计算机解决问题的一般过程。计算机解决问题的一般过程是:分析问题→设计算法→编写程序→调试运行程序。将程序输入到计算机进行检查、调试和运行,得到正确的结果。这一环节是调试运行程序,故本题选D选项。
19.C
【详解】本题主要考查编程解决问题。求和通常采用累加器逐个累加,这题要重复累加50次;这个问题通过循环结构解决;在Visual Basic中可以用do while/loop语句编程解决这个问题,也可以使用for循环解决;解决这个问题的算法不需要输入,故本题选C选项。
20.C
【详解】本题主要考查利用编程解决问题的步骤。利用编程解决问题的一般过程为:分析问题、设计算法、编写程序、调试运行,故本题选C选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$