《《算法的概念》课件1》由会员分享,可在线阅读,更多相关《《算法的概念》课件1(11页珍藏版)》请在金锄头文库上搜索。
1、 假设家中生火泡茶有以下几个步骤:假设家中生火泡茶有以下几个步骤: a.a.生火生火 b.b.将水倒入锅中将水倒入锅中 c.c.找茶叶找茶叶 d.d.洗茶壶茶碗洗茶壶茶碗 e.e.用开水冲茶用开水冲茶请选出一个最优方案(请选出一个最优方案( )A.abcde B.bacde C.cadbe D.dcabe 背景背景广义的算法广义的算法是指完成某项工作的是指完成某项工作的方法方法和和步骤步骤,那,那么我们可以说洗衣机的使用说明书是操作洗衣机么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等的算法,菜谱是做菜的算法等等. 讨论讨论算法(算法(algorithmalgorithm
2、)这个词出现于这个词出现于1212世纪,指世纪,指的是用阿拉伯数字进行算术运算的过程。在的是用阿拉伯数字进行算术运算的过程。在数学中,数学中, “算法算法”通常是通常是指按照一定规则解指按照一定规则解决某一类问题的明确的和有限的步骤决某一类问题的明确的和有限的步骤. .现在,现在,算法通常可以变成计算机程序,让计算机执算法通常可以变成计算机程序,让计算机执行并解决问题行并解决问题. .据说英文algorithm来源于阿拉伯数学家花拉子米的拉丁译名Algoritmi 算法的概念算法的概念n明确性明确性n有效性有效性n有限性有限性 例例1:一位商人有一位商人有9枚银元,其中有枚银元,其中有1枚略轻
3、的是假银元枚略轻的是假银元.你能用天平(不用你能用天平(不用砝码)将假银元找出来吗?说出算法砝码)将假银元找出来吗?说出算法. 例题例题 例题例题例例 2:2:(1)(1)设计一个算法,判断设计一个算法,判断7 7是否为质是否为质数。数。第一步,用第一步,用2除除7,得余数,得余数1,因为余数不是,因为余数不是0,所以,所以2不能除不能除7.第二步,用第二步,用3除除7,得余数,得余数1,因为余数不是,因为余数不是0,所以,所以3不能除不能除7.第三步,用第三步,用4除除7,得余数,得余数3,因为余数不是,因为余数不是0,所以,所以4不能除不能除7.第四步,用第四步,用5除除7,得余数,得余数
4、2,因为余数不是,因为余数不是0,所以,所以5不能除不能除7.第五步,用第五步,用6除除7,得余数,得余数1,因为余数不是,因为余数不是0,所以,所以6不能除不能除7.变式:设计一个算法,判断变式:设计一个算法,判断3535是否为质数。是否为质数。第一步,用第一步,用2除除35,得余数,得余数1,因为余数不是,因为余数不是0,所以,所以2不能除不能除35.第二步,用第二步,用3除除35,得余数,得余数2,因为余数不是,因为余数不是0,所以,所以3不能除不能除35.第三步,用第三步,用4除除35,得余数,得余数3,因为余数不是,因为余数不是0,所以,所以4不能除不能除35.第四步,用第四步,用5
5、除除35,得余数,得余数0,因为余数是,因为余数是0,所以,所以5能除能除35.因此,因此,35不是质数不是质数.变式变式: : 任意给定一个大于任意给定一个大于2 2的整数的整数n,n,试试设计一个程序或步骤对设计一个程序或步骤对n n是否为质数做是否为质数做出判断。出判断。 例题例题第一步:第一步:给定大于给定大于2的整数的整数n.第二步:第二步:令令i=2第三步:第三步:用用i除除n,得到余数,得到余数r.第四步:第四步:判断判断”r=0”是否成立,若是,是否成立,若是,则则n不是质数,结束算法;否则,将不是质数,结束算法;否则,将i的的值增加值增加1,仍用,仍用i表示表示,即:即:i=
6、i+1.第五步:第五步:判断判断”i(n-1)”是否成立,若是否成立,若是,则是,则n是质数,结束算法;否则,将返是质数,结束算法;否则,将返回第回第3步步. 1.任意给定一个正实数任意给定一个正实数a,试设计一个算,试设计一个算法求以法求以a为直径的圆的面积为直径的圆的面积.第一步:输入第一步:输入a的值的值.第二步:第二步:_.第三步:第三步:_.第四步:输出圆的面积的值第四步:输出圆的面积的值.解:解: 练习练习计算计算 计算计算 2. 已知平面直角坐标系的两点已知平面直角坐标系的两点A(1,0), B(3,2),写出求直线,写出求直线AB斜率斜率的一个算法的一个算法. 算法的特征是什么?算法的特征是什么?n明确性明确性n有效性有效性n有限性有限性算法的概念:算法的概念:算法通常指可以用来解决的某算法通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的确的和有效的,而且能够在有限步之内完成的. 小结小结