《C语言程序课件ppt-第二章程序的灵魂—算法.pdf》由会员分享,可在线阅读,更多相关《C语言程序课件ppt-第二章程序的灵魂—算法.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 程序的灵魂算法李淑敬内容提要算法及其算法的表示方法结构化程序设计方法程序。程序设计和程序设计语言o著名计算机科学家沃斯(Nikiklaus Wirth)提出:o数据结构 + 算法 = 程序描述数据的类型,组织形式描述对数据的操作步骤算法的概念o算法:计算机求解某一问题而采用的具体方法,步骤;o算法分类: 数值运算算法,非数值运算算法求数值解,成熟事务管理,广泛事务管理的应用占80%以上算法的特性o有穷性o确定性o有效性o有零个或多个输入o有一个或多个输出算法描述o描述算法的方法有多种,归纳为两大类:文字图形(符号)算法的描述方法o常用的算法描述方法:带序号的自然语言描述(例2.1-2.
2、5) 易懂却不直观,不严格流程图 p20 灵活、自由、形象、直观,可表示任何算法。o N-S图(盒图) 特点:完全去掉了带箭头的流程线,算法的所有处理步骤都写在一个大矩形框(表示简单,符合结构化思想)ABpTFAB当P为真AA直到P为真处理判断循环o 伪代码:用介于自然语言与计算机语言之间的文字及符号来描述算法(方便、易懂,便于向计算机语言过渡)结构化程序设计方法o结构化程序的三种基本结构o1966年提出三种基本结构,用这三种基本结构作为表示一种良好算法的基本单元:顺序结构、选择结构、循环结构。o任何复杂的算法都是由这三种基本结构按一定规律组成。顺序结构ABABa=3b=4c=a+b选择结构P
3、ABtfif (x!=0) y = sin(x)/x;else y=1;pTFAB循环结构o根据条件P决定是否重复执行循环体中的操作当P为真A先判断,后执行sum=0;i=1;while(i100)A直到P为真APTFsum=0;i=1;do sum+=i; i+; while (i poS4:使i的值加1,即 i+1 = IoS5: 如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就时5!的值。流程图起止框处理框输入输出框判断框连接点流程线开始1=t2=it*i=ti+1=ii5YN结束i+1=iN-S流程图1=t2=it*i=t直到i5输出t伪代
4、码表示oBegino1=to2=IoWhile ito i+1=iooprintf toend用C语言表示o#include ovoid main()o int i, t;o t=1;i=2;owhile(i=5)ot=t*i;oi=i+;ooprintf(“%dn”,t);oo用自顶向下,逐步细化的方法进行一下算法的设计:例2.3 输出20002500年中是闰年的年份。闰年的条件是(1)能被4整除,但不能被100整除;(2)能被100整除,又能被400整除。y=20002500如如果果y是是闰闰年年则则输输出出yy=2000当y2500是是闰闰年年TF输输出出yy=y+1mod(y,4)=0andmod(y,100) 0TF输输出出ymod(y,100)=0andmod(y,400) =0TF输输出出y