2.3用算法解决问题的过程
一、选择题
1.运用计算机程序解决问题时,下列步骤合理的是( )
A.设计算法 分析问题 编写程序 调试程序
B.分析问题 设计算法 编写程序 调试程序
C.分析问题 编写程序 设计算法 调试程序
D.设计算法 编写程序 分析问题 调试程序
2.通过算法让计算机解决问题时,算法的要素包括( ) 。
A.信息、运算、控制转移 B.数据、运算、控制转移
C.信息、数据、运算 D.信息、数据、控制转移
3.用计算机解决问题的过程中,( )是编程的核心。
A.抽象建模 B.设计算法 C.编写程序 D.调试运行程序
4.设有n位选手参加羽毛球循环赛,循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。实现循环赛日程表利用的算法是( )
A.分治法 B.动态规划 C.贪心法 D.回溯法
5.“大事化小、小事化了”体现出的问题求解的思想是( )
A.递推法 B.穷举法 C.分治法 D.归纳法
6.分治的设计思想,是将一个难以直接解决的大问题,分割成一些较小的同类问题,各个击破,最终达到解决问题的目的。分治法所能解决的问题所具有的特征,以下说法错误的是( )
A.该问题可以分解为若于个规模较小的相同的子问题
B.该问题的规模足够大
C.该问题的规模缩小到一定的程度就可以很容易地解决
D.将各个子问题的解可以合并为原问题的解
7.刘丽编制计算机程序解决邮件加密的问题,需要经历以下的过程:分析问题→( )→编写程序→调试运行→检测结果
A.确定条件 B.设计算法 C.明确问题 D.建立模型
8.利用编程解决问题的首要步骤是( )。
A.设计算法 B.调试运行 C.分析问题 D.编写程序
9.小明为机器人设计算法"机器人走棋盘",流程图如图1。根据这个算法,机器人从图2棋盘A位置沿箭头方向出发,将到达( )
图1
图2
A.③位置 B.④位置 C.①位置 D.②位置
10.用计算机解决问题的-般过程有四个步骤,其中正确的顺序是( )
(1)解决问题(2)编程调试(3)设计方案(4)分析问题
A.(1)(2)(3)(4) B.(1)(3)(2)(4)
C.(4)(2)(3)(1) D.(4)(3)(2)(1)
11.以下问题中,最适合用程序设计的方式解决的是( )
A.求三元一次方程组的解 B.一组调查数据的图表表示
C.编辑文稿 D.家庭装修设计
12.水仙花数是三位整数:其各位数字立方各等于该数本身,如153=1^3+5^3+3^3,如果要求出所有的水仙花数,下列算法最合适的是( )
A.枚举法 B.查找法 C.解析法 D.排序法
13.程序设计中的“算法”其实就是()。
A.解决问题的方法和步骤 B.能在计算机上解决的方法
C.便于计算的方法 D.能通过电脑进行计算的方法
14.以下问题最适合用计算机编程方法来处理的是( )。
A.制作FlAsh动画
B.计算全班同学的期末考试各科平均分
C.找出10000以内的素数
D.学习中遇到难题时,在因特网上搜索解决方法
15.为了求数列12+32+52+72+……+992的和,以下说法错误的是( )。
A.求和通常采用累加器逐个累加,这题要重复累加50次。
B.这个问题通过循环结构解决。
C.在Visual Basic中只能用do while/loop语句编程解决这个问题。
D.解决这个问题的算法不需要输入。
二、操作题
16.“枚举算法”又称为“穷举法”,其基本思想是:一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。
小明利用枚举算法解决“百元买百鸡”问题。用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?
假设公鸡有X只,母鸡有Y只,小鸡有Z只。
以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。
c = 0
for x in ____① :
for y in range(1,33):
z = 100-x-y
if ______② :
print("公鸡:",x,"母鸡:",y,"小鸡:",z)
_____③
print("共有买法",c,"种")
三、填空题
17.解决问题:求m和 n的最大公约数。根据以下算法描述,回答问题。
①输入m,n
②以m为被除数,n为除数,r为m除以n的余数
③判断r的值
若r=0,输出公约数n
若r≠0,则n将赋值给m,再将r赋值给n,转为执行步骤②
(1)上述算法的描述方式是_____________。
(2)若 m=2018,n =20,则最大公约数是_____________。
(3)这个算法是著名欧几里德算法,又称_____________。
(4)“r 为 m 除以 n 的余数”的 VB 语句是_____________。
(5)上述算法是用程序的_____________结构实现。
试卷第1页,共1页
参考答案
1.B
【详解】
本题主要考查计算机程序解决问题。运用计算机程序解决问题的一般步骤是:分析问题、设计算法、编写程序、调试程序,故本题选B选项。
2.B
【详解】
本题主要考查算法解决问题。通过算法让计算机解决问题时,算法的要素包括数据、运算、控制转移,故本题选B选项。
3.B
【详解】
本题主要考查计算机解决问题。用计算机解决问题的过程中,设计算法是编程的核心,编写程序依据算法,故本题选B选项。
4.A
【详解】
本题主要考查分治算法。分治算法的基本思想将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且月原问题性质相同。循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。可知实现循环赛日程表利用的算法是分治法,故本题选A选项。
5.C
【详解】
本题主要考查分治算法。分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同,求出子问题的解,就可得到原问题解。大事化小、小事化了,体现出的问题求解的思想是分治法,故本题选C选项。
6.B
【详解】
本题主要考查算法与问题解决。分治策略是对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解,该问题的规模缩小到一定的程度就可以很容易地解决,故本题选B选项。
7.B
【详解】
本题主要考查编制程序解决问题。编制计算机程序解决问题,需要经历以下的过程:分析问题→设计算法→编写程序→调试运行→检测结果,故本题选B选项。
8.C
【详解】
本题主要考查利用编程解决问题的步骤。利用编程解决问题的一般过程为:分析问题、设计算法、编写程序、调试运行,故本题选C选项。
9.B
【详解】
本题主要考查算法流程图。当i<=4时,前进4格,当i>4时,右转,再前进,到达4位置,故本题选B选项。
10.D
【详解】
本题考查的是计算机解决问题。用计算机解决问题的一般过程有四个步骤:分析问题——设计方案——编程调试——解决问题。故选项D正确。
11.A
【详解】
本题考查的是计算机解决问题。当数据量很大,人工处理效率低时,我们可以借助计算机,通过编写计算机程序解决问题。一组调查数据的图表可以使用Excel表格生成,编辑文稿可以使用Word等文字编辑软件,家庭装修设计可以使用AutoCAD等制图软件来完成。故应选A。
12.A
【详解】
本题考查的是算法。枚举法就是按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解。查找是在大量的信息中寻找一个特定的信息元素。解析法又称为分析法,它是应用数学推导、演绎去求解数学模型的方法。排序法是对元素进行升序或降序排列。如果要求出所有的水仙花数,最适合的是枚举法。故选项A正确。
13.A
【详解】
本题考查算法概念。算法就是解决问题的方法和步骤,指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。故本题选A。
14.C
【详解】
本题主要考查计算机编程解决问题。找出10000以内的素数适合用计算机编程的方法通过for循环结构来实现,故本题选C选项。
15.C
【详解】
本题主要考查编程解决问题。求和通常采用累加器逐个累加,这题要重复累加50次;这个问题通过循环结构解决;在Visual Basic中可以用do while/loop语句编程解决这个问题,也可以使用for循环解决;解决这个问题的算法不需要输入,故本题选C选项。
16.range(1,20) 5*x+3*y+z/3 == 100 c = c+1
【详解】
本题考查的是python编程。X代表的是公鸡,公鸡5元一只,所以此处的range函数为range(1,20),左闭右开区间。if条件是满足三种鸡的总价格为100元的条件,故答案为5*x+3*y+z/3 == 100,注意这里是一个判断条件,用==表示。c代表的是有几种购买方案,当if条件满足时,即满足一种方案,执行方案数加1,c=c+1。
17.自然语言描述 2 辗转相除法 r=m mod n 循环结构
【详解】
本题主要考查用算法解决问题的过程。①上述算法的描述方式自然语言描述。②按照算法描述,m=2018,n=20,r=2018 mod 20=18,第二遍循环,m=n=20,n=r=18,r=20 mod 18=2,第三遍循环,m=n=18,n=r=2,r=18 mod 2=0,输出公约数n=2,故最大公约数是2。③这个算法是著名欧几里德算法,又称辗转相除法。④“r为m除以n的余数”的VB语句是r=m mod n。⑤上述算法是用程序的循环结构实现。
答案第2页,共3页
答案第3页,共3页