高级语言程序设计c2算法课件_第1页
高级语言程序设计c2算法课件_第2页
高级语言程序设计c2算法课件_第3页
高级语言程序设计c2算法课件_第4页
高级语言程序设计c2算法课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高级语言程序设计c2算法课件高级语言程序设计c2算法课件2算法的概念尼古拉斯沃斯(Niklaus Wirth) Algorithm + Date Structure = Programs 算法+数据结构=程序算法(Algorithm)对操作的描述,解决问题的方法数据结构(Date Structure )对数据的描述,数据的组织形式程序 (Programs)对算法的具体实现程序的效率不可能超过算法的限制算法是程序的灵魂 牛牛文库文档分享4算法的概念尼古拉斯沃斯(Niklaus Wirth) 算3算法的概念广义地说,为解决一个问题采取的方法和步骤。 如:菜谱、乐谱计算机算法分类数值算法求方程的根求

2、函数的定积分非数值算法图书检索人事管理排序算法 牛牛文库文档分享5算法的概念广义地说,为解决一个问题采取的方法和步骤。www4算法举例简单算法举例:求5!闰年的判定方法(能被4不被100整除,或者能被100和400整除的年份)素数的判定方法S1:输入一个正整数nS2:i=2(作为除数)S3:n被i除,得余数rS4:如果r=0,则输出 n不是素数,算法结束,否则执行S5S5:i+1赋予iS6:如果i = ,返回S3,否则输出n是素数,然后结束 牛牛文库文档分享6算法举例简单算法举例: 牛牛文库5算法的特性有穷性包含有限的步骤,在合理限度内可以完成确定性每一步必须明确,惟一性,非歧义性有零个或多个

3、输入需要从外界获取必要的信息有一个或多个输出需要把求解结果进行输出,有意义有效性每一步都能有效地执行 牛牛文库文档分享7算法的特性有穷性 牛牛文库文档分6算法的表示方法自然语言传统流程图改进的流程图N-S图(盒图)PAD图(问题分析图)伪代码 牛牛文库文档分享8算法的表示方法自然语言 牛牛文库7自然语言优点通俗易懂缺点文字冗长易出现歧义性 牛牛文库文档分享9自然语言优点 牛牛文库文档分享8传统流程图优点:描绘直观,容易掌握缺点:对流程线没有严格控制七种基本流程图符号(P20)求最大公约数S1: 输入m,nS2:如果mn,则m,n交换S3:求m除以n的余数rS4:如果r不为0,则n赋给m,r赋给

4、n,求m除以n的余数r,返回S4S5:如果r为0,则打印n,然后结束求素数?开始输入m,nmn?m,n交换求m除以n的余数rr0打印nn赋给m,r赋给n,求m除以n的余数r结束YYNN 牛牛文库文档分享10传统流程图优点:开始输入m,nmn?m,n交换求m除以9改进的流程图优点限制箭头滥用,保证算法质量构成结构化算法三种基本算法结构顺序结构选择结构(分支结构)循环结构(重复结构)当型循环(While型循环)直到型循环(Until型循环) 牛牛文库文档分享11改进的流程图优点 牛牛文库文档10顺序结构ABba 牛牛文库文档分享12顺序结构AB 牛牛文库文档11选择结构ABabpYN当p为“真”当

5、p为“假” 牛牛文库文档分享13选择结构ABabpYN当p为“真”当p为“假”www.n12循环结构Aabp1YWhile型循环N当p1为“真”当p1为“假”Aabp2NUntil型循环Y当p2为“真”当p2为“假” 牛牛文库文档分享14循环结构Aabp1YWhile型循环N当p1为“真”当p13循环结构的比较Aabp1YWhile型循环NAabp2NUntil型循环Y 条件的判定位置不同 条件真假的走向不同 牛牛文库文档分享15循环结构的比较Aabp1YWhile型循环NAabp2N14三种基本算法结构的共同特点只有一个入口只有一个出口结构内每一部分都有机会被执行到结构内不存在“死循环”例:

6、求素数?AabBABa 牛牛文库文档分享16三种基本算法结构的共同特点只有一个入口AabBABaww15改进的流程图用三种基本控制结构顺序组成的算法,可以解决任何复杂的问题整体顺序组成可相互嵌套 牛牛文库文档分享17改进的流程图用三种基本控制结构顺序组成的算法,可以解决任16其他基本结构多分支选择结构 A Bp G 牛牛文库文档分享18其他基本结构多分支选择结构 A Bp Gwww.17N-S图(盒图)I.Nassi和B.Shneiderman提出取消流程线,不能任意转移控制使用N-S图设计出来的程序必然是结构化程序容易表示嵌套关系容易确定局部和全局数据的作用域 牛牛文库文档分享19N-S图(

7、盒图)I.Nassi和B.Shneiderma18ABC条件TFAB循环条件循环体循环条件循环体条件Case1部分值1值2值nCase2部分Casen部分N-S的基本符号 牛牛文库文档分享20ABC条件TFAB循环条件循环体循环条件循环体条件Cas19N-S图用N-S图表示各种算法闰年的判定求素数求最大公约数 牛牛文库文档分享21N-S图用N-S图表示各种算法20PAD图(问题分析图)Problem Analysis Diagram 用二维树型结构表示使用PAD符号设计出来的程序必然是结构化程序描绘的结构非常清晰用PAD图表现程序逻辑,易读、易懂、易记支持自顶向下,逐步求精方法的使用 牛牛文库

8、文档分享22PAD图(问题分析图)Problem Analysis21P1P2P1P2CL1L2LnP1P2PnWHILE CPUNTIL CPPAD图基本符号 牛牛文库文档分享23P1P2P1P2CL1L2LnP1P2PnWHILE22伪代码(Pseudo Code)用结构化程序设计语言的语法控制框架,在内部可以灵活使用自然语言来表示各种操作比流程图灵活易改,可以使用普通的正文编辑程序进行修改可以作为注释直接插在源程序中,提高文档质量缺点:不如图形工具直观 牛牛文库文档分享24伪代码(Pseudo Code)用结构化程序设计语言的语23举例BEGINinput m,nif mn exchan

9、ge m and nm%n rwhile r 0 n m r n m%n rprint nEND开始输入m,nmn?m,n交换求m除以n的余数rr0打印nn赋给m,r赋给n,求m除以n的余数结束 牛牛文库文档分享25举例BEGIN开始输入m,nmn?m,n交换求m除以n24计算机语言计算机语言对算法的实现必须严格遵循所用语言的语法规则 牛牛文库文档分享26计算机语言计算机语言 牛牛文库25计算机语言 CBEGINinput m,nif mn exchange m and nm%n rwhile r 0 n m r n m%n rprint nENDmain() int m,n,r,t; sca

10、nf(“%d,%d”,&m,&n); if(mn) t=m;m=n;n=t; r=m%n; while(r!=0) m=n;n=r;r=m%n; printf(“n=%d”,n); 牛牛文库文档分享27计算机语言 CBEGINmain()www.niuwk.26结构化程序设计方法程序:数据结构:数据的描述算法:操作的描述语言:具体的实现工具程序设计方法:设计的方法 牛牛文库文档分享28结构化程序设计方法程序: 牛牛27结构化程序设计方法结构化算法由基本结构顺序组成的算法结构结构化程序设计方法自顶向下逐步细化模块化设计结构化编码如:求解二次方程的根。 牛牛文库文档分享29结构化程序设计方法结构化

11、算法 28小结算法是程序的灵魂算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性算法的表示方法:自然语言、传统流程图、改进的流程图、N-S图、PAD图、伪代码结构化程序设计方法:自顶向下、逐步细化、模块化设计、结构化编码 牛牛文库文档分享30小结算法是程序的灵魂 牛牛文库29上机安排时间:周四12节地点:教一楼101经贸1501教一楼105会计1501、会计1502教一楼112商务1501、信管1501教一楼115金融1501教一楼124经济1501 牛牛文库文档分享31上机安排时间:周四12节 牛牛30上机作业1上机作业1: 熟悉C程序的运行环境和运行方法安装和熟悉 Turbo C /VC+6.0输入并运行教材例题1.1和1.2,熟悉运行环境和运行方法编写一个程序,求两个整数m和n的最大公约数。作业提交作业管理系统:经管院网站首页-网上实验室-实验报告提交课程+教师姓名+学号 牛牛文库文档分享32上机作业1上机作业1: 牛牛文31上交作业要求作业计入平时成绩请按时按指定方式交作业,逾期未交累计三次者取消考试资格请独立完成作业,不准相互抄袭,一经发现,抄袭者和被抄袭者均计零分,累计三次者取消考

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论