文档详情

第七章数组和字符串.ppt

发布:2020-02-23约1.8万字共75页下载文档
文本预览下载声明
第七章 数组和字符串;第一节 数组 一、数组的定义   数组是程序中经常使用的结构数据类型,用来描述由固定数目的同一类型的元素组成的数据结构。数组的每个元素与下标相关联,根据下标指示数组的元素。数组的存贮方式为按行存贮,在编译阶段,计算机根据数组的类型说明,确定其存贮空间的大小。 数组的定义形式: array [下标类型1,……下标类型n] of 元素类型   其中n称为数组的维数,每维的下标类型必须是一个序数类型,通常为子界类型或枚举类型,其作用是指定数组下标的编制方式和下标取值范围。数组的元素类型是除文件类型和指针类型(下面将介绍)以外的一切类型。例如:;type color=(red,yellow,blue); sample1=array [1..10] of integer; {类型sample1的元素是整数,有10个元素,维数为1,依次按1..10编下标} sample2=array [1..5,1..5] of real;{类型sample2的元素是实数,有25个元素,维数为2,依次按[1,1],…,[1,5],[2,1],…,[2,5],…,[5,1],…,[5,5]编下标} sample3=array [color] of color;{类型sample3的元素属color类型,有3个元素,一维,依次按red,yellow,blue编下标} var a:sample1; b,c:sample2; d,e:sample3;; 注意,类型和变量是二个不同的概念,不能混淆。程序中使用的是数组变量而不是数组类型,即a,b,c,d,e。但数组的类型定义和变量定义可以合并在一起。例如: var a:array [1..10] of integer; b:array [1..5,1..5] of integer; d:array [red,yellow,blue] of (red,yellow,blue);;二、数组的操作 当数组的元素类型为简单类型时,其下标变量与简单类型变量一样使用。例如: a[5]:=50; a[20]:=a[5]; 由于下标变量的下标可以作为表达式,使得数组有广泛的应用。例如,设有如下变量说明 var i,sum:integer; 下面的语句可求数组变量a的元素和; sum:=0; for i:=1 to 10 do sum:=a[i]+sum;   PASCAL允许用同一数组类型的变量相互赋值。如d:=e也是合理的,它把数组变量e 的所有元素依次赋给数组变量d,即等价于下面说明 begin d[red]:=e[red]; d[yellow]:=e[yellow]; d[blue]:=e[blue];   一个数组常量可以通过常量说明语句来定义。;若是一维数组常量,其定义形式如下: const 数组常量名:array [下标变量] of 元素类型=(元素值1,元素值2,…,元素值n);   等号右方用括号括起来的部分,是指定数组各元素的值,它们彼此间用逗号隔开。例如: const digits:array [0..9] of char=(0,1,2,3,4,5,6, 7,8,9);   若是二维数组常量,则括号中的每一个常量元素可以看作是行的所有列元素,列元素间用逗号分隔。这些常量元素用括号括起来,彼此间也用逗号隔开。例如 move:array [1..4,1..4] of integer=((1,2,3,4),(5,6,7,8),(9,10,11,12), (13,14,15,16));; 例7-1 输入N个学生的成绩(都为0至100的整数),打印输出最高分,最低分,以及平均分。 Program example7_1; var a : array[1..100] of byte; i,n,max,min,ave : integer; begin repeat write(N = ); readln(n); until n 100; ave := 0; ; 例7-2 求裴波拉契数列a1,a2,a3,a4,……,an。裴波拉契数列可以按如下定义: a1 = 1 a2 =
显示全部
相似文档