《计算机 基础》-第7章 计算机技术基础_第1页
《计算机 基础》-第7章 计算机技术基础_第2页
《计算机 基础》-第7章 计算机技术基础_第3页
《计算机 基础》-第7章 计算机技术基础_第4页
《计算机 基础》-第7章 计算机技术基础_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

7.1数据库技术基础随着计算机技术的发展,人类社会己进入了信息化时代。信息资源己成为最重要和最宝贵的资源之一,建立一个行之有效的信息系统是企业组织生存和发展的重要条件。作为信息系统核心技术和重要基础的数据库技术、多媒体技术、程序设计技术也有了飞速发展,并得到了越来越广泛地应用。本章涉及计算机技术的基本内容,主要介绍数据库技术、多媒体技术、程序设计技术的原理和概念。从20世纪50年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至20世纪60年代,数据处理己成为计算机应用的主要领域。20世纪60年代末,数据库技术作为数据处理中的一门新技术开始发展起来。经过30多年的发展,数据库技术己经成为计算机技术的重要分支,是数据管理的实用技术。下一页返回7.1数据库技术基础7.1.1数据库的基本概念

1.数据、信息和数据处理

(1)数据(Data)。不仅包括狭义的数值数据,而且包括文字、声音、图形等一切能被计算机接收并处理的符号。即包括数值数据和非数值数据。

(2)信息(Information)。信息是经过加工的数据,是现实世界事物的存在方式或运动状态的反映。具有可感知、可存储、可加工、可传递和可再生等自然属性,信息又是社会上各行各业不可缺少的资源,这也是信息的社会属性。

(3)信息与数据的关系。数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的语义解释。总之,二者之间的关系可以表示为:信息=数据+处理。下一页返回上一页7.1数据库技术基础(4)数据处理。人们将原始信息表示成数据,称为源数据,然后对这些源数据进行汇集、存储、综合、推导,从这些原始的、杂乱的、难以理解的数据中抽取或推导出新的数据,这些新的数据称为结果数据(信息),结果数据对某些特定的人们来说是有价值的、有意义的。这些结果数据,可以作为某种决策的依据或用于新的推导。这一过程通常称为数据处理,其处理过程如图7-1所示。信息是有价值的,信息的价值与它的准确性、及时性、完整性和可靠性有关。因为信息的价值必须通过使用信息的决策者的行为结果来体现。所以,为了提高信息的价值,就要用科学的方法来管理信息,这种科学的方法就是数据库技术。下一页返回上一页7.1数据库技术基础2.数据库、数据库管理系统和数据库系统

(l)数据库。数据库(Database,DB)是长期存储在计算机系统内的一个通用化的、综合性的、有结构的、可共享的数据集合,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并为各种用户所共享。数据库的创建、运行和维护是在数据库管理系统控制下实现的,并可为各种用户共享。

(2)数据库管理系统。数据库管理系统(DatabaseManagementSystem,DBMS)是位于用户与操作系统(OS)之间的一层数据管理软件,如图7-2。数据库在建立、运行和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户方便地定义数据和操纵数据,并能保证数据的安全性、完整性,保证多用户对数据的并发使用及发生故障时的系统恢复。下一页返回上一页7.1数据库技术基础(3)数据库系统。数据库系统(DatabaseSystem,DBS)是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。

DBS由数据库、数据库管理系统及其开发工具、数据库管理员、计算机硬件和软件、应用系统、应用程序用户和终端用户等组成,如图7-3。3.数据管理技术的发展数据库技术是应数据管理任务的需求而产生的。数据管理技术是数据处理的中心问题,它经历了人工管理、文件系统和数据库系统3个阶段。

(1)人工管理阶段(20世纪50年代中期以前)

计算机主要用于科学计算,其他工作还没有展开。下一页返回上一页7.1数据库技术基础外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据处理的方式基本上是批处理。在这个阶段,应用程序和数据之间的关系如图7-4所示。在人工管理阶段,数据处理具有以下几个特点。①数据量较少。数据和程序一一对应,即一组数据对应一个程序,数据面向应用,独立性很差。由于应用程序所处理的数据之间可能会有一定的关系,所以程序和程序之间就会有大量的重复数据。②数据不保存。因为在该阶段计算机主要用于科学计算,一般不需要将数据长期保存,只在计算一个题目时,将数据输入计算机,计算完毕得到结果即可。下一页返回上一页7.1数据库技术基础③没有软件系统对数据进行管理。程序员不仅要规定数据的逻辑结构,而且在程序中还要设计物理结构,包括存储结构的存取方法、输入/输出方式等。也就是说,数据对程序不具有独立性。一旦数据在存储器上改变物理地址,就需要相应地改变用户程序。人工处理数据有两个缺点:①应用程序之间的依赖性太强,不独立;②数据组和数据组之间可能有许多重复数据,造成数据冗余。(2)文件系统阶段(20世纪50年代后期至60年代中期)

计算机不仅用于科学计算,还用于信息管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。下一页返回上一页7.1数据库技术基础此时,外部存储器己有磁盘、磁鼓等直接存取存储设备,软件领域出现了高级语言和操作系统。操作系统中的文件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联机实时处理。文件系统阶段,应用程序和文件之间的关系如图7-5。该阶段,数据管理具有以下几个特点。①数据可以长期保留,数据的逻辑结构和物理结构有了区别,程序可以按名访问,不必关心数据的物理位置,由文件系统提供存取方法。②数据不属于某个特定的应用程序,即应用程序和数据之间不再是直接的对应关系,可以重复使用。但是文件系统只是简单地存取数据,相互之间并没有有机的联系,即数据存取依赖于应用程序的使用方法,不同的应用程序仍然很难共享同一数据文件。下一页返回上一页7.1数据库技术基础③文件组织形式的多样化,有索引文件、链接文件和Hash文件等。但文件之间没有联系,相互独立,数据间的联系要通过程序去构造。文件系统具有的几个缺点介绍如下。①数据冗余度大。文件与应用程序密切相关。相同的数据集合在不同的应用程序中使用时,经常需要重复定义、重复存储。②数据不一致性。由于相同数据的重复存储,单独管理,给数据的修改和维护带来难度,容易造成数据的不一致。③数据联系弱。文件系统中数据组织成记录,记录由字段组成,记录内部有了一定的结构。但是文件之间是孤立的,从整体上看没有反映现实世界事物之间的内在联系,因此很难对数据进行合理的组织以适应不同应用的需要。下一页返回上一页7.1数据库技术基础(3)数据库系统阶段(20世纪60年代末)。20世纪60年代末,在硬件方面,开始出现了具有数百兆字节容量、价格低廉的磁盘;在软件方面,操作系统己开始成熟,程序设计语言的功能更加强大,操作和使用更加方便。这些硬件与软件技术为数据库技术的发展提供了良好的基础。从现实需求来看,数据量急剧增加,对数据的管理和分析需求力度加大,人们对数据管理技术提出了更高的要求,希望面向企业或部门以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力。同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不至于影响数据的物理结构,也不影响应用程序,以降低应用程序的开发与维护费用。数据库技术正是在这样一个环境下发展起来的。下一页返回上一页7.1数据库技术基础标志数据管理技术进入数据库阶段的3件大事:①1968年美国IBM公司推出层次模型的IMS系统;②1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型;③1970年美国IBM公司的E.F.Codd连续发表论文,提出关系模型,奠定了关系数据库的理论基础。数据库管理系统克服了传统的文件管理方式的缺陷,提高了数据的一致性、完整性,减少了数据冗余。数据库系统阶段应用程序与数据库的关系如图7-6所示。在这种管理方式下,许多应用程序可以在数据库管理系统的控制下共享数据库中的数据。下一页返回上一页7.1数据库技术基础数据库系统阶段的几个特点介绍如下。①采用复杂的数据模型表示数据结构。数据模型不仅描述数据本身的特点,还描述数据之间的联系。数据不再面向某个应用,而是面向整个应用系统。②数据共享性高、冗余度小、易扩充。所要管理的数据不再面向特定的某个或某些应用,而是面向整个应用系统,因此大大降低了数据冗余度,实现了数据共享。③有较高的数据独立性。数据库也是以文件方式存储数据的,但是它是数据的一种更高级的组织形式,在应用程序和数据库之间由数据库管理系统(DBMS)负责数据的存取。DBMS对数据的处理方式和文件系统不同,它把所有应用程序中使用的数据及数据间的联系汇集在一起,以便于应用程序查询和使用。下一页返回上一页7.1数据库技术基础7.1.2数据模型

1.数据模型的概念。描述实体的数据也是相互联系的。通常,这种联系表现在两个方面:一个方面是反映实体内部的联系,反映在数据上便是记录内部各数据项之间的联系;另一方面是反映实体之间的联系,反映在数据上则是记录之间的联系,这种联系在数据模型中给予描述。数据库系统的一个核心问题,就是研究如何表示和处理实体及实体之间的联系。通常把表示实体及其实体之间联系的数据库的数据结构称为数据模型;换句话说,数据库系统中所包含的所有记录类型,按照它们之间的联系组合在一起,构成一个整体。这个整体的结构就称之为数据库的数据模型,它是数据库中数据全局逻辑结构的描述。下一页返回上一页7.1数据库技术基础数据模型是数据库中一个关键的概念,它是实体间联系的一个轮廓视图。数据模型的好坏,直接影响数据库的性能。数据模型的选择,是设计数据库的一项首要任务。

2.数据模型的组成要素数据模型应包含数据结构、数据操作和数据完整性约束3个部分。

(1)数据结构。数据结构规定了如何把基本的数据项组织成较大的数据单位,以描述数据的类型、内容、性质和数据之间的相互关系。它是数据模型最基本的组成部分,规定了数据模型的静态特性。在数据库系统中通常按照数据结构的类型来命名数据模型,例如,采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。下一页返回上一页7.1数据库技术基础(2)数据操作。数据操作是指一组用于指定数据结构的任何有效的操作或推导规则。数据库中主要的操作有查询和更新(插入、删除、修改)两大类。数据模型要给出这些操作确切的含义、操作规则和实现操作的语言。因此,数据操作规定了数据模型的动态特性。

(3)数据的约束条件。数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依赖规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。数据模型应该反映和规定本数据模型必须遵守的基本的、通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。下一页返回上一页7.1数据库技术基础此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。例如,某学校学生数据库中规定:学生入学年龄不得超过25岁,入学分数不得低于400分等。

3.数据模型的分类目前,数据库领域中最常用的数据模型有4种,分别是层次模型、网状模型、关系模型、面向对象模型。层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代至80年代初非常流行,在当时的数据库系统产品上占据了主导地位。关系模型的数据库系统在70年代开始出现,目发展迅速,并己逐渐取代了非关系模型数据库系统的统治地位,现在流行的数据库系统大都是基于关系模型。下一页返回上一页7.1数据库技术基础(l)层次模型。层次模型(HierarchicalModel)采用树形结构表示实体与实体间的联系。在树中,把无双亲的记录称为根记录(根结点)。除根记录外,任何记录只有一个父记录(父结点)。一个父记录可以有多个子记录(子结点)。从根记录开始,一直到最下层的记录为止,所具有的层次称为该数据模型的层。如图7-7所示,就是一个层次模型的例子。在层次模型中,数据是按层次路径存取的。目前流行的大型数据库系统中,有许多采用的是层次模型。其中最著名的是IBM公司研制的IMS系统。

(2)网状模型。采用网络结构表示实体与实体间联系的数据模型称为网状模型(NetworkModel)。网状数据模型基本特征表现在一个父结点可以有多个子结点,而且一个子结点也可以有多个父结点。如图7-8所示,网状数据模型反映了数据间普遍存在的更为复杂的联系,下一页返回上一页7.1数据库技术基础它是一种比层次数据模型更具普遍性的结构,而层次结构实际上是网状结构的一个特例。在一些大规模厂商生产的中型以上的计算机系统中都配有网络模型的数据库系统。例如Burroughs公司的DMSⅡ系统,HP公司的IMAGE/3000等。

(3)关系模型(RelationalModel)。用表格数据来表示实体与实体间联系的数据模型。人们常常习惯于用表格的形式,表示所关心的现实世界中的信息。见表7-1,就是一个学生入学情况表。从这个表中,学生的入学主要信息一目了然。通常将这样一张表,称为一个关系。表中的每一列为关系中的一个属性(字段),表中的每一行为关系中的一个元组(记录)。关于关系的严格定义,在后文将详细讨论。实际上一个关系就相当于一个二维表格,而这个关系的全体元组,就是这个表格的所有记录。

下一页返回上一页7.1数据库技术基础

(4)面向对象模型。20世纪80年代以来,出现了大量的新一代数据库应用。由于层次、网状和关系数据库系统的设计日标源于商业事务处理,它们面对层出不穷的新一代数据库应用显得力不从心。人们一直在研究支持新一代数据库应用的数据库技术和方法,试图研制和开发新一代数据库管理系统。面向对象程序设计方法在计算机的各个领域,包括程序设计语言、人工智能、软件工程、信息系统设计以及计算机硬件设计等都产生了深远的影响。人们发现,把面向对象程序设计方法和数据库技术相结合能够有效地支持新一代数据库应用。于是,面向对象数据库系统研究领域应运而生。面向对象模型(Object-OrientedDataModel)能完整地描述现实世界的数据结构,具有丰富的表达能力,但模型相对比较复杂,涉及的知识比较多,因此面向对象数据库尚未达到关系数据库的普及程度。下一页返回上一页7.1数据库技术基础

7.1.3关系数据库概述

1.关系基本术语及特点

(1)关系基本术语①关系:一个关系对应通常说的一张一维表,见表7-1。②属性:表中的一列即为一个属性,又称为字段;给每一个属性起的一个名称,即为属性名,又称字段名。如表7-1有6列,对应6个属性名(学号、姓名、性别、年龄、入学日期和入学成绩)。③关系模式:对关系的描述。格式为:关系名(属性名1,属性名2,……属性名n)④元组:表中第一行开始的每一行称为一个元组,即通常所说的记录,如表7-1中的一行(0212,张超,男,18,2008-8-22,420)。下一页返回上一页7.1数据库技术基础⑤候选关键字:表中的某个属性或属性组,它可以唯一确定一个元组,也就可以成为该关系的候选关键字。如表7-1中的学号,可以唯一确定一个学生。⑥主关键字:表中可能有多个候选关键字,在应用中需要选用其中一个,被选择出的关键字称为主关键字,简称主键。⑦域:属性的取值范围,如人的年龄一般在0-100岁之间,人的年龄属性的域是(0-100),性别的域是(男,女)。⑧分量:元组中的一个属性值。

(2)关系的特点。关系数据模型简单明了,使用广泛。它主要有以下特点:①关系与关系之间通过关键字联系;②一个关系中行的次序可以任意交换;下一页返回上一页7.1数据库技术基础③一个关系中任意两行不能完全相同;④一个关系中列的次序也可以任意交换;⑤一个关系中不允许出现相同的两个字段名;⑥一个关系中同一列的数据项必须是类型相同的数据;⑦一个关系中每一行或每一列的数据项都是不可拆分的基本数据项。

2.关系数据库的基本概念用关系模型来描述数据之间的联系,所建立的数据库就是关系数据库。在关系数据库中,实体以及实体间的联系都是用关系来表示的。在一个给定的应用领域中,所有实体以及实体间的联系所形成关系的集合,就构成了一个关系数据库。下一页返回上一页7.1数据库技术基础在现代的关系型数据库管理系统中,一个关系数据库就是由若干关系(一维表)形成的集合。此外,还加入了视图、查询、存储过程、触发器、约束、规则等方便数据库的使用,增强数据库能力的描述及代码,使得数据库不仅仅是一组相关数据的集合,而且是以数据为核心、辅之以其他功能的一个整体。

3.关系运算对于关系模型,其运算有3种,即选择、投影和连接。

(1)选择运算。选择是从一个关系(表)中找出满足一定条件的所有元组(记录),组成新的关系(表)。所形成的新的关系,是原有关系的一个子集。也就是说,选择是对于记录的筛选,即在表格中筛选出若干行。例如,在表7-1中,按条件“年龄为10”进行选择,得到表7-2。下一页返回上一页7.1数据库技术基础(2)投影运算。投影是从一个关系(表)中选择所需要的若干属性(字段),构成一个新的关系(表)。所形成的关系,同样是原有关系的一个子集。与选择操作不同之处在于,投影是对于原有表中字段的筛选,即在表中筛选出若干列。如,在表7-1中,选择“学号”和“姓名”这两个属性进行投影,得到表7-3。(3)连接运算。连接是从两个关系中按一定的条件分别选取其中的若干属性(字段),形少戊新的关系。生成的新关系中行的选取,取决于规定的条件。例如,若在学生管理系统中有一张学生团员情况表,见表7-4。如果需要知道表7-1中学生的姓名、入学日期和是否为团员,可以按照“姓名相同”这个条件,对表7-1和表7-4进行连接操作,选取两个表中符合条件的记录中的所需字段,得到表7-5,它就是连接操作生成的新的关系。下一页返回上一页7.1数据库技术基础

7.1.4常用的数据库软件下面介绍目前常用的几种数据库软件。

1.Xbase数据库。Xbase数据库通常是对Dbase,Foxbase,Clipper之类的数据库的总称。这些数据库由于较早地进入我国,并且易学而被广泛地应用。如DbaseⅢ,Foxbase,其中Foxbase较Dbase提供了更强的功能。

2.VisualFoxPro数据库。VisualFoxPro是Microsoft公司在早期的Foxbase+数据库基础上融合了可视化概念发展的结果。在这个发展的过程中,版本从Foxbase+到FoxFro1.2以及FoxFro2.0,在这之后,制作FoxPro的Fox公司被Microsoft公司收购,FoxPro数据库又经历了从2.0,2.5,2.6,3.0到VisualFoxPro5.0,6.0的变化。下一页返回上一页7.1数据库技术基础VisualFoxPro不仅是可视化DBMS,也是强大的面向对象的应用程序编程工具。无论是简单地组织信息、运行查询、创建集成数据报表,还是最终用汇编写功能分配DBMS应用程序,VisualFoxPro都提供了可视化管理数据的强大工具和编辑工具。

3.Access数据库美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点介绍如下。(1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。下一页返回上一页7.1数据库技术基础(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的Xbase(Dbase,Foxbase的统称)数据库系统所无法实现的功能。

(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。

(4)作为Office套件的一部分,可以与Office集成,实现无缝链接。

(5)能够利用Web检索和发布数据,实现与Internet的连接。

Access主要适用于中、小型应用系统,或作为客户机/服务器系统中的客户端数据库。下一页返回上一页7.1数据库技术基础4.Oracle数据库。美国Oracle公司是一家著名的专门从事研究、生产关系数据库管理系统的专业厂家,1979年推出的Oracle第一版是世界上首批商用的关系数据库管理系统之一。之后相继推出了Oracle的更高版本。Oracle具有的特点具体介绍如下。

(1)它是一个多用户系统,能自动从批处理或在线环境的系统故障中恢复运行。

(2)系统提供了一个完整的软件开发工具Developer2000,包括交互式应用程序生成器、报表打印软件、字处理软件以及集中式数据字典,用户可以利用这些工具生成应用程序。

(3)Oracle以二维表的形式表示数据,并提供了SQL(结构式查询语言),可完成数据查询、操作、定义和控制等基本数据库管理功能。下一页返回上一页7.1数据库技术基础(4)Oracle拥有60多种大、中小型机、工作站及微机的运行版本,其中包括IBM等著名厂家的计算机都配有相应的Oracle产品,并且Oracle可以运行在多种操作系统下,具有很好的可移植性。

Oracle属于大型数据库系统,主要适用于大、中小型应用系统,或作为客户机/服务器系统中服务器端的数据库系统。

5.SQLServer数据库。SQLServer是Microsoft公司推出的适用于大型网络环境的数据库产品。一经推出,即得到广泛地应用并迅速占领了NT环境下的数据库领域,成为数据库市场上的一个重要产品。Microsoft公司经过对SQLServer的不断更新,目前己经推出了SQLServer2008最新版本,无论在功能上,还是在安全性、可维护性等方面较以前版本都有了很大的提高。

SQLServer具有的特点介绍如下。下一页返回上一页7.1数据库技术基础

(1)不依赖于网络协议,它可以和任何在使用工业标准网络协议的操作系统下运行的客户进行交流。

(2)SQLServer包括自动数据复制的特性,允许将任何SQL数据复制到其他SQLServer中或任何适应ODBC的数据库。

(3)支持分布式事务,支持XML。(4)新的数据类型:Bigint,SQL-variant和Table。(5)支持数据库和数据仓库,集成了数据挖掘。

(6)EnglishQuery使用户更容易得到数据。

SQLServer提供了一个可信的、高效率的智能数据平台,可以满足用户的各种类型的数据需求。适用于中、小型或大型数据库服务器端。返回上一页7.2多媒体技术基础多媒体技术是当代高科技的结品,自20世纪90年代以来得到了迅速发展。目前,多媒体技术获得了日益广泛地应用,多媒体技术深刻地影响着人们的生活方式、学习方式和工作方式,学好多媒体技术的基本知识是十分必要的。7.2.1多媒体技术概述

1.媒体与多媒体

(1)媒体。所谓“媒体”,是指信息传递和存储的最基本的技术和手段,即信息的载体。由于信息被人们感觉、表示、存储和传输的载体各有不同,因此,国际电联(ITU)电信标准部(TSS)的ITU-TL.374建议,将媒体分为5类。下一页返回7.2多媒体技术基础1)感觉媒体(PerceptionMedium)。指人们的感觉器官所能感觉到的信息。

2)表示媒体(RepresentationMedium)。是为了加工、处理和传输感觉媒体而如人类的各种语言、音乐,自然界的各种声音、图形、图像,计算机系统中的数据、文本等。人为构造出来的一种媒体。表示媒体以语音编码、图像编码和文本编码等形式来描述。

3)显示媒体(PresentationMedium)。是感觉媒体与各种电信号间相互转换用的媒体,即显示信息或获取信息的物理设备。常用的显示媒体有显示器、扬声器、打印机等输出类媒体和鼠标器、扫描仪、数码相机、等输入类媒体。

4)存储媒体(StorageMedium)。是存储表示媒体的物理设备,如光盘等。

5)传输媒体(TransmissionMedium)。是用来将媒体从一处传送到另一处,即媒体信息传输的物理载体,如同轴电缆、光纤、双绞线等。下一页返回上一页7.2多媒体技术基础

(2)多媒体。将文本、声音、图形、图像、动画和视频等多种媒体成分结合在一起,就构成了所谓的多媒体(Multimedia)。多媒体的实质是将自然形式存在的各种媒体数字化,然后利用计算机对这些数字信息进行加工或处理,以一种友好的方式提供给用户使用。也就是说,人们不仅可以阅读文本,还可以收听优美动听的音乐,欣赏精致如真的图片,观看引人入胜的影视动画等。计算机能处理的多媒体信息从时效性上分为静态媒体(指文字、图形、图像等媒体)和时变媒体(指声音、动画、活动影像等媒体)两大类。

2.多媒体技术及其特点

(1)多媒体技术概念下一页返回上一页7.2多媒体技术基础多媒体技术就是将文本、音频、图形、图像、动画和视频等多种媒体信息通过计算机进行数字化采集、编码、存储、传输、处理和再现等,使多种媒体信息建立逻辑链接,并集成一个具有交互性的系统。总之,多媒体技术就是利用计算机综合处理图、文、声、像等信息的技术。

(2)多媒体技术的特点

1)多样性。多样性是相对于传统计算机所能够处理的简单数据类型而言的。多媒体技术就是要利用计算机处理文本、音频、图形、图像、动画和视频等多媒体信息。

2)集成性。集成性首先是指多媒体技术可将多种不同的媒体信息,如文字、声音、图形、图像等,有机地进行同步组合,从而形成完整的多媒体信息。下一页返回上一页7.2多媒体技术基础同时,集成性的另一层含义是指处理这些媒体信息的设备或工具具有一定的集)汾强调了与多媒体相关的各种硬件和软件的集成,包括多媒体硬件设备、多媒体操作系统和创作工具等。

3)交互性。多媒体技术的交互性是多媒体技术的关键特性。交互性指用户可以与计算机实现复合媒体处理的双向性。具有两层含义:一是指多媒体计算机利用图形交互界面、窗口技术以及屏幕触摸等方式,使人们能通过十分友好的人机交互界面来操纵、控制多媒体信息的处理和显示;一是指多媒体技术为用户提供了视觉、听觉和触觉等多种交互手段。

4)实时性。实时性是指当操作人员给出操作命令时,相应的多媒体信息都能够得到实时控制。下一页返回上一页7.2多媒体技术基础

7.2.2常见的媒体元素媒体元素是指多媒体应用中可显示给用户的媒体形式。目前我们常见的媒体元素主要有文本、图形、图像、音频、动画和视频图像等。

1.文本。文本(Text)是计算机文字处理程序的基础,也是多媒体应用程序的基础。通过对文本显示方式的组织,多媒体应用系统可以使显示的信息更易于理解。文本文件中,如果只有文本信息,没有其他任何有关格式的信息,则称为非格式化文本文件或纯文本文件;而带有各种文本排版信息等格式信息的文本文件,称格式化文本文件。该文件中带有段落格式、字体格式、文章的编号、分栏、边框等格式信息。下一页返回上一页7.2多媒体技术基础2.图像。图像(Image)分为静止图像和运动图像。图像可以从现实世界中捕获,也可以利用计算机产生数字化图像。图像是由单位像素组成的位图来描述的,每个像素点都用二进制数编码,不含任何结构信息,因此图像是不可修改的。图像比图形占有更大的存储空间(大约要大2到3个数量级);另外图像在显示前不需要做更多的处理,其原因是它直接以位图形式显示。位图图像可通过许多方法获得,如直接用位图软件绘制、通过扫描仪扫描获得、通过数码相机或数字摄像机拍摄以及通过帧捕捉设备等获得,获得的图像可用图像处理软件(如Photoshop)进行编辑处理。除了位图外,还有许多其他格式的图像(包括压缩格式),实际上不同的设备都有自己默认的图像格式,各种图像的格式可以转换。常见的图像格式有BMP,DIB,TIF,GIF及JPEG等。下一页返回上一页7.2多媒体技术基础3.图形图形(Graphic)一般指用计算机绘制的画面,如直线、圆、圆弧、矩形、任意曲线和图表等。图形的格式是一组描述点、线、面等几何图形的大小、形状及其位置、维数的指令集合,例如:line(x1,y1,x2,y2,color),circle(x,y,r,color)等,就分别是画线、画圆的指令。在图形文件中只记录生成图的算法和图上的某些特征点,因此也称矢量图。图形的最大优点在于可以分别控制处理图中的各个部分,如在屏幕上移动、旋转、放大、缩小、扭曲而不失真,不同的物体还可在屏幕上重叠并保持各自的特性,必要时仍可分开。因此,图形主要用于表示线框型的图画、工程制图、美术字等,绝大多数CAD和3D造型软件使用矢量图形作为基本图形存储格式。下一页返回上一页7.2多媒体技术基础与位图不同的是,图形文件保存的不是像素点的“值”,而是一组描述点、线、面等几何图形的大小、形状及其位置、维数及其他属性的指令集合,通过读取指令可将其转换为输出设备(屏幕)上显示的图像。很显然,图形文件比图像文件数据量小得多。但图形文件数据格式的好坏,直接影响到图形数据的操作方便与否。图形文件的常用格式有DXF,PIF,SLD,DRW,GKS及IGS等。

4.视频与动画若干有联系的图像数据连续播放便形成了视频。计算机视频是数字的,视频图像可来自录像带、摄像机等视频信号源的影像,这些视频图像使多媒体应用系统功能更强、更精彩。计算机动画是将由计算机生成的一帧一帧的图形进行连续播放而产生的具有运动感觉的连续画面。下一页返回上一页7.2多媒体技术基础视频与动画(Video/Animation)都是由一系列画面组成的,它们可以在计算机屏幕上连续显示,给人的视觉创造一种连续运动的感觉。若是由一系列图像画面组成,则为运动图像,即视频;若是由一系列图形组成,则为运动图形,又称为动画。视频文件的存储格式有AVI,MPG,MOV等;动画文件的存储格式有FLC,SWF,GIF等。在视频中有几个重要的技术参数,现介绍如下。

(1)帧速视频是利用快速变换帧的内容而达到运动的效果。视频根据录制格式的不同有30帧/秒CNTSC),25帧/秒(PAL)等。有时为了减少数据量而减慢了帧速,例如只有16帧/秒,也可以达到满意程度,但效果略差。下一页返回上一页7.2多媒体技术基础

(2)数据量如不计压缩,数据量应是帧速乘以每幅图像的数据量。假设一幅图像为1MB,则每秒将达到30MB(NTSC)。但经过压缩后可减少几十倍甚至更多。尽管如此,图像的数据量仍然很大,以至于计算机显示等跟不上速度,导致图像失真。此时就只有在减少数据量上下工夫,除降低帧速外,也可以缩小画面尺寸,如仅1/4屏或1/16屏,都可以大大降低数据量。

(3)图像质量。图像质量除了原始数据质量外,还与视频数据压缩的倍数有关。一般说来,压缩比较小时质量不会有太大影响,而超过一定倍数后,将会明显看出图像质量下降。所以数据量与图像质量是相互矛盾的,应根据实际需求进行合适的调整。下一页返回上一页7.2多媒体技术基础视频和动画的一个重要特点是每个视图都不是独立的而是相关的,通常每帧是前一帧的变形,而各帧中有许多相同的视图。因而,在运动视频的播放中给人的视觉以运动效果。但是当帧速低于10帧/秒时,人的视觉感到有明显的断续帧感。而当帧速大于等于15帧/秒时,运动视频显得平滑。若帧速在24帧/秒以上,人的视觉有自然连续感。

5.音频音频(Audio)有时也泛称声音,除语音、音乐外,还包括各种音响效果。数字化后,计算机中保存声音文件的格式有多种,常用的有两种:波形音频文件(WAV)和数字音频文件(MIDI)。下一页返回上一页7.2多媒体技术基础波形音频文件是真实声音数字化后的数据文件;数字音频文件又称乐器数字接口,和图形文件格式相类似,它是以一系列指令来表示声音的,可看成是声音的符号表示。通常,声音用模拟的连续波形表示,波形最高点(或最低点)与基线间的距离为振幅,振幅表示声音的强度。波形中两个连续波峰间的距离称为周期。波形频率由1秒内出现的周期数决定,若每秒1000个周期,则频率为1kHz,通过采样可将声音的模拟信号数字化,采样值可重新生成原始波形。将音频信号集成到多媒体中,可提供其他任何媒体不能取代的效果,不仅烘托气氛,而且增加活力。音频信息增强了对其他类型媒体所表达的信息的理解。下一页返回上一页7.2多媒体技术基础

7.2.3多媒体计算机系统多媒体计算机系统是具有多媒体信息处理能力并配备相关软、硬件的计算机系统,即能对文本、图形、影像、动画、视频、音频等多媒体信息进行逻辑互联、获取、编辑、存储和播放的一个计算机系统。多媒体计算机系统一般由多媒体硬件系统和多媒体软件系统两部分组成。

1.多媒体硬件系统构成构成多媒体硬件系统除了需要较高配置的计算机硬件以外,通常还需要音频、视频、光盘驱动器、各种媒体输入/输出设备等,如图7-9。

(1)主机。多媒体计算机主机可以是中、大型机,也可以是工作站,然而目前更普遍的是多媒体个人计算机,即MPC(MultimediaPersonalComputer)。下一页返回上一页7.2多媒体技术基础(2)多媒体接口卡。多媒体接口卡是根据多媒体系统获取、编辑音频或视频的需要插接在计算机上,以解决各种媒体数据的输入输出的问题。常用的接口卡有声卡、显示卡、视频压缩卡、视频捕捉卡、视频播放卡、光盘接口卡等。其中,声卡和视频卡是多媒体计算机用于采集、处理、回放声音媒体和视频媒体信息必不可少的硬件设备。

(3)多媒体外部设备

1)视频、音频输入/输出设备。负责采集、加工、处理多种格式的音频、图像、视频等素材。需要的硬件有摄像机、录像机,扫描仪,传真机、数码相机、话简、投影仪、音响等。下一页返回上一页7.2多媒体技术基础2)存储设备。多媒体信息数据量庞大,将它们长期保存在硬盘中是不现实的,而且多媒体软件的发行也需要一种高容量、移动方便的存储介质,那就是光盘。读取光盘中的信息需要光盘驱动器,在光盘上记录信息需要光盘刻录机。

3)人机交互设备。人机交互设备有助于用户与多媒体系统交互信息,控制多媒体系统的执行等。如键盘、鼠标、触摸屏、绘图板、光笔及乎写输入设备等。

2.多媒体软件系统构成

(1)多媒体操作系统。多媒体核心系统,其实质就是多媒体操作系统,也包括设备的驱动程序。下一页返回上一页7.2多媒体技术基础除与硬件设备打交道外,还要提供输入/输出接口控制(I/O接口程序),实现多媒体环境下多任务调度,保证音频视频同步控制及信息处理的实时性,提供多媒体信息的各种基本操作和管理,具有对媒体设备的驱动、控制等功能,它是软件系统的核心。

(2)多媒体创作工具。多媒体创作工具是帮助开发者制作多媒体应用软件的软件统称,包括针对各种单一媒体开发的创作工具与编辑软件工具。针对各种单一媒体开发的创作工具很多,比如制作三维文字Cool3D,平面设计Photoshop,CorelDraw,动画设计Flash,三维建模3DMAX,对声音文件处理的CoolEdit,WindowsMediaPlayer,视频处理软件Premiere等。下一页返回上一页7.2多媒体技术基础实现多媒体创作,是将由创作软件制作的多种单一媒体资料进行综合、协调以及赋予交互功能,最终生成面向用户的多媒体应用软件,这类软件被称为多媒体创作软件。常见的多媒体创作软件有PowerPoint,Director,Authorware,Toolbook,Frontpage等。使用多媒体创作软件,使多媒体软件的开发过程大大简化,软件开发易于操作和掌握,极大地普及了计算机的应用领域。

(3)多媒体应用软件。多媒体应用软件是由开发人员利用多媒体创作工具或计算机语言制作而成的多媒体产品,面向最终用户解决实际问题。目前,多媒体应用系统涉及的应用领域主要有教育、娱乐、商业等。多媒体应用软件如多媒体课件、多媒体模拟系统、多媒体导游系统等。返回上一页7.3程序技术基础7.3.1程序设计概述

1.程序与程序设计语言。程序是为解决某一问题而编写的语句序列。通俗地说,将解决一个实际问题的具体操作步骤用某种计算机语言描述出来,就形成了程序。计算机语言是计算机能够识别的语言,利用计算机解决问题,必须用计算机语言告诉计算机“做什么”及“怎么做”,这个过程就是程序设计,因此计算机语言又叫程序设计语言。

2.程序设计语言的分类。程序设计语言是人们根据描述问题的需要而设计的。如今,人们己经设计出了许多种程序设计语言,如汇编语言、Basic,FoxPro,C,C++,VisualC++,VisualBasic,Java等上百种,但其中只有极少部分得到了比较广泛地应用。下一页返回7.3程序技术基础最常见的分类方法是根据程序设计语言与计算机硬件的联系程度将其分为3类,即机器语言、汇编语言和高级语言。前两类依赖于计算机硬件,有时称为低级语言;而高级语言与计算机硬件基本无关。因此可以说程序设计语言经历了由低级向高级发展的过程。另外,高级语言可分为3类,即面向问题的程序设计语言、面向过程的程序设计语言、面向对象的程序设计语言等。(1)面向过程的程序设计语言。传统的程序设计高级语言都是面向过程的程序设计语言,在程序设计中需要将任务的每个步骤逐一编写出来,对问题的描述接近于对问题求解过程,易于掌握书写。常用到的这类高级语言有Basic,Fortran,Pascal,C等。下一页返回上一页7.3程序技术基础(2)面向对象的程序设计语言。传统的高级语言,用户不仅要告诉计算机“做什么”,而且要告诉计算机“怎么做”,也就是把每一步的操作事先都设想好,用高级语言编成程序,让计算机按指定好的步骤去执行。近年来出现了“面向对象”的程序设计语言。所谓对象是数据及相关方法的软件实体,可以在程序中用软件中的对象来代表现实世界中的对象。目前流行的这类程序设计语言有Java,C++,VisualBasic,VisualC++,PowerBuilder,Delphi等。

(3)面向问题的程序设计语言。通常把面向问题的数据库系统语言称为甚高级语言(第四代语言)。面向过程的高级语言要仔细告诉计算机每步“怎么做”,而面向问题的甚高级语言就只需告诉计算机“做什么”,不需要告诉它“怎么做”,它就会自动完成所需的操作。下一页返回上一页7.3程序技术基础

3.程序设计的一般过程程序设计的基本过程一般由分析所求解的问题、抽象数学模型、选择合适算法、编写程序、调试通过直至得到正确结果等几个阶段所组成。其设计步骤可以分为以下几步。

(1)确定要解决的问题。接到任务后,首先对要处理的对象进行调查分析,明确要实现的功能。然后详细地分析要处理的原始数据有哪些、从哪单来,要进行怎样的加工处理,处理的结果送到哪里等。

(2)分析问题,建立数学模型。对要解决的问题进行分析,找出运算操作和变化规律,然后进行归纳,并用抽象的数学语言描述出来。也就是说,将具体问题抽象为数学模型。下一页返回上一页7.3程序技术基础(3)确定数据结构和算法。方案确定后,要考虑程序中要处理的数据的组织形式即数据结构,并针对选定的数据结构设计相应的算法。然后根据己确定的算法,画出流程图、N-S图。这样能使程序结构清晰,减少编写程序的错误。也就是说算法是编程的依据。

(4)编写程序。把用流程图描述的算法用计算机语言(如C语言)描述出来,就是编写程序。

(5)调试程序。将源程序送入计算机,进行排错、试运行,调试的结果是得到一个能正确运行的程序。通常,调试程序至少占整个程序设计工作量的一半。

(6)整理资料,交付使用。程序调试通过后,应将解决问题整个过程的有关资料进行整理,编写程序使用说明书。下一页返回上一页7.3程序技术基础7.3.2数据结构在计算机发展的初期,计算机主要用于数值计算,处理的是数值数据,而且数据量小,结构简单,形式统一。随着计算机技术的发展,计算机应用领域的扩大,越来越多的非数值数据需要处理,数据的概念也被大大推广,数字、字符、图像、声音都可属于数据的范畴。与数值数据相比,非数值数据的结构比较复杂,其计算机表示也比较麻烦。只有对数据内部的结构关系以及数据在计算机内如何存储和操作进行深入的研究,才能设计出高效可靠的程序,实现对数据的有效处理。

1.数学模型下一页返回上一页7.3程序技术基础前面在讲到程序设计过程时,讲到用计算机解决一个实际问题,首先必须从具体问题抽象出一个适当的数学模型,用这个数学模型应能得出该问题的精确或近似解。建立实际问题的数学模型是计算机应用必须首先进行的工作,也是一项很重要的工作。常见的数学模型可分为数值计算和非数值计算两大类。许多实际问题数学抽象的结果是数学方程。这些数学方程可以用解析的方法求出精确解,或者用模拟的方法求出近似解。但是更多的实际问题无法用数学方程来描述,这些问题所求的不是某个数值,而是某种检索的结果,某种排列的状态,某种转换后的形式,某种设计的表示……这些问题的数学模型不是用数学方程,而是用一种数据结构来描述数据以及数据之间的相互关系。下一页返回上一页7.3程序技术基础2.数据结构的概念数据是对客观事物的名称、数量、特征、性质的描述形式(即编码),是计算机所能处理的一切符号的总称。数据既是计算机加工的对象,又是计算机的产品(计算结果)。例如,一个利用数值分析方法解代数方程的程序,其处理对象是整数和实数;一个编译程序或者文字处理程序的处理对象是字符串。因此,对计算机科学来讲,数据的含义很广泛,比如图形、图像、色彩和声音等都可以通过编码而归于数据的范畴。一般,那些单个孤立的数据研究价值不大,而应着重研究由众多数据元素组成的数据集合、集合中数据元素之间存在的内在联系、数据和数据集合进行的运算(即对数据进行的处理)以及如何提高运算效率等问题,这就引出了数据结构。下一页返回上一页7.3程序技术基础数据结构里包括一批数据,是数据的一个集合。这个集合中的每一个数据个体称为数据元素,它是数据的基本单位。一个数据元素又叫做一个数据结点,简称结点。一个数据元素可以是简单的,只有一个数据项,例如一个数,一个字符,一个名字等;也可以是复杂的,由若干数据项组成。一个数据结点由用来描述一个独立事物的名称、数量、特征、性质的一组相关信息组成。数据类型是指程序设计语言中所允许的变量的种类,也就是变量可以取的值和可以进行的运算的集合。可以把数据类型看成是在程序设计语言中己经实现了的数据结构。总之,数据结构是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的存储结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法。下一页返回上一页7.3程序技术基础

7.3.3算法为了有效地进行程序设计,不仅要掌握一门程序设计语言,还应该学会针对各类问题拟定出有效的解题方法和步骤—即算法设计。

1.算法的概念。计算一个算术式,要先乘除后加减,这个规则就是算法。使用算盘,珠算日诀就是算法。在日常生活中做任何一件事情,都是按照一定规则,一步一步进行,这就是算法。计算机解决问题的方法和步骤,就是计算机的算法。计算机用于解决数值计算,如科学计算中的数值积分、解线性方程等的计算方法,就是数值计算的算法;用于解决非数值计算,如用于管理、文字处理、图像图形等的排序、分类、查找,就是非数值计算的算法。下一页返回上一页7.3程序技术基础简单地说,算法就是解决问题的办法,是对特定问题求解步骤的详细描述。从计算机应用的角度来说,算法是用于求解某个特定问题的一些指令的集合。具体地说,用计算机所能实现的操作或指令,来描述问题的求解过程,就得到了这一特定问题的计算机算法。算法的基本控制结构通常包括顺序结构、分支结构和循环结构。算法是对程序控制结构的描述,而数据结构是对程序中数据的描述。算法是一个有穷规则的集合,这些规则确定了解决某类问题的一个运算序列。对于该类问题的任何初始输入值,它都能机械地一步一步地执行计算,经过有限步骤后终止计算并产生输出结果。归纳起来,算法具有以下几个基本特征。下一页返回上一页7.3程序技术基础①有穷性:一个算法必须在执行有限个操作步骤后终止。②确定性:算法中每一步的含义必须是确切的,不可出现任何一义性。③有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的。例如,一个数被0除的操作就是无效的,应当避免这种操作。④有零个或多个输入:这单的输入是指在算法开始之前所需要的初始数据。这些输入的多少取决于特定的问题。⑤有一个或多个输出:所谓输出是指与输入有某种特定关系的量,在一个完整的算法中至少会有一个输出。如上述关于算法的三个例子中,每个都有输出。下一页返回上一页7.3程序技术基础

【例7-1】求5个自然数的和(即S=1+2+3+4+5)。

问题分析:该题有两个特点,①重复执行加法,每加一个数,总和的值都在变;②加数是一个有规则的等差数列,第1项是1,以后每加一次,加数就增加1,因此,可以用以下算法实现。算法表示如下:S1设一个存放累加和的变量S,初值置0,即0→S;设一个计数变量N,初值置0,即0→N。S2计算和S+N→S,并把计数变量增值N+1→N。S3判断:当N《5时,返回第2步S2,再次求和;当N>5时,顺序执行下一步S4。S4输出结果,S为所求之和。这单S1,S2,…,即Step1,Step2,…的简写,用以标识执行的步骤,后面例题均用此符号来表示。下一页返回上一页7.3程序技术基础

【例7-2】将两个变量X和Y的值互换。设X=5,Y=lO。

问题分析:两人交换座位,只要各自去坐对方的座位就行了,这是直接交换。一瓶酒和一瓶醋互换,就不能直接从一个瓶子往另一个瓶子倒。必须借助于一个空瓶子,先把酒倒入空瓶,再把醋倒入己倒空的酒瓶,最后把酒倒入己倒空的醋瓶,这样才能实现酒和醋的交换,这是间接交换。计算机中交换两个变量的值不能用两个变量直接交换的方法,而必须采用间接交换的方法。因此,设一个中间变量为Z。算法表示如下:S1将Y值存入中间变量Z:Y→ZS2将X值存入变量Y中:X→YS3将中间变量Z的值存入X中:Z→X下一页返回上一页7.3程序技术基础总之,具有上述5个特性才能称为算法,而其中最重要的是算法的有穷性,如果不具备有穷性的性质,仅具有另外4种性质,只能称为计算过程或计算方法,而不是算法。

2.算法与程序设计。利用计算机解决各种问题,算法是至关重要的。如果没有算法,要解决问题就无从下手。计算机解决问题不但要依赖于算法,而且.会涉及大批数据。数据的组织和存储会直接影响算法的实现方式和效率。算法和数据结构是人们用计算机解题时所作的两种抽象:算法是从计算机的操作角度对解题过程的抽象;数据结构是从如何组织处理操作对象的角度进行的抽象。这两种抽象互相依赖、互相补充,最大限度地减低问题的复杂性。下一页返回上一页7.3程序技术基础在这两个方面的基础上,人们开发出运行效率较高的各种应用程序。因此,在一定意义上,一般认为:

程序=算法+数据结构或进一步说,程序设计=算法+数据结构+程序设计方法+程序设计开发工具除了算法和数据结构之外,程序设计方法对程序设计也是很重要的,它影响到程序设计的成败及程序设计质量。随着计算机解决的问题越来越复杂,计算机本身的运算速度越来越快,内存容量也越来越大,程序设计己不是程序员个人技巧的“手工艺品”。程序设计要遵循一定的开发方法及思想,如结构化设计方法、模块化程序设计方法、自顶向下的逐步细化的方法、面向对象的程序设计方法等,要按照工程管理的方法去进行软件开发,即用软件工程的思想及方法去进行软件开发。下一页返回上一页7.3程序技术基础

3.用流程图表示算法。流程图,亦称框图,它是用一些几何框图、流程线和文字说明表示各种类型的操作。流程图中的基本图形、图形意义和长度比例都有国家颁布的标准(GB5807-85)。如图7-10,处理框即矩行框,有一个入口,一个出口。判断框即菱形框有一个入口,两个出口。在框内写上简明的文字或符号表示具体的操作,用带箭头的流向线表示操作的先后顺序。流程图是人们交流算法设计的一种工具,不用输入计算机。只要逻辑正确,人们都能看得懂就可以了,一般是由上而下按执行顺序画下来。用流程图表示【例7-1】【例7-2】的算法如图7-11和图7-12。流程图的优点是形象直观,清晰明了,所以广泛用在各种高级语言的程序设计中,常称之为传统的流程图。但它也有不足之处,对于较复杂的问题,画图量大,而且由于使用流程线,使流程任意转移,容易使人弄不清流程的思路。下一页返回上一页7.3程序技术基础4.用N-S结构化流程图表示算法

(1)什么是结构化程序。随着计算机的发展,编制的程序越来越复杂。一个复杂程序多达数千万条语句,且程序的流向也很复杂,常用无条件转向语句去实现复杂的逻辑判断功能。故造成质量差,可靠性很难保证,程序也不易阅读,维护困难等问题。20世纪60年代末期,国际上出现了所谓“软件危机”。为了解决这一问题,就出现了结构化程序设计,它的基本思想是像玩积木游戏那样,只要有几种简单类型的结构,可以构成任意复杂的程序。这样可以使程序设计规范化,便于用工程的方法来进行软件生产。基于这样的思想,1966年意大利的Bobra和Jacopini提出了3种基本结构,由这3种基本结构组成的程序,就是结构化程序(StructuredProgram)。下一页返回上一页7.3程序技术基础

(2)3种基本结构。

1)顺序结构。程序流向是沿着一个方向进行的,有一个入口(A),有一个出口(B)。如图7-13所示。顺序结构是最简单的一种结构。先执行A块然后再执行B块。A,B块分别代表某些操作。

2)选择结构。程序的流程发生分支,根据一定的条件选择其中之一,这就是选择结构,它也有一个入口(A),一个出口(B)。简单的选择结构只有两个分支,如图7-14所示。根据给定的条件是否满足决定执行A块或B块。3)循环结构(重复结构)。程序流程是有限次重复执行某一块程序,再退出循环。循环结构有两种类型。下一页返回上一页7.3程序技术基础①当型(WHILE)循环结构,先判断条件是否满足,若满足时就执行循环体,如条件不满足时就不执行循环体,并转到出口,如图7-15(a)所示。②直到型(UNTIL)循环结构,它是先执行循环体,后判断。当条件不满足时继续执行循环体,条件满足时,停止执行,并转到出口,如图7-15(b)。循环结构也有一个入口(A),一个出口(B),它应当使重复处理为有限次,不能无限制的循环下去。这种结构化程序具有以下特点:①只有一个入口和一个出口;②无死语句,即没有永远都执行不到的语句;③无死循环,即没有永远都执行不完的循环。下一页返回上一页7.3程序技术基础

(3)结构化流程图(N-S图)

前面的图7-14和图7-15,用框图表示了结构化程序的3种基本结构。但是当情况复杂时,图形中的流程线多,仍不便于阅读。所以美国学者I.Nassi和B.Schneiderman于1973年提出了一种新的绘制流程图的方法。由于他二人的名字以N和S开头,故把这种流程图称为N-S图。这种结构化流程图,完全去掉了在描述中引起混乱的带箭头的流程线,全部算法由3种基本结构的框表示。3种基本结构框的画法规定介绍如下。

1)顺序结构(SequenceStructure)。由若干个前后衔接的矩形块顺序组成。一个顺序结构,如图7-16所示,先执行A块,然后执行B块。各块中的内容表示一条或若干条需要顺序执行的操作。下一页返回上一页7.3程序技术基础2)选择结构。选择结构(ChoiceStructure)如图7-17,在此结构内有两个分支,它表示当给定的条件满足时执行A块的操作,条件不满足时,执行B块的操作。

3)循环结构(RepetitionStlucture)。①当型(WHILE)循环结构,如图7-18(a)。先判断条件是否满足,若满足就执行A块(循环体),然后再返回判断条件是否满足,如满足再执行A块,如此循环下去,直到条件不满足为止。②直到型(UNTIL)循环结构,如图7-18(b)所示。它先执行A块(循环体)然后判断条件是否满足,如不满足则返回再执行A块,若满足则不再继续执行循环体了。下一页返回上一页7.3程序技术基础用N-S图表示【例7-1】,【例7-2】的算法,如图7-19和图7-20所示。将图7-19和图7-20所示的N-S图与图7-11和图7-12所示的传统流程图相比较,明显看出N-S流程图是由基本结

温馨提示

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

评论

0/150

提交评论