程序设计的理解_第1页
程序设计的理解_第2页
程序设计的理解_第3页
程序设计的理解_第4页
程序设计的理解_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

程序设计的理解程序设计的理解全文共6页,当前为第1页。程序设计的理解全文共6页,当前为第1页。程序设计的理解程序是一组计算机能够识别和执行的指令。一个特定的指令序列用来完成一定的功能。程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。常见的程序设计方法有五种:结构化程序设计、

面向对象程序设计、事件驱动的程序设计、

逻辑式对象程序设计、并行程序设计。一、结构化程序设计为了提高程序的可读性、可重用性等,逐渐出现了将程序开发中经常用到的相同的功能,比如数学函数运算、字符串操作等,独立出来编写成函数,然后按照相互关系或应用领域汇集在相同的文件里,这些文件构成了函数库。函数库是一种对信息的封装,将常用的函数封装起来,人们不必知道如何实现它们。只需要了解如何调用它们即可。函数库可以被多个应用程序共享,在具体编程环境中,一般都有一个头文件相伴,在这个头文件中以标准的方式定义了库中每个函数的接口,根据这些接口形式可以在程序中的任何地方调用所需的函数。程序设计的理解全文共6页,当前为第2页。由于函数、库、模块等一系列概念和技术的出现,程序设计逐渐变成如图所示的风格。程序被分解成一个个函数模块,其中既有系统函数,也有用户定义的函数。通过对函数的调用,程序的运行逐步被展开。阅读程序时,由于每一块的功能相对独立,因此对程序结构的理解相对容易,在一定程度上缓解了程序代码可读性和可重用件的矛盾,但并未彻底解决矛盾。随着计算机程序的规模越来越大,这个问题变得更加尖锐,于是出现了另一种编程风格——结构化程序设计。程序设计的理解全文共6页,当前为第2页。在结构化程序设计中,任何程序段的编写都基于3种结构:分支结构、循环结构和顺序结构。程序具有明显的模块化特征,每个程序模块具有惟一的出口和入口语句。结构化程序的结构简单清晰,模块化强,描述方式贴近人们习惯的推理式思维方式。因此可读性强,在软件重用性、软件维护等方面都有所进步,在大型软件开发尤其是大型科学与工程运算软件的开发中发挥了重要作用。因此到目前为止,仍有许多应用程序的开发采用结构化程序设计技术和方法。即使在目前流行的面向对象软件开发中也不能完全脱离结构化程序设计。向对象的程序设计面向对象的程序设计方法是程序设计的一种新方法。所有面向对象的程序设计语言一般都含有三个方面的语法机制,即对象和类、多态性、继承性。1.对象和类对象的概念、原理和方法是面向对象的理序设计语言晕重要的特征。对象是程序设计的理解全文共6页,当前为第3页。用户定义的类型(称为类)的变量。一个对象是既包含数据又包合操作该数据的代码(函数)的逻辑实体。对象中的这些数据和函数称为对象的成员,即成员数据和成员函数。对象中的成员分为公有的和私有的。公有成员是对象与外界的接口界面。外界只能通过调用访问一个对象的公有成员来实现该对象的功能。私有成员体现一个对象的组织形式和功能的实现细节。外界无法对私有成员进行操作。类对象按照规范进行操作,将描述客观事物的数据表达及对数据的操作处理封装在一起,成功地实现了面向对象的程序设计。当用户定义了一个类类型后,就可以在该类型的名下定义变量(即对象)了。类是结构体类型的扩充。结构体中引入成员函数并规定了其访问和继承原则后便成了类。程序设计的理解全文共6页,当前为第3页。2.多态性面向对象的程序设计语言支持“多态性”,把一个接口用于一类活动。即“一个接口多种算法”。具体实施时该选择哪一个算法是由特定的语法机制确定的。C++编译时和运行时都支持多态性。编译时的多态性体现在重载函数和重载运算符等方面。运行时的多态性体现在继承关系及虚函数等方面。3.继承性C++程序中,由一个类(称为基类)可以派生出新类(称为派生类)。这种派生的语法机制使得新类的出现轻松自然,使得一个复杂事物可以被顺理成章地归结为由逐层派生的对象描述。“派生”使得程序中定义的类呈层次结构。处程序设计的理解全文共6页,当前为第4页。于子层的对参既具有其父层对象的共性.又具有自身的特性。继承性是一个类对象获得其基类对象特性的过程。C++中严格地规定了派生类对其基类的继承原则和访问权限,使得程序中对数据和函数的访间,需在家族和朋友间严格区分。程序设计的理解全文共6页,当前为第4页。事件驱动的程序设计事件驱动的程序设计实际上是面向对象程序设计的一个应用,但它目前仅适用于windows系列操作系统。windows环境中的应用程序与MS-DOS环境中的应用程序运行机制不同、设计程序的方式也不一样。windows程序采用事件驱动机制运行,这种事件驱动程序由事件的发生与否来控制,系统中每个对象状态副改变都是事件发生的原由或结果,设计程序时需以一种非顺序方式处理事件,与顺序的、过程驱动的传统程序设计方法迥异。事件也称消息,含义比较广泛,常见的事件有鼠标事件(如民标移动、单击、掠过窗口边界)、键盘事件(如按键的压下与拾起)等多种。应用程序运行经过一系列必要的初始化后,将进入等待状态,等待有事件发生,一旦事件出现,程序就被激活并进行相应处理。事件驱动程序设计是围绕着消息的产生与处理进行的.消息可来自程序中的某个对象,也可由用户、wlndows或运行着的其他应用程序产生。每当事件发生时,Windows俘获有关事件,然后将消息分别转发到相关应用程序中的有关对象,需要对消息作出反应的对象应该提供消息处理函数,通过这个消息处理函数实现对象的一种功能或行为。所以编写事件驱动程序的大部分工作是为各个对程序设计的理解全文共6页,当前为第5页。象(类)添加各种消息的处理函数。由于一个对象可以是消息的接收者,同时也可能是消息的发送者,所发送的消息与接收到的消息也可以是相同的消息,而有些消息的发出时间是无法预知的(比如关于键盘的消息),因此应用程序的执行顺序是无法预知的。程序设计的理解全文共6页,当前为第5页。四、逻辑式程序设计逻辑式程序设计的概念来自逻辑式程序设计语言Prolog这一曾经在计算机领域引起震动的日本“第五代”计算机的基本系统语言,在这种“第五代”计算机中,Prolog的地位相当于当前计算机中的机器语言。Prolog主要应用在人工智能领域,在自然语言处理、数据库查询、算法描述等方面都有应用,尤其适于作为专家系统的开发工具。Prolog是一种陈述式语言,它不是一种严格的通用程序设计语言,使用Prolog编写程序不需要描述具体的解题过程、只需结出一些必要的事实和规则,这些规则是解决问题方法的规范说明,根据这些规则和事实.计算机利用渭词逻辑,通过演绎推理得到求解问题的执行序列。五、并行程序设计一个有实际应用的并行算法,最终总要在并行机上实现,为此首先就要将并行算法转化为并行程序,此过程就是所谓的并行程序设计(ParallelProgram)。它要求算法设计者、系统结构师和软件工作者广泛频繁的交互。因为设计并行程序涉及到的知识面较广,主要包括操作系统中的有关知识和优化编译方面的知识。操作系统内容非常丰富,并行程序中最基本的计算要素如任务、进程、线程等基程序设计的理解全文共6页,当前为第6页。本概念、同步机制和通信操作等。程序设计的理解全文共6页,当前为第6页。目前并行程序设计的状况是:⑴并行软件的发展落后于并行硬件;⑵和串行系统与应用软件相比,现今的并行系统与应用软件甚少且不成熟;⑶并行软件的缺乏是发展并行计算的主要障碍;⑷不幸的是,这种状态似乎仍在继续着。究其原因是并行程序设计远比串行程序设计复杂:⑴并行程序设计不但包含了串行程序设计

温馨提示

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

评论

0/150

提交评论