资源描述:
《c语言程序设计(包云)c第2章算法课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章程序的灵魂--算法8/10/20211第1章C语言概述主要内容2.1算法的概念2.2简单算法举例2.3算法的特性2.4算法的表示2.5结构化程序设计方法22.1算法的概念数据和操作的关系:数据是操作的对象,操作的目的是对数据进行加工,以得到期望的结果。#include“stdio.h”voidmain(){inta,b,c;scanf("%d,%d",&a,&b);if(a>b)c=a;elsec=b;printf(“max=%d",c);}对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据的结构。对
2、操作的描述:即操作步骤,也就是算法。1.引例一个程序应包括的两个方面:32.1算法的概念(1)著名计算机科学家沃斯(NikiklausWirth)提出了一个公式:数据结构+算法=程序(2)设计程序时,还要考虑采用好的设计方法---结构化程序设计方法。因此有:程序=数据结构+算法+程序设计方法+语言工具和环境2.程序的构成所谓程序,简单讲就是一组计算机能识别和执行的指令。算法是灵魂;数据(结构)是加工对象;语言是工具;编程需要采取合适的方法。以上4个方面是一个程序设计人员应具备的知识。设计一个程序时要综合运用这几方面的知识。
3、本门课程重点讲述算法的设计。(注意数据结构这门课程)42.1算法的概念3.算法的概念广义地说,为解决一个问题而采取的方法和步骤,就称为算法。(用计算机解决问题的步骤,即计算机算法。)计算机算法可分为两大类:数值算法求方程的根求函数的定积分非数值算法图书检索人事管理算法解决"做什么"和"怎么做"的问题。程序中的按一定顺序列出的操作语句,就是算法的体现。52.2简单算法举例例2.1:求1×2×3×4×5最原始的方法:步骤1:求1×2,得结果2。步骤2:将第1步得到的结果再乘以3,得结果6。步骤3:将第2步得到的结果再乘以4,得
4、结果24。步骤4:将第3步得到的结果再乘以5,得120。如果按照此方法,求1×2×3×...×100,要写多少步?99步!6改进的方法(或通用的方法):先设两个变量p和i,p代表被乘数,i代表乘数。并且将每一步乘积直接放入被乘数变量p中。用循环算法求结果。步骤1:令p=1步骤2:令i=2步骤3:使p×i,并将乘积放入p中。通常表示为p×i=>p步骤4:使i的值加1,表示为i+1=>i步骤5:如果i不大于5,返回到步骤3继续向下执行;否则算法结束。p中的值即最后结果。2.2简单算法举例采用此方法,求1×2×3×...×100
5、,如何?简练!7例2.2:有两个数a,b,按从大到小的顺序打印它们。步骤1:输入a,b的值;步骤2:如果a≥b,则先打印a,再打印b;否则,先打印b,再打印a;算法结束。详细例题见课本16-18页。2.2简单算法举例8算法的5个特性:有穷性:一个算法应包含有限的操作步骤,而不能是无限的。确定性:算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。有零个或多个输入:所谓输入是指在执行算法时需要从外界取得必要的信息。有一个或多个输出:算法的目的是为了求解,“解”就是输出。有效性:算法中的每一个步骤都应当能有效的执行
6、,并得到结果。2.3算法的特性92.4算法的表示2.4.1用自然语言表示2.4.2用流程图表示2.4.3用N-S图表示2.4.4用伪代码表示2.4.5用计算机语言表示102.4.1用自然语言表示算法例2.1和例2.2的算法是用自然语言写的。自然语言指人们日常使用的语言,如汉语、英语等。用自然语言表示算法的特点:通俗易懂,但不严谨,容易产生歧义。除非问题很简单,一般不用自然语言描述算法。112.4.2用流程图表示算法流程图采用一些图形框表示算法要表述的各种操作。美国国家标准化协会ANSI规定了一些常用的流程图符号:起止框处理
7、框判断框输入输出框流程线注释连接点或12用流程图表示算法举例例2.3计算1x3…x11的值步骤1:令p=1步骤2:令i=1步骤3:使pxi,并将乘积放入p中。通常表示为pxi=>p步骤4:使i的值加2,表示为i+2=>i步骤5:如果i不大于11,返回到步骤3继续向下执行;否则算法结束。p中的值即最后结果。开始1=>p1=>ip×i=>pi+2=>ii≤11真结束假输出p的值13例2.2有两个数a,b,按从大到小的顺序打印它们。步骤1:输入a,b的值;步骤2:如果a≥b,则先打印a,再打印b;否则,先打印b,再打印a;算法结
8、束。真假开始a≥b结束输出b,a的值输入a,b的值输出a,b的值用流程图表示算法举例14三种基本结构-顺序结构顺序结构:BA虚线框内是一个顺序结构。AB两个框是顺序执行的:按图中所画的框的顺序,先执行A操作,再执行B操作。15选择结构虚线框内是一个选择结构,也称为分支结构。此结构包括一个选择框,框中写有