第一章算法初步算法与程序框图1算法的概念-精选课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第一章算法初步算法与程序框图1算法的概念-精选课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 算法 初步 程序 框图 概念 精选 课件
- 资源描述:
-
1、 第一章第一章 算法初步算法初步1.1 1.1 算法与程序框图算法与程序框图1.1.1 1.1.1 算法的概念算法的概念高中新课程数学必修高中新课程数学必修问题提出问题提出t57301p21.1.用计算机解二元一次方程组用计算机解二元一次方程组.exe2.2.在上述解二元一次方程组的过程中,在上述解二元一次方程组的过程中,计算机是按照一定的指令来工作的,其计算机是按照一定的指令来工作的,其中最基础的数学理论就是中最基础的数学理论就是算法算法,本节课,本节课我们就来学习我们就来学习:知识探究(一):算法的概念知识探究(一):算法的概念思考思考1:1:在初中,对于解二元一次方程组在初中,对于解二元
2、一次方程组你学过哪些方法?你学过哪些方法?思考2:用加减消元法解二元一次方程组 x-2y=-1 2x+y=1 的具体步骤是什么?加减消元法和代入消元法加减消元法和代入消元法思考思考2:2:用加减消元法解二元一次方程组用加减消元法解二元一次方程组 的具体步骤是什么?的具体步骤是什么?2121xyxy-=-+=+2 2,得,得 5x=1.5x=1.15x 15x 15x 解解,得,得 .15x -2 2,得,得 5y5y3 3.解解,得,得 .35y 第一步,第一步,第二步,第二步,第三步,第三步,第四步,第四步,第五步,第五步,得到方程组的解为得到方程组的解为 .1535xy=2121xyxy-
3、=-+=思考思考3:3:参照上述思路,一般地,解方程参照上述思路,一般地,解方程组组 的基的基本步骤是什么?本步骤是什么?111a xb yc222a xb yc1 22 10aba b()2b1b第一步第一步,-,得,得 .1 22 12 11 2()aba b xb cbc第二步第二步,解,解,得,得 .2 112122 1b cb cxa ba b 第三步第三步,-,得,得 .1a2a1 22 11 22 1()aba b ya ca c第四步第四步,解,解,得,得 .12211221a ca cya ba b第五步第五步,得到方程组的解为,得到方程组的解为 21121221122112
4、21b cb cxa ba ba ca cya ba b思考思考4:4:根据上述分析,用加减消元法解根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方行,这五个步骤就构成了解二元一次方程组的一个程组的一个“算法算法”.我们再根据这一算我们再根据这一算法编制计算机程序,就可以让计算机来法编制计算机程序,就可以让计算机来解二元一次方程组解二元一次方程组.那么解二元一次方程那么解二元一次方程组的组的算法算法包括哪些内容?包括哪些内容?思考思考5:5:一般地,算法是由一般地,算法是由按照一定规则按照一定规则解决某一类问题的
5、基本步骤组成的解决某一类问题的基本步骤组成的.你认为:你认为:(1)(1)这些步骤的个数是有限的还是无限这些步骤的个数是有限的还是无限 的?的?(2)(2)每个步骤是否有明确的计算任务?每个步骤是否有明确的计算任务?思考思考6:6:有人对哥德巴赫猜想有人对哥德巴赫猜想“任何大于任何大于4 4的的偶数都能写成两个质数之和偶数都能写成两个质数之和”设计了如下操设计了如下操作步骤:作步骤:第一步,检验第一步,检验6=3+36=3+3,第二步,检验第二步,检验8=3+58=3+5,第三步,检验第三步,检验10=5+510=5+5,利用计算机无穷地进行下去!利用计算机无穷地进行下去!请问:这是一个算法吗
6、?请问:这是一个算法吗?思考思考7:7:根据上述分析,你能归纳出根据上述分析,你能归纳出算法算法的概念吗?的概念吗?在数学中,按照一定规则解决某一在数学中,按照一定规则解决某一类问题的明确和有限的步骤类问题的明确和有限的步骤称为算法称为算法.知识探究(二)知识探究(二):算法的步骤设计算法的步骤设计思考思考1:1:如果让计算机判断如果让计算机判断7 7是否为质数,如是否为质数,如何设计算法步骤?何设计算法步骤?第一步第一步,用,用2 2除除7 7,得到余数,得到余数1,1,所以所以2 2不能整除不能整除7.7.第四步第四步,用,用5 5除除7 7,得到余数,得到余数2,2,所以所以5 5不能整
7、除不能整除7.7.第五步第五步,用,用6 6除除7 7,得到余数,得到余数1,1,所以所以6 6不能整除不能整除7.7.第二步第二步,用,用3 3除除7 7,得到余数,得到余数1,1,所以所以3 3不能整除不能整除7.7.第三步第三步,用,用4 4除除7 7,得到余数,得到余数3,3,所以所以4 4不能整除不能整除7.7.因此,因此,7 7是质数是质数.思考思考2:2:如果让计算机判断如果让计算机判断3535是否为质数,如是否为质数,如何设计算法步骤?何设计算法步骤?第一步第一步,用,用2 2除除3535,得到余数,得到余数1,1,所以所以2 2不能整除不能整除35.35.第二步第二步,用,用
8、3 3除除3535,得到余数,得到余数2,2,所以所以3 3不能整除不能整除35.35.第三步第三步,用,用4 4除除3535,得到余数,得到余数3,3,所以所以4 4不能整除不能整除35.35.第四步第四步,用,用5 5除除3535,得到余数,得到余数0,0,所以所以5 5能整除能整除35.35.因此,因此,3535不是质数不是质数.思考思考3:3:整数整数8989是否为质数?如果让计算是否为质数?如果让计算机判断机判断8989是否为质数,按照上述算法需是否为质数,按照上述算法需要设计多少个步骤?要设计多少个步骤?第一步第一步,用,用2 2除除8989,得到余数,得到余数1,1,所以所以2
9、2不能整除不能整除89.89.第二步第二步,用,用3 3除除8989,得到余数,得到余数2,2,所以所以3 3不能整除不能整除89.89.第三步第三步,用,用4 4除除8989,得到余数,得到余数1,1,所以所以4 4不能整除不能整除89.89.第八十七步第八十七步,用,用8888除除8989,得到余数,得到余数1,1,所以所以8888不能不能 整除整除89.89.因此,因此,8989是质数是质数.思考思考4:4:用用2 28888逐一去除逐一去除8989求余数,需要求余数,需要8787个个步骤,这些步骤基本是重复操作,我们可以步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减
10、少算法的步按下面的思路改进这个算法,减少算法的步骤骤.(1 1)用)用i i表示表示2 28888中的任意一个整数,并从中的任意一个整数,并从2 2开始取数;开始取数;(2 2)用)用i i除除8989,得到余数,得到余数r.r.若若r=0r=0,则,则8989不不是质数;若是质数;若r0r0,将,将i i用用i+1i+1替代,再执行同替代,再执行同样的操作;样的操作;(3 3)这个操作一直进行到)这个操作一直进行到i i取取8888为止为止.你能按照这个思路,设计一个你能按照这个思路,设计一个“判断判断8989是否是否为质数为质数”的算法步骤吗?的算法步骤吗?用用i i除除8989,得到余数
11、,得到余数r r;令令i=2i=2;若若r=0r=0,则,则8989不是质数,结束算不是质数,结束算法;若法;若r0r0,将,将i i用用i+1i+1替代;替代;判断判断“i i88”88”是否成立?若是,是否成立?若是,则则8989是质数,结束算法;否则,是质数,结束算法;否则,返回第二步返回第二步.第一步,第一步,第四步,第四步,第三步,第三步,第二步,第二步,算法设计算法设计:思考思考5:5:一般地,判断一个大于一般地,判断一个大于2 2的整数是否的整数是否为质数的算法步骤如何设计?为质数的算法步骤如何设计?第一步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,
12、令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0”r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i i(n-1)”(n-1)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.理论迁移理论迁移 例例 设函数设函数f(x)f(x)的图象是一条连续的图象是一条连续不断的曲线,写出用不断的曲线,写出用“二分法二分法”求方程求方
13、程 f(x)=0f(x)=0的一个近似解的算法的一个近似解的算法.第一步,第一步,取函数取函数f(x)f(x),给定精确度,给定精确度d.d.第二步,第二步,确定区间确定区间 a,bb,满足,满足f(f(a)f(b)f(b)0.0.第五步,第五步,判断判断 a,b,b的长度是否小于的长度是否小于d d或或f(m)f(m)是否等于是否等于0.0.若是,则若是,则m m是方程的近似解;是方程的近似解;否则,返回第三步否则,返回第三步.第三步,第三步,取区间中点取区间中点 .ma+b2第四步,第四步,若若f(f(a)f(m)f(m)2 2)是否为质数)是否为质数”的的算法步骤如何?算法步骤如何?第一
14、步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0”r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i i(n-1)”(n-1)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.思考思考2:2:我们将上述算法用下面的图形表示:我们将上述算法用下面的
15、图形表示:开始开始r=0?输出输出“n是质数是质数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否上述表示算法的图形称为算法的上述表示算法的图形称为算法的程序框程序框图图又称又称流程图流程图,其中的多边形叫做,其中的多边形叫做程序程序框框,带方向箭头的线叫做,带方向箭头的线叫做流程线流程线,你能,你能指出程序框图的含义吗?指出程序框图的含义吗?用程序框、流程线及文字说明来表示用程序框、流程线及文字说明来表示算法的图形算法的图形.思考思考3:3:在上述程序框图中,有在
16、上述程序框图中,有4 4种程序框,种程序框,2 2种流种流程线,它们分别有何特定的名称和功能?程线,它们分别有何特定的名称和功能?开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否输出输出“n是质数是质数”图形符号图形符号 名名 称称 功功 能能 终端框终端框 (起止框)(起止框)输入、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入
17、和输出的信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时在判断某一条件是否成立,成立时在出口处标明出口处标明“是是”或或“Y”Y”;不成立;不成立时标明时标明“否否”或或“N”N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序 思考思考4:4:在逻辑结构上,在逻辑结构上,“判断整数判断整数n n(n n2 2)是否)是否为质数为质数”的程序框图由几部分组成?的程序框图由几部分组成?开始开始r=0?输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结
18、束否否否否输出输出“n是质数是质数”知识探究(二):算法的顺序结构知识探究(二):算法的顺序结构思考思考1:1:任何一个算法各步骤之间都有明确的任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为次执行的步骤组成的逻辑结构,称为顺序结顺序结构构,用程序框图可以表示为:,用程序框图可以表示为:步骤步骤n步骤步骤n+1在顺序结构中可能在顺序结构中可能会用到哪几种程序会用到哪几种程序框和流程线?框和流程线??思考思考2:2:若一个三角形的三条边长分别为若一个三角形的三条边长分别为a a,b b,c c,令,令 ,
19、则三角形的面积,则三角形的面积 .你能利用这个公式你能利用这个公式设计一个计算三角形面积的算法步骤吗?设计一个计算三角形面积的算法步骤吗?2abcp+=()()()Sp papb pc=-()()()Sp papb pc=-第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长 a a,b b,c.c.第二步,计算第二步,计算 .2abcp+=第三步,计算第三步,计算 .()()()Sp pa pb pc=-第四步,输出第四步,输出S.S.思考思考3:3:上述算法的程序框图如何表示?上述算法的程序框图如何表示?开始开始结束结束输出输出S输入输入a,b,c2abcp+=()()()Sp p
展开阅读全文