算法与程序框图改j.ppt
《算法与程序框图改j.ppt》由会员分享,可在线阅读,更多相关《算法与程序框图改j.ppt(58页珍藏版)》请在三一办公上搜索。
1、1.1算法与程序框图,1.1.1 算法的概念,学习目标:1理解算法是描述处理有有限多个步骤的问题的方法的一种“语言”;2会用自然语言描述解方程组等数学问题的算法。学习重点:能从整体上把握具体问题的解题步骤。学习难点:会用明确的语言描述算法的每一个步骤。,对于一般的二元一次方程组也可以按照上述步骤求解.,第一步:2+得:5x=1 第二步:解得:x=1/5第三步:将x=1/5代入得:y=3/5第四步:得到方程组的解为:,这些步骤就构成了解二元一次方程组的算法,我们可以根据这一算法编制计算机程序,“教会”计算机解二元一次方程组。,算法的概念与特征,算法(algorithm)这个词出现于12世纪,指的
2、是用阿拉伯数字进行算术运算的过程。,在数学上,“算法”通常是指按照一定规则解决某一类问题的明确和有限的步骤。算法具有程序性、有限性、构造性、精确性的特点。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。,算法学的发展,随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法,排序算法,加密算法,蚁群算法等,与生物学,计算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用.很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位.,科学家王小云主导破解两大密码算法获百万大奖杨振宁教授为获得“求是杰出科学家奖”的
3、山东大学特聘教授王小云颁发了获奖证书和奖金100万元人民币,表彰其密码学领域的杰出成就。,例1:任意给定一个大于2的整数n,试设计一个程序或步骤对n是否为质数做出判定。,算法分析:,第一步:给定大于2的整数n,第二步:令i=2,第三步:用i除n,得到余数r,第四步:判断r=0是否成立,若是,则n不是质数,结束算法;若否,i=i+1;,第五步:判断in-1是否成立,若是,则n是质数,结束算法;若否,则返回第三步。,若是,则m为所求;,例2:用二分法设计一个求方程x2-2=0(x0)的近似根的算法.,算法分析:,设所求近似根与精确解的差的绝对值不超过=0.005.,第一步:令f(x)=x2-2.,
4、因为f(1)0,所以设a=1,b=2.,第二步:令,判断f(m)是否为0.,第四步:判断|a-b|是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步.,点评:(1)上述算法也是求 的近似值的算法.,(2)与一般的解决问题的过程比较,算法有以下特征:设计一个具体问题的算法时,与过去熟悉的解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤。算法要“面面俱到”,不能省略任何一个细小的步骤,不能忽略任何一种特别的情况,否则在计算机执行算法的过程中就可能出现各种错误,甚至造成不可挽回的损失。,计算机解决任何问题都要依赖于算法。只有将解决问题的过程分解为若干个明确的步骤,即算法
5、,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题。,练习一:任意给定一个正实数r,设计一个求以r为半径的圆的面积的算法。,算法分析:,第一步:(用键盘向计算机)输入一个具体的正实数r;第二步:计算S=r2;第三步:(计算机在屏幕上显示)输出圆的面积S.,练习二:任意给定一个大于1的正整数n,设计一个能求出n的所有因数的算法。,算法分析:,第一步:输入正整数n。第二步:依次以2(n-1)为除数去除n,判断余数是否为0。若是,则该除数是n的因数;若不是,则该除数不是n的因数。第三步:在n的因数中加入1和n。第四步:输出n的所有因数。,练习三:为了加强居民的节水意识,某市制订了以下
6、生活用水收费标准:每户每月用水未超过7m3时,每立方米收费1.0元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费,请你写出某户居民每月应交纳的水费y(元)与用水量x(m3)之间的函数关系,然后设计一个求该函数值的算法。,解:y与x之间的函数关系为:,(当0 x7时)(当x7时),解:y与x之间的函数关系为:,(当0 x7时)(当x7时),求该函数值的算法分析:,第一步:输入每月用水量x;第二步:判断x是否大于7。若是,则y=1.9x4.9;若否,则y=1.2x。第三步:输出应交纳的水费y。,作业:课本P51页复习参考题B组T3:设计一个
7、算法,判断一个正的n(n2)位数是不是回文数?(只需用自然语言写出算法步骤)注:回文数是指从左到右读与从右到左读都是一样的正整数,如121,94249等。,1.1.2 程序框图(1),学习目标:1了解程序框图的顺序结构、条件结构的画法及功能;2能在“人肉计算机”中运行程序框图描述的算法。学习重点:启动“人肉计算机”,运行大量简单程序。学习难点:如何用多重条件结构处理复杂的分类讨论问题。,从上节课我们知道:算法可以用自然语言来描述.如例1:,为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.,任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。,算法分析:
8、,第一步:判断n是否等于2.,若n=2,则n是质数;,若n2,则执行第二步.,第二步:依次检验从2到(n-1)这些数能否整除n。若有这样的数,则n不是质数;若没有这样的数,则n是质数。,设n是一个大于2的整数.,一般用i=i+1表示.,i=i+1,说明:i表示从2(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2(n-1)的所有正整数中是否有n的因数存在.,思考:比较自然语言和程序框图这两种不同的表达方式,你觉得用程序框图来表达算法有哪些优点?,答:更加简洁,直观,执行的流程更清晰。,程序框图又称流程图,是一种用规定的图形、指向线
9、及文字说明来准确、直观地表示算法的图形。,基本的程序框和它们各自表示的功能如下:,终端框(起止框),表示算法的起始和结束,输入、输出框,表示算法输入和输出的信息,处理框(执行框),根据某条件是否成立改变程序执行的流向,判断框,赋值、计算等,流程线,连接程序框,连接点,连接程序框图的两部分,程序框图的三种基本的逻辑结构,顺序结构,条件结构,循环结构,顺序结构,用程序框图来表示算法,有三种不同的基本逻辑结构:,条件结构,循环结构,(1)顺序结构-是由若干个依次执行的处理步骤组成的。这是任何一个算法都离不开的基本结构。,例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法
10、,求出它的面积,画出算法的程序框图。,已知三角形三边长分别为a,b,c,则三角形的面积为 其中 这个公式被称为海伦秦九韶公式.,算法分析:,第二步:计算p的值。,第三步:计算S=,第四步:输出S的值。,程序框图:,开始,输出S,结束,(2)条件结构-在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向。条件结构就是处理这种过程的结构。,例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在。画出这个算法的程序框图。,算法分析:,第一步:输入3个正实数a,b,c;,第二步:判断a+bc,a+cb,b+ca是否同时成立。若是,则能组成三角形;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序 框图
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6191666.html