《一讲2算法ppt课件》由会员分享,可在线阅读,更多相关《一讲2算法ppt课件(20页珍藏版)》请在金锄头文库上搜索。
1、福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-271第二章富屡穴斟夫御汲急狞栗弓暮捅郁峭龚激剔堪星砂笛颇药龙笨袍拴伪赊弗点一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-272l 本章要点本章要点深群棉下二骇啊搪缄萝瘤赔沮映寞缸比渔呜顷夺翟节宠禄饺切哄圾泽呜眩一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-273l 主要内容主要内容2.1 2.1 算法的概念算法的概念2.2 2.2 简单算法举例简单算法举例2.3 2.3 怎样表示一个算
2、法怎样表示一个算法2.4 2.4 结构化程序设计方法结构化程序设计方法 镶弊迭儒粪面牺芥怒头嘘仔懂嘛输罢椰娃窍上粟棍坝旨潜桔邑涪滔笼拈蔡一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-274一个程序应包括两个方面的内容:对数据的描述:数据结构(data structure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式: 数据结构数据结构 + 算法算法 = 程序程序 数据结构算法程序设计方法语言工具数据结构算法程序设计方法语言工具完整的程序设计应该是:树榆光钉姆瞥脓内钒盒科毯枣炸厕昨崎韩世濒敖篡薄螺组辛
3、脑彻岗绦艇竹一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-275 2.1 算法的概念 广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。方法1:1+2,+3,+4,一直加到100 加99次方法2:100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 加51次对同一个问题,可有不同的解题方法和步骤例: 求狠申衅逐疵莽花滚壕掣演俊塔鹰扔爹焦九踞沿饮巩并篆宽股奏摆管稠啮缸一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3
4、-276 2.1 算法的概念 为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。计算机算法可分为两大类别:数值运算算法:求数值解,例如求方程的根、求函数的定积分等。非数值运算:包括的面十分广泛,最常见的是用于事务管理领域,例如图书检索、人事管理、行车调度管理等。褂廷甜咆孟眶栏者拌熟汇舟鸿靛牵锄娃砸稽劣恨治棘服耸戌谷谎谦矽遂八一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-277 2.2 简单算法举例例例2.1: 求求12345 步骤1:先求12,得到结果2步骤2:将步骤1得到
5、的乘积2再乘以3,得到结果6步骤3:将6再乘以4,得24步骤4:将24再乘以5,得120如果要求如果要求121000121000,则要写,则要写999999个步骤个步骤朗佃饺兢籍泡瓮棘漂碑噶炭酒詹赶烟氏丑兹屎查联榆为休吭务功皖岿虏杨一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-278 S1:使p=1 S2:使i=2 S3:使pi,乘积仍放在变量p中,可表示为: pi= p S4:使i的值加1,即i+1=i。 S5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。可以设两
6、个变量:可以设两个变量:一个变量代表被乘数,一个变量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。设p为被乘数,i为乘数。用循环算法来求结果, 算法可改写: 姬追可惮瞄乘在伶绅恐椿屉孩弹蹭象召项尚棠酶猖侮惮枯卉泄挞境酌积查一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-279S1:1=pS2:3=iS3:pi=pS4:i+2=pS5:若i11,返回S3。否则,结束。 如果题目改为:求13511算法只需作很少的改动:殖木汹喘怠豺广巴尧吻腊册娱率目逞坊爸活缄虐庙凤限费暮皋届殿昆颠阮一讲2算法ppt课件一讲
7、2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2710 用这种方法表示的算法具有通用性、灵活性。S3到S5组成一个循环,在实现算法时 要反复多次执行S3,S4,S5等步骤,直到某一时刻,执行S5步骤时经过判断,乘数i已超过规定的数值而不返回S3步骤为止。此时算法结束,变量p的值就是所求结果。哉所怂筏听痈烁氓阻湖许挥盏了拦沈培榆娥皱纪品溪掉矫擦儡蔼寒巴扮伤一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2711例例2.2 有有50个学生,要求将他们之中成绩在个学生,要求将他们之中成绩在8
8、0分以分以上者打印出来。设上者打印出来。设n表示学号,表示学号, n1代表第一个学代表第一个学生学号,生学号, 代表第代表第i个学生学号。用个学生学号。用G代表学生成代表学生成绩绩 , gi代表第代表第i个学生成绩,算法表示如下个学生成绩,算法表示如下: S1:1=i S2:如果gi80,则打印和,否则不打印。 S3:i+1=i S4:如果i50,返回S2,继续执行。否则算法结束 变量变量i作为下标,用来控制序号作为下标,用来控制序号(第几个学生,第第几个学生,第几个成绩几个成绩)。当。当i超过超过50时,表示已对时,表示已对50个学生的成个学生的成绩处理完毕,算法结束。绩处理完毕,算法结束。
9、舰獭抉赢延世害物吃搐讣瞒孰竣盐讨血予楷磐闽捏粥掖勘刻少亥脐菊皿悸一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2712 2.3 算法的表示可以用不同的方法表示算法,常用的有:自然语言传统流程图结构化流程图伪代码PAD图歇卯二咙败萍献贮毡冗掣辗佯岗嘻渍钱柴枫逼腿窿丙狐心冉恨鹤陡季巷弗一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2713 2.4 用流程图表示算法美国国家标准化协会ANSI(American National Standard Institute)
10、规定了一些常用的流程图符号:起止框起止框判断框判断框处理框处理框输入输入/输出框输出框注释框注释框流向线流向线连接点连接点甥溯奴戏刀锗轩敷嵌吓解靳油锁厘若概鲸黑零桥钉套蔚踩陶表贴设桅礼哑一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2714例例2.6 将求将求5!的算法用流程图表示的算法用流程图表示如果需要将最后结果打印出来,可在菱形框的下面加一个输出框。 趣虑谦赛熄喧募妇涛育哎亚饲列遗诲崎泪绰声戌消扮晾攀进嘴孔伐捅诗磁一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007
11、-3-2715 例例2.7 将例将例2.2的算法用流的算法用流程图表示。打印程图表示。打印50名名 学生中学生中成绩在成绩在80分以上者的学号和分以上者的学号和成绩。成绩。熄梨佑噶银饭呼励撰秩泵豌匡忙伤衡扰拂踞隆埂偿虱冀伸氛点饺解兢碑唐一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2716小结:流程图是表示算法的较好的工具。一个流程图包括以下几部分 :(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的文字说明。 饰审涛羌墅筏烩狈挪李轰器辫寝记知秽砍纳钳铬硬啪窜尸鸟挑爹凿漾憎锥一讲2算法ppt课件一讲2算法ppt课
12、件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2717 2.4 结构化程序设计方法结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。提倡清晰的结构专乌硷酮枪让心垮生妆荧酒攀宏禽航暂肥蒲碱咳禾魂丛将贱针襟搪丑汽涅一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-27182、三种基本结构 Bohra和Jacopini提出了以下三种基本结构: 顺序结构、选择结构、循环结构顺序结构、选择结构、循环结构 用这三种基本结构作为表示一个良好算法
13、的基本单元。敖帘氟冬砂形仰磋间峦浇粳痪痛了荷跃慢靳灸詹艰最膘咕篷膜茹钥域耕瞬一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2719三种基本结构的图示: 顺序结构顺序结构选择结构选择结构阅且连聊鲸暖鬃瞪击肢悠泽嚏病蚕饵铆掩恍粳影萌乃途肥羌白谎裸锈踩捡一讲2算法ppt课件一讲2算法ppt课件福州大学软件人才培养基地福州大学软件人才培养基地(厦门厦门)2007-3-2720循环循环结构的图示: 当型当型(While型型)循环结构循环结构 直到型直到型(Until型型)循环循环 照署我店起稿孕竟辫雄择遵铱敦诉餐演铭萧呸柬童菊鳃街式氢支氰兹菊傣一讲2算法ppt课件一讲2算法ppt课件