算法初步课件-11-算法的概念.ppt
X为什么要学习算法为什么要学习算法? ? 计算机与算法:在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具听音乐、看电影、玩游戏、画卡通画、处理数据计算机几乎可以是一个全能的助手,你可以用它来做你想做的任何事情那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法 【1】一个农夫带着一只狼、一头】一个农夫带着一只狼、一头山羊和一篮蔬菜要过河山羊和一篮蔬菜要过河,但只有一但只有一条小船条小船.乘船时乘船时,农夫只能带一样东农夫只能带一样东西西.当农夫在场的时候当农夫在场的时候,这三样东西这三样东西相安无事相安无事.一旦农夫不在一旦农夫不在,狼会吃羊狼会吃羊,羊会吃菜羊会吃菜.请设计一个方案请设计一个方案,使农夫使农夫能安全地将这三样东西带过河能安全地将这三样东西带过河.二元一次方程组二元一次方程组 12 12yxyx的求解过程的求解过程.归纳它的步骤归纳它的步骤:第一步第一步: -2,得,得 5y=3 第三步第三步:5153xy,得代入将第二步第二步: 解解得得 y= 53第二步第二步: 解解得得 y= 53思考?0 1221222111babacybxacybxa其中一般的二元一次方程组第二步:解第二步:解,得,得12211221babacacay第一步:第一步: - - ,得,得 1a2a12211221)(cacaybaba第三步:将第三步:将 代入代入,得,得12211221babacacay12212112babacbcbx1、算法的概念:、算法的概念:在数学中在数学中“算法算法”通常是指按照一定的规则来通常是指按照一定的规则来解决的某一类问题的解决的某一类问题的明确和有限的步骤明确和有限的步骤,这些,这些步骤必须是步骤必须是明确明确和和有效有效的,而且能够在的,而且能够在有限步有限步之内完成。之内完成。3.算法的基本思想与特征算法的基本思想与特征:2.算法的表示方法:算法的表示方法:自然语言、程序框图、程序自然语言、程序框图、程序(1)解决某一类问题解决某一类问题(2)在在有限步有限步之内完成之内完成(3)每一步的明确性和有效性每一步的明确性和有效性(4)每一步具有顺序性每一步具有顺序性(一般性一般性)(有限性有限性)(确定与可行性确定与可行性)(顺序性顺序性) 一般书上归纳算法的基本性质有四条: A.有穷性;B. 唯一的初始动作; C.每个动作都有唯一的后继动作;D.动作序列终止时,表示问题得到解答或没有解答练习练习判断下列关于算法的说法是否确:判断下列关于算法的说法是否确:1、求解某一类问题的算法是唯一的;、求解某一类问题的算法是唯一的;2、算法必须在有限步操作之后停止:、算法必须在有限步操作之后停止:3、算法的每一步必须是明确的,不能有歧、算法的每一步必须是明确的,不能有歧义或模糊:义或模糊:4、算法执行后一定产生确定的结果:、算法执行后一定产生确定的结果:例题例题1 思考:任意给定一个大于思考:任意给定一个大于2的整数的整数n,试设计,试设计一个算法对一个算法对n是否为质数做出判定是否为质数做出判定. .(2).设计一个算法,判断设计一个算法,判断35是否为质数?是否为质数?(1).设计一个算法,判断设计一个算法,判断7是否为质数?是否为质数? 分析:1二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做? 2二分法分的是什么? 3如何确定新区间的端点? 4如何表达出反复二分区间的过程? 例例2、用二分法设计一个求方程、用二分法设计一个求方程x2-2=0的近的近似根的算法(精确度为似根的算法(精确度为0.005). .例例2、用二分法设计一个求方程、用二分法设计一个求方程x2-2=0的近的近似根的算法(精确度为似根的算法(精确度为0.005). .第一步:令f(x)=x2-2,给定精确度d. ,0f af b第二步:确定区间 a,b 满足;;a+b第三步:取区间中点m=2 0,.f af m第四步:若,则含零点的区间为 a,m否则为 m,b 将新得到的区间仍记为 a,b df m第五步:判断区间 a,b 的长度是否小于 或是否等于0;若是,则m即为所求方程的近似解,不是,则返回第三步。课堂练习课堂练习1、任意给定一个正实数,设计一个算法求以这个数为半、任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积。径的圆的面积。算法步骤:第一步:输入任意一个正实数r。第二步:计算以r为半径的圆的面积 。2sr第三步:输出圆的面积S。2、任意给定一个大于、任意给定一个大于1的正整数的正整数n,设计一个算法,设计一个算法求出求出n的所有因数。的所有因数。算法步骤:第一步:依次以2(n-1)为除数去除n,判定余数是否为0,若是,则n是因数;若不是,则不是n的因数。第二步:在n的因数中加入1 和n。第三步:输出n的所有因数。课堂小结:课堂小结: 1.算法的基本概念和基本思想算法的基本概念和基本思想; 2. 算法的基本特征算法的基本特征.