欢迎来到天天文库
浏览记录
ID:36875571
大小:534.00 KB
页数:54页
时间:2019-05-10
《C程序的控制结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章算法学习要求:1.理解算法的概念和分类2.掌握算法的特性3.熟悉算法的表示4.理解用计算机求解问题的一般过程2.1算法的概念1、著名的计算机科学家沃思提出:数据结构+算法=程序其中:数据结构是对操作对象的描述,在程序中表现为数据类型算法是对操作的描述,在程序中表现为程序代码2、算法的定义为解决一个具体问题而采取的方法和步骤的描述即为“算法”3、算法的分类数值运算算法:目的是求数值解,研究比较深入,一般有现成的模型供直接使用非数值运算算法:常见的应用是在事务管理领域,只有典型的算法有较深入的研究例2.1求1+2+3+4+5所得的数值。算法1步骤1:先求1+2得
2、到结果3;步骤2:将步骤1得到的结果3再加3,得到结果6;步骤3:将6再加4,得到结果10;步骤4:将10再加5,得到结果15,这就是最终的结果,输出。算法2步骤1:m=1步骤2:i=2步骤3:将m+i的值存放在m中,可简单表示为m=m+i步骤4:将i的值加1,可表示为i=i+1步骤5:判断i是否大于5,如果不大于5返回重新执行步骤3、4、5;否则输出m,算法结束,最后m中保存的值就是1到5的和。2.2利用计算机求解问题的一般过程利用计算机求解问题过程大致分为以下几个阶段:通过问题分析建立数学模型阶段、数据结构设计阶段、算法设计阶段、编写和调试程序阶段设计一个算法
3、时应具备以下五个特性:(1)有穷性(2)确定性(3)有零个或多个输入(4)有一个或多个输出(5)有效性2.3算法的描述常用的有自然语言、流程图、N-S图、伪代码、计算机语言等。一、用自然语言描述算法二、用流程图描述算法流程图表示方法是用标准的图形符号描述算法的操作过程,直观形象,容易理解,也避免了人们对非形式化语言的理解差异。ANSI规定的常用流程图符号见P30表2-1。为了提高算法质量,使算法的设计和阅读方便,需要规定流程只能顺序执行。1966年,Bohra和Jacopini提出了以下三种基本结构。1.顺序结构P真假ABAB真假A图2-1顺序结构图例图2-2分支
4、结构结构图例P2.分支结构3.循环结构循环结构是反复执行某一部分的操作,有两类循环结构:(1)当型循环如图2-3所示.(2)直到型循环如图2-4所示。例2.2用流程图描述计算5!的过程。5!的流程图,如图2-5所示。P2A真假A假真图2-3当型循环图例图2-4直到型循环图例P11=>t2=>it×i=ti+1=>ii<5NY输出t开始结束图2-5例2.2的流程图三、用N-S流程图描述算法N-S流程图用以下基本图形表示:ABP真假图2-5N-S顺序结构图图2-6N-S分支结构图AB当P1成立A直到P2成立A图2-7N-S当型循环结构图图2-8N-S直到型循环结构图例
5、2.3用N-S描述计算5!的过程。5!的N-S图,如图2-6所示。输出t直到i>5i=i+1t=t×ii=2t=1图2-6例2.3的N-S图四、用伪代码描述算法伪代码通常用介于自然语言和计算机语言之间的文字、数学公式和符号来描述算法,一般在算法设计过程未最终确定的时候表示。五、用计算机语言描述算法只有用计算机语言编写的程序才能被计算机执行。用计算机语言表示算法必须严格遵循所用语言的语法规则。2.4算法举例用C语言表示算法的一般过程:文件包含(如:#include)voidmain(){定义变量;提供已知数据;数据运算;输出结果;}#include
6、#includevoidmain(){floata,b,c,l,s;//定义变量printf(“请输入三角形的三边长:”);//提示输入三边边长do{scanf(“%f,%f,%f”,&a,&b,&c);//输入三边长if((a+b)7、8、(a+c)9、10、(b+c)11、c)/2.0;//计算周长的一半s=sqrt(l*(l-a)*(l-b)*(l-c));//利用三边求面积printf(“三角形的面积是:%.2f”,s);//输出面积值}例2.6利用三角形的三条边长求三角形的面积。2.5本章小结算法的概念和分类算法的五大特性算法的表示第3章C程序的控制结构学习要求:1.掌握关系运算符和逻辑运算符的使用2.掌握if语句和switch语句的语法及应用3.掌握while语句、do~while语句和for语句的语法及应用4.掌握break,continue语句的应用5.熟悉循环语句的嵌套应用分支结构又称选择结构,是结构化程序设计的三种基12、本结构之一
7、
8、(a+c)
9、
10、(b+c)11、c)/2.0;//计算周长的一半s=sqrt(l*(l-a)*(l-b)*(l-c));//利用三边求面积printf(“三角形的面积是:%.2f”,s);//输出面积值}例2.6利用三角形的三条边长求三角形的面积。2.5本章小结算法的概念和分类算法的五大特性算法的表示第3章C程序的控制结构学习要求:1.掌握关系运算符和逻辑运算符的使用2.掌握if语句和switch语句的语法及应用3.掌握while语句、do~while语句和for语句的语法及应用4.掌握break,continue语句的应用5.熟悉循环语句的嵌套应用分支结构又称选择结构,是结构化程序设计的三种基12、本结构之一
11、c)/2.0;//计算周长的一半s=sqrt(l*(l-a)*(l-b)*(l-c));//利用三边求面积printf(“三角形的面积是:%.2f”,s);//输出面积值}例2.6利用三角形的三条边长求三角形的面积。2.5本章小结算法的概念和分类算法的五大特性算法的表示第3章C程序的控制结构学习要求:1.掌握关系运算符和逻辑运算符的使用2.掌握if语句和switch语句的语法及应用3.掌握while语句、do~while语句和for语句的语法及应用4.掌握break,continue语句的应用5.熟悉循环语句的嵌套应用分支结构又称选择结构,是结构化程序设计的三种基
12、本结构之一
此文档下载收益归作者所有