欢迎来到天天文库
浏览记录
ID:38076156
大小:37.00 KB
页数:5页
时间:2019-05-26
《pascal-一维数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第八课一维数组一、为什么要使用数组 例1 输入50个学生的某门课程的成绩,打印出低于平均分的同学号数与成绩。 分析:在解决这个问题时,虽然可以通过读入一个数就累加一个数的办法来求学生的总分,进而求出平均分。但因为只有读入最后一个学生的分数以后才能求得平均分,且要打印出低于平均分的同学,故必须把50个学生的成绩都保留下来,然后逐个和平均分比较,把高于平均分的成绩打印出来。如果,用简单变量a1,a2,…,a50存放这些数据,可想而知程序要很长且繁。 要想如数学中使用下标变量ai形式表示这50个数,则可以引入下标变量a[i]。这样问题的程序可写
2、为: tot:=0;{tot表示总分} fori:=1to50do{循环读入每一个学生的成绩,并累加它到总分} begin read(a[i]); tot:=tot+a[i]; end; ave:=tot/50;{计算平均分} fori:=1to50do ifa[i]3、数组 当数组中每个元素只带有一个下标时,我们称这样的数组为一维数组。 1、一维数组的定义 (1)类型定义 要使用数组类型等构造类型以及第6章要学习的自定义类型(枚举类型与子界类型),应在说明部分进行类型说明。这样定义的数据类型适用整个程序。 类型定义一般格式为: type <标识符1>=<类型1>; <标识符2>=<类型2>; : <标识符n>=<类型n>; 其中type是Pascal保留字,表示开始一个类型定义段。在其后可以定义若干个数据类型定义。<标识符>是为定义的类型取的名字,称它为类型标识符。 类型定义后4、,也就确定了该类型数据取值的范围,以及数据所能执行的运算。 (2)一维数组类型的定义 一维数组类型的一般格式: array[下标1..下标2]of<基类型>;{补充:TurboPascal提供了丰富的数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。在这些数据类型中简单类型都是有序类型,除了实型以外的简单类型都是顺序类型5、,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。基类型可以是任何简单类型和构造类型,但不能是文件类型或者包含文件类型分量的构造类型,也不能是类类型和类引用类型。} 说明:其中array和of是pascal保留字。下标1和下标2是同一顺序类型,且下标2的序号大于下标1的序号。它给出了数组中每个元素(下标变量)允许使用的下标类型,也决定了数组中元素的个数。基类型是指数组元素的类型,它可以是任何类型,同一个数组中的元素具有相同类型。因此我们可以说,数组是由固定数量的相同类型的元素组成的。 再次提请注意:类型和变量是两个不同概念,不能混淆。就6、数组而言,程序的执行部分使用的不是数组类型(标识符)而是数组变量(标识符)。 一般在定义数组类型标识符后定义相应的数组变量,如: typearraytype=array[1..8]ofinteger; vara1,a2:arraytype; 其中arraytype为一个类型标识符,表示一个下标值可以是1到8,数组元素类型为整型的一维数组;而a1,a2则是这种类型的数组变量。 也可以将其全并起来: vara1,a2:array[1..8]ofinteger; 当在说明部分定义了一个数组变量之后,pascal编译程序为所定义的数组在内7、存空间开辟一串连续的存储单元。 例如,设程序中有如下说明: typerowtype=array[1..8]ofinteger; coltype=array['a'..'e']ofinteger; vara:rowtype;b:coltype; 2、一维数组的引用 当定义了一个数组,则数组中的各个元素就共用一个数组名(即该数组变量名),它们之间是通过下标不同以示区别的。对数组的操作归根到底就是对数组元素的操作。一维数组元素的引用格式为: 数组名[下标表达式] 说明:①下标表达式值的类型,必须与数组类型定义中下标类型完全一致,8、并且不允许超越所定义的下标下界和上界。 ②数组是一个整体,数组名是一个整体的标识,要对数组进行操作,必须对其元素操作。数组元素可以象同类型的普
3、数组 当数组中每个元素只带有一个下标时,我们称这样的数组为一维数组。 1、一维数组的定义 (1)类型定义 要使用数组类型等构造类型以及第6章要学习的自定义类型(枚举类型与子界类型),应在说明部分进行类型说明。这样定义的数据类型适用整个程序。 类型定义一般格式为: type <标识符1>=<类型1>; <标识符2>=<类型2>; : <标识符n>=<类型n>; 其中type是Pascal保留字,表示开始一个类型定义段。在其后可以定义若干个数据类型定义。<标识符>是为定义的类型取的名字,称它为类型标识符。 类型定义后
4、,也就确定了该类型数据取值的范围,以及数据所能执行的运算。 (2)一维数组类型的定义 一维数组类型的一般格式: array[下标1..下标2]of<基类型>;{补充:TurboPascal提供了丰富的数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。在这些数据类型中简单类型都是有序类型,除了实型以外的简单类型都是顺序类型
5、,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。基类型可以是任何简单类型和构造类型,但不能是文件类型或者包含文件类型分量的构造类型,也不能是类类型和类引用类型。} 说明:其中array和of是pascal保留字。下标1和下标2是同一顺序类型,且下标2的序号大于下标1的序号。它给出了数组中每个元素(下标变量)允许使用的下标类型,也决定了数组中元素的个数。基类型是指数组元素的类型,它可以是任何类型,同一个数组中的元素具有相同类型。因此我们可以说,数组是由固定数量的相同类型的元素组成的。 再次提请注意:类型和变量是两个不同概念,不能混淆。就
6、数组而言,程序的执行部分使用的不是数组类型(标识符)而是数组变量(标识符)。 一般在定义数组类型标识符后定义相应的数组变量,如: typearraytype=array[1..8]ofinteger; vara1,a2:arraytype; 其中arraytype为一个类型标识符,表示一个下标值可以是1到8,数组元素类型为整型的一维数组;而a1,a2则是这种类型的数组变量。 也可以将其全并起来: vara1,a2:array[1..8]ofinteger; 当在说明部分定义了一个数组变量之后,pascal编译程序为所定义的数组在内
7、存空间开辟一串连续的存储单元。 例如,设程序中有如下说明: typerowtype=array[1..8]ofinteger; coltype=array['a'..'e']ofinteger; vara:rowtype;b:coltype; 2、一维数组的引用 当定义了一个数组,则数组中的各个元素就共用一个数组名(即该数组变量名),它们之间是通过下标不同以示区别的。对数组的操作归根到底就是对数组元素的操作。一维数组元素的引用格式为: 数组名[下标表达式] 说明:①下标表达式值的类型,必须与数组类型定义中下标类型完全一致,
8、并且不允许超越所定义的下标下界和上界。 ②数组是一个整体,数组名是一个整体的标识,要对数组进行操作,必须对其元素操作。数组元素可以象同类型的普
此文档下载收益归作者所有