1、第二章 算法初步1 算法的基本思想1算法的含义、性质及作用2算法的特征特 征具体内容概括性写出的算法必须能解决一类问题,而且能_使用 正确性和顺序性算法从初始步骤开始,分为若干个明确的_,上一步是下一步的_,只有执行完上一步,才能执行下一步,并且每一步都具有_ 有限性一个算法必须在执行完_之后结束 不唯一性 求解某个问题的算法不一定是_的,一个问题可以有_的算法 普遍性对于很多具体的问题,都可以设计合理的_去解决重复步骤前提确切的含义有限步唯一不同算法3.算法设计的要求(1)写出的算法必须能够解决_(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够_使用(2)要使算法尽量简单,_
2、尽量少(3)要保证算法_,且算法步骤能够一步一步执行,每一步执行的操作必须_,不能含混不清,而且在有限步后能得到_一类问题重复步骤正确确切结果判断正误(正确的打“”,错误的打“”)(1)算法与求解一个问题的方法相同()(2)算法过程要一步一步执行()(3)有的算法执行完以后,可能没有结果()(4)设计算法要本着简单方便的原则()解析:根据算法的特征和要求知(1)(3)不正确,(2)(4)正确 答案:(1)(2)(3)(4)看下面的四段话,其中不是算法的是()A从济南到温哥华旅游,要先坐火车,再转飞机抵达B解一元二次方程的步骤是去分母、去括号、移项、合并同类项,系数化为 1C方程 x210 有两
3、个实根D按顺序进行下列运算:112,213,314,991100解析:选 C.算法强调的是解决一类问题的一系列的方法或步骤,选项 C 只是陈述了有两个根的事实,没有写出如何求这两个根的步骤或方法,所以不能看成是算法下列各式中 S 值不可以用算法求解的是()AS1234BS1222321002CS112110 000DS1234解析:选 D.由算法的有限性知,D 不正确,而 A、B、C 都可以通过有限步步骤操作,输出确定结果,故选 D.已知 A(x1,y1),B(x2,y2),求直线 AB 的斜率的一个算法如下:1输入 x1、y1、x2、y2 的值2计算 xx2x1,yy2y1.3若 x0,则输
4、出斜率不存在,否则(x0),k 4输出斜率 k.则处应填_答案:y x算法与数学中的解法的联系和区别(1)联系算法与解法是一般与特殊的关系,也是抽象与具体的关系,算法的获取要借助一般意义上具体问题的求解方法,而任何一个具体问题都可利用这类问题的一般方法解决 (2)区别算法是解决某些问题所需要的程序和步骤的统称,也可以理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程 算法的概念(1)下列说法正确的是()A算法就是某个问题的解题过程B算法执行后可以产生不同的结果C解决某一个具体问题算法不同,则结果不同D算法执行步骤的次数不可以很大,否则无法实施(2)下列关于算法
5、的说法:求解某一类问题的算法是唯一的;算法必须在有限步操作后停止;算法的每一步操作必须是明确的,不能存在歧义;算法执行后一定能产生确定的结果其中,不正确的有_.解析:(1)选项 B 正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项 A,算法不能等同于解法;选项 C,解决某一个具体问题算法不同,但结果应相同;选项 D,算法可以有很多步,但不可以无限步(2)由算法的不唯一性,知不正确;由算法的有穷性,知正确;由算法的确定性,知和正确 答案:(1)B(2)理解算法的关键点(1)算法实际上是解决问题的一种程序性方法,它通常解决一类问题,用算法解决问题,体现了从特殊到一般的数
6、学思想(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成 1.(1)下列叙述不能称为算法的是()A从北京到上海先乘汽车到飞机场,再乘飞机到上海B解方程 4x10 的过程是先移项再把 x 的系数化成 1C利用公式 Sr2 计算半径为 2 的圆的面积得 22D解方程 x22x10(2)算法的有穷性是指()A算法必须包含输出B算法中每个操作步骤都是可执行的C算法的步骤必须有限D以上说法均不正确解析:(1)选 D.选项 A,B 给出了解决问题的方法和步骤,是算法;选项 C 是利用公式计算也属于算法;选项 D 只提出问题没有给
7、出解决的方法,不是算法(2)选 C.算法的有穷性是指算法的步骤必须有限 算法的设计 给出求解方程组2xy7,4x5y11的一个算法解:法一:(代入消元法)1由 2xy7 得 y72x.2将 y72x 代入 4x5y11,得 4x5(72x)11,解得x4.3将 x4 代入方程 y72x,解得 y1.4输出方程组的解为x4,y1.法二:(加减消元法)1方程 2xy7 两边都乘以 5 得,10 x5y35.2将第 1 步所得的方程与方程 4x5y11 作差,消去 y 得6x24,解得 x4.3将 x4 代入方程 2xy7,解得 y1.4输出方程组的解为x4,y1.设计一个具体算法的步骤(1)认真分
8、析问题,找出解决此问题的一般数学方法(2)借助有关变量或参数对算法加以表述(3)将解决问题的过程划分为若干步骤(4)用简单的语言将步骤表示出来 注意 设计的算法要能重复使用 2.(1)已知直角三角形两直角边长为 a,b,求斜边长 c 的一个算法分下列三步:计算 c a2b2;输入直角三角形两直角边长 a,b 的值;输出斜边长 c 的值其中正确的顺序是()A BCD(2)写出一个算法,求经过点 M(2,1),N(2,3)的直线与两坐标轴围成的三角形的面积解:(1)选 D.明确各步骤间的关系即可知 D 选项正确(2)算法步骤如下:1取 x12,y11,x22,y23.2得直线方程 yy1y2y1
9、xx1x2x1.3在第 2 步所得的方程中,令 x0,得 y 的值为 1,从而得直线与 y 轴的交点为 B(0,1)4在第 2 步所得的方程中,令 y0,得 x 的值为1,从而得直线与 x 轴的交点为 A(1,0)5根据三角形的面积公式得 S12|1|1|12.6输出运算结果 实际生活问题的算法设计 某商场举办优惠促销活动,若购物金额在 800 元以上(不含 800 元),打 7 折;若购物金额在 400 元以上(不含 400 元),800 元以下(含 800 元),打 8 折;否则,不打折请为商场收银员设计一个算法,要求输入购物金额 x,输出实际交款额 y.解:算法步骤如下:1输入购物金额
10、x(x0)2判断“x800”是否成立,若是,则 y0.7x,转第 4 步;否则,执行第 3 步 3判断“x400”是否成立,若是,则 y0.8x;否则,yx.4输出 y,结束算法实际问题算法的设计技巧(1)弄清题目中所给要求(2)建立过程模型(3)根据过程模型建立算法步骤,必要时由变量进行判断 3.(1)已知一个学生的语文成绩为 89,数学成绩为 96,外语成绩为 99,求他的总分和平均分的一个算法如下,请将其补充完整:1取 A89,B96,C99.2_.3_.4输出计算结果(2)有两个大人和两个小孩一起渡河,渡口只有一条小船,每次最多只能渡一个大人或两个小孩他们四人都会划船,但都不会游泳,请
11、你为他们设计一个渡河的算法解:(1)因为该算法的功能是求他的总分和平均分,所以“第 2步”应为计算总分 DABC,“第 3 步”应为计算平均分(2)1.两个小孩同船渡过河去 2一个小孩划船回来,另一个小孩留在对岸 3一个大人划船渡过河去 4对岸的小孩划船回来 5两个小孩再次同船渡过河去 6一个小孩划船回来,另一个小孩留在对岸 7另一个大人划船渡过河去 8对岸的小孩划船回来 9两个小孩同船渡过河去思想方法算法设计中的分类讨论思想 给出解方程 ax2bxc0(a,b,c 为实数)的一个算法【解】算法步骤如下:1当 a0,b0,c0 时,解集为全体实数 2当 a0,b0,c0 时,原方程无实数根 3
12、当 a0,b0 时,原方程的解为 xcb.4当 a0 且 b24ac0 时,方程有两个不等实根,x1b b24ac2a,x2b b24ac2a.5当 a0 且 b24ac0 时,方程有两个相等实根,x1x2 b2a.6当 a0 且 b24ac2,则执行步骤 3;3依次从 2 到(n1)检验能不能整除 n,若不能整除 n,则输出 n;若能,则输出“不满足条件”这个算法如果能输出 n 的值,那么这个 n 是()A素数 B奇数C偶数D2解析:选 A.输出的数是大于 1 的自然数中,除了 1 和它本身外,再无法被其他自然数整除的数,这样的数是素数3给出下面的算法:1输入 x.2判断 x 是否小于 0,若是,则输出 x2,否则执行第 3 步3输出 x1.当输入的 x 的值分别为1,0,1 时,输出的结果分别为_、_、_解析:该算法实际上是分段函数 f(x)x1,x0,x2,x0,所以 f(1)121,f(0)011,f(1)110.答案:1 1 04写出求二次函数 y2x24x1 的最大值的算法解:算法如下:1计算 m4acb24a4(2)1424(2)3.2判断 a20,故 ymax3.3输出二次函数的最大值 3.本部分内容讲解结束 按ESC键退出全屏播放