背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-6162.html    注册17xie 一起来写书 实现您的出书梦想!

第八章   

计算机应用在数据处理方面占有相当大的比重,而数据处理类的问题往往都有两个特点,一是数据量大;二是这些数据之间都在某些方面存在一定的内在联系。在前面章节中,由于解决问题所用的数据不多,用简单变量就可以进行存取和处理。但是在实际工作中,常常遇到大批的数据需要处理,例如学生成绩的统计、人口普查的数据处理、农业实验观测值等等。如果仍然用简单变量来存取和处理,很不方便,甚至是不可能处理的。为了解决这一问题,需要引入一个重要的数据结构—数组。本章内容:

n         数组和数组单元的基本概念

n         定义数组语句DIM

n         静态数组和动态数组

n         利用数组进行查找数据

本章内容在的实际运用作用很突出,对于基本概念知识要熟悉。

8.1  数组和数组单元的基本概念

在现实生活中,有着各种各样的数据,这些数据在所讨论的问题中可分为两类:一类是仅与其取值有关,与其所在的位置无关;而另一类,不仅与其取值有关,并且与其所在的位置也密切相关。前面我们所讲过的变量都是简单变量,如aix等,并可以给简单变量一个某种数据类型的数值,各个简单变量是各自独立的,与其所在的位置无关。利用简单变量可以解决不少问题,但是,如果在程序设计中仅使用简单变量,势必受到简单变量单独性和无序性的限制,而难于或无力解决那些数据不仅与取值有关,而且与其所在位置也有关的较复杂的问题,如体育比赛的成绩,就隐含着名次和成绩。要想方便地解决这类问题,通常要借助功能更强的变量—下标变量,即数组结构。

8.1.1.  数组

数组是一种最简单实用的数据结构。所谓数据结构,就是将多个变量(数据)人为地组成一定的结构,以便于处理大批量、相对有一定内在联系的数据,例如,某班有40名学生,考试8门课程,现要求将有考试成绩保存起来以供处理:显示、求总分、求每让课程的平均分、排名次等。很显然,对这320个原始数据用简单变量来存放,并进行相应的处理是不现实的,必须采用一种新的结构,即数组。

Quick BASIC中,为了确定各数据与数组中每一单元的一一对应关系,必须给数组中这些数编号即顺序号(用下标来指出顺序号)。因此,可以说,将一组排列有序的、个数有限的变量作为一个整体,用一个统一的名字来表示,则这些有变量的全体称为数组;或者说,数组是用一个名字代表顺序排列的一组数,顺序号就是下标变量的值。而简单变量是没有序的,无所谓谁先谁后数组中的单元是有排列的顺序的。

有序性和无序性就是下标变量和简单变量之间的重要区别。

8.1.2  数组单元

在同一数组中,构成该数组的成员称为数组单元(或数组元素、下标变量)。数组里面的每一个数据用数组单元名来标识。在Quick BASIC中,引用数组中的某一单元,要指出数组名和用括号括起来的数组单元在数组中的位置(顺序号)的下标。因此,数组单元又称“带下标的变量”,简称“下标变量”。例如:

a3       代表a数组中顺序号为3的那个单元。

x10      代表x数组中顺序号为10的那个单元。

8.1.3  数组的维数

下标不变量中下标的数称为数组的维数。

如果数组中的所有元素,能按行、列顺序排成一行,也就是说,使用一个下标便可以确定它们各自所处的位置,这样的数组称为一维数组。因此,一个下标的下标变量,构成一维数组。

如果数组中的所有元素,能按行、列顺序排成一个矩阵,换句话说,必须用两个下标才能确定它们各自所处的位置,这样的数组称为二维数组。因此,两个下标的下标变量,构成二维数组。

依次类推,3个下标的下标变量,构成三维数组。有多少个下标的下标变量,就构成多少维的数组,如四维数组、五维数组等。通常又把二维以上的数组称为多维数组。

一般来讲,数组元素的下标的个数,就是该数组的维数;反之,一个数组的维数一经确定,那么它的元素的下标的个数也就随之确定了。

a10      为一维数组

x2,3      为二维数组

b4,5,6    为三维数组

8.1.4  数组名的命名

为了区分各个不同的数组,必须给每个数组取一个名字。数组名的命名规则与简单变量的命名规则一样,即由1~40个字符组成,组成的字符可以是字母、数字或小数点,并且必须以字母开头。例如:a,x,xscj%

8.1.5  数组类型的说明

Quick BASIC中数据有各种类型,相应的数组也有各种类型。说明数组类型的方法有两种:

1)用类型说明符说明数组类型。即数组名的最末一个字符以下的特定字符表示该数组的类型,见表8-1

 

8-1  数组类型

 

 

%

整型

x%8,nuber%5,8

&

长整型

a&10,deh&2,3,5

!

单精度型

sum!5,plusc!4,6

#

双精度型

yp#4,pl#10,20

$

字符型

a$5,tele$6,10

注意:在这5个符号中,只有单精度型的类型说明符“!”可以省略,例如sum!5)和plusc!4,6)与sum5)和plusc4,6)一样都是单精度型。所以,凡是没有类型说明符的,其类型就隐含说明为单精度型。

2)用DIM语句中的关键字AS说明数组类型,见表8-2

8-2  用类型说明词说明数组类型

  

INTEGER

整型

LONG

长整型

SINGLE

单精度型

DOUBLE

双精度型

STRING

字符型

例如:

将数组x定义为整型数组:

DIM x-9 TO40AS INTEGER

将数组a定义为长整型数组:

DIM a20AS LONG

将数组numb定义单精度型数组:

DIM numb4,5AS SINGLE

将数组gszi定义为双精度型数组:

DIM gizi2,3,4AS DOUBLE

将数组tele定义为字符型数组:

DIM tele-2 TO 2,-3 TO 4AS STRING

8.1.6  下标变量的使用说明

组成数组的各个元素一般均为变量,由于这些变量共同使用一个变量名,即所在的数组名,因此必须要有下标才能相互区别,故数组元素又称为下标变量。

Quick BASIC中下标变量的格式为

〈数组名〉(〈一标表〉)

其中〈一标表〉是指一个或者几个下标(代表一维或者几维),各下标之间应该用逗号分隔。

在使用下标变量时有以下说明:

1)下标变量由数组名后跟用括号起来的下标组成,例如a4,b2,3)等等。

2)下标可以是常量、变量或表达式,例如xi,a2+n,n-1)等

3)下标值若为非整数,系统将按四舍五入自动取整,其值的范围在-3276832767之间。例如下标变量a2.3),系统将下标按四舍五入自动取整,其值的范围在-3276832767

字数:3390    最后更新:1年以前 [08-16 19:36]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第七章  [后一页]:第八章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号