pascal数组

 我来答
诜俏铱bF67a
2011-08-03 · TA获得超过196个赞
知道小有建树答主
回答量:358
采纳率:0%
帮助的人:232万
展开全部
  1.数组的定义
  数组是程序中最常用的结构数据类型,用来描述由固定数目的同一类型的元素组成的数据结构。数组的每个元素和下标相关联,根据下标指示数组的元素。数组的存储方式为按行存储,在编译阶段,计算机根据数组的类型说明,确定其存储空间的大小。数组可以是任何顺序类型。
  数组的定义形式:
  array [<下标类型1>,……<下标类型n>] of <元素类型>
  其中n称为数组的维数,每维的下标类型必须是一个顺序类型,通常为子界类型或枚举类型,其作用是指定数组下标的编制方式和下标取值范围。
  例如:
  type
  color=(red,yellow,blue);
  sample1=array [1..10]of integer;{有10个元素的一维数组}
  sample2=arrayp[1..5,1..5]of real;{有25个元素的二维数组,依次按[1,1]……,[1,5],[2,1]……,[2,5],……[5,1],……[5,5]}
  2.数组的操作
  当数组的元素类型为简单类型时,其下标变量和简单类型变量一样使用。例如:
  a[50]:=50; a[20]:=a[5];
  一个数组,下标的起始值和终止值是在类型定义中给定的,不能在程序执行中再通过其他途径来改变,所以数组元素的个数在程序运行期间是固定不变的。数组变量作为整体仅允许同类型数组之间的赋值运算。
  例如:var x,y:array[1..10]of integer;
  x::=y
  例:读入5个学生的学号和成绩,计算他们的平均分,若比平均分高10分的等第为A,若比平均分高小于10分的等地为B,若低于平均分,则等第为C,输出他们的成绩和等第。
  program sample7d1(input,output);
  const n=5;
  type
  no=array[1..n] of integer;
  s=array[1..n]of real;
  var
  i:integer;
  k:real;
  num:no;
  score:s;
  begin
  k:=0;
  for i:=1 to n do
  begin
  readln(num[i],score[i]);
  k:=k+score[i];
  end;
  k:=k/n;
  for i:=1 to n do
  begin
  write(num[i],score[i]);
  if (score[i]-k)>=10 then writeln('A')
  else if((score[i]-k)<10)and((score[i]-k)>0) then writeln('B')
  else writeln('C');
  end;
  end.
  pascal二维数组

  一维数组在编程中多用于描述线性的关系:如一组数;一组成绩;一组解答等。数组元素只有一个下标,表明该元素在数组中的位置。二维数组在编程中多数用于描述二维的关系:如地图、棋盘、城市街道、迷宫等等.
  〖语法分析〗

  一维数组在编程中多用于描述线性的关系:如一组数;一组成绩;一组解答等。数组元素只有一个下标,表明该元素在数组中的位置。二维数组在编程中多数用于描述二维的关系:如地图、棋盘、城市街道、迷宫等等。而二维数组元素有两个下标:第一个下标表示该元素在第几行,第二个下标表示在第几列。二维数组的定义格式如下:
  var
  a:array[1..10,1..5] of integer;
  其中:a是数组名,由程序员自定;array和of是定义数组的保留字;(这两点和一维数组定义的格式一样)中括号中的两个范围表示二维数组共有多少行、多少列(第一个范围表示行数,第二个范围表示列数);最后一个表示数组元素的类型,规定和一维数组一样。如上例,定义了一个二维数组a,共有10行5列。

  使用二维数组要注意:
  1、数组元素的指称:数组名[行号,列号]。如第三行第四个元素:a[3,4]。
  对某一行进行处理。如累加第4行的数据。则固定行号为4。如:for i:=1 to 5 do s:=s+a[4,i];
  对某一列进行处理。如累加第4列的数据。则固定列号为4。如:for i:=1 to 10 do s:=s+a[i,4];

  2、二维数组的输入输出要用双重循环来控制:
  for i:=1 to 10 do{————控制行数}
  begin
  for j:=1 to 5 do read(a[i,j]){————第一行读入5个元素}
  readln;{————读入一个换行符}
  end;
  {————最常用的方法:从键盘读入数据初始化二维数组}
  for i:=1 to 10 do
  for j:=1 to 5 do a[i,j]:=0;
  {————最常用的方法:将二维数组清0}
  for i:=1 to 10 do
  begin
  for j:=1 to 5 do write(a[i,j]:4);
  writeln;
  end;
  {————最常用的输出方法:按矩阵形式输出二维数组的值}

  3、二维数组的应用:
  例1:竞赛小组共有20位同学,这学期每位同学共参与了三项比赛,请统计每位同学的平均分。
  分析:定义一个20行3列的二维数组来存放这些成绩。定义一个20个元素的一维数组来存放平均分。
  program p1;
  var
  a:array [1..20,1..3] of integer;
  b:array [1..20] of real;
  i,j:integer;
  begin
  for i:=1 to 20 do
  begin
  for j:=1 to 3 do read(a[i,j]);
  readln;
  end;
  {————从键盘上读入20个同学的三次竞赛成绩}
  for i:=1 to 20 do b[i]:=0;
  {————先将平均分数组清0}
  for i:=1 to 20 do
  begin
  for j:=1 to 3 do b[i]:=b[i]+a[i,j];{————计算总分}
  b[i]:=b[i]/3;{————计算平均分}
  end;
  for i:=1 to 20 do write(b[i]:5:1);
  {————输出平均分}
  writeln;
  end.

  练习题:
  1、求一个5 X 5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:
  5 6 7 8 9
  4 5 6 7 8
  3 4 5 2 1
  2 3 4 9 0
  1 2 5 4 8
  则1行1列上的数就是马鞍数。
ishuangdoutang
2011-07-28 · TA获得超过177个赞
知道答主
回答量:141
采纳率:0%
帮助的人:83万
展开全部
1.数组的定义
数组是程序中最常用的结构数据类型,用来描述由固定数目的同一类型的元素组成的数据结构。数组的每个元素和下标相关联,根据下标指示数组的元素。数组的存储方式为按行存储,在编译阶段,计算机根据数组的类型说明,确定其存储空间的大小。数组可以是任何顺序类型。
数组的定义形式:
array [<下标类型1>,……<下标类型n>] of <元素类型>
其中n称为数组的维数,每维的下标类型必须是一个顺序类型,通常为子界类型或枚举类型,其作用是指定数组下标的编制方式和下标取值范围。
例如:
type
color=(red,yellow,blue);
sample1=array [1..10]of integer;{有10个元素的一维数组}
sample2=arrayp[1..5,1..5]of real;{有25个元素的二维数组,依次按[1,1]……,[1,5],[2,1]……,[2,5],……[5,1],……[5,5]}
2.数组的操作
当数组的元素类型为简单类型时,其下标变量和简单类型变量一样使用。例如:
a[50]:=50; a[20]:=a[5];
一个数组,下标的起始值和终止值是在类型定义中给定的,不能在程序执行中再通过其他途径来改变,所以数组元素的个数在程序运行期间是固定不变的。数组变量作为整体仅允许同类型数组之间的赋值运算。
例如:var x,y:array[1..10]of integer;
x::=y
例:读入5个学生的学号和成绩,计算他们的平均分,若比平均分高10分的等第为A,若比平均分高小于10分的等地为B,若低于平均分,则等第为C,输出他们的成绩和等第。
program sample7d1(input,output);
const n=5;
type
no=array[1..n] of integer;
s=array[1..n]of real;
var
i:integer;
k:real;
num:no;
score:s;
begin
k:=0;
for i:=1 to n do
begin
readln(num[i],score[i]);
k:=k+score[i];
end;
k:=k/n;
for i:=1 to n do
begin
write(num[i],score[i]);
if (score[i]-k)>=10 then writeln('A')
else if((score[i]-k)<10)and((score[i]-k)>0) then writeln('B')
else writeln('C');
end;
end.
pascal二维数组

一维数组在编程中多用于描述线性的关系:如一组数;一组成绩;一组解答等。数组元素只有一个下标,表明该元素在数组中的位置。二维数组在编程中多数用于描述二维的关系:如地图、棋盘、城市街道、迷宫等等.
〖语法分析〗

一维数组在编程中多用于描述线性的关系:如一组数;一组成绩;一组解答等。数组元素只有一个下标,表明该元素在数组中的位置。二维数组在编程中多数用于描述二维的关系:如地图、棋盘、城市街道、迷宫等等。而二维数组元素有两个下标:第一个下标表示该元素在第几行,第二个下标表示在第几列。二维数组的定义格式如下:
var
a:array[1..10,1..5] of integer;
其中:a是数组名,由程序员自定;array和of是定义数组的保留字;(这两点和一维数组定义的格式一样)中括号中的两个范围表示二维数组共有多少行、多少列(第一个范围表示行数,第二个范围表示列数);最后一个表示数组元素的类型,规定和一维数组一样。如上例,定义了一个二维数组a,共有10行5列。

使用二维数组要注意:
1、数组元素的指称:数组名[行号,列号]。如第三行第四个元素:a[3,4]。
对某一行进行处理。如累加第4行的数据。则固定行号为4。如:for i:=1 to 5 do s:=s+a[4,i];
对某一列进行处理。如累加第4列的数据。则固定列号为4。如:for i:=1 to 10 do s:=s+a[i,4];

2、二维数组的输入输出要用双重循环来控制:
for i:=1 to 10 do{————控制行数}
begin
for j:=1 to 5 do read(a[i,j]){————第一行读入5个元素}
readln;{————读入一个换行符}
end;
{————最常用的方法:从键盘读入数据初始化二维数组}
for i:=1 to 10 do
for j:=1 to 5 do a[i,j]:=0;
{————最常用的方法:将二维数组清0}
for i:=1 to 10 do
begin
for j:=1 to 5 do write(a[i,j]:4);
writeln;
end;
{————最常用的输出方法:按矩阵形式输出二维数组的值}

3、二维数组的应用:
例1:竞赛小组共有20位同学,这学期每位同学共参与了三项比赛,请统计每位同学的平均分。
分析:定义一个20行3列的二维数组来存放这些成绩。定义一个20个元素的一维数组来存放平均分。
program p1;
var
a:array [1..20,1..3] of integer;
b:array [1..20] of real;
i,j:integer;
begin
for i:=1 to 20 do
begin
for j:=1 to 3 do read(a[i,j]);
readln;
end;
{————从键盘上读入20个同学的三次竞赛成绩}
for i:=1 to 20 do b[i]:=0;
{————先将平均分数组清0}
for i:=1 to 20 do
begin
for j:=1 to 3 do b[i]:=b[i]+a[i,j];{————计算总分}
b[i]:=b[i]/3;{————计算平均分}
end;
for i:=1 to 20 do write(b[i]:5:1);
{————输出平均分}
writeln;
end.

练习题:
1、求一个5 X 5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8
则1行1列上的数就是马鞍数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-29
展开全部
a:array[1..100]of integer;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
imbarainy
2011-07-28 · 超过15用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:38.8万
展开全部
可以把题目描述的更清晰些么,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式