幻灯片 1 第一章 算法初步 1.1 算法与程序框图 1.1.1 算法的概念 高中新课程数学必修③ ---- 幻灯片 2问题提出 1.用计算机解二元一次方程组 .exe 2.在上述解二元一次方程组的过程中,计算机是按照一定的指令来工作的,其中最基础的数学理论就是算法,本节课我们就来学习: ---- 幻灯片 3---- 幻灯片 4知识探究(一):算法的概念 思考1:在初中,对于解二元一次方程组你学过哪些方法? 思考2:用加减消元法解二元一次方程组 x-2y=-1 ① 2x+y=1 ②的具体步骤是什么? 加减消元法和代入消元法 ---- 幻灯片 5 ①+②×2,得 5x=1 . ③ ②-①×2,得 5y=3 . ④ 第一步, 第二步, 第三步, 第四步, 第五步, ---- 幻灯片 6---- 幻灯片 7 ---- 幻灯片 8思考4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容? ---- 幻灯片 9思考5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的. 你认为: (1)这些步骤的个数是有限的还是无限 的? (2)每个步骤是否有明确的计算任务? ---- 幻灯片 10 思考6:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤: 第一步,检验6=3+3, 第二步,检验8=3+5, 第三步,检验10=5+5, …… 利用计算机无穷地进行下去! 请问:这是一个算法吗? ---- 幻灯片 11 思考7:根据上述分析,你能归纳出算法的概念吗? 在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法. ---- 幻灯片 12知识探究(二):算法的步骤设计 思考1:如果让计算机判断7是否为质数,如何设计算法步骤? 第一步,用2除7,得到余数1,所以2不能整除7. 第四步,用5除7,得到余数2,所以5不能整除7. 第五步,用6除7,得到余数1,所以6不能整除7. 第二步,用3除7,得到余数1,所以3不能整除7. 第三步,用4除7,得到余数3,所以4不能整除7. 因此,7是质数. ---- 幻灯片 13思考2:如果让计算机判断35是否为质数,如何设计算法步骤? 第一步,用2除35,得到余数1,所以2不能整除35. 第二步,用3除35,得到余数2,所以3不能整除35. 第三步,用4除35,得到余数3,所以4不能整除35. 第四步,用5除35,得到余数0,所以5能整除35. 因此,35不是质数. ---- 幻灯片 14思考3:整数89是否为质数?如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤? 第一步,用2除89,得到余数1,所以2不能整除89. 第二步,用3除89,得到余数2,所以3不能整除89. 第三步,用4除89,得到余数1,所以4不能整除89. …… …… …… …… 第八十七步,用88除89,得到余数1,所以88不能 整除89. 因此,89是质数. ---- 幻灯片 15思考4:用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤. (1)用i表示2~88中的任意一个整数,并从2开始取数; (2)用i除89,得到余数r. 若r=0,则89不是质数;若r≠0,将i用i+1替代,再执行同样的操作; (3)这个操作一直进行到i取88为止. 你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗? ---- 幻灯片 16用i除89,得到余数r; 令i=2; 若r=0,则89不是质数,结束算法;若r≠0,将i用i+1替代; 判断“i>88”是否成立?若是,则89是质数,结束算法;否则,返回第二步. 第一步, 第四步, 第三步, 第二步, 算法设计: ---- 幻灯片 17思考5:一般地,判断一个大于2的整数是否为质数的算法步骤如何设计? 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示; 第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步. ---- 幻灯片 18理论迁移 例 设函数f(x)的图象是一条连续不断的曲线,写出用“二分法”求方程 f(x)=0的一个近似解的算法. ---- 幻灯片 19 第一步,取函数f(x),给定精确度d. 第二步,确定区间[a,b],满足f(a)·f(b)<0. 第五步,判断[a,b]的长度是否小于d或f(m)是否等于0. 若是,则m是方程的近似解;否则,返回第三步. 第四步,若f(a)·f(m)<0,则含零点的区间 为[a,m],否则,含零点的区间为[m,b]. 将新得到的含零点的区间仍记为[a,b]; ---- 幻灯片 20---- 幻灯片 21 小结作业 算法是建立在解法基础上的操作过程,算法不一定要有运算结果,问题答案可以由计算机解决.设计一个解决某类问题的算法的核心内容是设计算法的步骤,它没有一个固定的模式,但有以下几个基本要求: (1)符合运算规则,计算机能操作; (2)每个步骤都有一个明确的计算任务; (4)步骤个数尽可能少; (5)每个步骤的语言描述要准确、简明. (3)对重复操作步骤作返回处理; ---- 幻灯片 22作业: P5练习:1,2. ----

【点此下载】