ruize
第一章DIYIZHANG算法初步
1.1 算法与程序框图
1.1.1 算法的概念
课后篇巩固提升
1.下列所给问题中,不可以设计一个算法求解的是( ) A.求1+2+3+…+10的值
B.解方程组
C.求半径为3的圆的面积 D.求所有奇数的和
解析A.利用累加可得到解决问题的算法步骤;B.通过加减消元法可得到解决问题的相应的算法;C.已知半径,根据圆的面积公式可得到解决问题的步骤,从而得到相应的算法; D.奇数有无穷多个,由算法的有限性知它们的和不能设计算法求解.故选D. ★答案★D 2.小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅、盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条和菜共3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用( )
A.13分钟
B.14分钟
C.15分钟
D.23分钟
解析①洗锅、盛水2分钟+④用锅把水烧开10分钟(同时②洗菜6分钟+③准备面条及佐料2分钟)+⑤煮面条和菜共3分钟=15分钟.解决一个问题的算法不是唯一的,但在设计时要综合考虑各个方面的因素,选择一种较好的算法. ★答案★C 3.使用配方法解方程x2-4x+3=0的算法的正确步骤是 ( )
①配方得(x-2)2=1;②移项得x2-4x=-3;③解得x=1或x=3;④开方得x-2=±1.
A.①②③④ C.②③④① ★答案★B 4.如下算法:
B.②①④③ D.④③②①
解析使用配方法时应按移项、配方、开方、得解的顺序进行.
ruize
第一步,输入x的值.
第二步,若x≥0,则y=x;否则,y=x2. 第三步,输出y的值.
若输出y的值是9,则x的值是( ) A.3 C.3或-3
B.-3 D.-3或9
解析根据题意,可知此为分段函数y=★答案★D 5.已知一个算法: 第一步,m=a.
的算法.当x≥0时,x=9;当x<0时,x2=9,x=-3.
第二步,若b 如果a=3,b=6,c=2,那么执行这个算法的结果是( ) A.3 ★答案★C 6.给出下列算法: 第一步,输入x的值. 第二步,当x>4时,计算y=x+2;否则,计算y=第三步,输出y的值. 当输入x=0时,输出y= . 解析由于x=0>4不成立,故计算y=★答案★2 7.下面给出一个问题的算法: 第一步,输入a. 第二步,若a≥4,则执行第三步;否则,执行第四步. 第三步,输出2a-1. 第四步,输出a2-2a+3. 则这个算法解决的问题是 ,当输入的a= 时,输出的数值最小. 解析这个算法解决的问题是求分段函数 =2,输出y=2. . B.6 C.2 D.m 解析当a=3,b=6,c=2时,依据算法执行后,m=a=3 f(x)= 当x≥4时,f(x)=2x-1≥7; 的函数值的问题. ruize 当x<4时,f(x)=x2-2x+3=(x-1)2+2≥2. 所以f(x)min=2,此时x=1. 所以当输入的a的值为1时,输出的数值最小. ★答案★求分段函数f(x)=的函数值 1 8.下面是解二元一次方程组第一步,①②两式相加,得3x+9=0. 第二步,由③式可得 . 第三步,将④式代入①式,得y=0. 第四步,输出方程组的解 . 的一个算法,请将该算法补充完整. ③ ④ 解析由解二元一次方程组的步骤知,第二步应为解③得x的值为x=-3,第四步是输出方程组的解 ★答案★x=-3 9.已知某梯形的底边长AB=a,CD=b,高为h,写出一个求这个梯形面积S的算法. 解算法如下: 第一步,输入梯形的底边长a和b,以及高h. 第二步,计算a+b的值. 第三步,计算(a+b)×h的值. 第四步,计算S=第五步,输出结果S. 的值. 10.从古印度的汉诺塔传说中演变了一个汉诺塔游戏: (1)有三根杆子A,B,C,A杆上有三个碟子(大小不等,自上到下,由小到大),如图; (2)每次移动一个碟子,小的只能叠在大的上面; (3)把所有碟子从A杆移到C杆上. 试设计一个算法,完成上述游戏. 解第一步,将A杆最上面碟子移到C杆. 第二步,将A杆最上面碟子移到B杆. ruize 第三步,将C杆上的碟子移到B杆. 第四步,将A杆上的碟子移到C杆. 第五步,将B杆最上面的碟子移到A杆. 第六步,将B杆上的碟子移到C杆. 第七步,将A杆上的碟子移到C杆.