高中信息技术 pascal教程08 第八课 多维数组教案_第1页
高中信息技术 pascal教程08 第八课 多维数组教案_第2页
高中信息技术 pascal教程08 第八课 多维数组教案_第3页
全文预览已结束

下载本文档

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

文档简介

1、第八课 多维数组 8.1 二维数组类型定义的一般形式为:TYPE = ARRAY 下标类型1,下标类型2 OF ;数组说明: VAR :;也可以直接在说明部分说明数组的类型,如: VAR :ARRAY 下标类型1,下标类型2 OF ;例如:var a : array 1.3 , 0.4 of integer;a1,0 a1,1 a1,2 a1,3 a1,4a2,0 a2,1 a2,2 a2,3 a2,4a3,0 a3,1 a3,2 a3,3 a3,4 a数组是一个二维数组,有两个下标,一维下标的值从1到3,二维下标从0到4,数组元素的类型为integer。 它共有15个元素,可以看成35的矩阵

2、。8.2 多维数组 如果下标个数有n个,则称为n维数组。类型定义的一般形式为:TYPE = ARRAY 下标类型1,下标类型n OF ;数组说明: VAR :;也可以直接在说明部分说明数组的类型,如: VAR :ARRAY 下标类型1,下标类型n OF ;例如:金山中学全体在校生的期末成绩可以用以下的多维数组来表示 S : array 1.3 , 1.12 , 1.70 , 1.10 of integer; 其中第一维下标1.3表示3个年级,第二维下标1.12表示每年级12个班,第三维1.70表示各班同学的学号,第四维表示该同学各门课程的成绩。【例3】求两矩阵的乘积b11 b12 b1mb21

3、 b22 b2m bs1 bs2 bsmB 设矩阵A和B的形式如下:a11 a12 a1sa21 a22 a2s an1 an2 ansA 计算矩阵A和B的乘积矩阵C: 根据矩阵相乘公式:(详见数学基础矩阵)c11 c12 c1mc21 c22 c2m cn1 cn2 cnmC i=1,2,nj=1,2,m program timematrix; const maxnm=100; var i , j , k , n , m , s : integer; a , b , c : array 1.maxnm , 1.maxnm of integer;begin write( n , s , m :

4、 ); readln( n , s , m ); writeln( A : );for i:=1 to n do for j:=1 to s do read(ai , j); writeln( B : ); for i:=1 to s do for j:=1 to m do read(bi , j); for i:=1 to n do for j:=1 to m do begin ci , j:=0; for k:=1 to s do ci , j:=ci , j+ai , k * bk , j; end; writeln( C : ); for i:=1 to n do begin for

5、j:=1 to m do write(ci,j:5); writeln; end;end.参考程序:【例4】求奇数幻方幻方是指n2个自然数排成n行n列的n阶方阵,且每行、每列和两条对角线上n个数之和都等于同一个数S。816357492S称为幻方和,Sn(n2+1)/2奇数幻方的排列方法:首先确定1的位置放在第一行的中间位置;然后在当前自然数的右上方放下一个自然数;如果当前自然数在第一行,则下一个自然数放在最后一行;如果当前自然数在最右侧,则下一个自然数放在最左侧; 如果准备放下一个数的格内已有数,则下一个自然数放在当前自然数的正下一格。参考程序:program jshf; const maxn

6、=100; var s : array1.maxn,1.maxn of integer; n , i , j , ii , jj , k : integer; begin readln(n); for i:=1 to n do s数组初始化 for j:=1 to n do si,j:=0; i:=1; j:=(n div 2)+1; for k:=1 to n*n do begin si,j:=k;jj:=j; ii:=i; 备份i、j j:=j+1; if jn then j:=1; i:=i-1; if i0 then begin 若准备放下一个数的格内已有数 j:=jj; i:=ii+

7、1; if iin then ii:=1; end; end; for i:=1 to n do begin 输出结果 for j:=1 to n do write(si,j:4); writeln; end; end.练 习 八1 勘探队在一个山区进行勘测,该地区呈正方形。勘探队在这片区域上等距地布了5050个坐标点,并在每个坐标点上测得了海拔高度。请你编程输入这5050个坐标点的海拔,并从中找出鞍点的坐标。鞍点是这样的点:它具有行最小值和列最大值。若无鞍点,则输出(0,0)。2 编程打印如下形式的nn方阵。 1 1 1 1 1 1 1 1 11 2 2 2 2 2 2 2 11 2 3 3 3

温馨提示

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

评论

0/150

提交评论