- 1、本文档共99页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机文化基础-第7章 程序设计基础与基本数据结构
计算机基础南京信息工程大学滨江学院计算机系计算机基础课程组第7章 程序设计基础与基本数据结构南京信息工程大学滨江学院计算机系教 学 目 标 通过学习能初步具备程序设计相关的理论知识和目前主流的程序方法;理解程序的本质“算法+数据结构”,初步掌握简单基本的线性和非线性数据结构,以及在查找和排序上的简单应用。1程序设计方法学2结构化程序设计方法和面向对象程序设计方法3程序的本质4简单数据结构-线性表、树5查找与排序教学重点和难点1算法的描述—流程图2栈和队列的操作及简单应用3二叉树的表示及遍历4简单查找与二分法查找5基本排序算法与堆排序章节安排7.1 程序设计基础7.1.1 程序设计方法学与风格7.1.2 结构化程序设计7.1.3 面向对象的程序设计7.2 基本数据结构7.2.1 算法与数据结构7.2.2 基本线性数据结构7.2.3 基本非线性数据结构7.2.4 基本数据结构的应用7.3 小结7.4 习题7.1 程序设计基础7.1.1. 程序设计方法学与风格程序是用来控制计算机操作的一系列代码。而程序设计目的是利用计算机对现实问题进行求解。计算机科学家、图灵奖获得者尼克劳斯·威茨教授对程序进行了经典定义: 程序=算法+数据结构随着软件产业的迅猛发展和软件开发的工程化日趋完善,程序与软件开发环境的关系越来越紧密,开发工具的选择对程序的开发效率有着非常大的影响,有时会起到事半功倍的效果。对程序的定义进行了扩充: 程序=算法+数据结构+开发环境1. 程序设计方法学与风格程序设计方法学是探讨程序设计的理论和方法的学科。用以指导程序设计各阶段工作的原理和原则,以及依此提出的设计技术。程序设计方法学的目标是能设计出可靠、高效、易读而且代价合理的程序。更通俗地说,什么样的程序是一个“优秀”的程序,怎样才能设计出“优秀”的程序。程序设计的一般过程应包括:分析实际问题并抽象,利用数学建模技术构建问题的数学模型,借助计算方法和数据模型构造合适数据结构,进而设计算法,最后借助计算机语言实现算法形成程序。2. 源程序编写的一般规范良好的程序设计风格可以使程序结构清晰合理,使程序代码易于测试和维护。程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰。2. 源程序编写的一般规范1)标识符命名及书写规则(1)规范的基本要求(2)特殊约定(3)源代码文件标识符命名规则2)注释及格式要求3)缩进规则4)代码的排版布局 7.1.2 结构化程序设计迪克斯特拉(E. W. Dijkstra)在1969年提出了结构化程序设计方法,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使每一个模块的完成变得简单且明确,为设计一些较大的软件打下了良好的基础。程序的顺序、选择和循环三种控制流程,这就是结构化程序设计方法强调使用的三种基本结构。结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。结构化程序设计具有以下优点:①整体思路清楚,目标明确。②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。③在系统分析时可诊断出原系统中存在的问题和结构上的缺陷。程序设计步骤:(1)分析问题。(2)建立数学模型。(3)选择算法。(4)编写程序。(5)调试运行。(6)分析结果。(7)写出程序的文档。【例7-1】输出2到N之间的素数(质数)。7.1.3 面向对象的程序设计面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。对象(Object)是一个现实实体的抽象。一个对象可被认为是一个将数据(属性)和程序(方法)封装在一起的实体,程序用来刻画该对象的动作或对它接收到的外界信号的反应,这些对象操作有时称为方法。类是构成面向对象程序设计的基础,它把数据和函数封装在一起,是具有相同操作功能和相同数据格式(属性)的对象抽象,它可以被看作抽象数据类型的具体实现。类与对象的关系:类是用户自定义的数据类型,是用来描述只有相同属性和方法的对象集合,它定义了该集合中每个对象所共有的属性和方法,对象是类的实例。例如,苹果是一个类,而放在桌上的那个苹果则是一个对象。面向对象的基本特征(1)对象唯一性(2)抽象性(3)封装性(4)继承性(5)多态性与结构化程序设计方法的比较: 结构化设计方法中,程序被划分成许多个模块,这些模块被组织成一个树型结构;并且数据和对数据的操作(函数或过程)是完全分离的。 在面向对象程序设计中,倒转这种依赖关系,创建的抽象不依赖于任何细节,而细节则高度依赖于上层的抽象;更为重要的是将数据与对数据的操作封装在一起构成一个整体。? 面向对象的程序设计过程
文档评论(0)