内容正文:
2.3 用算法解决问题的过程
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.已知三角形的三边长,求计算三角形的面积。解决此问题的算法各个步骤如下所示:
①确定面积的计算公式并用数学符号描述;
②设计算法,并通过编写计算机程序描述实现;
③提炼核心要素并加以假设(假设三角形的三条边长度分别为a、b、c);
上述步骤的正确顺序是( )
A.①②③ B.①③② C.③①② D.③②①
2.通过编制计算机程序解决问题的基本步骤是( )。
①调试运行 ②分析问题 ③编写程序 ④设计算法
A.②①③④ B.②④③① C.②③④① D.④②③①
3.刘丽编制计算机程序解决邮件加密的问题,需要经历以下的过程:分析问题→( )→编写程序→调试运行→检测结果。
A.确定条件 B.设计算法 C.明确问题 D.建立模型
4.1到n的连续自然数相乘的积叫做阶乘,用符号n!表示,比如3!=1×2×3。求n!(n>0)的递推公式正确的是( )。
A.f(1)=1,f(n)=n*f(n-1) B.f(1)=1,n=n*(n-1)
C.f(1)=1,f(n)=f(0)*f(n-1) D.f(1)=1,f(n)=f(n)*f(n-1)
5.设有n位选手参加羽毛球循环赛,循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。实现循环赛日程表利用的算法是( )
A.分治法 B.动态规划 C.贪心法 D.回溯法
6.用计算机解决问题的过程中,将程序输入到计算机进行检查、调试和运行,得到正确的结果。这一环节是( )
A.设计算法 B.分析问题 C.编写程序 D.调试运行程序
7.使用算法解决实际问题时,首先应该做的是( )
A.编写程序 B.设计算法 C.调试程序 D.分析问题
8.问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为( )
A.分析问题 B.设计算法 C.编写程序 D.调试运行程序
9.计算下列各式中S1、S2、S3的值,能设计算法求解的是( )
S1=1+2+3+…+100 S2=1+2+3+… S3=1+2+3+…+n(n≥1且S3<1000)
A.S1,S2 B.S1,S3 C.S2,S3 D.S1,S2,S3
10.通过列举所有的可能进行密码破解,用到的算法是( )
A.递推 B.递归 C.穷举 D.分治
11.解决“百鸡百钱”问题,比较恰当的算法是( )
A.递推 B.递归 C.穷举 D.分治
12.通过算法让计算机解决问题时,算法的要素包括( ) 。
A.信息、运算、控制转移 B.数据、运算、控制转移
C.信息、数据、运算 D.信息、数据、控制转移
13.下列是算法解决问题的一般步骤:
①设计算法
②提炼核心要素并加以确定或假设
③描述算法
④用数学符号描述解决问题的计算模型
上述步骤正确的顺序为( )
A.①④②③ B.②④①③ C.②①④③ D.①④②③
14.设计一个算法,将一个五位正整数各数位上的数字重新排列,得到一个值最小的新五位正整数(例如:一个五位正整数61004,重新排列后得到值最小的新五位正整数为10046)。
解决上述问题有如下算法步骤:
①对列表a中的数字进行升序排序;
②依次取出正整数n各数位上的数字,并存入列表a中;
③若a[0]>0,则跳转到⑥;
④输入一个五位正整数n;
⑤若a[0]=0,则在列表a中从左到右找到第一个大于零的元素,并与a[0]交换;
⑥依次输出列表a中所有数字;
下列选项中,解决该问题的正确步骤次序是( )
A.④②⑤③①⑥ B.④③②①⑤⑥ C.④②①③⑤⑥ D.④③⑤②①⑥
15.用计算机解决问题的-般过程有四个步骤,其中正确的顺序是( )
(1)解决问题(2)编程调试(3)设计方案(4)分析问题
A.(1)(2)(3)(4) B.(1)(3)(2)(4)
C.(4)(2)(3)(1) D.(4)(3)(2)(1)
16.鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用同一种类型的算法去解决,这种方法是( )
A.解析法 B.枚举法 C.递归法 D.归纳法
17.斐波那契在《计算之书》中,提出了“生小兔问题”如果每对兔子(一雄一雌)每月能生殖一对小兔子,每对兔子第一个月没有生殖能力,但从第二个月以后便能每月生一对小兔子。假定这些兔子都没有死亡现象,那么从第一对刚出生的兔子开始,12个月以后会有多少对兔子呢?这种问题的解决通常是为了接近并达到所需的目标或结果,对过程进行重复,每一次重复得到的结果会被用来作为下一次的初始值。这种用计算机解决问题的一种基本方法是( )
A.排序法 B.查找法 C.二分法 D.迭代法
18.以下问题中,最适合用程序设计的方式解决的是( )
A.求三元一次方程组的解 B.一组调查数据的图表表示
C.编辑文稿 D.家庭装修设计
19.用于求变量s值的算法如下:
①变量s的初值是0,变量n的初值是1;②若变量n的值大于100,则转到步骤⑤;
③;④n的值增加1,转到步骤②;⑤输出s的值;⑥结束。
下列数学表达式中,其计算结果与上述算法执行后变量s的值相等的是( )
A. B.
C. D.
20.为了求数列12+32+52+72+……+992的和,以下说法错误的是( )。
A.求和通常采用累加器逐个累加,这题要重复累加50次。
B.这个问题通过循环结构解决。
C.在Visual Basic中只能用do while/loop语句编程解决这个问题。
D.解决这个问题的算法不需要输入。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题主要考查算法解决问题的步骤。正确的步骤是(首先是设计算法前的准备工作,然后是设计算法、编写程序):③提炼核心要素并加以假设(假设三角形的三条边长度分别为a、b、c)①确定面积的计算公式并用数学符号描述②设计算法,并通过编写计算机程序描述实现,故本题选C选项。
2.B
【详解】本题考查的是计算机程序解决问题的基本步骤。分析问题——设计算法——编写程序——调试运行。故选项B正确。
3.B
【详解】本题主要考查编制程序解决问题。编制计算机程序解决问题,需要经历以下的过程:分析问题→设计算法→编写程序→调试运行→检测结果,故本题选B选项。
4.A
【详解】本题考查递归函数相关内容。n!=n*(n-1)!,(n-1)!=(n-1)*(n-2)!,...,1!=1。由此可推导出:f(1)=1,f(n)=n*f(n-1)。故本题答案是A选项。
5.A
【详解】本题主要考查分治算法。分治算法的基本思想将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且月原问题性质相同。循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。可知实现循环赛日程表利用的算法是分治法,故本题选A选项。
6.D
【详解】本题主要考查计算机解决问题的一般过程。计算机解决问题的一般过程是:分析问题→设计算法→编写程序→调试运行程序。将程序输入到计算机进行检查、调试和运行,得到正确的结果。这一环节是调试运行程序,故本题选D选项。
7.D
【详解】本题考查算法解决问题相关内容。算法解决问题的步骤为:分析问题→设计算法→编写程序→调试程序。故本题答案是D选项。
8.B
【详解】本题主要考查编程解决问题。问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为设计算法,其次是编写程序、调试运行程序,故本题选B选项。
9.B
【详解】本题考查算法相关内容。S1符合算法有穷性特点,可以求解。S2不符合算法有穷性特点,不能求解。S3符合算法有穷性特点,可以求解。故本题答案是B选项。
10.C
【详解】本题考查算法相关内容。递推是通过计算前面的一些项来得出序列中的指定项的值。递归算法(recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。分治法就是将一个复杂的大问题分解成两个或者更多相同或者相似的子问题,再把子问题继续拆分成更小的子问题,直到子问题可以直接求解,然后原问题的解就是子问题的解的合并。通过列举所有的可能进行密码破解,用到的算法是穷举。故本题答案是C选项。
11.C
【详解】本题考查算法相关内容。递推是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果。递归法是一种通过重复将问题分解为同类的子问题而解决问题的方法。穷举算法是指在算法中采用搜索的方法,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不符合要求的结果,保留那些符合要求的结果。分治法就是将一个复杂的大问题分解成两个或者更多相同或者相似的子问题,再把子问题继续拆分成更小的子问题,直到子问题可以直接求解,然后原问题的解就是子问题的解的合并。解决“百鸡百钱”问题,比较恰当的算法是穷举。故本题答案是C选项。
12.B
【详解】本题主要考查算法解决问题。通过算法让计算机解决问题时,算法的要素包括数据、运算、控制转移,故本题选B选项。
13.B
【详解】本题考查算法解决问题相关内容。用算法解决问题的过程如下图所示。
。故本题答案是B选项。
14.C
【详解】本题考查计算机解决问题的步骤。解决问题的算法步骤次序如下:输入一个五位正整数n; 对列表a中的数字进行升序排序; 依次取出正整数n各数位上的数字,并存入列表a中;若a[0]>0,则跳转到步骤6;若a[0]=0,则在列表a中从左到右找到第一个大于零的元素,并与a[0]交换;依次输出列表a中所有数字;正确的步骤次序是④②①③⑤⑥。故答案为:C。
15.D
【详解】本题考查的是计算机解决问题。用计算机解决问题的一般过程有四个步骤:分析问题——设计方案——编程调试——解决问题。故选项D正确。
16.B
【详解】本题考查算法相关内容。解析法是指能够找出表示问题的前提条件和结果之间的关系的数学表达式,并通过表达式的计算来实现问题的求解。枚举法是指在算法中采用搜索的方法,把各种可能的情况都考虑到,并对所得的结果逐一进行判断,过滤掉那些不符合要求的结果,保留那些符合要求的结果。递归法是一种通过重复将问题分解为同类的子问题而解决问题的方法。归纳法一般指归纳推理,是一种由个别到一般的推理。由一定程度的关于个别事物的观点过渡到范围较大的观点,由特殊具体的事例推导出一般原理、原则的解释方法。鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用枚举法解决。故本题答案是B选项。
17.D
【详解】本题考查算法相关内容。(1)排序算法是将一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。(2)查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。(3)二分法也称折半搜索算法,对数搜索算法,是一种在有序数组中查找某一特定元素的搜索算法,搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较,如果在某一步骤数组为空,则代表找不到,这种搜索算法每一次比较都使搜索范围缩小一半。(4)迭代算法是用计算机解决问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令进行重复执行,在每次执行这组指令时,从变量的原值推出它的一个新值。分析题目内容,这种用计算机解决问题的一种基本方法是迭代法。故本题答案是D选项。
18.A
【详解】本题考查的是计算机解决问题。当数据量很大,人工处理效率低时,我们可以借助计算机,通过编写计算机程序解决问题。一组调查数据的图表可以使用Excel表格生成,编辑文稿可以使用Word等文字编辑软件,家庭装修设计可以使用AutoCAD等制图软件来完成。故应选A。
19.B
【详解】本题主要考查算法及其实现。分析算法可知,该程序变量n的范围是从人1到100,当n是奇数时执行s=s+n,当n是偶数时,执行s=s-n,即奇数位相加,偶数位相减,故1-2+3-4+·-100计算结果与上述算法执行后变量s的值相等,故本题选B选项。
20.C
【详解】本题主要考查编程解决问题。求和通常采用累加器逐个累加,这题要重复累加50次;这个问题通过循环结构解决;在Visual Basic中可以用do while/loop语句编程解决这个问题,也可以使用for循环解决;解决这个问题的算法不需要输入,故本题选C选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$