课件41张PPT。算法的概念把大象放进冰箱里需要几步? 1、把冰箱门打开 2、把大象装进去 3、把冰箱门关上 在中央电视台幸运52节目中,有一个猜商品价格的环节,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品.现有一商品,价格在0~8000元之间,采取怎样的策略才能在较短的时间内说出正确(大体上)的答案呢?第一步:报“4000”;第二步:若主持人说高了(说明答案在0~4000之间),就报“2000”,否则(答数在4000~8000之间)报“6000”;第三步:重复第二步的报数方法取中间数,直至得到正确结果.假设家中生火泡茶有以下几个步骤:
a.生火 b.将水倒入锅中
c.找茶叶 d.洗茶壶茶碗
e.用开水冲茶
请选出一个最优算法( )
A.abcde B.bacde
C.cadbe D.dcabe算法的概念 算法通常指可以用来解决的某一类问题
的步骤或程序,这些步骤或程序必须是
明确的和有效的,而且能够在有限步之
内完成的。一般来说,“用算法解决问题” 可以利用
计算机帮助完成。 问题情境 × 【1】一个农夫带着一只狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.学生活动 × 问题情境 ×【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目: “今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?” 解决问题×【2】“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目: “今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?” 解:设笼子里有鸡 只,兔子 只.列得解得答:笼子中有鸡23只,兔12只.式设列解答: 提出问题×解方程 解决问题×解方程第一步,由(1)得第二步,将(3)代入(2)得第三步,解(4)得第四步,将(5)代入(3)得第五步,得到方程组的解得 解决问题×解方程第一步,第二步,第三步,第四步,第五步,得到方程组的解得 提出问题×【3】写出一般二元一次方程组的解法步骤. 第一步, 第二步,解(3)得 解决问题 ×【3】写出一般二元一次方程组的解法步骤. 第四步,解(4)得 第三步, 第五步,得到方程组的解为 体验 × 算法的概念 ×算法: 在数学中算法通常指按照一定规则 解决某一类问题的明确和有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题. 巩固概念 ×【1】.写出交换两个大小相同的杯子中
的液体 (A 水、 B 酒) 的一个算法.第一步,找一个大小与A相同的空杯子C.
第二步,将A 中的水倒入C中.
第三步,将B中的酒精倒入A中.
第四步,将C中的水倒入B中,结束. 巩固概念 ×【2】写出求一元二次方程
ax2+bx+c=0 的根的算法.第一步,计算Δ=b2-4ac.第二步,如果Δ<0,则原方程无实数解 ;否则(Δ≥0)时,第三步:输出x1, x2或无实数解的信息. 应用举例 ×例1.(1)设计一个算法判断7是否为质数.第一步, 用2除7,得到余数1.因为余数不为0,
所以2不能整除7.第二步, 用3除7,得到余数1.因为余数不为0,
所以3不能整除7.第三步, 用4除7,得到余数3.因为余数不为0,
所以4不能整除7.第四步, 用5除7,得到余数2.因为余数不为0,
所以5不能整除7.第五步, 用6除7,得到余数1.因为余数不为0,
所以6不能整除7.因此,7是质数. 应用举例 ×例1.(2)设计一个算法判断35是否为质数.第一步, 用2除35,得到余数1.因为余数不为0,
所以2不能整除35.第二步, 用3除35,得到余数2.因为余数不为0,
所以3不能整除35.第三步, 用4除35,得到余数3.因为余数不为0,
所以4不能整除7.第四步, 用5除35,得到余数0.因为余数为0,
所以5能整除35.因此,35不是质数. 应用举例 ×例1.(3)设计一个算法判断整数
n(n>2) 是否为质数.例1.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.第一步:判断n是否等于2.若n=2,则n是质数;若n>2,则执行第二步.第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数.评析:这是判断一个大于1的整数n是否为质数的最基本算法. 应用举例 × 分析问题 ×二分法 对于区间[a,b ]上连续不断、且
f(a)f(b)<0的函数y=f(x),通过不断地
把函数f(x)的零点所在的区间一分
为二,使区间的两个端点逐步逼近
零点,进而得到零点近似值的方法
叫做二分法. 探究解决 × 解决问题 ×第四步, 若f(a) ·f(m) < 0,则含零点的区间为[a,m];
第一步, 令 .给定精确度d.第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步, 取中间点 .第五步, 判断[a,b]的长度是否小于d或者
f(m)是否等于0.将新得到的含零点的仍然记为[a,b] . 否则,含零点的区间为[m, b]. 若是,则m是方程的近似
解;否则,返回第三步. 解决问题 ×当d=0.05时评析:实际上,上述步骤就是在求 的近似值. 归纳小结 ×一.算法的概念二.算法的特征1.程序性2.有限性4.精确性3.构造性算法的表示 描述算法可以有不同的方式,常用的有自然语言、程序框图、程序设计语言、伪代码等. 自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(1)自然语言(2)程序框图(3)程序设计语言1.1.2程序框图中讲解1.2基本算法语句中讲解 、一位商人有9枚银元,其中有1枚略轻的是假银元。你能用天平(不用砝码)将假银元找出来吗? 按照这样的理解,我们可以设计出很多具体数学问题的算法.下面看几个例子:1第一步:将9枚金币平均分成三组,将其中两组放在天平的两边. 如果天平平衡, 则假的金币必定在另外一组;如果天平不平衡,则假的金币必定在较轻的一组;第二步:将有假金币的一组金币中,取出两枚金币,分别放在天平的两边.如果天平平衡,则假的金币必定是剩余的;如果天平不平衡,则假的金币必定在较轻的一边. 、给出求1+2+3+4+5+6的一个算法.解法1.按照逐一相加的程序进行.第一步:计算1+2,得3;第二步:将第一步中的运算结果3与3相加得6;第三步:将第二步中的运算结果6与4相加得10;第四步:将第三步中的运算结果10与5相加得15;第五步:将第四步中的运算结果15与6相加得21.3解法2.可以运用下面公式直接计算.第一步:取 n =6;第二步:计算 ;第三步:输出计算结果.点评:解法1繁琐,步骤较多; 解法2简单,步骤较少. 找出好的算法是我们的追求目标.1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.第一步:输入任意一个正实数r;第二步:计算圆的面积: S=πr2;第三步:输出圆的面积S.课堂练习(P4 练习1)2.任意给定一个大于1 的正整数n,设计一个算法求出n的所有因数.第一步:依次以2~(n-1)为除数去除n,检查余数是否为0,若是,则是n的因数;若不是,则不是n的因数.第二步:在n的因数中加入1和n.第三步:输出n的所有因数.课堂练习(P4 练习2)3.你要乘火车去外地办一件急事,请你写出从自己房间出发到坐在车厢内的三步主要算法.第一步:去车站;第二步:买车票;第三步:凭票上车对号入座.课堂练习课堂作业