程序设计导论.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习目标与要求 重点 1)理解两种主要的程序设计方法 2)掌握VC集成环境下C++程序开发的基本流程 难点 1)面向对象程序设计方法及基本概念 2)VC集成开发环境 本章要点 本章将从介绍程序设计语言的发展史开始,阐述程序设计的两种主要方法─结构化程序设计方法和面向对象程序设计方法,并介绍几种常用的软件集成开发环境,最后简要介绍网络程序设计的有关概念。 1.1 结构化程序设计 程序设计思想与计算机语言的发展 程序的构成 计算机语言的发展 1. 机器语言 2. 汇编语言 3. 高级语言 结构化程序设计方法 1. 结构化程序设计的基本概念(特点) 自顶向下、逐步求精 模块化 语句结构化 用程序流程图表示的三种程序结构 : 2. 结构化程序设计的基本过程 针对具体问题建立相应的数学模型 设计相应的算法 编程实现算法 测试与调试 【例1.1.1】编程实现求一元二次方程ax2+bx+c=0的根 第一步:首先要确定求解的数学模型: 第二步:根据数学模型设计算法是关键的一步 自然语言方式 算法的描述 伪代码方式 程序流程图方式 第三步:根据算法按某种计算机语言编写出相应的程序 第四步:测试程序 用伪代码描述的算法示例 常用的流程图符号 用流程图描述的算法示例 结构化程序设计和一般的程序设计过程主要不同点在于算法的设计 自顶向下、逐步求精的分析过程 自底向上、逐步实现的综合过程 分析过程是指通过对需要解决的问题的详细分析,不断地将其进行分解,每分解一次都是对问题的进一步细化 实现过程与之相反,它从底层模块开始,每个模块都由顺序、选择、循环三种结构实现,底层模块同时也成为实现上层模块的基础 例:判断某数是否是素数的模块分解图 1.2 面向对象程序设计 结构化设计存在的问题 基于功能的设计方法 结构化程序设计方法是基于功能的,功能是易变的,因而程序具有不稳定性、易变性,难以适应系统中的变动,往往功能的变化就意味着重新设计 。 数据与处理数据的行为或方法(函数)相分离 结构化程序设计只是封装了各个功能模块,而每个功能模块可以随意修改客体的属性,因此一旦某个客体属性的表达方式发生了变化,或某个行为发生了变化,就有可能影响整个系统。 可重用性差 结构化程序设计方法的可重用单位是模块 ,这样的重用粒度显得非常不够。 面向对象设计方法的形成与发展 1. 面向对象程序设计始于面向对象程序设计语言的出现,它产生的直接原因是为了提高程序的抽象程度,以控制软件的复杂性。 2. 面向对象程序设计的许多原始思想都来之于Simula语言,并在Smalltalk语言的完善和标准化过程中得到更多的扩展。 3. 面向对象程序设计(OOP)为程序员提供了一种更加抽象和易于理解的新的计算模型,不能期望OOP能解决更多的问题,或者减少运算的复杂度。但OOP却能用一种更容易被人们所理解和接受的方式去描述和解决现实问题。 4.面向对象程序设计方法虽然比结构化方法能更自然地表现现实世界,但它并不能解决所有问题,它本身存在固有的局限性。 面向对象的主要概念 1.抽象(Abstract) 抽象是指忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。 抽象包括过程抽象和数据抽象两个部分。 2.封装(Encapsulation) 封装是指将现实世界中某个客体的属性与行为集成在一个逻辑单元内部的机制。 3.对象(Object) 面向对象程序设计中的对象是现实世界中的客体在应用程序中的具体体现,其中封装了客体的属性信息和行为方式,并用数据表示属性,用方法表示行为方式。 对象一般来说具有5个基本特征:自治性、封闭性、交互性 、被动性 、暂存性。 4.类(Class) 类(Class),是面向对象程序设计中的一个静态概念,它是对客观世界中一组具有共同属性的事物的抽象,类提供的是对象实例化的模板。 类之间主要存在3种关系:关联、聚合和泛化。 关联是指两个类或多个类之间的一种广泛的关系,只要几个类的对象之间具有某种(属性上的)依赖关系,就称

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档