面向过程的程序设计与流程图.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
流程图分析(2) 从1到i-1测试是否i的因子 如果是,求和 若和等于i,则是完数 令j=1 j能否整除i 记录j,计算和值sum j<i? j++ Y N Y sum==i? Y 是完数 N for(i=1;i<=n;i++){ } 从流程图到代码 void main() { } 开始 输入待测试数的范围n=1000 结束 令j=1 j能否整除i 记录j,计算和值sum j<i? j++ Y N Y N sum==i? Y 令i=1(从第一个数开始) 按格式输出完数i i<=n N Y N i++ for(j=1;j<i;j++){ } if((i%j)==0) { } 1)顶层算法 for(i=1;i<=n;i++) { 判断i是否是“完数”; 是完数则按格式输出; } ? ? ? ? 2)判断是否是”完数” 的算法 for(j=1;j<i;j++) 找i的因子,并累加; 如果累加值等于i,i是完数 ? ? ? ? ? ? 伪代码(语言)分析(1) 3)进一步细化——判断i是否“完数”算法 s=1 for(j=1;j<i;j=j+1) if (i%j=0) (j是i的因子) s=s+j; if (s==i) i是“完数”; ? ? ? ? ? 伪代码(语言)分析(2) 在同学们学完c语言后,我们对面向过程的程序设计方法做个总结,同学们更容易理解。 例:放假回家的流程 例:数理化培训。面向过程是每个同学(数据)逐个接受数学老师、物理老师、化学老师的辅导(处理)、;面向对象是每个同学有自己的老师和辅导对策(封装数据和处理)。 面向过程的程序设计 与流程图 2013-2 程序设计的基本方法 面向过程的程序设计 上学期的内容 面向对象的程序设计 本学期的内容 面向过程的程序设计方法 在二十世纪六七十年代,Yourdon E. 和 Constantine L. 等人借鉴工厂利用流水线组织生成的方法,提出了结构化程序开发技术,自顶向下、逐层细化地将系统分解成层级结构的模块,每个模块实现为一个函数或过程。 从功能的角度分析问题,将待解决的问题分解成若干个功能模块,每个功能模块描述一个操作的具体过程。 面向过程的程序设计方法 数据和过程分离 程序运行时,输入的数据从一个过程流向下一个过程,这好比流水线上的生产资料和半成品从一个工段到下一个工段。 功能 输入数据 输出数据 面向过程的程序设计方法 程序控制结构 B A (顺序) A P B 真 假 (选择) P A 假 真 (循环) 面向过程的程序设计方法 编程思想的描述 流程图(P36) N-S图(P36) 伪代码 自然语言步骤 根据编程思想的代码实现 必须熟练掌握c/c++语言的基本语法 面向过程的程序设计方法 需要掌握的c/c++基本语法 数据 数据类型 基本数据类型 数组、结构、共用体、枚举、指针、引用 常量与变量 作用域和生存期 处理数据 运算符和表达式 流程控制 函数 面向过程的程序设计方法 优点: 能有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 缺点: 可重用性差、难以开发大型软件 把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改。程序=(算法)+(数据结构) “自顶向下”的设计方法 自顶向下的方法是从全局走向局部、从概略走向详尽的设计方法。自上而下是系统分解和细化的过程。 【例】编算法找出1000以内所有完数 找出1000之内的所有完数,并按下面格式输出其因子:28 it’s factors are 1,2,4,7,14。 理解问题: 例如,28的因子为1、2、4、7,14,而28=1+2+4+7+14。因此28是“完数”。 这里不是要质因数,所以找到因数后也无需将其从数据中“除掉”。 每个因数只记一次,如8的因数为1,2,4而不是1,2,2,2,4。(注:本题限定因数不包括这个数本身) 流程图分析(1) 开始 依次测试每个数是否为完数 输入待测试数的范围 n=1000 按格式输出完数 结束 测试第i个数是否为完数 令i=1(从第一个数开始) i<=n 是完数? 按格式输出该数 Y N Y N i++ 在同学们学完c语言后,我们对面向过程的程序设计方法做个总结,同学们更容易理解。 例:放假回家的流程 例:数理化培训。面向过程是每个同学(数据)逐个接受数学老师、物理老师、化学老师的辅导(处理)、;面向对象是每个同学有自己的老师和辅导对策(封

文档评论(0)

琴声悠啭 + 关注
实名认证
内容提供者

可代下一些平台文档,价格优惠,有需要的朋友可私信留言。

1亿VIP精品文档

相关文档