1、第一章算法初步1.1算法与程序框图1.1.1算法的概念提能达标过关一、选择题1下列关于算法的说法,正确的有()求解某一类问题的算法是唯一的;算法必须在有限次之后停止;算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生确定的结果A1个B2个C3个D4个解析:选C由算法的概念,知正确,而解决某类问题的算法不一定是唯一的,从而说法不正确故选C2下列说法中,能称为算法的是()A巧妇难为无米之炊B炒菜需要洗菜、切菜、刷锅、炒菜这些步骤C数学题真有趣D物理与数学是密不可分的解析:选B算法是做一件事的步骤或程序,因而只有选项B正确3已知a,b,c是三个互不相等的实数,则下面算法解决的问题是(
2、)第一步,比较a,b的大小,若ab,则交换a,b的值第二步,比较a,c的大小,若ac,则交换a,c的值第三步,比较b,c的大小,若bc,则交换b,c的值第四步,输出a,b,c.A找出a,b,c三数中最大值B将a,b,c按从大到小的顺序排列C找出a,b,c三数中最小值D将a,b,c按从小到大顺序排列解析:选B按算法的步骤逐步执行第一步,比较a,b的大小,将较大的值作为新a,将较小的值作为新b.第二步,比较a,c的大小,将较大的值作为新a,将较小的值作为新c.第三步,比较b,c的大小,将较大的值作为新b,将较小的值作为新c.第四步,输出a,b,c,即按从大到小的顺序输出所给的三个实数4能设计算法求
3、解下列各式中S的值的是()S;S;S(n为确定的正整数)A BC D解析:选B因为算法的步骤是有限的,所以不能设计算法求解易知能设计算法求解5现用若干张扑克牌进行扑克牌游戏小明背对小亮,让小亮按下列四个步骤操作:第一步,分发左、中、右三堆牌,每堆牌不少于两张,且各堆牌的张数相同第二步,从左边一堆拿出两张,放入中间一堆第三步,从右边一堆拿出一张,放入中间一堆第四步,左边一堆有几张牌,就从中间一堆拿出几张牌放入左边一堆这时,小明准确地说出了中间一堆牌现有的张数,则中间一堆牌现有的张数是()A4 B5 C6 D8解析:选B由第一步知,三堆牌的张数一样,设为x;第二步后,左边一堆牌的张数为x2,中间一
4、堆牌的张数为x2;第三步后,中间一堆牌的张数为x21x3;第四步,从中间一堆牌中抽出x2张牌,则中间余下5张牌,故选B二、填空题6已知某梯形的底边长ABa,CDb,高为h,求这个梯形面积S的算法如下:第一步,输入梯形的底边长a和b,以及高h.第二步,计算ab的值第三步,计算(ab)h的值第四步,_.第五步,输出结果S.答案:计算S的值7下面是解决一个问题的算法:第一步,输入x.第二步,若x6,转到第三步;否则,转到第四步第三步,输出3x2.第四步,输出x22x4.当输入x的值为_时,输出的数值最小,且最小值为_解析:所给算法解决的是求分段函数f(x)的函数值的问题当x6时,f(x)3x2362
5、16,当x6时,f(x)x22x4(x1)233,所以f(x)min3,此时x1,即当输入x的值为1时,输出的数值最小,且最小值是3.答案:138一个算法的步骤如下:第一步,令i0,S2.第二步,如果i15,则执行第三步;否则执行第六步第三步,计算Si并用结果代替S.第四步,用i2的值代替i.第五步,转去执行第二步第六步,输出S.运行该算法,输出的结果S_解析:由题中算法可知S2246810121458.答案:58三、解答题9在一个笼子里,关了一些鸡和兔,数它们的头一共有36个,数它们的脚一共有100只,问鸡和兔各多少只?这个问题被称为“鸡兔同笼”问题,它是我国古代的数学著作孙子算经中的一个有趣而具有深远影响的题目用方程组的思想不难解决这一问题,请你设计一个解决此问题的通用算法解:设鸡、兔的总头数为H,总脚数为F,求鸡、兔各有多少只算法如下:第一步,输入总头数H,总脚数F.第二步,计算鸡的只数x.第三步,计算兔的只数y.第四步,输出x,y的值10已知函数y试设计一个算法,输入x的值,求对应的函数值y.解:算法如下:第一步,输入x.第二步,当x1时,计算y2x1,否则执行第三步第三步,当x2时,计算ylog3(x1),否则执行第四步第四步,计算yx4.第五步,输出y.