《算法的概念公开课PPT课件.ppt》由会员分享,可在线阅读,更多相关《算法的概念公开课PPT课件.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.1.1算法的概念第一步,把冰箱门打开第一步,把冰箱门打开 第二步,把大象装进去第二步,把大象装进去 第三步,把冰箱门关上第三步,把冰箱门关上请问你怎样安排?请问你怎样安排?知识探究(一):算法的概念知识探究(一):算法的概念思考思考1: 1:在初中,对于解二元一次方程组你学在初中,对于解二元一次方程组你学过哪些方法?过哪些方法? 加减消元法和代入消元法加减消元法和代入消元法思考思考2: 2:解二元一次方程组解二元一次方程组 的具体步骤是什么?的具体步骤是什么?2121xyxy 解,得解,得 . . 15x 解,得解,得 . .35y 第一步,第一步,第二步,第二步,第三步,第三步,第四步,
2、第四步,第五步,第五步,2121xyxy 得到方程组的解为得到方程组的解为 . . 1535xy 思考思考3: 3:参照上述思路,一般地,解方程参照上述思路,一般地,解方程组组 的基的基本步骤是什么?本步骤是什么?111a xb yc222a x b yc1 22 10aba b()1112223:a xb yca xb yc 对对于于一一般般的的二二元元一一次次方方程程组组思思考考1 22 10a ba b其其中中,可可以以写写出出类类似似的的求求解解步步骤骤:21,bb第第一一步步, 得得 1 22 12 11 2.a ba bxb cbc- -2 11 21 22 1.b cbcxa b
3、a b - -第第二二步步, 解解,得得12aa第第三三步步, - -,得得 1 22 11 22 1.a ba bya ca c- -1 22 11 22 1.a ca cya ba b - -第第四四步步, 解解,得得2 11 21 22 11 22 11 22 1.b cbcxa ba ba ca cya ba b - -第第五五步步, 得得到到方方程程组组的的解解为为,- -思考思考4: 4:根据上述分析,你能归纳出根据上述分析,你能归纳出算法算法的概的概念吗?念吗? 在数学中,按照在数学中,按照一定规则一定规则解决解决某一类问题某一类问题的的明确明确和和有限有限的步骤称为的步骤称为算
4、法算法. . 现在,算法通常可以现在,算法通常可以编成计算机程序编成计算机程序,让计算机执行,让计算机执行并解决问题。并解决问题。 说明:计算机解决任何问题都要依赖于_,只有将解决问题的过程分解为若干个_,即_,并用计算机能够接受的_准确地描述出来,计算机才能够解决问题算法明确的步骤算法“语言”算法的特点:算法的特点:1. 1.有序性:有序性:算法从初始步骤开始,分为算法从初始步骤开始,分为若干明确的步骤若干明确的步骤,每一个步骤,每一个步骤只能只能有一个确定的后续步骤有一个确定的后续步骤,只有执行完前一步才能执行后一步,只有执行完前一步才能执行后一步2. 2.明确性:明确性:算法的算法的每一
5、步计算每一步计算,都必须,都必须有确定的结果有确定的结果,不能模棱两可不能模棱两可,即,即算法的每一步只有唯一的执行路径,算法的每一步只有唯一的执行路径,对于相同的输入只能得到相同的输出结果对于相同的输入只能得到相同的输出结果3. 3.有限性:有限性:一个算法当运行完一个算法当运行完有限个步骤后必须结束有限个步骤后必须结束,不能是无限地运行,不能是无限地运行4. 4.可行性:可行性:算法中的每一步骤必须能用实现算法的工具精确表达,并能在算法中的每一步骤必须能用实现算法的工具精确表达,并能在有限步内完成。有限步内完成。5. 5.不唯一性:不唯一性:解决一个或一类问题,可以有不同的方法和步骤,解决
6、一个或一类问题,可以有不同的方法和步骤,解决这个解决这个或这类问题的算法不一定是唯一的或这类问题的算法不一定是唯一的6. 6.普遍性:普遍性:算法一般要适用于算法一般要适用于输入值集合中不同形式的输入值输入值集合中不同形式的输入值,而不是局限于某,而不是局限于某些特殊的值,即些特殊的值,即算法具有一般性算法具有一般性,一个算法,一个算法总是针对某类问题设计的总是针对某类问题设计的,所以对于求解这类,所以对于求解这类问题中的任意一个问题都应该是有效的问题中的任意一个问题都应该是有效的算法的设计(1)算法设计的目的设计算法的目的实际上是寻求_的算法,它可以通过计算机来完成设计算法的关键是把过程分解
7、成若干个_,然后用计算机能够接受的“语言”准确地描述出来,从而达到计算机执行的目的一类问题是确的步骤一类问题简单少正确执行(2)算法设计的要求写出的算法必须能解决_;要使算法尽量_、步骤尽量_;要保证算法_,且计算机能够_(3)算法的描述展现形式:目前可使用文字语言表示展现方式:算法常用下列方式来表示:第一步,第二步,第三步,12练习练习判断下列关于算法的说法是否确:判断下列关于算法的说法是否确:1 1、求解某一类问题的算法是唯一的;、求解某一类问题的算法是唯一的;2 2、算法必须在有限步操作之后停止:、算法必须在有限步操作之后停止:3 3、算法的每一步必须是明确的,不能有歧义、算法的每一步必
8、须是明确的,不能有歧义或模糊:或模糊:4 4、算法执行后一定产生确定的结果:、算法执行后一定产生确定的结果:第四步,第四步,用用5 5除除7 7,得到余数,得到余数2, 2,因为余数不为因为余数不为0 0 ,所,所以以5 5不能整除不能整除7 7知识探究(二)知识探究(二): :算法的步骤设计算法的步骤设计思考思考1: 1:设计一个算法,判断设计一个算法,判断 7 7是否为质数。是否为质数。 第一步第一步,用,用2 2除除7 7,得到余数,得到余数1, 1,因为余数不为因为余数不为0 0,所,所 以以2 2不能整除不能整除7. 7.第五步第五步,用,用6 6除除7 7,得到余数,得到余数1,
9、1,因为余数不为因为余数不为0 0,所以所以6 6不能整除不能整除7. 7. 第二步第二步,用,用3 3除除7 7,得到余数,得到余数1, 1,因为余数不为因为余数不为0 0,所,所以以3 3不能整除不能整除7. 7.第三步第三步,用,用4 4除除7 7,得到余数,得到余数3, 3,因为余数不为因为余数不为0 0,所,所以以4 4不能整除不能整除7. 7. 因此,因此,7 7是质数是质数. .35353535353535思考2:35得到余数得到余数0 0,因为余数为,因为余数为0 0, ,以以5 5能能整除整除35. .2第四步,第四步,用用5 5除除7 7,得到余数,得到余数2, 2,因为余
10、数不为因为余数不为0 0 ,所,所以以5 5不能整除不能整除7 7知识探究(二)知识探究(二): :算法的步骤设计算法的步骤设计思考思考2: 2:设计一个算法,判断设计一个算法,判断 7 7是否为质数。是否为质数。 第一步第一步,用,用2 2除除7 7,得到余数,得到余数1, 1,因为余数不为因为余数不为0 0,所,所 以以2 2不能整除不能整除7. 7.第五步第五步,用,用6 6除除7 7,得到余数,得到余数1, 1,因为余数不为因为余数不为0 0,所以所以6 6不能整除不能整除7. 7. 第二步第二步,用,用3 3除除7 7,得到余数,得到余数2, 2,因为余数不为因为余数不为0 0,所,
11、所以以3 3不能整除不能整除7. 7.第三步第三步,用,用4 4除除7 7,得到余数,得到余数3, 3,因为余数不为因为余数不为0 0,所,所以以4 4不能整除不能整除7. 7. 因此,因此,7 7是质数是质数. .35353535353535 因此,因此,3535不是质数。不是质数。35得到余数得到余数0 0,因为余数为,因为余数为0 0, ,以以5 5能能整除整除35. . 第八十七步第八十七步,用,用8888除除8989,得到余数,得到余数1, 1,因为余数不为因为余数不为0 0,所以,所以8888不能整除不能整除89.89.89898989898989因此,因此,8989是质数是质数.
12、 .1 1思考3:第一步,第一步, 第四步,第四步, 第三步,第三步, 第二步,第二步, 算法设计算法设计: :例1.写出求123456的一个算法 解析解析 算法算法1 1:第一步,计算第一步,计算1 12 2得到得到3 3;第二步,将第一步中的运算结果第二步,将第一步中的运算结果3 3与与3 3相加得到相加得到6 6;第三步,将第二步中的运算结果第三步,将第二步中的运算结果6 6与与4 4相加得到相加得到1010;第四步,将第三步中的运算结果第四步,将第三步中的运算结果1010与与5 5相加得到相加得到1515;第五步,将第四步中的运算结果第五步,将第四步中的运算结果1515与与6 6相加得
13、到相加得到2121;第六步,输出运算结果第六步,输出运算结果算法算法3 3:第一步,将原式变形为第一步,将原式变形为(1 (16) 6)(2 (25) 5)(3 (34) 4)3 37 7;第二步,计算第二步,计算3 37 7;第三步,输出运算结果第三步,输出运算结果算法设计的步骤设计一个具体的算法,通常按以下步骤:例2.(1)一个算法的步骤如下:第一步,输入x的值第二步,计算yx2.第三步,计算z2ylog2y.第四步,输出z的值若输入x的值为2,则输出z的值为()A2B4 C12D14(2)下面是求1357911值的算法,用p表示被乘数,i表示乘数,则将算法补充完整第一步,使p1.第二步,使i3.第三步,使p_.第四步,使i_.第五步,若i11,则返回到第三步继续执;否则输出p.(1)D(2)P ii2【变式】(1)如下算法:第一步,输入x的值第二步,若x0成立,则yx,否则执行下一步第三步,计算y2x24.第四步,输出y的值若输入x2,则输出y_.(2)给出算法:第一步,输入n8.第二步,令i1,S0.第三步,判断i n是否成立,若不成立,输出S,结束算法;若成立,执行下一步第四步,令S的值加i,仍用S表示,令i的值加1,仍用i表示,返回第三步该算法的功能是_(1)4(2)计算1238的值小结:小结:1、算法的概念 2、算法的特点作业:作业:小本89-90页
限制150内